Будь умным!


У вас вопросы?
У нас ответы:) SamZan.net

на тему- Проектирование процессора ЭВМ Студент гр

Работа добавлена на сайт samzan.net:

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 9.11.2024

ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ

МОСКОВСКИЙ ИНЖЕНЕРНО-ФИЗИЧЕСКИЙ ИНСТИТУТ

(ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ)

Факультет КИБЕРНЕТИКИ

Кафедра «Компьютерные системы и технологии»

ПОЯСНИТЕЛЬНАЯ ЗАПИСКА

к курсовому проекту

на тему:

Проектирование процессора ЭВМ

Студент гр. К   – 121 (Козлов Д.П.)

Руководитель (Ковригин Б.Н.)

2008 г.


Оглавление

Техническое задание на проектирование процессора 3

Глава 1. Проектирование блока операций 4

1.1. Описание алгоритмов выполнения операций, примеры, схемы алгоритмов 4

1.2. Функциональная схема блока операций 9

1.3. Синтез узлов блока управления 11

1.4. Логическая схема блока операций 15

1.5. Условное графическое обозначение блока операций 17

1.6. Таблицы управляющих сигналов и сигналов признаков 18

1.7. Схемы алгоритмов микропрограмм выполнения операций 19

1.8. Распечатки результатов моделирования блока операций для тестовых примеров 20

Глава 2. Проектирование схемного местного устройства управления 28

2.1. Условное графическое обозначение МУУ 28

2.2. Граф переходов распределителя сигналов МУУ 29

2.3. Функциональная схема МУУ 31

2.4. Синтез отдельных узлов МУУ 33

2.5. Логическая схема МУУ 34

Глава 3. Отработка арифметико-логического устройства 36

3.1. Схема соединения БО и МУУ 36

3.2. Распечатки результатов размещения схемы АЛУ на кристалле 37

3.3. Распечатки результатов моделирования АЛУ 38

3.4. Определение параметров системы синхронизации и времени выполнения операций 46

Глава 4. Проектирование блока управления командами 50

4.1. Форматы команд и способы адресации 50

4.2.Схема алгоритма выполнения команд 51

4.3. Функциональная схема БУК 51

4.3. Логическая схема БУК 51

4.5. Условное графическое обозначение БУК 55

4.6. Таблица управляющих сигналов и сигналов-признаков 55

4.7. Схема алгоритма микропрограмм выполнения команд 56

4.8. Тесты для отработки БУК 58

4.9. Таблицы загрузки оперативной и регистровой памяти 59

4.10. Распечатки результатов моделирования БУК 59

Глава 5. Проектирование блока микрокоманд 61

5.1. Условное графическое обозначение БМК 61

5.2. Формат микрокоманды 61

5.3. Функциональная схема микропрограммного устройства управления 62

5.4. Логическая схема микропрограммного устройства управления 62

5.5. Карта загрузки микропрограммного устройства управления 62

Глава 6. Отработка процессора 66

6.1. Схема соединения составных блоков процессора 66

6.2. Тесты для отработки процессора 67

6.3. Распечатки результатов размещения схемы процессора на кристалле 67

6.4. Распечатки результатов моделирования процессора 68

Заключение 69


Техническое задание на проектирование процессора 


Глава 1. Проектирование блока операций

1.1. Описание алгоритмов выполнения операций, примеры, схемы алгоритмов

Блок операций выполняет операцию умножения чисел в дополнительном коде с младших разрядов множителя и сдвигом множимого влево (школьный метод) с одним корректирующим шагом. При нулевом значении текущего разряда множителя такт суммирования пропускается. Первый операнд (A) – множимое, второй (B) – множитель. Результат формируется в восьмиразрядной сетке. Обозначим абсолютные величины A и B через |A| и |B|. Если B положителен то в его основных разрядах (без разряда знака) содержится величина |B|, если же он отрицателен, то в его основных разрядах содержится величина 1-|B|. В процессе умножения используются только разряды, представляющие цифровую часть множителя (без разряда алгебраического знака), но во всех суммированиях, выполняемых по ходу умножения, множимое А будет участвовать полностью с учетом знака. Так как цифровые разряды в изображении множителя B представляют либо величину |B| (если B > 0), либо величину 1- |B| (если B < 0), то результат (псевдопроизведение) этого процесса умножения будет равен либо

(если

либо

В первом случае получаем сразу готовое произведение, во втором случае
(если
B < 0) нужно выполнить один корректирующий шаг – вычитание из псевдопроизведения множимого A. При выполнении вычитания обычным образом учитываются алгебраические знаки псевдопроизведения и множимого. Данный алгоритм можно представить следующей формулой (для цифровой части множителя без учета возможной коррекции результата):

где

   

Схема алгоритма представлена на рис. 1.1.

Проиллюстрируем этот способ умножения при различных сочетаниях знаков сомножителей.


  1.  

1

0

1

1

Множимое

.

1

0

1

Цифровая часть множителя

1

1

1

1

0

1

1

1

1

0

1

1

0

0

1

1

0

0

1

1

1

Псевдопроизведение

0

1

0

1

0

0

0

Коррекция

0

0

0

0

1

1

1

1

Результат

2)

