Помощь в написании студенческих работ
Антистрессовый сервис

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

ДипломнаяПомощь в написанииУзнать стоимостьмоей работы

Операционная часть микрокоманды (ОЧ МК) инициирует совокупность управляющих сигналов, необходимых для выполнения одной МК (один такт работы). ОЧ МК разделяется на поля. Каждое поле объединяет некоторый набор несовместимых управляющих сигналов (МО). Например, все МО {S} СДВ несовместимы между собой. Сигнал Е (окончание работы П-автомата) можно разместить в любом поле. При поступлении сигнала… Читать ещё >

Проектирование процессора ЭВМ (реферат, курсовая, диплом, контрольная)

Введение

Целью проекта является решение комплекса вопросов, связанных с проектированием процессора ЭВМ. Разработка процессора проводится в следующих аспектах:

1. разработка функциональных микропрограмм заданных команд;

2. объединение микропрограмм;

3. привязка микропрограмм к структуре операционного автомата процессора;

4. разработка структуры операционного автомата и управляющего автомата процессора.

1. Функциональная и структурная организация проектируемой ЭВМ

1.1 Форматы данных и команд

Набор команд, заданных в техническом задании, имеют стандартные форматы ЕС ЭВМ:

1. RR (BCTR);

2. RX (SD, LH).

Данные форматы изображены на рисунке 1. Первые два байта команды — код операции (КОП), остальную часть занимают операнды. КОП определяет тир и форматы команд:

1. КОП (0:1)=00 — RR;

2. КОП (0:1)=11 — RX.

Рисунок 1 — Форматы команд

1.2 Базовая структура ЭВМ

ЭВМ состоит из процессора, основной (оперативной) памяти (ОП), регистровой (сверхоперативной) памяти (РП) и средств ввода-вывода информации (рисунок 2).

Процессор выбирает из ОП команды и выполняет все операции за исключением операций ввода-вывода (ОВВ). ОВВ инициируются процессором и выполняются средствами ввода-вывода.

ОП обеспечивает хранение байтов информации, предельное число которых (предельная емкость ОП) равна 224=16 777 216 байт. Различные модели ЭВМ имеют разную емкость ОП: от 216=64 Кбайта (1 Кбайт =210 байт=1024 байт) до 4096 Кбайт в старших моделях.

Рисунок 2 — Структурная схема ЭВМ

В ЭВМ адресуется каждый байт ОП. За одно обращение к ОП записываются или читаются несколько байтов информации (слово ОП): 1, 2 или 4 — в младших моделях, 4 или 8 — в старших.

РП используется для увеличения быстродействия процессора и состоит из 16 регистров общего назначения РОН[0:15](0:31), каждый из которых обеспечивает хранение 32-разрядного слова, и из четырех регистров с плавающей запятой РПЗ[к](0:63), где к=0,2,4,6, каждый из которых обеспечивает хранение 64-разрядного слова. РОН идентифицируются номерами регистров — 0,1,…, 15, а РПЗ — номерами 0,2,4,6.

Каждому РОН соответствует одна ячейка РП, каждому РПЗ — две ячейки РП, т. е. РОН[0:15] = РП[0:15], РПЗ[0] = РП[16]. РП[17], РПЗ[2] = РП[18]. РП[19] и т. д.

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

1.3 Структура процессора

ОА процессора служит для хранения слов информации, выполнения микроопераций (МО) над ними и вычисления логических условий (ЛУ), зависящих от слов.

УА обеспечивает требуемый порядок выработки наборов управляющих сигналов (следования МО) на основе заданных микропрограмм (МП).

ОА процессора рекомендуется строить на основе принципа общих микроопераций. ОА разделяется на две части: память ОА и комбинационную часть. Память ОА состоит из N регистров. Рабочие регистры РА, РВ, РС и т. д. используются для хранения операндов и внутренних слов МП. Длина их определяется длиной операндов и особенностями выполняемых команд. Длина регистра команд РК назначается исходя из максимальной длины команд заданного набора. Счетчик адреса команд (СЧАК) хранит и модифицирует адрес команды. Так как адрес команды всегда кратен полуслову, то длина СЧАК определяется емкостью ОП в полусловах (1).

Буферный регистр (БР) необходим для хранения неиспользованной части слова ОП в процессе выборки команд из ОП и имеет длину 1 или 3 полуслова при 32 или 64-разрядном слове ОП соответственно.

Память ОА связана с комбинационной частью шинами А, В и С. На шины, А и В посредством управляющих сигналов из множеств {a} и {b} выбираются операнды, вступающие в микрооперацию, а шина С используется для занесения результатов МО в память ОА. Операционный автомат подключен к магистрали М, связывающей его с ОП и РП через регистр Z.

Комбинационная часть ОА служит для выполнения множества МО над словами, выбранными на шины, А и В, и вычисления значений ЛУ из множества X, необходимых для реализации МП. Комбинационная часть ОА содержит следующие операционные элементы комбинационного типа: формирователь кодов (ФК), сдвигатель (СДВ), комбинационный сумматор (КСМ) и формирователи осведомительных сигналов (Ф).

Результат МО фиксируется в промежуточном регистре Z управляющим сигналом z1 на время одного такта, а затем может быть передан в память ОА по шине С (управляющие сигналы {c}), в ОП или РП через магистраль М (управляющие сигналы {m}) или в адресный регистр АР (управляющие сигналы {r}).

1.4 Оперативная память

