Блок целочисленной арифметики
Государственный комитет Российской Федерации
по высшему образованию
Казанский Государственный Технический Университет
имени А. Н. Туполева
----------------------------------------------------------------------------
------------------
Кафедра электронно-вычислительных машин
Пояснительная записка
к курсовой работе по дисциплине
“Процессоры”
Тема: Блок целочисленной арифметики.
Студент: Базуев Ю.А. , гр. 4301
Руководитель: Бикмухаметов Р.Р.
Оценка______________________
Дата
защиты__________________
Подпись
руководителя__________
Казань 1996
Cодержание
1.
Задание.....................................................................
...........................3
2.
Алгоритм....................................................................
.........................4
2.1. Алгоритм
умножения...................................................................
4
2.2. Алгоритм
деления.....................................................................
....4
3. Операционная схема и микропрограмма выполнения операций......5
4. Функциональная схема операционной части устройства..................8
5. Функциональная схема управляющей
части....................................11
6. Принципиальная схема управляющей
части....................................13
7. Таблица
микрокоманд.................................................................
.....15
8.
Литература..................................................................
......................16
2. Алгоритм операций
2.1. Алгоритм умножения
Eдоп*Fдоп=Gдоп
Перед началом операции в RG1=Fдоп ; RG2=0 ; RG3=Eдоп
Знаки сомножителей участвуют в операции наравне с остальными разрядами,
а это значит что Eдоп и Fдоп перемножаются как обычные (m+1) разрядные
целые числа без знака. При этом знак Едоп участвует для того чтобы СЧП
(сумма частичных произведений) в RG2 формировалась в доп. коде. Знак Fдоп
участвует для того чтобы произведение формировалось в двойном формате.
В каждом из (m+1) циклов умножения производятся действия:
1) Eдоп прибавляется к RG2 если P4=1;
1
2) RG2, RG1, Tзн при сдвиге вправо необходимо сохранять представление
СЧП в доп. коде, а это значит что слева нужно вводить 0, если число =>0 и
1, если число < 0.
2.2. Алгоритм деления
Gдоп/Eдоп=Fдоп
а) устанавливаем начальные значения регистров и триггеров
б) сдвигаем делимое на 1 разряд влево
в) анализируем знаки Gi-1 и E. Если одинаковы то вычитаем E из GR2.
Если разные то + E к RG2
г) анализируем знаки Gi и E, если одинаковые то цифра частного =1
д) анализируем ТФ, если ТФ=1 выполняем проверку на ПРС 2-го этапа
е) уменьшаем значение счетчика циклов
ж) если счетчик не = 0 то переходим на пункт б)
з) передаем частное в RG1
и) корректируем частное
к) выдаем частное на выходную шину
3. Операционная схема и микропрограмма выполнения
операций
В соответствии с алгоритмом строим ОС (рис. 1) , определяем требуемый
набор МО и граф МП (рис. 2) , считая что в RG3 выполняется однотактным
способом (по входам D триггеров RG2) по сигналу у4; в RG1 - двухтактным
способом (по входам R и S) по сигналам у6 и у7.
В ОС на Рис. 1 использованы следующие обозначения:
Тпп - триггер переполнения
Тпер - триггер переноса
Тзн1 - триггер знака множимого, флаговый триггер при делении
Тзн2 - триггер знака Gi-1
Тзн3 - триггер знака делимого
Х(8:0) - входная шина
Z(8:0) - выходная шина
В МП на Рис. 2 введены 15 осведомительных сигнала:
Р1 = RG3(8) Р10 = Р1 Е Р3
Р2 = a Р11 = Р3 Е Р1
Р3 = RG2(8) P12 = P6 Е Р5
Р9 = RG2(7) Е RG2(6) P13 = P1 Tзн2 v P1 Tзн2
P4 = 1 (CT=0) P14 = Tпер
Р5 = RG1(0) Р15 = Тзн1
Р6 = Р1 Tзн2 v Tзн2 Р1
Р7 = 1 (RG2(8:0)=0)
Р8 = Тзн3
a - внешний сигнал определяющий вид операции
( 0 - умножение ; 1 - деление )
а также 17 импульсных управляющих сигналов:
у1: { RG2=RG2(8:0).RG1(8); у10: Тпп=1
RG1=RG1(7:0).0 } у11: RG2=RG1
y2: RG2=RG2+RG3+1 y12: RG2=RG2+1
y3: RG2=RG2+RG3 y13: Z=RG2
y4: RG3=X y14: {
RG1=RG2(0).RG1(8:1);
y5: { RG2=X ; Tзн1=1 } Tзн1=RG1(0) }
y6: { RG1=X; Tзн3=P3; Tпп=0; y15: RG2=0.RG2(8:1)
СТ=9; Тпер=0; } y16: RG2=1.RG2(8:1)
y7: RG1(0)=1 y17: RG2=0
y8: Тзн1=0
у9: СТ=СТ-1
Z(8:0)
у13
Р15
Р5
зн RG1 1
1 Тзн1
8 7
0
у6
у1 у14 у7
Р2
Р3 у18
Тзн2 зн 1
1
8 7 6 RG2
0
у16 у5
у1 у15 ,у16
Р14
Тпер зн KSM
у2 , у12
8 7
0
P1 у3 у2
зн
8 7 RG3
0
у4
Х(8:0)
Р4 ПРС Р8
СТ Тпп Тзн3
Рис. 1.
начало
2
a
0
1 5
y6
6
y17
1 9
0
0
2 11 3
P5
1
1 10
y3
7
0 0
15 0
P3 P14
1
1 1
1 12
0
8
P1
9
1
0 4
y16, y14, y9 y15, y14, y9
3
1
3 1 1 2
0
P4
7 0
1
8
0
1
P15
2 1 3
1
y2
13
11
8 1 13
y13
1
0 1
12
y11
0 8
0
0 3
1
10
у13
конец
Рис. 2.
4. Функциональная схема операционной части
устройства
На Рис. 3. представлена функциональная схема операционной части (ОЧ) на
регистрах и мультиплексорах. В схему из УЧ подаются 15 импульсных
управляющих сигналов с длительностью, равной 50 нс, причем часть
управляющих сигналов ( у2 , у3 , у12 ) подаются на входы синхронизации
регистров и одновременно участвуют в формировании сигналов на
информационных входах триггеров с помощью различных комбинационных схем.
Следовательно, во-первых, если время задержки упомянутых комбинационных
схем превышает значение 50 нс, то схемой пользоваться нельзя, так как к
моменту переключения триггеров сигналы на их информационных входах не
успеют сформироваться. Например, сигнал у3 должен иметь длительность,
достаточную для того, чтобы успели сработать элементы 2,3 и4 ступеней
схемы, иначе в момент окончания у4 в RG2 зафиксируется неправильный
результат. Таким образом, в данной схеме длительность сигналов МО должна
определяться по времени выполнения самой длительной МО, которое при
заданной элементной базе превышает заданное значение.
Во-вторых, так как сигналы на входах “С” и “D” триггеров RG2 при
выполнении у2 , у3 и у12 оканчиваются одновременно (без учета задержек
сигналов в комбинационных схемах), то триггеры могут не переключиться
требуемым образом из-за возможной “игры фронтов” на входах “С” и “D”.
Для решения указанных проблем с целью повышения быстродействия и
надежности схемы разобьем все МО на 2 группы.
В первую группу выделим МО у2 , у3 и у12 , связанные не только с
переключением триггеров по входам синхронизации, но и с формированием
сигналов на информационных входах этих триггеров.
Во вторую все остальные МО, для выполнения которых достаточны импульсные
управляющие сигналы с длительностью равной 50 нс. Как правило, в эту группу
входят действия, связанные с переключением триггеров по асинхронным входам,
либо по входам синхронизации, если сигналы на информационных входах
триггеров при этом не меняются.
Для выполнения МО 1-ой группы необходимы дополнительные потенциальные
управляющие сигналы (сигналы с длительностью, не меньшей такта Т) ,
называемые микроприказами. Тогда импульсные управляющие сигналы подаются
лишь на входы синхронизации триггеров, а формирование сигналов на
информационных входах этих триггеров осуществляется с помощью
микроприказов, которые должны поступать в схему ранее и заканчиваться
позднее сигналов на входах синхронизации триггеров.
В управляющей части с программируемой логикой микроприказы формируются с
помощью разрядов операционного поля микрокоманы, считываемой из управляющей
памяти. Обозначим эти разряды и соответствующие им микроприказы через МК(j)
, где j = 0 , 1 , 2 , ...
Если использовать три микроприказа, то схема Рис.3. преобразуется к
виду, представленному на Рис.4 (без цепей записи со входной шины, без
триггеров Тпп , Тзн3 , счетчика циклов и цепи выдачи на выходную шину).
Здесь: во-первых, отсутствует триггер переноса, так как при использовании
микроприказов сигнал переноса на выходе KSM становится потенциальным, и
необходимость в его запоминании отпадает.
Во-вторых, сигналы у15 , у16 , у5 поступающие на один и тот же вход
сдвига вправо RG2 , заменен одним сигналом у5 .
С целью упрощения ОЧ устройства заменим 2, 3 ступени схемы на Рис. 4.
арифметико-логическим устройством (АЛУ). Тогда количество микроприказов
увеличится до 5.
Функциональная схема ОЧ устройства, в которой применяется АЛУ,
представлена на Рис. 5. Здесь АЛУ используется для выполнения трех
действий, определяемых таблицей 1.
Таблица 1.
|S3|S2|S1|S0| F` |
|0 |0 |0 |0 | A` + C0 |
|0 |0 |0 |1 | A` + B` + C0 |
|0 |1 |1 |0 | A` - B` - C0 |
В таблице А` и B` - значения операндов, поступающих в АЛУ, F` -
значение результата, формируемого на входах АЛУ; С0 - значение сигнала на
входе переноса младшего разряда АЛУ.
В соответствии с таблицей 1 в схеме Рис 5. использованы пять
микроприказов: МК(0) - S0 , MK(1) - S1 , MK (2) - S2 , MK(3) - C0 , MK(4) -
вход данных вдвигаемых при сдвиге вправо на RG2.
Работа схемы определяется МП, представленной на Рис. 6. Список
используемых импульсных сигналов:
у1: { <RG2=\/ ; у10: Тпп=1
<RG1=\/ ; C Тзн2=/\ } у11: RG2=0
y2: С RG2=\/ y12: Z=RG2
y3: { >RG2=\/ ; >RG1=\/ }
y4: RG3=X
y5: RG2=RG1;
y6: { RG1=X; Tзн3=P3; Tпп=0;
Тзн1=1; СТ=9; }
y7: RG1(0)=1
y8: Тзн1=0
у9: СТ=СТ-1
9
X(8 : 0)
RG3 MS KSM
0 MS D RG2
D RG1
D 0
1 < > 0
< > 0
2 D< 1
D< 1
1
3 y16 D>
D>
y17 R 8
y7 S0 8
A
C
y6 C
A0 >
y14 >
y4 C C П9
y5 A1 y1 <
y1 <
1
y5
y3 1 D
Tпер у15 D Tзн2
D Tзн1
y2 C
Р14 у16 1 Р2
у6 R
у5 у1 С
у14 С
1
y12
1
y11
y13 E
<9>
0 ST
1 1 P4
1
2
P7
3 y6 R
Тпп ПРС P3 D Tзн3 P8 ...
y6 ЕI
y9 -1 y10 S
y6 С
Рис. 3.
МК(2)
RG3 MS KSM
0 MS D RG2
D RG1
D 0
1 < > 0
< > 0
2 D< 1
D< 1
1
3 МК(3) D>
D>
y17 R 8
y7 S0 8
A
У2 C
y6 C
A0 У5 >
y5 >
y4 C C П9
y5 A1 y1 <
y1 <
Р14
МК(0)
D Tзн2
D Tзн1
МК(1) 1
Р2
у1 С
у5 С
у5
Рис. 4.
RG3 S3 АЛУ
0 MS D RG2
D RG1
D MK(2) S2 F
1 < > 0
< > 0
MK(1) S1
2 D< 1
D< 1
MK(0) S0
3 МК(4) D>
D>
A`
P14 y11 R 8
y7 S0 8
B`
C9 У2 C
y6 C
MK(3) C0
A0 У3 >
y3 >
y4 C M
y3 A1 y1 <
y1 <
y5
1
y3
D Tзн2
D Tзн1
Р2
у1 С
у3 С
1
D T
y3
y1 1
C
Рис. 5.
5. Функциональная схема управляющей части
Функциональная схема УЧ устройства представлена на Рис. 8 и включает
следующие основные части: триггер запуска (Тзап), управляющую память (УП),
регистр адреса МК (RGAMK), схему формирования управляющих сигналов МО у1 -
у12 , основу которой составляет дешифратор МК (DCMK), мультиплексор
логических условий (MS) и триггер ошибки (Тош), который устанавливается в 1
при обнаружении ошибки в МК, считываемой из УП.
Исходя из количества вершин в графе МП на Рис. 6 и ее сложности,
определим ориентировочно количество ячеек в УП, равным 3 сегментам по 16
ячеек в каждом. Формат МК, записываемой в ячейке УП, приведен на Рис. 7.
MK Y
XvSнов A` B
0 1 2 3 4 Q1 Q2 Q3 Q4 W P
к.р
Рис. 7
Здесь старшие 9 разрядов образуют операционное поле МК. В первых 5
разрядах кодируются горизонтальным способом микроприказы МК(0 - 4),
начало
4
a
0
1 2
y6
6
y11
1 9
0
0
МК(1,2),2 11 МК(0),2
P5
1
1 10
МК(0),у2
7
0 0
15 0
P3 P14
1
1 1
1 12
0
8
P1
9
1
0 4
МК(4), y3, y9 y3, y9
3
1
МК(0),2 1 МК(1,2),2
0
P4
7 0
1
8
0
1
P15
МК(1,2),2 1 МК(0),2
1
МК(1,2), у2
12
5,2
8 1 13
y12
1
0 1
МК(3),2
у2, у5
0 8
1
0 1
1
0 3
1
у12
10
конец
Рис. 6.
в следующих 4-х разрядах ( Q1, Q2, Q3, Q4) кодируются вертикальным способом
МО. В них фиксируется номер совокупности импульсных управляющих сигналов
МО, входящих в данную МК. В МП на Рис. 6 входят 12 таких совокупностей
сигналов. Обозначим их как: Y1=y2 , Y2=y6 , Y3=y1 , Y4=y7 , Y5=y8 , Y6=y9 ,
Y7={y5 , y2} , Y8=y10 , Y9=y12 , Y10=y4 , Y11=y11 , Y12={y3 , y9}.
Адресное поле МК включает 4-х разрядное поле Х, в котором фиксируется
номер логического условия Рi (i=1-15), и 4-х значное поле адреса МК А=А`В
где В - младший разряд адреса.
При формировании адреса следующей МК значение проверяемого условия Рi
подставляется в младший разряд адреса А.
Также есть разряд W по которому производится останов МП, и разряд
межсегментного перехода Р, при единичном значении которого производится
межсегментный переход, адрес нового сегмента берется в поле Х.
Последний разряд в МК является контрольным разрядом проверки на
четность.
В целом схема на Рис. 8 работает следующим образом. По сигналу “Запуск”
в RGAMK фиксируется начальный адрес = 0. При этом на выходах УП с
задержкой, равной времени чтения информации из УП, формируются разряды МК,
записанной по данному адресу.
Одновременно по сигналу “Запуск” Тзап устанавливается в 1, и в схему УЧ
начинают циклически поступать сигналы z1 , z2. По сигналу z1 в ОЧ
поступают импульсные управляющие сигналы , по z2 в регистр RGAMK
записывается адрес следующей ячейки памяти.
6. Принципиальная схема управляющей части
Принципиальная схема построена на основе общей шины в которую вводятся
все входные и выходные сигналы.
Триггеры Тзап , Тош и Т реализованы на микросхеме ТВ9, RGAMK и GRSEG на
микросхемах ТМ8, MS - на КП1, схема М2 на 2-х элементах ИП5 и микросхеме
ЛП5, схема формирования импульсных сигналов на дешифраторе ИД3, УП - на
пяти элементах ПЗУ РТ4.
ош ошибка
0 RG
С & S Тош
1 SEG 0 к.р.
___
Р 1
М2 ОШ
R
& C
R
ОШ
A УП
...
запуск
0 RG 0
1 J Tзап
1 AMK 1
С C
А`` 2 2
остан K
3 3
сброс
C
R
R
В
0 MS
& 1
Р1 1
R Z2
A`` ...
T &
Р15 15
&
D
A
& C &
C Z1
Р
остан
0 0
у1
___
2 DC 1
схема у2
ОШ
4 MK ...
формир. ...
8
у1 - у12
MK(4) 15
у12
MK(3)
MK(2) C
MK(1)
MK(0)
Рис. 8.
7. Таблица микрокоманд
|адрес | | | | | |Примеч | |
| |МК |Q |WP|XvS|A` |МК |ЛУ |
|ячейки| | | | |B | | |
|00 |0000|1010|00|001|001| у4 | |
|0000 |0 | | |0 |0 | |Р2 |
| |0000|0000|00|111|110| | |
|0001 |0 | | |1 |0 | |Р15 |
| |0000|0010|00|000|010| у6 | |
|0010 |0 | | |0 |0 | | |
| |0000|0001|00|000|111| у2 | |
|0011 |0 | | |0 |1 | | |
| |0000|1010|00|010|011| у11 | |
|0100 |0 | | |1 |0 | |Р5 |
| |0000|0111|00|000|111| у2, | |
|0101 |0 | | |0 |0 |у5 | |
| |0000|0000|00|001|100| | |
|0110 |0 | | |1 |0 | |Р3 |
| |1000|0001|00|001|100|МК(0), | |
|0111 |0 | | |1 |0 |у2 |Р3 |
| |0000|0000|00|111|101| | |
|1000 |0 | | |0 |0 | |Р14 |
| |0000|0000|00|000|101| | |
|1001 |0 | | |1 |0 | |Р1 |
| |0000|1100|00|010|000| у3, у9 | |
|1010 |0 | | |0 |0 | |Р4 |
| |0000|1100|00|010|000|МК(4),у3| |
|1011 |1 | | |0 |0 |,у9 |Р4 |
| |0000|1001|00|000|010| | |
|1100 |0 | | |0 |1 |у12 | |
| |0110|0001|00|000|110|МК(1,2),| |
|1101 |0 | | |0 |0 |у2 | |
| |0000|1001|10|000|000| | |
|1110 |0 | | |0 |0 |у12 |остано|
| | | | | | | |в |
| |0000|0010|01|000|000| |межс.Б|
|1111 |0 | | |1 |0 |у6 |П |
|01 |0000|0000|00|100|001| | |
|0000 |0 | | |1 |0 | |Р9 |
| | | | | | | | |
|0001 | | | | | | | |
| |0000|0011|00|101|010| | |
|0010 |0 | | |1 |0 |у1 |Р11 |
| |0000|1000|10|000|000| | |
|0011 |0 | | |0 |0 |у10 |остано|
| | | | | | | |в |
| |0110|0001|00|101|011|МК(1,2),| |
|0100 |0 | | |0 |0 |у2 |Р10 |
| |1000|0001|00|101|011|МК(0), | |
|0101 |0 | | |0 |0 |у2 |Р10 |
| |0000|0100|00|011|100| у7| |
|0110 |0 | | |1 |0 | |Р15 |
| |0000|0000|00|011|100| | |
|0111 |0 | | |1 |0 | |Р15 |
| |0000|0110|00|010|101| у9| |
|1000 |0 | | |0 |0 | |Р4 |
| |0000|0000|00|110|110| | |
|1001 |0 | | |0 |0 | |Р12 |
| |0000|0000|00|000|001| | |
|1010 |0 | | |0 |0 | |БП |
| |0000|0000|00|001|110| | |
|1011 |0 | | |1 |0 | |P3 |
| |0000|1001|01|001|000| | |
|1100 |0 | | |0 |1 |y12 |межс.Б|
| | | | | | | |П |
| |0000|0000|00|000|111| | |
|1101 |0 | | |1 |0 | |P1 |
| |1000|0001|01|001|000| |межс.Б|
|1110 |0 | | |0 |0 |МК(0),у2|П |
| |0110|0001|01|001|000|МК(1,2),|межс.Б|
|1111 |0 | | |0 |0 |у2 |П |
|10 |0000|0000|00|011|001| | |
|0000 |0 | | |1 |0 | |Р7 |
| |0000|0111|00|100|100| | |
|0001 |0 | | |0 |0 |у5, у2 |Р8 |
| |0000|0000|00|100|010| | |
|0010 |0 | | |0 |0 | |Р8 |
| |0000| |01|000|110| у |межс.Б|
|0011 |0 | | |1 |0 | |П |
| |0000|0000|01|000|110| |межс.Б|
|0100 |0 | | |1 |0 | |П |
| |0000|0000|00|000|011| | |
|0101 |0 | | |1 |0 | |Р1 |
| |0110|0001|01|000|110|МК(1,2),|межс.Б|
|0110 |0 | | |1 |0 |у2 |П |
| |1000|0001|01|000|110|МК(0),у2|межс.Б|
|0111 |0 | | |1 |0 | |П |
| |0000|0000|00|000|101| | |
|1000 |0 | | |1 |0 | |Р1 |
| |0000|0000|00|110|101| | |
|1001 |0 | | |1 |0 | |Р13 |
| |0000|0000|00|100|110| | |
|1010 |0 | | |0 |0 | |Р8 |
| |0001|0001|00|100|110|МК(3), | |
|1011 |0 | | |0 |0 |у2 |Р8 |
| |0000|1001|10|000|000| у12 | |
|1100 |0 | | |0 |0 | |остано|
| | | | | | | |в |
| |0000|0000|00|000|111| | |
|1101 |0 | | |1 |0 | |Р1 |
| |0000|1001|10|000|000| у12 |остано|
|1110 |0 | | |0 |0 | |в |
| |0000|0000|01|001|000| |межс.Б|
|1111 |0 | | |1 |0 | |П |
|11 |0000|0000|00|001|001| | |
|0000 |0 | | |1 |0 | |Р3 |
| | | | | | | | |
|0001 | | | | | | | |
| |0000|1001|10|000|000| у12|остано|
|0010 |0 | | |0 |0 | |в |
| |0000|1000|10|000|000| у10|остано|
|0011 |0 | | |0 |0 | |в |
Литература
1. Курс лекций по предмету “Процессоры”
2. Карцев М.А. Арифметика цифровых машин. М. “Наука” 1969
3. Шило В.Л. Популярные цифровые микросхемы. М. “Радио и связь”
Спецификация
|№ |Обозначение |Кол. |Адрес |
|1 |К155ЛИ4 | 1 | DD1 |
|2 |К155ЛИ6 | 1 | DD2 |
|3 |К155ЛЛ1 | 1 | DD3 |
|4 |К155ТВ9 | 2 | DD4, DD5 |
|5 |К155ТМ8 | 2 | DD6, DD7 |
|6 |К556РТ4 | 5 | DD8 - DD12 |
|7 |К155ИП5 | 2 | DD13, DD14 |
|8 |К155ЛП5 | 1 | DD15 |
|9 |К155КП1 | 1 | DD16 |
|10 |К155ЛИ1 | 1 | DD17 |
|11 |К155ИД3 | 1 | DD18 |
|12 |К155ЛН1 | 2 | DD19, DD20 |