0

0

1

1

Множимое

.

1

0

1

Цифровая часть множителя

0

0

0

0

0

1

1

0

0

0

1

1

0

0

0

0

0

1

1

1

1

Псевдопроизведение

1

1

0

1

0

0

0

Коррекция

1

1

1

1

0

1

1

1

Результат

1

0

1

1

Множимое

.

1

0

1

Цифровая часть множителя

1

1

1

1

0

1

1

1

1

0

1

1

0

0

1

1

1

0

0

1

1

1

Результат

0

0

1

1

Множимое

.

1

0

1

Цифровая часть множителя

0

0

0

0

0

1

1

0

0

0

1

1

0

0

0

0

0

0

1

1

1

1

Результат

  1.  

1

0

1

1

Множимое

.

0

0

0

Цифровая часть множителя

0

0

0

0

0

0

0

Псевдопроизведение

0

1

0

1

0

0

0

Коррекция

0

0

1

0

1

0

0

0

Результат

6)

1

0

0

0

Множимое

.

0

1

1

Цифровая часть множителя

1

1

1

1

0

0

0

1

1

1

0

0

0

0

1

1

0

1

0

0

0

Псевдопроизведение

1

0

0

0

0

0

0

Коррекция

0

0

1

0

1

0

0

0

Результат


Операция вычитания: второй операнд (B) вычитается из первого операнда (A). Устанавливается признак результата: 0 – разность равна нулю, 1 – разность меньше нуля, 2 – разность больше нуля, 3 – переполнение. Рассмотрим примеры данной операции. Схема алгоритма приведена на рис. 1.2

1)


+

+

0

0.

1

1

0

0

0.

1

0

1

0

1.

0

1

1

2)


+

1

1.

1

0

0

1

1.

0

1

1

1

0.

1

1

1

3)


+

0

0.

1

0

1

0

0.

0

0

1

0

0.

1

1

0

4)


+

1

1.

1

0

1

0

0.

0

0

1

1

1.

1

1

0


5)


+

0

0.

0

0

0

0

0.

0

0

0

0

0.

0

0

0

Рис. 1.1. Алгоритм операции умножения

Рис. 1.2. Алгоритм операции вычитания

1.2. Функциональная схема блока операций

На рис. 1.3 приведена функциональная схема блока операций.


Рис. 1.3. Функциональная схема блока операций


1.3. Синтез узлов блока управления

Определение набора функциональных узлов:

  1.  Регистр RA: 7 разрядов загрузка, сдвиг влево на 1 разряд
  2.  Регистр RB: 4 разряда загрузка, сдвиг влево на 1 разряд
  3.  Сумматор SM: 8 разрядов
  4.  Регистр RR: 8 разрядов загрузка, установка в 0
  5.  Регистр RPR: 2 разряда загрузка
  6.  KS1: Получение
  7.  KS2: Коммутация RR или получение
  8.  KS3: Выработка признака результата PR

Выбор элементов в системе Xilinx Foundation F4.1i:

  1.  Регистр RA: SR8CLE
  2.  Регистр RB: SR4CLE
  3.  Сумматор SM: ADD8
  4.  Регистр RR: FD8CE
  5.  Регистр RPR: 2 триггера FDCE

Реализация комбинационной схемы KS1:

При Y5=1 на выход подается инверсный операнд А, также Y5 идет на вход CI сумматора, чтобы на выходе сумматора получилась сумма с отрицательным дополнительным кодом операнда А. При Y5=0 на выход подается операнд А. Реализация комбинационной схемы KS1 представлена на рис. 1.4. УГО схемы приведено на рис. 1.5.

Рис. 1.4. Реализация комбинационной схемы KS1

Рис. 1.5. УГО схемы KS1

Реализация комбинационной схемы KS2:

При Y6=1 на выходы подается регистр результата RR, при Y6=0 на выходы подается инверсный, расширенный знаковым разрядом до восьми разрядов, код операнда B. Инверсный Y6 также подается на вход CI сумматора, для того чтобы на выходе сумматора получить сумму с отрицательным дополнительным кодом операнда B. Реализация комбинационной схемы KS2 представлена на рис. 1.6. УГО представлено на рис. 1.7.

Рис. 1.6. Реализация комбинационной схемы KS2

Рис 1.7. УГО схемы KS2

Реализация комбинационной схемы KS3:

Комбинационная схема KS3 формирует признак результата для его записи в триггеры признака результата. Таблица истинности приведена в табл. 1.1. Реализация комбинационной схемы KS2 представлена на рис. 1.8. УГО представлено на рис. 1.9.


Таблица 1.1

Таблица истинности комбинационной схемы KS3

Q4

Q3

Q2

Q1

Q0

PR0

PR1

0

0

0

0

0

0

0

1

1

X

X

X

0

1

0

0

X

X

X

1

0

1

0

X

X

X

1

1

0

1

X

X

X

Рис. 1.8. Реализация комбинационной схемы KS3

Рис. 1.9. УГО схемы KS3

1.4. Логическая схема блока операций

На рис. 1.10 приведена логическая схема блока операций.


Рис. 1.10. Логическая схема блока операций