В ОП емкостью E байтов хранятся 16, 32 или 64- разрядные слова. Слово читается и записывается в ОП всегда целиком за одно обращение к ОП. Адрес слова, к которому производится обращение, указывается в регистре адреса оперативной памяти (АОП). Длина регистра АОП вычисляется по формуле (2).

— емкость ОП в словах (3).

Слово памяти, которое записывается или читается из ОП, размещается в регистре слова ОП (РОП). Длина регистра РОП (0:?-1), где ?{16,32,64}. Операция в ОП возбуждается сигналами чтения из ОП (ЧТОП) и записи в ОП (ЗПОП). Момент окончания цикла обращения к ОП отмечается сигналом занятости ОП ZОП, так как цикл ОП имеет длительность, большую такта работы процессора. Таким образом, синхронизация работы процессора и ОП обеспечивается за счет ждущих вершин графа микропрограммы.

Обмен информацией между ОА и ОП происходит через магистраль М и промежуточный регистр Z. Адрес слова, которое необходимо прочитать или записать в ОП, предварительно формируется в адресном регистре АР, связанном с АОП шиной, управляемой сигналами из множества {r}. Длина АР определяется по формуле (4). АР хранит адрес байта в ОП.

1.5 Регистровая память

РП [0:23](0:31) является внутренней (сверхоперативной) памятью процессора. Длина регистра слова РП (РРП) — 32 разряда. Адрес регистра указывается в 5-разрядном регистре адреса РП (APП). Чтение и запись в РП инициируются сигналами ЧтРП и ЗпРП, соответственно.

При обращении к РОН с полусловом или словом любое значение адреса от 0 до 15 является допустимым. При обращении к РОН с двойным словом адрес должен быть четным, (если адрес у РОН нечетный — нарушение спецификации адреса (S)). При обращении к РПЗ со словом или двойным словом (числа с плавающей запятой) адрес РПЗ должен быть четным и меньше восьми. В ином случае фиксируется нарушение спецификации адреса РПЗ (SP).

Для обращения к POH за целым числом, базовым адресом, индексным приращением, кодом логической величины или адресом необходимо установить старший разряд адреса АРП (1) в нуль. Для обращения к РПЗ за числом с плавающей запятой АРП (1) устанавливается в единицу. Разряды АРП (2:5) определяются полем R, В или Х в команде.

1.6 Выборка команды из ОП

Для того, чтобы выполнить команду, ее необходимо прочитать из ОП в регистр команд (РК). В зависимости от формата выбираемой команды и ситуации, предшествовавшей выборке данной команды, необходимо выполнить различную совокупность микроопераций для передачи команды из ОП в РК. Команды любого формата начинаются с целочисленной границы полуслова. Слово ОП может содержать полностью команду или только ее часть.

Адрес выбираемой команды хранится в регистре СчАК, длина которого вычисляется по формуле (1):

Определим емкость ОП в словах по формуле (3)

Функциональная микропрограмма выборки команд приведена на рисунке 3.

Рисунок 3 — ФМП выборка команд

1.7 Выполнение команд

ФМП каждой отдельной команды строится на основе словесного алгоритма ее выполнения и исходного задания. Чтение операнда из ОП и запись результата в ОП по исполнительному адресу производится после проверки на правильность адресации (А) и спецификации (S). При обращении к РПЗ также проверяется адрес регистра (спецификация SP).

1.7.1 Вычитание с нормализацией (SD)

Формат команды — RX (рисунок 1).

Словесный алгоритм:

Второй операнд вычитается из первого операнда, и нормализованная разность помещается на место первого операнда.

Команда ВЫЧИТАНИЕ С НОРМАЛИЗАЦИЕЙ выполняется аналогично команде СЛОЖЕНИЕ С НОРМАЛИЗАЦИЕЙ и отличается от последней лишь тем, что перед сложением знак второго операнда изменяется на противоположный.

Поле R1 должны определять регистры 0, 2, 4 или 6.

Признак результата:

0 — мантисса результата равна нулю;

1 — результат меньше нуля;

2 — результат больше нуля;

3 — не бывает.

Программные прерывания:

Операция (если в данной установке отсутствуют средства обработки чисел с плавающей точкой);

доступ (выборка второго операнда);

спецификация;

переполнение порядка;

исчезновение порядка;

потеря значимости.

ФМП команды представлена на рисунке 4.

Рисунок 4 — ФМП вычитание с нормализацией

Продолжение рисунка 4

Продолжение рисунка 4

Продолжение рисунка 4

Структура регистра ППС

Исходя из ФМП команд, уже можно определиться со структурой регистра признаков перехода и состояний — ППС (рисунок 5).

Рисунок 5 — Структура регистра ППС

1. А — неправильная адресация;

2. S — неправильная спецификации;

3. ПрР — признак результата;

4. SP — неправильная спецификации с плавающей запятой;

5. LS — потеря значимости;

6. E — переполнение порядка;

7. И — исчезновение порядка;

8. п/с — состояние процессора «Пуск/Стоп»;

9. о/с — состояние процессора «Ожидание/Счет».

1.7.2 Переход по счетчику (BCTR)

Формат команды — RR (рисунок 1).

Словесный алгоритм:

Из содержимого общего регистра, заданного полем R1, алгебраически вычитается единица. Если результат равен нулю, продолжается выполнение команд в обычной последовательности с использованием продвинутого адреса команды. Если результат отличен от нуля, адрес команды в текущем PSW замещается адресом перехода.

