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

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

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

Государственный комитет Российской Федерации
по высшему образованию
Казанский Государственный Технический Университет
имени А. Н. Туполева
———————————————————————————————-
Кафедра электронно-вычислительных машин
Пояснительная записка
к курсовой работе по дисциплине
“Процессоры”
Тема Блок целочисленной арифметики.
Студент Базуев Ю.А. , гр. 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
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