1.5. Условное графическое обозначение блока операций

Условное графическое обозначение блока операций приведено на рис. 1.11.

Рис. 1.11. Условное графическое обозначение блока операций


1.6. Таблицы управляющих сигналов и сигналов признаков

В табл. 1.2 и 1.3 дается описание управляющих сигналов и возможных микроопераций

Таблица 1.2

Управляющие сигналы

Y

Описание

Y1

Разрешение записи в регистр RA

Y2

Сдвиг кода влево в RA

Y3

Разрешение записи в регистр RB

Y4

Сдвиг кода влево в RB

Y5

0 – передача кода из RA на SM

1 – передача на SM

Y6

0 – передача  на SM

1 – передача кода из RR на SM

Y7

Разрешение записи в регистр RR

Y8

Установка в «0» регистра RR

Y9

Разрешение записи в триггеры PR0 и PR1

Таблица 1.3

Сигналы обратной связи и сигналы признаков

F

Описание

F1

Текущий разряд множителя (B)


1.7. Схемы алгоритмов микропрограмм выполнения операций

Алгоритм микропрограммы умножения показан на рис. 1.12. Алгоритм микропрограммы вычитания показан на рис. 1.13.

Рис. 1.12. Алгоритм микропрограммы умножения

Рис. 1.13. Алгоритм микропрограммы вычитания

1.8. Распечатки результатов моделирования блока операций для тестовых примеров

На рис. 1.14 – 1.20 приведены результаты моделирования схемы блока операций при выполнении операций умножения и вычитания для примеров, приведённых в пп. 1.1.


  1.  

1

0

1

1

.

1

0

1

1

1

1

1

1

0

1

1

1

1

1

0

1

1

0

0

1

1

1

0

0

1

1

1

0

0

1

0

1

0

0

0

0

0

0

0

1

1

1

1


Рис. 1.14. Временные диаграммы работы блока операций. Операция умножения (пример 1).

2)

0

0

1

1

.

1

0

1

0

0

0

0

0

0

1

1

0

0

0

0

1

1

0

0

0

0

0

0

1

1

1

1

1

1

1

0

1

0

0

0

1

1

1

1

0

1

1

1


Рис. 1.15. Временные диаграммы работы блока операций. Операция умножения (пример 2).

1

0

1

1

.

1

0

1

1

1

1

1

1

0

1

1

1

1

1

0

1

1

0

0

1

1

1

0

0

1

1

1

Рис. 1.16. Временные диаграммы работы блока операций. Операция умножения (пример 3).

0

0

1

1

.

1

0

1

0

0

0

0

0

0

1

1

0

0

0

0

1

1

0

0

0

0

0

0

1

1

1

1

Рис. 1.17. Временные диаграммы работы блока операций. Операция умножения (пример 4).

1

0

1

1

.

0

0

0

0

0

0

0

0

0

0

0

0

0

1

0

1

0

0

0

0

0

1

0

1

0

0

0

Рис. 1.18. Временные диаграммы работы блока операций. Операция умножения (пример 5).

1

0

0

0

.

0

1

1

1

1

1

1

1

0

0

0

1

1

1

1

0

0

0

0

1

1

1

0

1

0

0

0

0

1

0

0

0

0

0

0

0

0

1

0

1

0

0

0


Рис. 1.19. Временные диаграммы работы блока операций. Операция умножения (пример 6).

      

Рис. 1.20. Временные диаграммы работы блока операций. Операция вычитания.


Глава 2. Проектирование схемного местного устройства управления

2.1. Условное графическое обозначение МУУ

В данном проекте разрабатывается местное устройство управления с «жёсткой» логикой. Задача МУУ – управлять блоком операций при выполнении команд умножения и вычитания. Для этого МУУ формирует на выходе управляющие сигналы. МУУ работает под управлением ЦУУ, от которого принимает синхросигналы, сигналы начала операции и сброса. С блока операций МУУ принимает сигнал признака, анализируемого разряда; код операции – с ЦУУ: 0 для вычитания и 1 для умножения. После окончания операции на выходе МУУ формируется сигнал конца операции.

Условное графическое обозначение МУУ показано на рис. 2.1.

SKO

F1

C

SNO

RESET

KOP

МУУ

Y1

Y2

Y3

Y4

Y5

Y6

Y7

Y8

Y9

Рис. 2.1. Условное графическое обозначение МУУ


2.2. Граф переходов распределителя сигналов МУУ

Рассмотрим алгоритм операции умножения (см. рис. 1.9). Сначала идет загрузка операндов в регистры и обнуления регистра результата, что соответствует вершине Р0. В блоке D2 идет анализ текущего разряда операнда B, вершина Р1. В случае если F1=1, происходит суммирование RR и RA и производится сдвиг RA и RB, если F1=0, то просто производится сдвиг RA и RB (т.к. такт суммирования пропускается). После прохода по всем разрядам операнда B, в F1 оказывается знак операнда B (т.к. в регистре RB производится циклический сдвиг). Если F1=1, то датчик сигналов переходит в вершину Р2 и производится коррекция RR:=RR-RA, если F1=0, то коррекция не нужна и вырабатывается сигнал конца операции FINISH. Как видно из алгоритма сигнал конца операции FINISH может вырабатываться в вершине Р1 (без коррекции) или в вершине Р2 (с коррекцией).