В качестве адреса перехода используется — содержимое битов 8−31 общего регистра, заданного полем R2. Однако, если в поле R2 содержатся нули, операция выполняется без перехода.

Адрес перехода определяется перед операцией вычитания из счетчика. Вычитание из счетчика не изменяет признака результата. Переполнение, возникающее при переходе от максимального отрицательного числа к максимальному положительному числу, игнорируется. В остальном вычитание выполняется, как обычная операция с фиксированной точкой, и в ней принимают участие все 32 разряда общего регистра.

Признак результата: не изменяется;

Программные прерывания: отсутствуют;

Замечания по программированию:

Начальное значение счетчика, равное единице, дает после вычитания нуль, и переход отсутствует. Если начальное значение счетчика равно нулю, то при выполнении команды оно станет равным -1 (FFFFFFFF16), и переход произойдет.

Если поле R2 команды формата RR содержит нули, вычитание из счетчика производится, но переход отсутствует.

ФМП команды представлена на рисунке 6.

Рисунок 6 — ФМП переход по счетчику

1.7.3 Загрузка полуслова (LH)

Формат команды — RX (рисунок 1).

Словесный алгоритм:

Второй операнд помещается на место первого операнда. Второй операнд имеет длину 2 байта и рассматривается как целое число со знаком, состоящее из 16 битов, включая знаковый.

После того как второй операнд получен из памяти, но еще не помещен в общий регистр, производится его расширение до 32 битов путем распространения значения знакового разряда на 16 старших битов.

Признак результата: не имеется.

Программные прерывания: доступ выборка второго операнда.

ФМП команды представлена на рисунке 7.

Рисунок 7 — ФМП загрузка полуслова

Продолжение рисунка 7

функциональный структурный микропрограмма процессор

2. Объединение структурно-функциональных микропрограмм

Исходным материалом для построения объединённой функциональной микропрограммы (Ф-МП) являются разработанные Ф-МП отдельных операций. Каждая Ф-МП должна быть размечена (рисунки 3,4,5,6): микрокоманды (операторные вершины) — символами из множества {Y}, логические условия — символами из множества осведомительных сигналов {x} или переменными кода операции {p}. Одинаковые микрокоманды отмечаются одними и теми же символами Y? в разных Ф-МП. Если в одной Ф-МП встречается несколько одинаковых операторных вершин Y?, то каждая последующая из них обозначается символом Y? c добавлением штриха (Y?1, Y?11 и т. д.) Размеченные Ф-Мпы называются граф-схемами алгоритма (структурно-функциональными микропрограммами СФ-МП). Объединение ФМП выполняется с использованием матричных схем алгоритма (МСА) в несколько этапов:

1. построение матричных схем алгоритмов;

2. построение объединенных подматриц;

3. построение системы скобочных формул;

4. построение объединенной ГСА.

2.1 Построение матричных схем алгоритмов

