Государственный комитет Российской Федерации
по высшему образованию
Казанский Государственный Технический Университет
имени А. Н. Туполева
----------------------------------------------------------------------------------------------
Кафедра электронно-вычислительных машин
Пояснительная записка
к курсовой работе по дисциплине
“Процессоры”
Тема: Блок целочисленной арифметики.
Студент: Базуев Ю.А. , гр. 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.
Забиваем Сайты В ТОП КУВАЛДОЙ - Уникальные возможности от SeoHammer
Каждая ссылка анализируется по трем пакетам оценки: SEO, Трафик и SMM.
SeoHammer делает продвижение сайта прозрачным и простым занятием.
Ссылки, вечные ссылки, статьи, упоминания, пресс-релизы - используйте по максимуму потенциал SeoHammer для продвижения вашего сайта.
Что умеет делать SeoHammer
— Продвижение в один клик, интеллектуальный подбор запросов, покупка самых лучших ссылок с высокой степенью качества у лучших бирж ссылок.
— Регулярная проверка качества ссылок по более чем 100 показателям и ежедневный пересчет показателей качества проекта.
— Все известные форматы ссылок: арендные ссылки, вечные ссылки, публикации (упоминания, мнения, отзывы, статьи, пресс-релизы).
— SeoHammer покажет, где рост или падение, а также запросы, на которые нужно обратить внимание.
SeoHammer еще предоставляет технологию Буст, она ускоряет продвижение в десятки раз,
а первые результаты появляются уже в течение первых 7 дней.
Зарегистрироваться и Начать продвижение
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зн2v 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 зафиксируется неправильный результат. Таким образом, в данной схеме длительность сигналов МО должна определяться по времени выполнения самой длительной МО, которое при заданной элементной базе превышает заданное значение.
Сервис онлайн-записи на собственном Telegram-боте
Попробуйте сервис онлайн-записи VisitTime на основе вашего собственного Telegram-бота:
— Разгрузит мастера, специалиста или компанию;
— Позволит гибко управлять расписанием и загрузкой;
— Разошлет оповещения о новых услугах или акциях;
— Позволит принять оплату на карту/кошелек/счет;
— Позволит записываться на групповые и персональные посещения;
— Поможет получить от клиента отзывы о визите к вам;
— Включает в себя сервис чаевых.
Для новых пользователей первый месяц бесплатно.
Зарегистрироваться в сервисе
Во-вторых, так как сигналы на входах “С” и “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 |
|