Рис. 2.2. Графы переходов операций умножения и вычитания


2.3. Функциональная схема МУУ

Основная цель МУУ – управление вычислительным процессом в блоке операций. Управляющие сигналы формируются комбинационной схемой KS2: их значения зависят от текущего состояния датчика состояния (номер вершины графа), от признаков (знак и анализируемый разряд) с БО, а при выполнении циклических операций – состояния счётчика циклов.

Датчик состояний – набор из 3 D-триггеров с входом CE, формирующий унитарный код (1 из n). Комбинационная схема KS1 управляет переходом DS в следующее состояние, которое зависит от выполняемой операции, признаков с БО, текущего состояния DS и состояния счётчика.

Счётчика циклов используется только для операции умножения: он обеспечивает циклическую обработку всех 3 разрядов множителя. KS4 формирует единичное сигнал FC при состоянии счётчика равного 2. KS3 разрешает работу счётчика во время операции умножения.

Схема пуска и останова блокирует устройство управления в случае, если никакая операция не выполняется. На входы синхронизации всех элементов непрерывно поступают тактовые импульсы, а значения управляющих сигналов до START и после FINISH считаются неопределёнными, т.е. возможно повреждение информации, хранящейся в регистрах. Чтобы этого не произошло, сигнал EN подаётся на схемы формирования управляющих сигналов и, в случае EN=0, обнуляет их.

Функциональная схема МУУ показана на рис. 2.3.


Рис. 2.3. Функциональная схема местного устройства управления


2.4. Синтез отдельных узлов МУУ

Выполним синтез комбинационных схем, входящих в состав МУУ (табл.2.1). Рассмотрим графы и проанализируем все переходы между вершинами.

Таблица 2.1

Таблица переходов DS

Переход

COO

F

FC

P0

P1

P2

D0

D1

D2

P0  P1

0

X

X

1

0

0

0

1

0

P1  P2

0

X

X

0

1

0

0

0

1

P0  P1

1

X

X

1

0

0

0

1

0

P1  P1

1

X

0

0

1

0

0

1

0

P1  P2

1

1

1

0

1

0

0

0

1

Примечание: X – состояние может быть произвольным.

Левая часть таблицы определяют состояние до перехода, а правая часть – сигналы на входах D-триггеров датчика для формирования следующего состояния.

Значение 0 сигнала COO соответствует операции вычитания, 1 – умножению.

Логические выражения (функции возбуждения) для сигналов управления триггерами датчика состояний (вырабатываются схемой KS1) имеют вид:

Определим условия, при которых управляющие сигналы принимают единичные значения, и запишем результаты в табл. 2.2. На основе таблицы составим логические выражения для всех управляющих сигналов.

Таблица 2.2

Значения управляющих сигналов на выходах KS2

COO

P0

P1

P2

0

(вычитание)

1

(умножение)

Сигнал Y8 можно подавать при обоих операциях, т.к. начальное значение регистра результата в операции вычитания не важно.

Получим следующие выражения для управляющих сигналов:

Для реализации DS используем D-триггеры. Триггер P0 будет иметь асинхронный вход установки в единицу, все остальные – в ноль.

Загрузка нового состояния в триггеры DS будет происходить относительно фронта 0/1 сигнала C.

На вход счётчика циклов будем подавать сигнал CE, формирующийся следующим образом:

2.5. Логическая схема МУУ

Логическая схема местного устройства управления показана на рис. 2.4.


Рис. 2.4. Логическая схема местного устройства управления


Глава 3. Отработка арифметико-логического устройства

3.1. Схема соединения БО и МУУ

Схема соединения БО и МУУ показана на рис. 3.1.

Рис. 3.1. Схема соединения БО и МУУ


3.2. Распечатки результатов размещения схемы АЛУ на кристалле

Для размещения схемы АЛУ на кристалле необходимо задействовать (выбрать «драйверы») все её входы. Последующая отладка схемы будет выполняться с помощью макроэлемента CHECKER, который сам использует несколько конфигурируемых блоков и блоков ввода-вывода; клавишные регистры необходимы для задания операндов.

Размещение схемы АЛУ на кристалле при стандартных настройках реализации показано на рис. 3.2. Было занято 30 из 196 логических блоков (15%), 25 из 61 блоков ввода-вывода (40%). Оптимизировано 16 блоков; 53 блока и 48 соединительных линий удалены в результате оптимизации.

Рис. 3.2. Размещение схемы АЛУ на кристалле


3.3. Распечатки результатов моделирования АЛУ

На рис. 3.3 – 3.9 приведены результаты моделирования схемы АЛУ при выполнении операций умножения и циклического сдвига вправо для примеров, приведённых в пп. 1.1.


  1.  

Результат:  00001111

Рис. 3.3. Временные диаграммы работы АЛУ. Операция умножения (пример 1)

2)

Результат: 1110111

Рис. 3.4. Временные диаграммы работы АЛУ. Операция умножения (пример 2)

Результат: 11100111

Рис. 3.5. Временные диаграммы работы АЛУ. Операция умножения (пример 3)