Для каждой ГСА Гq строится МСА Мq. Мq — квадратная матрица, строки которой отмечены операторами Yн, Y1,…, Yt , а столбцы — Y1, …, YT, YK (здесь Yt — микрокоманда (оператор) ГСА Гq, t=1,…T; Yн и YK — начальный и конечный операторы, соответственно. На пересечении строки Yi и столбца Yj матрицы записывается функция перехода от оператора Yi к оператору Yj.

Каждая МСА Mq (q=1,…, Q) кодируется вектором, длина которого. Закодируем М1 (вычитание с нормализацикй), М2 (переход по счетчику), М3 (загрузку полуслова) следующим образом: М1-(00); М2-(11); М3-(01). Каждой МСА ставится в соответствие определяющая конъюнкция:

, .

Таблица 1 — МСА М1

yв

y1

y2

y3

y4

y5

y'3

y'4

y6

y 7

y8

y9

y10

y11

y12

y13

y14

y15

y16

y0

yв

y1

y2

y3

y4

y5

y'3

y'4

y6

y7

y8

y9

y10

y11

y12

y13

y14

y15

y41

y50

Продолжение таблицы 1

y17

y18

y19

y20

y21

y22

y23

y24

y25

y26

y27

y28

y29

y30

y31

y32

y33

y34

y'19

y35

y16

y17

y18

y19

y20

y21

y22

y23

y24

y25

y26

y27

y28

y29

y30

y31

y32

y33

y34

y'19

y40

y43

y44

y46

y48

Продолжение таблицы 1

y36

y37

y38

y39

y40

y41

y42

y'25

y43

y44

y45

y46

y47

y48

y'16

y49

y50

yк

y35

y36

y37

y38

y39

y40

y41

y42

y'25

y43

y44

y45

y46

y47

y48

y'16

y49

y50

y30

y31

y32

y0

y6

y7

y15

Таблица 2 — МСА М2

p1p2

y6

y5

y3

y15

y'3

y6

y7

y50

y'50

y51

yк

y0

x1

yв

y5

y3

y15

y'3

y6

y7

y50

y'50

y51

Таблица 3 — МСА М3

yВ

y1

y2

y3

y4

y5

y'3

y'4

y6

y7

y8

y9

y53

y54

y55

y16

y56

yк

y0

yв

y1

y2

y3

y4

y5

y'3

y'4

y6

y7

y8

y9

y53

y54

y55

y16

y56

2.2 Построение объединенных подматриц

Задача объединения ГСА Г1,…,ГQ может быть разбита на несколько независимых подзадач меньшей размерности. Для этого исходные МСА Мq (q=1,…, Q) разбиваются на подматрицы Mq1 ,…, MqTq таким образом, что для любых двух подматриц MqP и MqS (p, s{1,…, Tq}) пересечение множеств исходящих и входящих операторов пусто: AqPAqS=, BqPBqS= (где {A} -исходящие, а {B} - входящие операторы).

Подматрицы, полученные в результате разбиения МСА, , приведены на рисунках 8,9 и 10.

Продолжение рисунка 8

Рисунок 10 — Подматрицы МАС М3

На множестве всех полученных таким образом подматриц введём отношение объединимости, согласно которому две подматрицы MqS и Mrf объединимы (MqSMrf), если и только если пересечение множеств их исходящих или входящих операторов не пусто:

((AqS Arf)(BqS Brf))=1,

где AqS (BqS) и Arf (Brf) — множества исходящих (входящих) операторов подматриц MqS и Mrf соответственно. Очевидно, что это отношение рефлексивно, симметрично, но не транзитивно. Построим граф этого отношения. Каждой подматрице ставится в соответствие вершина графа. Две вершины MqS и Mrf соединяются ребром, если MqSMrf (рис.16). Тогда, очевидно, для нахождения множества всех объединимых подматриц необходимо найти все компоненты связности этого графа. Подматрицы, попавшие в одну компоненту, подлежат объединению.

Объединенные подматрицы приведены на рисунке 11.

2.3 Построение систем скобочных формул

На основе полученных объединенных подматриц, приведенных на рисунке 11, переходим к системе скобочных формул перехода.

2.4 Построение объединенной ГСА

Подграфы ГСА, полученные на основе скобочных формул перехода, объединяются путем совмещения одинаковых исходящих и входящих операторных вершин.

Заменяя в объединенной ГСА операторы Y соответствующими им функциональными микрокомандами, а переменные x, р — логическими условиями, получим объединенную Ф-МП выполнения заданных операций (первый лист графической части проекта).

3. Разработка структурно-функциональной микропрограммы и структуры процессора

3.1 Разработка структурно-функциональной микропрограммы

Структурно-функциональная микропрограмма (СФ-МП) описывает порядок функционирования процессора в терминах конкретных управляющих и осведомительных сигналов.

Каждому действию над словами информации (микрокоманде) Ф-МПы ставится в соответствие совокупность управляющих сигналов, инициирующих это действие с учетом базовой структурной схемы ОА процессора (рисунок 12). СФ-МП представляется в виде таблицы 4. Выявляются множества управляющих сигналов {a}, {b}, {f} и т. д. Базовая структура ОА дополняется необходимыми шинами, операционными элементами, управляющими и осведомительными сигналами, и в итоге разрабатывается структура процессора.

При заполнении таблицы учитывается, что все регистры памяти ОА, операционные элементы комбинационной части (ФК, СDВ, КСМ), регистры Z, АР, регистры ОП и РП, управляемые шины совмещены по младшим разрядам.

Условные вершины Ф-МП интерпретируются осведомительными сигналами из множества {x}, которые вырабатываются соответствующими формирователями осведомительных сигналов Ф (рисунок 12). Все осведомительные сигналы ОА необходимо свести в таблицу.

На основе полученных данных вычерчивается электрическая структурная схема процессора в соответствии с ЕСКД (второй лист графической части проекта).

Рисунок 12 — Базовая структурная схема процессора

Микрокоманды

Микрооперации ОА

Действия над адресами, работа ОП иРП

магистральные передачи

Выборка на шины

ФК (0.31)

СДВ (0.31)

КСМ (0.31)

Прием в Z (0:31)

{z}

Запись в память ОА

{c}

Установка

РСП

{d}

Работа с АР (1:18)

{r}

Управле;

ние ЗП и ЧТ {l}

Выборка на М

Прием с М в РП и ОП

А{a}

B{b}

F:=f{B}

S:=s (F)

K:=k (A, S)

Y1

РA (32:63):=РК (20:31)

b1) В:=РК

f1) F:=0.0.B (20:31)

s1) S:=F

k1) K:=S

z1) Z:=K

c1) PA (32:63):=Z

Y2

АР (15:18):=РК (16:19)

b1) В:=РК

f2) F:=B

s2)S:=R12.F

k1) K:=S

z1) Z:=K

r1)АР (15:18):=Z

Y3

АРП (1:5):=0.АР (15:18)

ЧтРП РB (32:63):=РРП

z2) Z:=M

c2) PB (32:63):=Z

r2)АРП (1:5):=

0.АР (15:18)

I1)ЧтРП

m1)M:=РРП

Y4

РA (32:63):=РA (32:63)

+РB (32:63)

a1)A:=PB

b2)B:=PA

f2)F:=B

s1) S:=F

k2)K:=A+S

z1) Z:=K

c1) PA (32:63):=Z

Y5

АР (15:18):=РК (12:15)

b1) В:=РК

f2)F:=B

s3)S:=R16.F

k1) K:=S

z1) Z:=K

r1)АР (15:18):=Z

Y6

A:=1

d1)ППС (0):=1

Y7

S:=1

d2)ППС (1):=1

Y8

АР (1:18):=РA (46:63)

b2)B:=PA

f2)F:=B

s1) S:=F

k1) K:=S

z1) Z:=K

r3)AР (1:18):=Z

Y9

АОП (1:16):=АР (1:16)

ЧтОП

r4)АОП (1:16):=

АР (1:16)

I2)ЧтОП

Y10

РA (0:31):=РОП (0:31)

z2) Z:=M

c3) PA (0:31):=Z

m2)M:=РОП

