Курсовая: Блок целочисленной арифметики

Государственный комитет Российской Федерации
по высшему образованию
Казанский Государственный Технический Университет
имени  А. Н. Туполева
-----------------------------------------------------------------------------
-----------------
Кафедра электронно-вычислительных машин
Пояснительная записка
к курсовой работе по дисциплине
УПроцессорыФ
Тема: Блок целочисленной арифметики.
Студент:  Базуев Ю.А. , гр. 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 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 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.
S3S2S1S0 F`
0000 A` + C0
0001 A` + B` + C0
0110 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 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 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 00000000010100000100010 у4 Р2
00010000000000011111100 Р15
00100000000100000000100 у6
00110000000010000001111 у2
0100 0000010100001010110 у11 Р5
01010000001110000001110 у2, у5
01100000000000000111000 Р3
01111000000010000111000МК(0), у2 Р3
10000000000000011101010 Р14
10010000000000000011010 Р1
10100000011000001000000 у3, у9 Р4
10110000111000001000000МК(4),у3,у9 Р4
1100 0000010010000000101 у12
1101 0110000010000001100МК(1,2), у2
11100000010011000000000 у12 останов
11110000000100100010000 у6межс.БП
01 00000000000000010010010 Р9
0001
00100000000110010110100 у1 Р11
00110000010001000000000 у10 останов
01000110000010010100110МК(1,2), у2 Р10
01011000000010010100110МК(0), у2 Р10
01100000001000001111000 у7 Р15
01110000000000001111000 Р15
10000000001100001001010 у9 Р4
10010000000000011001100 Р12
10100000000000000000010 БП
10110000000000000111100 P3
11000000010010100100001 y12 межс.БП
11010000000000000011110 P1
11101000000010100100000 МК(0),у2 межс.БП
11110110000010100100000МК(1,2),у2межс.БП
10 00000000000000001110010 Р7
00010000001110010001000 у5, у2 Р8
00100000000000010000100 Р8
00110000001 00011100 умежс.БП
01000000000000100011100межс.БП
01010000000000000010110 Р1
01100110000010100011100МК(1,2),у2межс.БП
01111000000010100011100МК(0),у2межс.БП
10000000000000000011010 Р1
1001 0000000000011011010 Р13
10100000000000010001100 Р8
10110001000010010001100МК(3), у2 Р8
11000000010011000000000 у12 останов
11010000000000000011110 Р1
11100000010011000000000 у12останов
1111 0000000000100110000межс.БП
11 0000 0000000000000110010 Р3
0001
00100000010011000000000 у12останов
00110000010001000000000 у10 останов
Литература 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