Результат: 0001111

Рис. 3.6. Временные диаграммы работы АЛУ. Операция умножения (пример 4)

Результат: 00101000

Рис. 3.7. Временные диаграммы работы АЛУ. Операция умножения (пример 5)

Результат: 00101000

Рис. 3.8. Временные диаграммы работы АЛУ. Операция умножения (пример 6)

Рис. 3.9. Временные диаграммы работы АЛУ. Операция вычитания


3.4. Определение параметров системы синхронизации и времени
выполнения операций

Рассмотрим отчет формируемый Xilinx для нашей схемы АЛУ. Минимальный расчётный период сигнала С равен 29.200 нс (или что соответствует 34.247 МГц). Проверим эти данные на временном моделировании на 1 примере умножения, т.к. требуется коррекция (т.к. операнд B отрицательный) и его последний разряд равен 1. Результат моделирования схемы на частоте 38.461 МГц показан на рис. 3.10. При увеличении частоты до 38.759 МГц работа схемы нарушается, как показано на рис. 3.11. Для операции вычитания рабочая частота выше и равна 56.818 МГц.

Критическим путем будем называть цепочку переходных процессов из-за которых нарушается нормальная работа схемы. Найдем критический путь для операции умножения. Он проявляется на умножении A=0.010 и B=0.010 на 2 такте во время которого выполняется сложение на сумматоре при частоте 40 МГц. Сообщение о недостаточном времени предварительной установки представлено на рис. 3.12.

Рис. 3.12. Сообщение о недостаточном времени предварительной установки

Это сообщение означает, что регистру результата не хватает времени предварительной установки для того чтобы записать значение на входе Q6. Данный путь представляет собой следующую цепочку переключений: C (синхросигнал) – переключается датчик состояний и вырабатывается сигнал Y6 – Y6 вместе с Y5 (который не меняется) идут на схему OR2 – сигнал с OR2 идет на вход CI сумматора SUM – на выходе сумматора меняется значение и регистру результата RR не хватает времени предварительной установки, чтобы записать это значение. Критический путь с измеренными задержками показан на рис. 3.14.


Рис. 3.10. Временное моделирование АЛУ (операция умножения) на частоте 38.461 МГц


Рис. 3.11. Временное моделирование АЛУ (операция умножения) на частоте 38.759 МГц


Рис. 3.14. Диаграмма «критического» пути для операции умножения


Глава 4. Проектирование блока управления командами

4.1. Форматы команд и способы адресации

Команды двухадресные формата «регистр-память». Первый операнд хранится в РП и указывается в команде с помощью прямого адреса. Второй операнд хранится в ОП и указывается в команде с помощью косвенной относительной адресации. Результат длинной операции записывается по адресу 2-го операнда, короткой – по адресу 1-го операнда. Каждая команда располагается в 3-х словах.

Прямая адресация:

В данной адресации код адреса в команде является исполнительным адресом обращения к памяти. Схема прямой адресации представлена на рис. 4.1.

Рис. 4.1. Схема прямой адресации

Косвенная относительная адресация:

Адресация, при реализации которой косвенный адрес (адрес по которому находится операнд) вычисляется как сумма фиксированного смещения в команде и текущего значения счетчика команд. Когда выполняется сложение с содержимым счетчика команд, последний уже указывает адрес очередной команды. Схема косвенной относительной адресации представлена на рис. 4.2.

Рис. 4.2. Схема косвенной относительной адресации

Операция условного перехода:

Команда содержит четырехразрядный код маски (КМ) и адрес перехода. Каждый разряд КМ (после первого адреса) соответствует одному из 4-х значений признака результата (ПР): 0,1,2,3. Если значение ПР соответствует КМ (пример: ПР=2 и КМ=XX1X, где X равно 0 или 1), то адрес в счетчике команд замещается адресом  перехода. В качестве адреса перехода используется прямой адрес. Команда перехода размещается в 3-х словах.

Форматы команд:

Линейная команда (умножение и вычитание):

11

9

8

5

4

0

КОП

Р1

СМ2

3

4

5

Нелинейные команды:

Условный переход:

11

9

8

5

4

0

КОП

КМ

Апер

3

4

5

Останов:

11

9

8

0

КОП

X

3

9

4.2.Схема алгоритма выполнения команд

Схема алгоритма выполнения команд представлена на рис. 4.3.

4.3. Функциональная схема БУК

Функциональная схема БУК представлена на рис. 4.4.

Счетчик команд – 5 разрядный счетчик с загрузкой и сбросом в 0. Выбран 5 разрядным потому что он должен адресовать полубайт в ОП т.к. команда может располагаться как в 1-ом так и во 2-ом полубайте.

Регистр команд (РК1, РК2, РК3) – 3 4-ех разрядных регистра. Реализован в виде 3-ех регистров т.к. команда считывается за 3 такта.

ОП – память 16х8.

РП – память 16х4.

Регистр исполнительного адреса (РИА) – 5-разрядный регистр. Выбран 5 разрядным т.к. адрес полубайта кодируется 5 разрядами.

Буферные регистры (БР1, БР2) – 2 4-ех разрядных регистра (т.к. разрядность операндов равна 4).