Y11

РB (32:63):=РB (32:63)+4

a1)A:=PB

f3)F:=1002

s1) S:=F

k2)K:=A+S

z1) Z:=K

c2)PB (32:63):=Z

Y12

АР (1:15):=РB (45:63)

b3)B:=PB

f2)F:=B

s1) S:=F

k1) K:=S

z1) Z:=K

r5) АР (1:15):=Z

Y13

РA (32:63):=РОП (0:31)

z2) Z:=M

c1)PA (32:63):=Z

m2)M:=РОП

Y14

Sp:=1

d3)ППС (4):=1

Y15

АР (15:18):=РК (8:11)

b1) В:=РК

f2)F:=B

s4)S:=R20.F

k1) K:=S

z1) Z:=K

r1)АР (15:18):=Z

Y16

АРП:=0.АР (15:18)

ЧтРП РB (0:31):=РРП

z2) Z:=M

c4) PB (0:31):=Z

r2)АРП:=

0.АР (15:18)

I1)ЧтРП

m1)M:=РРП

Y17

АРП (5):=1

ЧтРП РB (32:63):=РРП

z2) Z:=M

c2)PB (32:63):=Z

r7)АРП (5):=1

I1)ЧтРП

m1)M:=РРП

Y18

РС (0:8):=0.РB (1:7)

b3)B:=PB

f4)F:=0.B (1:7)

s5)S:=R56.F

k1) K:=S

z1) Z:=K

c5) PС (0:8):=Z

Y19

РД (0:8):=1. +1

b3)B:=PВ

f5)F:=1.

s5)S:=R56.F

k4) K:=S+1

z1) Z:=K

c6) PД (0:8):=Z

Y20

РС:=РС+РД (0:8)

a3)A:=PС

b4)B:=PД

f2)F:=B

s1) S:=F

k2)K:=A+S

z1) Z:=K

c5) PС (0:8):=Z

Y21

РС:=1.+1

b5)B:=PС

f6)F:=1.

s1) S:=F

k4) K:=S+1

z1) Z:=K

c5) PС (0:8):=Z

Y22

РB (1:7):=РB (1:7)+1

b3)B:=PB

f7)F:=В (1:7)

s5)S:=R56.F

k4) K:=S+1

z1) Z:=K

c7) PB (1:7):=Z

Y23

РB (8:63):=0000.РB (8:59)

b3)B:=PB

f8)F:=0.В (8:63)

s6) S:=R4.F

k1) K:=S

z1) Z:=K

c8) PB (8:63):=Z

Y24

РС (1:7):=РС+1

a3)A:=PС

k5) K:=A+1

z1) Z:=K

c9) PС (1:7):=Z

Y25

РA (1:7):=РA (1:7)+1

b2)B:=PA

f10)F:=В (1:7)

s5)S:=R56.F

k4) K:=S+1

z1) Z:=K

c10) PA (1:7):=Z

Y26

РA (8:63):=0000.РA (8:59)

b2)B:=PA

f8)F:=0.В (8:63)

s6) S:=R4.F

k1) K:=S

z1) Z:=K

c11) PA (8:63):=Z

Y27

РС (1:7):=РС-1

a3)A:=PС

f9)F:=11.1

s1) S:=F

k2)K:=A+S

z1) Z:=K

c9) PС (1:7):=Z

Y28

Пр:=00

d4)ППС (3:4):=00

Y29

РВ:=00.0

f10)F:=00.0

s1) S:=F

k1) K:=S

z1) Z:=K

c12) PB:=Z

Y30

Пр:=01

d5)ППС (3:4):=01

Y31

Пр:=10

d6)ППС (3:4):=10

Y32

PB (8:63):=PA (8:63)

a2)A:=PA

k3) K:=A

z1) Z:=K

c8) PB (8:63):=Z

Y33

PB (0):=PA (0)

b2)B:=PA

f2)F:=B

s7)S:=R62.F

k1) K:=S

z1) Z:=K

c13) PB (0):=Z

Y34

PД (0:8):=0.PA (1:7)

b2)B:=PA

f4)F:=0.

B (1:7)

s5)S:=R.56F

k1) K:=S

z1) Z:=K

c6) PД (0:8):=Z

Y35

PB:=00.PB (8:63)

b3)B:=PB

f11)F:=00.

В (8:63)

s1) S:=F

k1) K:=S

z1) Z:=K

c12) PB:=Z

Y36

PB:=11.+1

b3)B:=PB

f12)F:=11.

s1) S:=F

k4) K:=S+1

z1) Z:=K

c12) PB:=Z

Y37

PA:=11.PA (8:63)

b2)B:=PA

f11)F:=00.В (8:63)

s1) S:=F

k1) K:=S

z1) Z:=K

c14) PA:=Z

Y38

PA:=11.+1

b2)B:=PA

f12)F:=11.

s1) S:=F

k4) K:=S+1

z1) Z:=K

c14) PA:=Z

Y39

PB:=PB+PA

a1)A:=PB

b2)B:=PA

f2)F:=B

s1) S:=F

k2)K:=A+S

z1) Z:=K

c12) PB:=Z

Y40

LS:=1

d7)ППС (5):=1

Y41

PB (4:63):=R4.PB (4:63)

b3)B:=PB

f13)F:=

B (4:63)

s6)S:=R4.B

k1) K:=S

z1) Z:=K

c15)PB (4:63):=Z

Y42

PB (1:7):=PC (2:8)

b5)B:=PС

f2)F:=B

