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

Дата: 21.05.2016

		

Государственный комитет Российской Федерации
по высшему образованию

Казанский Государственный Технический Университет
имени А. Н. Туполева

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

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

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

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

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

Метки:
Автор: 

Опубликовать комментарий