КС1 – выбирает старший или младший полубайт из ОП для подачи на РК

КС2 – коммутация либо СК, либо РИА на адресные входы ОП

КС3 – выбирает старший или младший полубайт из ОП для подачи на БР1

КС4 – коммутация либо суммы СК и СМ2 из РК, либо старших 5 разрядов из ОП на РИА

КС5 – вырабатывает FP (флаг перехода) при соответствии маски (КМ) признаку результата (ПР)

4.3. Логическая схема БУК

Логическая схема БУК представлена на рис. 4.5. Реализация элементов и КС представлена там же.

Рис. 4.3. Схема алгоритма выполнения команд


Рис 4.4. Функциональная схема БУК

Рис 4.5. Логическая схема БУК


4.5. Условное графическое обозначение БУК

Условное графическое обозначение БУК приведено на рис. 4.6.

Рис 4.6. Условное графическое обозначение БУК

4.6. Таблица управляющих сигналов и сигналов-признаков

В табл. 4.1 и 4.2 дается описание управляющих сигналов и возможных микроопераций.

Таблица 1.2

Управляющие сигналы

Y

Описание

YC1

Увеличение счетчика команд на 1

YC2

Разрешение записи в счетчик команд

YC3

Разрешение записи в регистр RK1

YC4

Разрешение записи в регистр RK2

YC5

Разрешение записи в регистр RK3

YC6

0 – передача СК на адресные входы ОП

1 – передача РИА на адресные входы ОП

YC7

Разрешение записи в ОП

YC8

Разрешение записи в РИА

YC9

Разрешение записи в РП

YC10

Разрешение записи в Р2

YC11

Разрешение записи в Р1

YC12

0 – передача суммы СК и СМ2 на РИА

1 – передача ОП на РИА


Таблица 1.3

Сигналы обратной связи и сигналы признаков

F

Описание

RK10,RK9

00 – вычитание

01 – умножение

10 – условный переход

11 – останов

FP

0 – условие перехода не удовлетворяет маске

1 – условие перехода удовлетворяет маске

4.7. Схема алгоритма микропрограмм выполнения команд

Схема алгоритма микропрограмм выполнения команд представлена на рис. 4.7.


Рис 4.7. Схема алгоритма микропрограмм выполнения команд

4.8. Тесты для отработки БУК

Требования к тестовой программе:

1) Она должна пройти по всем веткам алгоритма

2) Она должна извлекать операнды как в 0 так и в 1 полубайте

3) Она должна выполнять проверку записи результата

4) Она должна извлекать команды начало которых находится как в 0 так и в 1 полубайте

Схема тестовой программы:

Схема тестовой программы представлена на рис. 4.8.

Рис. 4.8. Схема тестовой программы

Выбор операндов:

Умножение:

А=1.011

В=1.000

R=00101000

Вычитание:

А=0.010   (1-ый полубайт результата умножения)

B=0.010

R=0.000             ПР=0

А=0.000   (результат предыдущей операции вычитания)

B=0.010

R=1.110             ПР=1

Маска перехода:

КМ=1000

Описание:

Первой операцией выполняется умножение для того чтобы можно было проверить правильность записи результата. В качестве операндов выбраны операнды из тестового примера №5. Затем выполняется операция вычитания 1-ым операндом которого является первый полубайт результата умножения. Признак результата этой операции равен 0, результат записывается по адресу первого операнда. Далее выполняется операция условного перехода с маской КМ=1000. т.к. ПР=0 удовлетворяет маске перехода выполняется переход на операцию вычитания. 1-ым операндом является результат предыдущей операции вычитания, а второй операнд остается таким же. Признак результата этой операции равен 1. Далее выполняется операция условного перехода. Условный переход не происходит т.к. ПР=1 не удовлетворяет маске перехода. После этого выполняется операция останова. Команды располагаются в ОП памяти друг за другом, что обеспечивает проверку правильности считывания команды. 1-ый операнд умножения располагается во 2-ом полубайте, а 1-ый операнд вычитания в 1-ом полубайте – это обеспечивает проверку правильности извлечения операндов.

4.9. Таблицы загрузки оперативной и регистровой памяти

В табл. 4.3 и 4.4 представлены таблицы загрузки оперативной и регистровой памяти.

4.10. Распечатки результатов моделирования БУК

На рис. 4.9 представлены результаты моделирования БУК.


Таблица 4.3

Таблица загрузки оперативной памяти

Физический адрес

Содержание

Пояснение

старшие

младшие

0

0010

0100

умножение

1

1101

0000

умножение/вычитание

2

1000

1110

вычитание

3

0101

0000

условный переход

4

0011

0110

условный переход/останов

5

0000

0000

останов

6

0000

0000

7

0000

0000

8

1001

1000

адрес 2-го операнда умножения

9

0000

1000

2-ой операнд умножения (результат умножения)

10

1001

0000

адрес 2-го операнда вычитания

11

0000

0000

12

0000

0000

13

0000

0000

14

0000

0000

15

0000

0000

Таблица 4.4

Таблица загрузки регистровой памяти

Физический адрес

Содержание

Пояснение