s1) S:=F

k1) K:=S

z1) Z:=K

c7) PB (1:7):=Z

Y43

РД (0:8):=00.PB (1:7)

b3)B:=PB

f14)F:=00.

B (1:7)

s1) S:=F

k1) K:=S

z1) Z:=K

c6) PД (0:8):=Z

Y44

PB (8:63):=L4.PB (8:63)

b3)B:=PB

f15)F:=

B (8:63)

s8)S:=L4.B

k1) K:=S

z1) Z:=K

c8) PB (8:63):=Z

Y45

РД:=РД-1

a4)A:=РД

f9)F:=11.1

s1) S:=F

k2)K:=A+S

z1) Z:=K

c6) PД (0:8):=Z

Y46

E:=1

d8)ППС (6):=1

Y47

U:=1

d9)ППС (7):=1

Y48

АРП:=1.АР (15:18)

РРП :=РB (0:31)

ЗпРП

b3)B:=PB

f15)F:=B (0:31)

s9)S:=R32.F

k1) K:=S

z1) Z:=K

r8)АРП:=1.

АР (15:18)

I3)ЗпРП

m3)M:=Z

n1)РРП:=М

Y49

АРП (5):=1

РРП :=РB (32:63)

ЗпРП

b3)B:=PB

f16)F:=B (32:63)

s1) S:=F

k1) K:=S

z1) Z:=K

r4)АРП (5):=1

I3)ЗпРП

m3)M:=Z

n1)РРП:=М

Y50

РB (32:63):= РB (32:63)-1

a1)A:=PB

f9)F:=11.1

s1) S:=F

k2)K:=A+S

z1) Z:=K

c2)PB (32:63):=Z

Y51

СчАК (1:17):=РА (46:63)

ТП:=1

b2)B:=PA

f17)F:=B (46:63)

s1) S:=F

k1) K:=S

z1) Z:=K

с16) СчАК:=Z

d10)ППС (8):=1

Y52

РA (48:63):=РОП (0:15)

z2) Z:=M

c17)PA (48:63):=Z (0:15)

m2)M:=РОП

Y53

РA (48:63):=РОП (16:31)

z2) Z:=M

c18)PA (48:63):=Z (16:31)

m2)M:=РОП

Y54

РA (0:15):=РА (16)

b2)B:=PA

f18)F:=

B (16)

s10)S:=

R47.F

k1) K:=S

z1) Z:=K

c19) PA (0:15):=Z

Y55

АРП:=0.АР (15:18)

РРП :=РB (32:63)

ЗпРП

b3)B:=PB

f16)F:=

B (32:63)

s1) S:=F

k1) K:=S

z1) Z:=K

r1)АРП:=0.

АР (15:18)

I3)ЗпРП

m3)M:=Z

n1)РРП:=М

Yв1

АР (1:17):=СчАК (1:17)

b4)B:=

СчАК

f2)F:=B

s11)S:=L1.F

k1)K:=S

z1)Z:=K

r9)AР (1:17):=Z

Yв2

АОП (1:16):=АР (1:16)

ЧтОП

r4)АОП:=АР (1:16)

l2)ЧтОП

Yв3

РК (0:15):=РОП (0:15)

Z:=РОП

z2)Z:=M

c20)РК (0:15):=Z

m2)M:=РОП

Yи4

РК (0:15):=БР (0:15)

b6)B:=БР

f2)F:=B

s2)S:=L16.F

k1)K:=S

z1)Z:=K

c20)РК (0:15):=Z

Yв5

БР:=Z (16:31)

c21)БР:=Z

Yв6

СчАК:=СчАК+1

ТП:=0

a5)A:=СчАК

k5) K:=A+1

z1)Z:=K

с16) СчАК:=Z

d11)ППС (8):=0

Yв7

РК (16:31):=РОП (16:31)

c22)РК (16:31):=Z

Yв8

СчАК:=СчАК+2

ТП:=0

a5)A:=СчАК

f19)F:=210

s1) S:=F

k2)K:=A+S

z1)Z:=K

c23)РК (0:15):=Z

d11)ППС (8):=0

Yв9

РК (0:15):=РОП (16:31)

z2)Z:=M

c24)РК (0:15):=Z (16:31)

m2)M:=РОП

Yв10

СчАК:=СчАК+1

a5)A:=СчАК

k5) K:=A+1

z1)Z:=K

с16) СчАК:=Z

Yв11

РК (16:31):=РОП (0:15)

Z:=РОП

z2)Z:=M

c25)РК (16:31):=

Z (0:15)

m2)M:=РОП

3.2 Описание структурной схемы процессора

Структурная схема процессора состоит из ОА (память ОА, комбинационная часть ОА), УА, ОП, РП, адресный регистр АР, регистр ППС.

Память ОА состоит из рабочих регистров РА (0:63), РВ (0:63), РС (0:8), РД (0:8), буферного регистра БР (0:15), регистра команд РК (0:31) и счетчика адреса команд СчАК (1:16).

Комбинационная часть ОА содержит следующие операционные элементы комбинационного типа: формирователь кодов (ФК (0:63)), сдвигатель (СДВ (0:63)), комбинационный сумматор (КСМ (0:63)) и формирователи осведомительных сигналов (Ф).

ФК выполняет 19 операций:

СДВ выполняет 11 операций:

КСМ выполняет 5 операций:

