Процессор. Блок целочисленной арифметики.

Государственный комитет Российской Федерации

по высшему образованию

Казанский Государственный Технический Университет

имени А. Н. Туполева

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

Кафедра электронно-вычислительных машин

Пояснительная записка

к курсовой работе по дисциплине

“Процессоры”

Тема: Блок целочисленной арифметики.

Студент: Базуев Ю.А. , гр. 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 =  Р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

 - внешний сигнал определяющий вид операции

( 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

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

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

00000

1010

00

0010

0010

у4

Р2

0001

00000

0000

00

1111

1100

Р15

0010

00000

0010

00

0000

0100

у6

0011

00000

0001

00

0000

1111

у2

0100

00000

1010

00

0101

0110

у11

Р5

0101

00000

0111

00

0000

1110

у2, у5

0110

00000

0000

00

0011

1000

Р3

0111

10000

0001

00

0011

1000

МК(0), у2

Р3

1000

00000

0000

00

1110

1010

Р14

1001

00000

0000

00

0001

1010

Р1

1010

00000

1100

00

0100

0000

у3, у9

Р4

1011

00001

1100

00

0100

0000

МК(4),у3,у9

Р4

1100

00000

1001

00

0000

0101

у12

1101

01100

0001

00

0000

1100

МК(1,2), у2

1110

00000

1001

10

0000

0000

у12

останов

1111

00000

0010

01

0001

0000

у6

межс.БП

01 0000

00000

0000

00

1001

0010

Р9

0001

0010

00000

0011

00

1011

0100

у1

Р11

0011

00000

1000

10

0000

0000

у10

останов

0100

01100

0001

00

1010

0110

МК(1,2), у2

Р10

0101

10000

0001

00

1010

0110

МК(0), у2

Р10

0110

00000

0100

00

0111

1000

у7

Р15

0111

00000

0000

00

0111

1000

Р15

1000

00000

0110

00

0100

1010

у9

Р4

1001

00000

0000

00

1100

1100

Р12

1010

00000

0000

00

0000

0010

БП

1011

00000

0000

00

0011

1100

P3

1100

00000

1001

01

0010

0001

y12

межс.БП

1101

00000

0000

00

0001

1110

P1

1110

10000

0001

01

0010

0000

МК(0),у2

межс.БП

1111

01100

0001

01

0010

0000

МК(1,2),у2

межс.БП

10 0000

00000

0000

00

0111

0010

Р7

0001

00000

0111

00

1000

1000

у5, у2

Р8

0010

00000

0000

00

1000

0100

Р8

0011

00000

01

0001

1100

у

межс.БП

0100

00000

0000

01

0001

1100

межс.БП

0101

00000

0000

00

0001

0110

Р1

0110

01100

0001

01

0001

1100

МК(1,2),у2

межс.БП

0111

10000

0001

01

0001

1100

МК(0),у2

межс.БП

1000

00000

0000

00

0001

1010

Р1

1001

00000

0000

00

1101

1010

Р13

1010

00000

0000

00

1000

1100

Р8

1011

00010

0001

00

1000

1100

МК(3), у2

Р8

1100

00000

1001

10

0000

0000

у12

останов

1101

00000

0000

00

0001

1110

Р1

1110

00000

1001

10

0000

0000

у12

останов

1111

00000

0000

01

0011

0000

межс.БП

11 0000

00000

0000

00

0011

0010

Р3

0001

0010

00000

1001

10

0000

0000

у12

останов

0011

00000

1000

10

0000

0000

у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