0

0000

1

0000

2

1011

1-ый операнд умножения

3

0000

4

0110

1-ый операнд вычитания (результат вычитания)

5

0000

6

0000

7

0000

8

0000

9

0000

10

0000

11

0000

12

0000

13

0000

14

0000

15

0000


Глава 5. Проектирование блока микрокоманд

5.1. Условное графическое обозначение БМК

Условное графическое обозначение БМК приведено на рис. 5.1.

Рис. 5.1. Условное графическое обозначение БМК

5.2. Формат микрокоманды

Для данного БМК был выбран естественный порядок выполнения микрокоманд (МК). В операционной МК был выбран способ горизонтального кодирования, при котором в каждом разряде записывается значение управляющего сигнала, вырабатываемого в данной команде. Разрядность операционной МК определяется количество управляющих сигналов (12), включая сигнал SNO плюс поле признака МК. Итого 14 разрядов.

Разрядность управляющей МК определяется количеством сигналов признаков + безусловный переход и поле признака МК и разрядностью адреса микрокоманды. Под адрес было выделено 5 разрядов, т.к. количество микрокоманд равно 17. Итого 10 разрядов.

Следовательно разрядность микрокоманды будет определятся операционной МК т.к. у нее больше разрядов. Форматы микрокоманд представлены ниже.

Операционная микрокоманда:

13

12

11

10

9

8

7

6

5

4

3

2

1

0

Р=0

SNO

YC12

YC11

YC10

YC9

YC8

YC7

YC6

YC5

YC4

YC3

YC2

YC1

Управляющая микрокоманда:

13

12

11

10

9

8

7

6

5

4

3

2

1

0

Р=1

X

БП

FP

RK10

RK9

А след. микрокоманды

5.3. Функциональная схема микропрограммного устройства управления

Функциональная схема микропрограммного устройства управления представлена на рис. 5.2.

Счетчик микрокоманд – 5-разрядный счетчик с загрузкой и сбросом в 0. Выбран 5-разрядным т.к. должен адресовать все ячейки ПЗУ.

Постоянное запоминающее устройство (ПЗУ) – память 32х14. Выбрана такой организации для того чтобы туда вместились все микрокоманды.

Схема пуска останова (СПО) – вырабатывает сигнал разрешения работы схемы.

КС1 – вырабатывает сигнал разрешения загрузки.

КС2 – вырабатывает сигнал для СПО.

КС3 – вырабатывает управляющие сигналы.

5.4. Логическая схема микропрограммного устройства управления

Логическая схема микропрограммного устройства управления представлена на рис. 5.3. Реализация всех элементов и КС представлена там же.

5.5. Карта загрузки микропрограммного устройства управления

В табл. 5.1 приведена карта загрузки ПЗУ микропрограммного устройства управления.


Рис. 5.2. Функциональная схема микропрограммного устройства управления

Рис. 5.3. Логическая схема микропрограммного устройства управления

Карта загрузки микропрограммного устройства управления

Таблица 5.1

Адрес

P=1

X

X

X

X

БП

FP

RK10

RK9

A4

A3

A2

A1

A0

УМК

P=0

SNO

YS12

YS11

YS10

YS9

YS8

YS7

YS6

YS5

YS4

YS3

YS2

YS1

ОМК

13

12

11

10

9

8

7

6

5

4

3

2

1

0

Комментарий

0

0

0

0

0

0

0

0

0

0

0

0

1

0

1

РК1:=(СК)

СК:=СК+1

1

0

0

0

0

0

0

0

0

0

0

1

0

0

1

РК2:=(СК)

СК:=СК+1

2

0

0

0

0

0

0

0

0

0

1

0

0

0

1

РК3:=(СК)

СК:=СК+1

3

1

0

0

0

0

0

0

1

0

0

1

1

0

0

Переход на нелинейную команду

4

0

0

0

1

0

0

1

0

0

0

0

0

0

0

БР1:=(Р1)

РИА:=СК+СМ2

5

0

0

1

0

0

0

1

0

1

0

0

0

0

0

РИА:=(РИА)

6

0

1

0

0

1

0

0

0

1

0

0

0

0

0

БР2:=(РИА)

начало выполнение в АЛУ

7

1

0

0

0

0

0

0

0

1

0

1

0

1

0

Переход на запись результата для операции умножения

8

0

0

0

0

0

1

0

0

0

0

0

0

0

0

Запись результата в РП

9

1

0

0

0

0

1

0

0

0

0

0

0

0

0

БП на начало цикла

10

0

0

0

0

0

0

0

1

1

0

0

0

0

0

Запись результата в ОП

11

1

0

0

0

0

1

0

0

0

0

0

0

0

0

БП на начало цикла

12

1

0

0

0

0

0

0

0

1

0

1

1

0

0

Переход на останов

13

1

0

0

0

0

0

1

0

0

0

1

1

1

1

Условный переход

14

1

0

0

0

0

1

0

0

0

0

0

0

0

0

БП на начало цикла

15

0

0

0

0

0

0

0

0

0

0

0

0

1

1

СК:=Апер

16

1

0

0

0

0

1

0

0

0

0

0

0

0

0

БП на начало цикло


