Проектирование процессора ЭВМ
Функциональная и структурная организация ЭВМ. Разработка функциональных микропрограмм заданных команд. Их объединение и привязка к структуре операционного автомата процессора. Разработка управляющего автомата процессора с программируемой логикой.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 25.03.2012 |
Размер файла | 4,0 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Введение
Целью проекта является решение комплекса вопросов, связанных с проектированием процессора ЭВМ. Разработка процессора проводится в следующих аспектах:
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=16777216 байт. Различные модели ЭВМ имеют разную емкость ОП: от 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).
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Рисунок 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в |
1 |
|||||||||||||||||||
y1 |
||||||||||||||||||||
y2 |
1 |
|||||||||||||||||||
y3 |
1 |
|||||||||||||||||||
y4 |
||||||||||||||||||||
y5 |
1 |
|||||||||||||||||||
y'3 |
1 |
|||||||||||||||||||
y'4 |
||||||||||||||||||||
y6 |
||||||||||||||||||||
y7 |
||||||||||||||||||||
y8 |
1 |
|||||||||||||||||||
y9 |
||||||||||||||||||||
y10 |
1 |
|||||||||||||||||||
y11 |
||||||||||||||||||||
y12 |
1 |
|||||||||||||||||||
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 |
1 |
||||||||||||||||||||
y17 |
1 |
||||||||||||||||||||
y18 |
1 |
||||||||||||||||||||
y19 |
1 |
||||||||||||||||||||
y20 |
1 |
||||||||||||||||||||
y21 |
|||||||||||||||||||||
y22 |
1 |
||||||||||||||||||||
y23 |
1 |
||||||||||||||||||||
y24 |
1 |
||||||||||||||||||||
y25 |
|||||||||||||||||||||
y26 |
1 |
||||||||||||||||||||
y27 |
1 |
||||||||||||||||||||
y28 |
|||||||||||||||||||||
y29 |
1 |
||||||||||||||||||||
y30 |
|||||||||||||||||||||
y31 |
|||||||||||||||||||||
y32 |
|||||||||||||||||||||
y33 |
1 |
||||||||||||||||||||
y34 |
|||||||||||||||||||||
y'19 |
1 |
||||||||||||||||||||
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 |
1 |
||||||||||||||||||
y39 |
1 |
||||||||||||||||||
y40 |
|||||||||||||||||||
y41 |
|||||||||||||||||||
y42 |
1 |
||||||||||||||||||
y'25 |
|||||||||||||||||||
y43 |
|||||||||||||||||||
y44 |
|||||||||||||||||||
y45 |
1 |
||||||||||||||||||
y46 |
|||||||||||||||||||
y47 |
1 |
||||||||||||||||||
y48 |
|||||||||||||||||||
y'16 |
1 |
||||||||||||||||||
y49 |
1 |
||||||||||||||||||
y50 |
|||||||||||||||||||
y30 |
1 |
||||||||||||||||||
y31 |
1 |
||||||||||||||||||
y32 |
1 |
||||||||||||||||||
y0 |
|||||||||||||||||||
y6 |
|||||||||||||||||||
y7 |
|||||||||||||||||||
y15 |
Таблица 2 - МСА М2
p1p2 |
y6 |
y5 |
y3 |
y15 |
y'3 |
y6 |
y7 |
y50 |
y'50 |
y51 |
yк |
|
y0 |
x1 |
|||||||||||
yв |
1 |
|||||||||||
y5 |
1 |
|||||||||||
y3 |
1 |
|||||||||||
y15 |
1 |
|||||||||||
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в |
1 |
||||||||||||||||||
y1 |
|||||||||||||||||||
y2 |
1 |
||||||||||||||||||
y3 |
1 |
||||||||||||||||||
y4 |
|||||||||||||||||||
y5 |
1 |
||||||||||||||||||
y'3 |
1 |
||||||||||||||||||
y'4 |
|||||||||||||||||||
y6 |
|||||||||||||||||||
y7 |
|||||||||||||||||||
y8 |
1 |
||||||||||||||||||
y9 |
|||||||||||||||||||
y53 |
1 |
||||||||||||||||||
y54 |
1 |
||||||||||||||||||
y55 |
1 |
||||||||||||||||||
y16 |
1 |
||||||||||||||||||
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:=00000000.В(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:=00000000.В(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 |
001 |
b1 |
001 |
f1 |
00001 |
s1 |
0001 |
r1 |
0001 |
k1 |
001 |
c1 |
00001 |
z1 |
01 |
m1 |
001 |
l1 |
001 |
p1 |
0000001 |
|
a2 |
010 |
b2 |
010 |
f2 |
00010 |
s2 |
0010 |
r2 |
0010 |
k2 |
010 |
c2 |
00010 |
z2 |
10 |
m2 |
010 |
l2 |
010 |
p2 |
0000010 |
|
a3 |
011 |
b3 |
011 |
f3 |
00011 |
s3 |
0011 |
r3 |
0011 |
k3 |
011 |
c3 |
00011 |
m3 |
011 |
l3 |
011 |
x1 |
0000011 |
|||
a4 |
100 |
b4 |
100 |
f4 |
00100 |
s4 |
0100 |
r4 |
0100 |
k4 |
100 |
c4 |
00100 |
x2 |
0000100 |
|||||||
a5 |
101 |
b5 |
101 |
f5 |
00101 |
s5 |
0101 |
r5 |
0101 |
k5 |
101 |
c5 |
00101 |
x3 |
0000101 |
|||||||
n1 |
110 |
b6 |
110 |
f6 |
00110 |
s6 |
0110 |
r6 |
0110 |
c6 |
00110 |
x4 |
0000110 |
|||||||||
e1 |
111 |
f7 |
00111 |
s7 |
0111 |
r7 |
0111 |
c7 |
00111 |
x5 |
0000111 |
|||||||||||
f8 |
01000 |
s8 |
1000 |
r8 |
1000 |
c8 |
01000 |
x6 |
0001000 |
|||||||||||||
f9 |
01001 |
s9 |
1001 |
c9 |
01001 |
x7 |
0001001 |
|||||||||||||||
f10 |
01010 |
s10 |
1010 |
c10 |
01010 |
x8 |
0001010 |
|||||||||||||||
f11 |
01011 |
s11 |
1011 |
c11 |
01011 |
x9 |
0001011 |
|||||||||||||||
f12 |
01100 |
c12 |
01100 |
x10 |
0001100 |
|||||||||||||||||
f13 |
01101 |
c13 |
01101 |
x11 |
0001101 |
|||||||||||||||||
f14 |
01110 |
c14 |
01110 |
x12 |
0001110 |
|||||||||||||||||
f15 |
01111 |
c15 |
01111 |
x13 |
0001111 |
|||||||||||||||||
f16 |
10000 |
c16 |
1000 |
x14 |
0010000 |
|||||||||||||||||
f17 |
10001 |
c17 |
10001 |
x15 |
0010001 |
|||||||||||||||||
f18 |
10010 |
c18 |
10010 |
x16 |
0010010 |
|||||||||||||||||
f19 |
10011 |
c19 |
10011 |
x17 |
0010011 |
|||||||||||||||||
d1 |
10100 |
c20 |
10100 |
x18 |
0010100 |
|||||||||||||||||
d2 |
10101 |
c21 |
10101 |
x19 |
0010101 |
|||||||||||||||||
d3 |
10110 |
c22 |
10110 |
x20 |
0010110 |
|||||||||||||||||
d4 |
10111 |
c23 |
10111 |
x21 |
0010111 |
|||||||||||||||||
d5 |
11000 |
c24 |
11000 |
x22 |
0011000 |
|||||||||||||||||
d6 |
11001 |
c25 |
11001 |
x23 |
0011001 |
|||||||||||||||||
d7 |
11010 |
x24 |
0011010 |
|||||||||||||||||||
d8 |
11011 |
x25 |
0011011 |
|||||||||||||||||||
d9 |
11100 |
x26 |
0011100 |
|||||||||||||||||||
d10 |
11101 |
x27 |
0011101 |
|||||||||||||||||||
d11 |
11111 |
x28 |
0011111 |
|||||||||||||||||||
x29 |
0100000 |
|||||||||||||||||||||
x30 |
0100001 |
4.2 Разработка функциональной схемы П-автомата
П-автомат состоит из ПМК, регистра микрокоманд (РгМК), дешифраторов управляющих сигналов, дешифратора логических условий ДСХ, схемы управления ПМК и схемы формирования адреса следующей МК. Сигналом начальной установки адреса U в адресный регистр памяти АМК заносится адрес первой МК микропрограммы. По сигналу В (запуск) синхросигнал С проходит через схему управления, формируя сигнал чтения из памяти Чт. Прочитанная МК заносится в РгМК. Управляющие сигналы, коды которых содержатся в полях А, В, …,М ОЧ МК, дешифрируются соответствующими каждому полю дешифраторами ДСА, ДСВ, …, ДСМ и поступают в ОА, инициируя определенные МО.
Содержимое поля Х поступает на ДСХ и определяет номер (код) осведомительного сигнала ОА, значение которого должно анализироваться текущей микрокомандой. Схема формирования адреса следующей МК зависит от способа адресации МК и подлежит разработке.
Схема управления ПМК выполняет следующие функции:
1. запуск П-автомата по сигналу «Запуск»;
2. приостановку чтения из ПМК на период обращения к ОП( Zоп );
3. управление схемой выработки адреса следующей МК;
4. прекращение работы П-автомата при появлении в микрокоманде сигнала Е.
На основе полученных данных вычерчивается схема электрическая функциональная П-автомата (третий лист графической части проекта).
4.3 Размещение микрокоманды в памяти
Для ФМП команды SD необходимо разработать таблицу размещений МК в памяти МП в закодированном виде. Для этого необходимо расписать все МК (рисунок 13) и заполнить таблицу размещения микропрограммы в памяти П-автомата (таблица 6), учитывая способ адресации (формула 5).
Затем на основе таблицы 5 и таблицы 6 заполняется кодированная таблица размещения микрокоманд в памяти (таблица 7). Первый столбец этой таблицы содержит адрес МК в ПМК в десятичном коде. В следующих столбцах записываются двоичные коды управляющих сигналов, формируемых данной МК. В столбце, соответствующем полю Х, записывается двоичный код, определяющий переход от данной МК к следующей. Если после рассматриваемой МК нет условной вершины, то поле Х заполняется нулями, что соответствует безусловному переходу. Последний столбец таблицы 6 определяет адрес следующей МК в ПМК в двоичном коде.
Таблица 5 - Размещения микропрограммы в памяти П-автомата.
Адрес МК |
МО |
ЛУ |
Адрес МК |
|
0 |
x1 |
1 |
||
1 |
yк |
0 |
0 |
|
2 |
у1 |
x2 |
3 |
|
3 |
у2 |
0 |
5 |
|
4 |
0 |
x3 |
7 |
|
5 |
у3 |
0 |
6 |
|
6 |
у4 |
0 |
4 |
|
7 |
у5 |
0 |
9 |
|
8 |
0 |
x4 |
11 |
|
9 |
у'3 |
0 |
10 |
|
10 |
y'4 |
0 |
8 |
|
11 |
0 |
x5 |
13 |
|
12 |
y6 |
0 |
85 |
|
13 |
y8 |
0 |
15 |
|
14 |
y7 |
0 |
85 |
|
15 |
y9 |
0 |
16 |
|
16 |
0 |
x6 |
16 |
|
17 |
y10 |
0 |
18 |
|
18 |
y11 |
x7 |
19 |
|
19 |
0 |
0 |
12 |
|
20 |
y12 |
0 |
21 |
|
21 |
y13 |
0 |
22 |
|
22 |
0 |
x6 |
22 |
|
23 |
y14 |
x8 |
24 |
|
24 |
y15 |
0 |
85 |
|
25 |
y16 |
0 |
26 |
|
26 |
y17 |
0 |
27 |
|
27 |
y18 |
0 |
28 |
|
28 |
y19 |
0 |
29 |
|
29 |
y20 |
0 |
30 |
|
30 |
y21 |
x9 |
31 |
|
31 |
y22 |
0 |
36 |
|
32 |
y26 |
0 |
34 |
|
33 |
0 |
x11 |
40 |
|
34 |
y27 |
0 |
35 |
|
35 |
y28 |
x11 |
32 |
|
36 |
y23 |
0 |
38 |
|
37 |
0 |
x11 |
40 |
|
38 |
y24 |
0 |
39 |
|
39 |
y25 |
x10 |
36 |
|
40 |
0 |
x12 |
42 |
|
41 |
0 |
x12 |
45 |
|
42 |
0 |
x13 |
66 |
|
43 |
y29 |
0 |
44 |
|
44 |
y30 |
0 |
83 |
|
45 |
y'19 |
0 |
48 |
|
46 |
y33 |
0 |
47 |
|
47 |
y34 |
0 |
42 |
|
48 |
y35 |
x13 |
49 |
|
49 |
y36 |
0 |
51 |
|
50 |
y37 |
0 |
51 |
|
51 |
0 |
x14 |
52 |
|
52 |
y38 |
0 |
54 |
|
53 |
y39 |
0 |
54 |
|
54 |
y40 |
x15 |
55 |
|
55 |
0 |
x16 |
57 |
|
56 |
0 |
x17 |
59 |
|
57 |
0 |
0 |
43 |
|
58 |
y41 |
0 |
85 |
|
59 |
0 |
x18 |
61 |
|
60 |
y42 |
0 |
63 |
|
61 |
0 |
x19 |
64 |
|
62 |
0 |
x12 |
60 |
|
63 |
y'25 |
0 |
61 |
|
64 |
y43 |
0 |
42 |
|
65 |
0 |
0 |
73 |
|
66 |
y32 |
0 |
68 |
|
67 |
y31 |
0 |
68 |
|
68 |
y44 |
0 |
69 |
|
69 |
0 |
x20 |
70 |
|
70 |
0 |
x22 |
72 |
|
71 |
0 |
x21 |
74 |
|
72 |
0 |
x23 |
79 |
|
73 |
y47 |
0 |
79 |
|
74 |
y45 |
0 |
78 |
|
75 |
0 |
x22 |
76 |
|
76 |
0 |
x23 |
79 |
|
77 |
0 |
0 |
74 |
|
78 |
y46 |
0 |
69 |
|
79 |
y'16 |
0 |
83 |
|
80 |
0 |
x24 |
81 |
|
81 |
y48 |
0 |
69 |
|
82 |
0 |
0 |
43 |
|
83 |
y49 |
0 |
84 |
|
84 |
y50 |
0 |
85 |
|
85 |
0 |
x25 |
86 |
Адрес МК в ПМК |
Операционная часть МК |
||||||||||||
А,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) |
||
0 |
000 |
000 |
00000 |
0000 |
0000 |
000 |
00000 |
00 |
000 |
000 |
0000011 |
0000001 |
|
1 |
111 |
0000000 |
|||||||||||
2 |
000 |
001 |
00001 |
0001 |
0000 |
001 |
00001 |
01 |
000 |
000 |
0000100 |
0000011 |
|
3 |
000 |
001 |
00010 |
0010 |
0001 |
001 |
00000 |
01 |
000 |
000 |
0000000 |
0000101 |
|
4 |
000 |
000 |
00000 |
0000 |
0000 |
000 |
00000 |
00 |
000 |
000 |
0000101 |
0000111 |
|
5 |
000 |
000 |
00000 |
0000 |
0010 |
000 |
00010 |
10 |
001 |
001 |
0000000 |
0000110 |
|
6 |
001 |
010 |
00010 |
0001 |
0000 |
010 |
00001 |
01 |
000 |
000 |
0000000 |
0000100 |
|
7 |
000 |
001 |
00010 |
0011 |
0001 |
001 |
00000 |
01 |
000 |
000 |
0000000 |
0001001 |
|
8 |
000 |
000 |
00000 |
0000 |
0000 |
000 |
00000 |
00 |
000 |
000 |
0000110 |
0001011 |
|
9 |
000 |
000 |
000000 |
0000 |
0010 |
000 |
00010 |
10 |
001 |
001 |
0000000 |
0001010 |
|
10 |
001 |
010 |
00010 |
0001 |
0000 |
010 |
00001 |
01 |
000 |
000 |
0000000 |
0001000 |
|
11 |
000 |
000 |
00000 |
0000 |
0000 |
000 |
00000 |
00 |
000 |
000 |
0000111 |
0001101 |
|
12 |
000 |
000 |
10100 |
0000 |
0000 |
000 |
00000 |
00 |
000 |
000 |
0000000 |
1010101 |
|
13 |
000 |
010 |
00010 |
0001 |
0011 |
001 |
00000 |
01 |
000 |
000 |
0000000 |
0001111 |
|
14 |
000 |
000 |
10101 |
0000 |
0000 |
000 |
00000 |
00 |
000 |
000 |
0000000 |
1010101 |
|
15 |
000 |
000 |
00000 |
0000 |
0100 |
000 |
00000 |
00 |
000 |
010 |
0000000 |
0010000 |
|
16 |
000 |
000 |
00000 |
0000 |
0000 |
000 |
00000 |
00 |
000 |
000 |
0001000 |
0010000 |
|
17 |
000 |
000 |
00000 |
0000 |
0000 |
000 |
00011 |
10 |
010 |
000 |
0000000 |
0010010 |
|
18 |
001 |
000 |
00011 |
0001 |
0000 |
010 |
00010 |
01 |
000 |
000 |
0001001 |
0010011 |
|
19 |
000 |
000 |
00000 |
0000 |
0000 |
000 |
00000 |
00 |
000 |
000 |
0000000 |
0001100 |
|
20 |
000 |
011 |
00010 |
0001 |
0101 |
001 |
00000 |
01 |
000 |
000 |
0000000 |
0010101 |
|
21 |
000 |
000 |
00000 |
0000 |
0110 |
000 |
00000 |
00 |
000 |
010 |
0000000 |
0010110 |
|
22 |
000 |
000 |
00000 |
0000 |
0000 |
000 |
00000 |
00 |
000 |
000 |
0001000 |
0010110 |
|
23 |
000 |
000 |
00000 |
0000 |
0000 |
000 |
00001 |
10 |
010 |
000 |
0001010 |
0010100 |
|
24 |
000 |
000 |
10110 |
0000 |
0000 |
000 |
00000 |
00 |
000 |
000 |
0000000 |
1010101 |
|
25 |
000 |
001 |
00010 |
0100 |
0001 |
001 |
00000 |
01 |
000 |
000 |
0000000 |
0011010 |
|
26 |
000 |
000 |
00000 |
0000 |
0010 |
000 |
00100 |
10 |
001 |
001 |
0000000 |
0011011 |
|
27 |
000 |
000 |
00000 |
0000 |
0111 |
000 |
00010 |
10 |
001 |
001 |
0000000 |
0011100 |
|
28 |
000 |
011 |
0100 |
0101 |
0000 |
001 |
00101 |
01 |
000 |
000 |
0000000 |
0011101 |
|
29 |
000 |
011 |
0101 |
0101 |
0000 |
100 |
00110 |
01 |
000 |
000 |
0000000 |
0011110 |
|
30 |
011 |
100 |
0010 |
0001 |
0000 |
010 |
00101 |
01 |
000 |
000 |
0001011 |
0011111 |
|
31 |
000 |
101 |
00110 |
0001 |
0000 |
100 |
00101 |
01 |
000 |
000 |
0000000 |
0100100 |
|
32 |
000 |
010 |
01010 |
0101 |
0000 |
100 |
01010 |
01 |
000 |
000 |
0000000 |
0100010 |
|
33 |
000 |
000 |
00000 |
0000 |
0000 |
000 |
00000 |
00 |
000 |
000 |
0001101 |
0101000 |
|
34 |
000 |
010 |
01000 |
0110 |
0000 |
001 |
01011 |
01 |
000 |
000 |
0000000 |
0100011 |
|
35 |
011 |
000 |
01001 |
0001 |
0000 |
010 |
01001 |
01 |
000 |
000 |
0001100 |
0100000 |
|
36 |
000 |
011 |
00111 |
0101 |
0000 |
100 |
00111 |
01 |
000 |
000 |
0000000 |
0100110 |
|
37 |
000 |
000 |
00000 |
0000 |
0000 |
000 |
00000 |
00 |
000 |
000 |
0001101 |
0101000 |
|
38 |
000 |
011 |
01000 |
0110 |
0000 |
001 |
01000 |
01 |
000 |
000 |
0000000 |
0100111 |
|
39 |
011 |
000 |
00000 |
0000 |
0000 |
101 |
01001 |
01 |
000 |
000 |
0001100 |
0100100 |
|
40 |
000 |
000 |
00000 |
0000 |
0000 |
000 |
00000 |
00 |
000 |
000 |
0001110 |
0101010 |
|
41 |
000 |
000 |
00000 |
0000 |
0000 |
000 |
00000 |
00 |
000 |
000 |
0001110 |
0101101 |
|
42 |
000 |
000 |
00000 |
0000 |
0000 |
000 |
00000 |
00 |
000 |
000 |
0001111 |
1000010 |
|
43 |
000 |
000 |
10111 |
0000 |
0000 |
000 |
00000 |
00 |
000 |
000 |
0000000 |
0101100 |
|
44 |
000 |
000 |
01010 |
0001 |
0000 |
001 |
01100 |
01 |
000 |
000 |
0000000 |
1010011 |
|
45 |
000 |
011 |
00100 |
0101 |
0000 |
001 |
00101 |
01 |
000 |
000 |
0000000 |
0110000 |
|
46 |
010 |
000 |
00000 |
0000 |
0000 |
011 |
01000 |
01 |
000 |
000 |
0000000 |
0101111 |
|
47 |
000 |
010 |
00010 |
0111 |
0000 |
001 |
01101 |
01 |
000 |
000 |
0000000 |
0101010 |
|
48 |
000 |
010 |
00100 |
0101 |
0000 |
001 |
00110 |
01 |
000 |
000 |
0001111 |
0110001 |
|
49 |
000 |
011 |
01011 |
0001 |
0000 |
001 |
01100 |
01 |
000 |
000 |
0000000 |
0110011 |
|
50 |
000 |
011 |
01100 |
0001 |
0000 |
100 |
01100 |
01 |
000 |
000 |
0000000 |
0110011 |
|
51 |
000 |
000 |
00000 |
0000 |
0000 |
000 |
00000 |
00 |
000 |
000 |
0010000 |
0110100 |
|
52 |
000 |
010 |
01011 |
0001 |
0000 |
001 |
01110 |
01 |
000 |
000 |
0000000 |
0110110 |
|
53 |
000 |
010 |
01100 |
0001 |
0000 |
100 |
01110 |
01 |
000 |
000 |
0000000 |
0110110 |
|
54 |
001 |
010 |
00010 |
0001 |
0000 |
010 |
01100 |
01 |
000 |
000 |
0010001 |
0110111 |
|
55 |
000 |
000 |
00000 |
0000 |
0000 |
000 |
00000 |
00 |
000 |
000 |
0010010 |
0111001 |
|
56 |
000 |
000 |
00000 |
0000 |
0000 |
000 |
00000 |
00 |
000 |
000 |
0010011 |
0111011 |
|
57 |
000 |
000 |
00000 |
0000 |
0000 |
000 |
00000 |
00 |
000 |
000 |
0000000 |
0101011 |
|
58 |
000 |
000 |
11010 |
0000 |
0000 |
000 |
00000 |
00 |
000 |
000 |
0000000 |
1010101 |
|
59 |
000 |
000 |
00000 |
0000 |
0000 |
000 |
00000 |
00 |
000 |
000 |
0010100 |
0111101 |
|
60 |
000 |
011 |
01101 |
0110 |
0000 |
001 |
01111 |
01 |
000 |
000 |
0000000 |
0111111 |
|
61 |
000 |
000 |
00000 |
0000 |
0000 |
000 |
00000 |
00 |
000 |
000 |
0010101 |
1000000 |
|
62 |
000 |
000 |
00000 |
0000 |
0000 |
000 |
00000 |
00 |
000 |
000 |
0001110 |
0111100 |
|
63 |
011 |
000 |
00000 |
0000 |
0000 |
101 |
01001 |
01 |
000 |
000 |
0000000 |
0111101 |
|
64 |
000 |
101 |
00010 |
0001 |
0000 |
001 |
00111 |
01 |
000 |
000 |
0000000 |
0101010 |
|
65 |
000 |
000 |
00000 |
0000 |
0000 |
000 |
00000 |
00 |
000 |
000 |
0000000 |
1001001 |
|
66 |
000 |
000 |
11001 |
0000 |
0000 |
000 |
00000 |
00 |
000 |
000 |
0000000 |
1000100 |
|
67 |
000 |
000 |
11000 |
0000 |
0000 |
000 |
00000 |
00 |
000 |
000 |
0000000 |
1000100 |
|
68 |
000 |
011 |
01110 |
0001 |
0000 |
001 |
00110 |
01 |
000 |
000 |
0000000 |
1000101 |
|
69 |
000 |
000 |
00000 |
0000 |
0000 |
000 |
00000 |
00 |
000 |
000 |
0010110 |
1000110 |
|
70 |
000 |
000 |
00000 |
0000 |
0000 |
000 |
00000 |
00 |
000 |
000 |
0011000 |
1001000 |
|
71 |
000 |
000 |
00000 |
0000 |
0000 |
000 |
00000 |
00 |
000 |
000 |
0010111 |
1001010 |
|
72 |
000 |
000 |
00000 |
0000 |
0000 |
000 |
00000 |
00 |
000 |
000 |
0011001 |
1001111 |
|
73 |
000 |
000 |
11011 |
0000 |
0000 |
000 |
00000 |
00 |
000 |
000 |
0000000 |
1001111 |
|
74 |
000 |
011 |
01111 |
1000 |
0000 |
001 |
01000 |
01 |
000 |
000 |
0000000 |
1001110 |
|
75 |
000 |
000 |
00000 |
0000 |
0000 |
000 |
00000 |
00 |
000 |
000 |
0011000 |
1001100 |
|
76 |
000 |
000 |
00000 |
0000 |
0000 |
000 |
00000 |
00 |
000 |
000 |
0011001 |
1001111 |
|
77 |
000 |
000 |
00000 |
0000 |
0000 |
000 |
00000 |
00 |
000 |
000 |
0000000 |
1001010 |
|
78 |
100 |
000 |
01001 |
0001 |
0000 |
001 |
00110 |
01 |
000 |
000 |
0000000 |
1000101 |
|
79 |
000 |
001 |
00010 |
0100 |
0001 |
001 |
00000 |
01 |
000 |
000 |
0000000 |
1010011 |
|
80 |
000 |
000 |
00000 |
0000 |
0000 |
000 |
00000 |
00 |
000 |
000 |
0011010 |
1010001 |
|
81 |
000 |
000 |
11100 |
0000 |
0000 |
000 |
00000 |
00 |
000 |
000 |
0000000 |
1000101 |
|
82 |
000 |
000 |
00000 |
0000 |
0000 |
000 |
00000 |
00 |
000 |
000 |
0000000 |
0101011 |
|
83 |
110 |
011 |
01111 |
1001 |
0100 |
001 |
00000 |
01 |
011 |
011 |
0000000 |
1010100 |
|
84 |
110 |
011 |
10000 |
0001 |
0100 |
001 |
00000 |
01 |
011 |
011 |
0000000 |
1010101 |
|
85 |
000 |
000 |
00000 |
0000 |
0000 |
000 |
00000 |
00 |
000 |
000 |
0011011 |
1010110 |
|
86 |
000 |
000 |
00000 |
0000 |
0000 |
000 |
00000 |
00 |
000 |
000 |
0000000 |
000000 |
|
87 |
000 |
000 |
00000 |
0000 |
0000 |
000 |
00000 |
00 |
000 |
000 |
0000000 |
1010101 |
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) - загрузка полуслова.
Размещено на Allbest.ru
Подобные документы
Разработка структурной схемы процессора; синтез микропрограммного и управляющего автомата с жесткой логикой. Функциональная организация процессора: программные модели, форматы данных и команд. Организация оперативной памяти. Проектирование блока операций.
учебное пособие [1,1 M], добавлен 09.04.2013Разработка модели процессора, выполняющего набор машинных команд. Структурная схема процессора (операционного и управляющего автоматов), анализ принципа работы. Содержательный алгоритм микропрограммы, синтез управляющего автомата на основе жесткой логики.
курсовая работа [871,9 K], добавлен 16.09.2010Принцип работы процессора (одномагистральная структура). Временные диаграммы, описывающие выполнение микроопераций для каждой команды. Структурная схема управляющего автомата на основе памяти с одним полем адреса. Описание процессора на языке Active VHDL.
курсовая работа [621,0 K], добавлен 24.09.2010Функциональная организация процессора. Сложение с нормализацией, синтез операций, выборка команды. Описание структурной схемы процессора. Синтез управляющего автомата, разметка граф схемы. Разбиение микроопераций по полям и кодирование логических условий.
курсовая работа [91,8 K], добавлен 24.09.2010Разработка управляющего автомата процессора с жесткой логикой в САПР Quartus II. Построение схемы функциональной микропрограммы команды "Исключающее ИЛИ" в размеченном виде. Унитарное кодирование состояний автомата. Запись функций переходов и выходов.
курсовая работа [671,3 K], добавлен 04.11.2014Разработка структурной схемы вычислительного устройства, выбор системы команд и определение форматов. Разработка алгоритма командного цикла, выполнения арифметических и логических операций. Проектирование операционного автомата, устройств управления.
курсовая работа [2,8 M], добавлен 15.05.2014Принцип микропрограммного управления. Управляющие автоматы с жесткой и программируемой логикой. Граф-схемы алгоритмов. Синтез управляющего автомата по граф-схеме алгоритма. Построение управляющего автомата с программируемой логикой на основе ПЗУ.
курсовая работа [263,8 K], добавлен 25.01.2011Разработка управляющего автомата, ориентированного на выполнение заданной микрооперации. Разработка алгоритма работы управляющего автомата. Листинг программы. Выбор оптимального варианта кодирования состояний автомата. Синтез функции возбуждения.
курсовая работа [506,9 K], добавлен 26.12.2012Рассмотрение принципа работы процессора и его практической реализации с использованием языка описания аппаратуры Verilog. Проектирование системы команд процессора. Выбор размера массива постоянной памяти. Подключение счетчика инструкций и файла регистра.
курсовая работа [1,2 M], добавлен 26.05.2022Синтез структуры простого магистрального процессора с одним АЛУ, выполняющего 8 заданных команд. Разработка формата и кодировки команд, структурной схемы процессора, функциональные схемы всех его блоков в целом с указанием шин и управляющих сигналов.
реферат [123,9 K], добавлен 18.05.2009