Результат МО фиксируется в промежуточном регистре Z управляющим сигналом z1 на время одного такта, а затем может быть передан в память ОА по шине С (управляющие сигналы {c}), в ОП или РП через магистраль М (управляющие сигналы {m}) или в адресный регистр АР (управляющие сигналы {r}).

Хранение признаков результата, состояний процессора и режимов работы обеспечивает совокупность триггеров, образующих регистр переходов и состояний процессора (ППС). Его структура описана в пункте 1.8.

Для формирования осведомительных сигналов используются комбинационные схемы Ф1, Ф2, Ф3.

Регистровая память (РП) является внутренней памятью процессора. Длина слова РП 32 бита. Адрес регистра указывается на 5-разрядном регистре адреса РП (АРП). Чтение и запись в РП инициируется сигналами ЧтРП и ЗпРП.

Оперативная память (ОП) имеет емкость 256 Кбайт. Длина регистра слова ОП (РОП) — 32 бита. Адрс слова ОП указывается в регистре адреса ОП (АОП) длиной 16 разрядов. Операция в ОП возбуждается сигналами чтения из ОП (ЧтОП) и записи в ОП (ЗпОП). Момент окончания операции ОП отмечается сигналом ZОП.

Связь ОА процессора с РП и ОП организовано через магистраль M (32 разряда).

Адреса формируются в адресном регистре АР, длина которого 18 бит.

3.3 Разработка функциональной схемы разреза ОА

Разрез ОА строится для двух младших разрядов регистров РА (30:31) и РВ (30:31). Необходимо выполнить четыре микрокоманды:

Разделим по группам все микрооперации:

1. Выборка на шину А:

1) ;

2. Выборка на шину В:

1) ;

3. Формирователь кода:

1) ;

2) ;

3) ;

4. Сдвигатель:

1) ;

5. Комбинационный сумматор:

1) + A;

2) ;

6. Прием в Z:

1) ;

7. Запись в память ОА:

1) ;

2) ;

3) ;

4) .

Таким образом, мы получаем следующие уравнения:

В схеме используем следующие элементы:

1. К564ЛА7 — четыре логических элемента 2 И-НЕ;

2. К564ЛА8 — два логических элемента 4 И-НЕ;

3. К564ЛЕ5 — четыре логических элемента 2 ИЛИ-НЕ;

4. К564ЛЕ6 — два логических элемента 4 ИЛИ-НЕ;

5. К564ТМ2 — два триггера D-типа;

6. К564ИМ1 — полный четырехразрядный сумматор со сквозным переносом.

4. Проектирование управляющего автомата с программируемой логикой (П-автомат)

4.1 Определение формата микрокоманды

Функционирование П-автомата основано на принципе программного управления, использующего операционно-адресную структуру управляющих слов (микрокоманд). Одна микрокоманда определяет порядок функционирования П-автомата в течение одного такта. Совокупность МК образует массив MK[0:P], который хранится в памяти микрокоманд (ПМК). Отдельная МК выделяется из массива посредством адреса 0, I, …, Р

Операционная часть микрокоманды (ОЧ МК) инициирует совокупность управляющих сигналов, необходимых для выполнения одной МК (один такт работы). ОЧ МК разделяется на поля. Каждое поле объединяет некоторый набор несовместимых управляющих сигналов (МО). Например, все МО {S} СДВ несовместимы между собой. Сигнал Е (окончание работы П-автомата) можно разместить в любом поле. При поступлении сигнала Е заканчивается выборка МК из ПМК. Регистр адреса ПМК устанавливается в начальное состояние (адрес первой МК) сигналом начальной установки U.

В проекте необходимо решить задачу распределения всего набора МО по полям ОЧ МК с учетом двух условий: 1) в одно поле включаются только несовместимые МО; 2) длина ОЧ МК должна быть минимальной. Распределение МО по полям производится на основе структурно-функциональной таблицы.

После того, как определено количество полей и число МО, включенных в каждое поле, определяется длина поля по формуле |N|=log2(m+1), где m — количество МО, приписанных данному полю.

МО кодируются двоичными кодами. В соответствии с длиной отдельного поля, каждой МО, относящейся к данному полю, присваивается двоичный код, начиная с кода 0…01. Код 0…0 используется как признак пустоты поля. Результаты кодирования сводятся в таблицу 4, в которой каждому полю соответствуют два столбца: в первом записывается символическое обозначение МО (управляющего сигнала), а во втором — соответствующий ей двоичный код.

Длина ОЧ МК определяется как сумма длин составляющих ее полей.

Микропрограмма определяет порядок следования микрокоманд. Переход к следующей МК может осуществляться непосредственно после выполнения текущей (безусловный переход) или при выполнении некоторого логического условия — условный переход. Поэтому, независимо от способа адресации, который задает правило определения адреса следующей МК, адресная часть МК (АЧ МК) содержит поле логических условий. Обычно для всех осведомительных сигналов отводится одно поле X, хотя их может быть и несколько. Длина поля Х определяется выражением log2(L+1), где L — число осведомительных сигналов ОА. При этом код 0…0 определяет безусловный переход. Остальные коды присваиваются осведомительным сигналам {x, p}. Результаты кодирования сводятся в таблицу 5.

Способ адресации для моего варианта — принудительная с одним адресом. Закон формирования адреса следующей микрокоманды описывается формулой