Глава 6. Отработка процессора

6.1. Схема соединения составных блоков процессора

Схема соединения составных блоков процессора представлена на рис. 6.1.

Рис. 6.1. Схема соединения составных блоков процессора

6.2. Тесты для отработки процессора

В качестве теста для отработки процессора была взята тестовая программа, рассмотренная в БУК. Схема данной программы представлена на рис. 4.8. Подробное описание хода выполнения программы представлено в п. 4.8 (см. с. 58).

6.3. Распечатки результатов размещения схемы процессора на кристалле

Результат размещения схемы процессора на кристалле представлен на рис. 6.2.

Рис.6.2. Результат размещения схемы процессора на кристалле

Схема на кристалле занимает 7300 путей, 224 цепи и 846 соединений (100% покрытие).

Путь – соединенная последовательность цепей и логических элементов. Путь имеет начальную и конечную точки, которые по-разному зависят от типа пути.

Цепь – 1) логическое соединение двух или более контактов элементов.

  2) электрическое соединение между компонентами или цепями.

Минимальный период: 52.517 нс.

Максимальная частота: 19.041 МГц.

Протокол размещения процессора на кристалле приведен в листинге 6.1.

Листинг 6.1. Протокол размещения процессора на кристалле

Design Summary:

---------------

  Number of errors:        0

  Number of warnings:      3

  Number of CLBs:            104 out of   196   53%

     CLB Flip Flops:      74

     4 input LUTs:       155 (8 used as route-throughs)

     3 input LUTs:        29 (4 used as route-throughs)

     32X1 ROMs:           14

     16X1 RAMs:           12

  Number of bonded IOBs:      20 out of    61   32%

     IOB Flops:            0

     IOB Latches:          0

  Number of secondary CLKs:    1 out of     4   25%

  Number of RPM macros:        1

Total equivalent gate count for design: 4131

Additional JTAG gate count for IOBs:    960

Timing summary:

---------------

Timing errors: 0  Score: 0

Constraints cover 7300 paths, 224 nets, and 846 connections (100.0% coverage)

Design statistics:

  Minimum period:  52.517ns (Maximum frequency:  19.041MHz)

  Maximum combinational path delay:  61.568ns

  Maximum net delay:  13.043ns

6.4. Распечатки результатов моделирования процессора

Распечатки результатов моделирования процессора представлены на рис. 6.3.


Заключение

В результате выполнения технического задания сделано следующее:

  1. Спроектирован блок операций (БО)
  2. Произведено моделирование БО в системе Xilinx на тестовых примерах
  3. Спроектировано и отмоделировано в системе Xilinx схемное местное устройство управления (МУУ)
  4. Отработано арифметико-логическое устройство (АЛУ) – соединение БО и МУУ
  5. Произведено моделирования АЛУ на стенде
  6. При помощи временного моделирования определены параметры системы синхронизации и времени выполнения операции. Предельная частота работы АЛУ 38.461 МГц.
  7. Спроектирован блок управления командами (БУК)
  8. Разработана тестовая программа отработки БУК и процессора
  9. Произведено моделирование БУК вместе с АЛУ в системе Xilinx
  10. Разработано микропрограммное устройство управления (БМК)
  11. По алгоритму выполнения команд разработана микропрограмма БМК
  12. Произведено моделирование процессора, состоящего из всех блоков
  13. Произведена отработка тестовой программы процессора на стенде

Результаты моделирования процессора:

Предельная частота работы процессора равна 19.041МГц

Операция умножения выполняется за Nmax = 16 тактов (T = 842 нс)

Операция вычитания за 13 тактов (T = 684 нс)

Операция условного перехода за 8 тактов (T = 421 нс)

Техническое задание на проектирование процессора полностью выполнено.




1. Как называется наука о небесных телах 1 история 2 география 3 экология 4 астрономия А 2
2. ДИПЛОМНАЯ РАБОТА ИССЛЕДОВАНИЕ ОСОБЕННОСТЕЙ ТЕХНИЧЕСКОЙ РЕАЛИЗАЦИИ И ЭФФЕКТИВНОСТИ УПЛОТНЕНИЯ НЕСТАЦИО
3. Космос что базируется в республике Крым
4. РЕФЕРАТ дисертації на здобуття наукового ступеня кандидата медичних наук Київ 2006 Дис
5. Первые люди на Луне
6. Тема 1 Університетська освіта як наука та система знань Відповідно до
7. Эксплуатация машин в пустыне
8. а Орехотворки Cynipoide ~ мелкие насекомые из отряда перепончатокрылых
9. лекция Веч
10. Організація та методика бухгалтерського обліку і аналізу основних засобів
11. Из Повести временных лет
12. Исполнение бюджетов всех уровней по расходам
13. Вопросы к экзамену по курсу «Религиозный фактор в современных международных отношениях»
14. Классификация наказаний по Уголовному праву России
15. Политический менталитет у россиян
16. Мы по достоинству еще не оценили Карла Черни писал И
17. Кальций и его роль для человечеств
18. Тип BIOS зависит от производителя вашей материнской платы
19. Предмет метод и объект бухгалтерского учета
20.  Историография и источники 2