Длина адреса зависит от емкости ПМК. Емкость ПМК определяется количеством вершин МП и способом адресации МК. При расчете емкости ПМК следует учитывать возможные фиктивные (пустые) МК, указывающие адрес следующей МК (безусловно или по значению логического условия), но с нулевой операционной частью. Всего 66 вершин, но с учетом способа адресации выберем длину адреса 7 бит (.

Операционная часть МК

АЧ

А, E, N (1:3)

B (1:3)

F, D (1:5)

S (1:4)

R (1:4)

K (1:3)

C (1:5)

Z (1:2)

M (1:3)

L (1:3)

X (1:7)

a1

b1

f1

s1

r1

k1

c1

z1

m1

l1

p1

a2

b2

f2

s2

r2

k2

c2

z2

m2

l2

p2

a3

b3

f3

s3

r3

k3

c3

m3

l3

x1

a4

b4

f4

s4

r4

k4

c4

x2

a5

b5

f5

s5

r5

k5

c5

x3

n1

b6

f6

s6

r6

c6

x4

e1

f7

s7

r7

c7

x5

f8

s8

r8

c8

x6

f9

s9

c9

x7

f10

s10

c10

x8

f11

s11

c11

x9

f12

c12

x10

f13

c13

x11

f14

c14

x12

f15

c15

x13

f16

c16

x14

f17

c17

x15

f18

c18

x16

f19

c19

x17

d1

c20

x18

d2

c21

x19

d3

c22

x20

d4

c23

x21

d5

c24

x22

d6

c25

x23

d7

x24

d8

x25

d9

x26

d10

x27

d11

x28

x29

x30

4.2 Разработка функциональной схемы П-автомата

П-автомат состоит из ПМК, регистра микрокоманд (РгМК), дешифраторов управляющих сигналов, дешифратора логических условий ДСХ, схемы управления ПМК и схемы формирования адреса следующей МК. Сигналом начальной установки адреса U в адресный регистр памяти АМК заносится адрес первой МК микропрограммы. По сигналу В (запуск) синхросигнал С проходит через схему управления, формируя сигнал чтения из памяти Чт. Прочитанная МК заносится в РгМК. Управляющие сигналы, коды которых содержатся в полях А, В, …, М ОЧ МК, дешифрируются соответствующими каждому полю дешифраторами ДСА, ДСВ, …, ДСМ и поступают в ОА, инициируя определенные МО.

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

Схема управления ПМК выполняет следующие функции:

1. запуск П-автомата по сигналу «Запуск»;

2. приостановку чтения из ПМК на период обращения к ОП (Zоп);

3. управление схемой выработки адреса следующей МК;

4. прекращение работы П-автомата при появлении в микрокоманде сигнала Е.

На основе полученных данных вычерчивается схема электрическая функциональная П-автомата (третий лист графической части проекта).

4.3 Размещение микрокоманды в памяти

Для ФМП команды SD необходимо разработать таблицу размещений МК в памяти МП в закодированном виде. Для этого необходимо расписать все МК (рисунок 13) и заполнить таблицу размещения микропрограммы в памяти П-автомата (таблица 6), учитывая способ адресации (формула 5).

Затем на основе таблицы 5 и таблицы 6 заполняется кодированная таблица размещения микрокоманд в памяти (таблица 7). Первый столбец этой таблицы содержит адрес МК в ПМК в десятичном коде. В следующих столбцах записываются двоичные коды управляющих сигналов, формируемых данной МК. В столбце, соответствующем полю Х, записывается двоичный код, определяющий переход от данной МК к следующей. Если после рассматриваемой МК нет условной вершины, то поле Х заполняется нулями, что соответствует безусловному переходу. Последний столбец таблицы 6 определяет адрес следующей МК в ПМК в двоичном коде.

Таблица 5 — Размещения микропрограммы в памяти П-автомата.

Адрес МК

МО

ЛУ

Адрес МК

x1

yк

у1

x2

у2

x3

у3

у4

у5

x4

у'3

y'4

x5

y6

y8

y7

y9

x6

y10

y11

x7

y12

y13

x6

y14

x8

y15

y16

y17

y18

y19

y20

y21

x9

y22

y26

x11

y27

y28

x11

y23

x11

y24

y25

x10

x12

x12

x13

y29

y30

y'19

y33

y34

y35

x13

y36

y37

x14

y38

y39

y40

x15

x16

x17

y41

x18

y42

x19

x12

y'25

y43

y32

y31

y44

x20

x22

x21

x23

y47

y45

x22

x23

y46

y'16

x24

y48

y49

y50

x25

Адрес МК в ПМК

Операционная часть МК

А, E, N (1:3)

B (1:3)

F, D (1:5)

S (1:4)

R (1:4)

K (1:3)

C (1:5)

Z (1:2)

M (1:3)

L (1:3)

X (1:7)

A (1:7)

4.4 Расчет такта работы УА с программируемой логикой

Комбинационную схему для выделения осведомительного сигнала построим на схемах «4−2И-НЕ» (КР1533ЛИ время задержки) и «4−2ИЛИ-НЕ» (КР1533ЛЛ1 время задержки). Из-за большого количества осведомительных сигналов (26) придется использовать 5 рядов схем «4−2ИЛИ», что увеличивает время задержки: .

Используем счетчик серии КР564ИМ2 с временем задержки .

— время переключения регистра МК. Используем регистр общего назначения серии КР1533ИР39 с временем задержки

Используем дешифратор серии КР1533ИД3 с временем задержки .

Вычислим такт работы УА .

Заключение

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

1) SD (код 6B) — вычитание с нормализацией;

2) BCTR (код 06) — переход по счетчику;

3) LH (код 48) — загрузка полуслова.

Показать весь текст
Заполнить форму текущей работой