
- •"Лабораторная работа по курсу Архитектуры эвм"
- •7.1.1. Таблица соединений плм-1.
- •7.1.2. Таблица соединений плм-2
- •7.1.3. Таблица соединений плм-3
- •7.1.4. Таблица соединений плм-4
- •7.1.5. Таблица соединений плм-5
- •1 . 1.Разработка системы машинных команд, составление программы решения задачи.
- •11.1. Распределение оперативной памяти.
- •11.2.Составление машинной программы.
- •11.3. Подготовка фотографии оперативной памяти.
Московский Государственный Технический Университет имени Н.Э. Баумана.
УТВЕРЖДАЮ
"___"__________2003 г.
_____________________
(Виноградов В.И.)
"Лабораторная работа по курсу Архитектуры эвм"
Пояснительная записка
(тип документа)
50
(номер варианта)
Бумага формата А4
(вид носителя)
(количество листов)
ИСПОЛНИТЕЛЬ
" " 2003 г.
_____________________
(Труш В. С.)
Москва – 2003
Содержание:
Постановка задачи и исходные данные………………………………….2
Адресация………………………………………………………………….2
Составляющие ЦУУ………………………………………………………2
Алгоритм решения задачи………………………………………………..2
Разработка системы машинных команд…………………………………4
Список переходов………………………………………………………...14
Синтезировать управляющего автомата…….………………………….15
Определение управляющих сигналов………………………………….16
Определение сигналов возбуждения……………………………………17
Таблицы соединений ПЛМ……………………………………………..18
Разработка функциональной схемы управляющего автомата………..21
Разработка системы машинных команд, составление программы решения задачи…………………………………………………………..22
Цель работы – освоение практических методов проектирования центрального устройства управления процессора, изучение структуры процессора, назначения и взаимодействия его блоков, разработка системы команд для заданного класса задач, а также микропрограмм машинных операций, синтезирование управляющего автомата и проверка работы спроектированного устройства моделированием на ЭВМ.
Постановка задачи и исходные данные.
Задание: 6-П2-8
Разработать центральное устройство управления специализированного процессора, предназначенного для выполнения операции: в массиве А все отрицательные элементы преобразовать в дополнительный код и найти их сумму. N=16- размерность массива,n<17 – задается командой ввода, А – массив размерностью по 16 однобайтовых слов. С – переменная, в которую записывается результат сложения. ВывестиA,nuCрезультаты на экран дисплея.
ЦУУ должно обрабатывать команды двухадресные с прямой адресацией.
КОП |
R |
R1 |
R2 |
ОП
[S1+И]*ОП
[S2+И]
ОП[S1+И]
Все команды должны быть длиной 3 байта.
ЦУУ должно включать:
общую часть: регистр общего назначения, аккумулятор, буферный регистр, арифметико-логическое устройство, схему инкремента-декремента, регистр команд, регистр адреса и управляющий автомат;
изменяемую часть:
а) программный счетчик – должен размещаться в РОН (например в РОН[1] )
б) индекс необходимо размещать в автономном регистре индекса
в) адрес возврата из подпрограммы – нужно разместить в оперативной памяти (для этого можно использовать одно из слов страницы F, например, нулевое слово, ОП[F.O]).
Алгоритм решения задачи.
Разрабатываем алгоритм программы решения задачи. Предусматриваем ввод параметра n.
Разработка системы машинных команд.
Разрабатываем систему машинных команд, необходимую и достаточную для решения поставленной задачи. Команды должны быть двухадресные с прямой адресацией. В соответствии с алгоритмом выбираем следующую систему команд. Каждой команде присваиваем мнемокод, облегчающий ее понимание, и двоичный четырехразрядный код операции. Неиспользуемые поля команды заполняем нулями. Система команд содержит десять команд. Для каждой команды разрабатываем микропрограмму.
Формат команд |
Мнемокод |
КОП |
Примечание | ||||
1 |
2 |
3 |
4 | ||||
КОП 0 S1 0 |
УИ |
0001 |
«Установка индекса» | ||||
КОП R S1 0 |
ПВ |
0010 |
«Переход с возвратом» (переход к подпрограмме) | ||||
КОП 0 S1 0 |
ПУ1 |
0011 |
«Переход условный по арифметическому значению» PC: = PC+3,еслиAi<0 | ||||
КОП 0 0 0 |
МИ |
0100 |
«Модификация индекса» РИ=РИ-1 | ||||
КОП 0 S1 S2 |
ДПC |
0101 |
««Дополнительный код и сложение» РОН[2]=ОП[S1]+1+PОН[2] | ||||
КОП 0 S1 0 |
ПУ2 |
0110 |
«Переход условный по ненулевому индексу» PC : = PC+3, если i=0
| ||||
КОП R 0 0 |
ПБК |
0111 |
«Переход безусловный по косвенному индексу» О | ||||
КОП - - - |
Стоп |
1000 |
«Останов» « | ||||
КОП 0 0 S2 |
Вв |
1001 |
«Ввод байта» Д | ||||
КОП 0 S1 0 |
Выв |
0000 |
«Вывод байта» О |
а) «Ввод» (Вв) – по этой команде байт данных в шестнадцатеричной системе счисления заносится с экрана дисплея в ячейку оперативной памяти по адресу, записанному в поле S2. Микропрограмма этой операции приведена на рисунке:
б) «Переход с возвратом» (ПВ) – используется для обращения к подпрограмме. По этой команде запоминается адрес следующей команды основной программы в ячейке возврата, и управление передается по адресу, указанному в поле S1 команды ПВ. В соответствии с заданием адрес возврата должен храниться в оперативной памяти. Для этой цели удобно использовать страницу памятиF. Для формирования адреса любого слова в странице можно использовать микрооперацию B:=F.R, гдеF– константа (1111), аR– содержимое поляRкоманды ПВ.
Для перехода к подпрограмме необходимо в программный счетчик в РОН[1] записать содержимое поля S1. Микропрограмма этой операции приведена на рисунке:
в) «Установка индекса» (УИ) – по этой команде значение индекса переписывается из ячейки памяти, адрес которой указан в поле S1, в индексный регистр:
г) «Дополнительный код и сложение» (ДПС) – команда выполняет операции C=Ai+Cи Аi=Аi+1. В поле РОН[3] записан начальный адрес массива А. Адрес элементов массива определяется, как сумма начального адреса массива и содержимого индексного регистра.Aпреобразуется в дополнительный код, сохраняется в аккумулятор. При каждом выполнении команды содержимое индексного регистра уменьшается на единицу. В задаче и в машинной программе индексы массивов меняются от единицы доn, а микропрограмме они должны меняется от нуля до (n-1), чтобы начальный адрес массива в теле команды соответствовал начальному элементу массива.
д) «Переход условный по арифметическому значению» (ПУ1) - команда анализирует содержимое аккумулятора. Если оно больше либо равно нулю, то осуществляется переход к следующей команде, а если меньше нуля, то выполняется переход к команде, адрес которой указан в поле S1 команды ПУ1. В микропрограмме необходимо проанализировать значение аккумулятора на арифметическое значение, но признак отрицательного результата –N(как и все остальные признакиZ,C,P) вырабатываются только в АЛУ, поэтому необходимо значение аккумулятора пропустить через АЛУ.
е) «Переход условный по индексному значению» (ПУ2) – команда анализирует содержимое индексного регистра. Если оно равно нулю, то осуществляется переход к следующей команде, а не равно нулю, то выполняется переход к команде, адрес которой указан в поле S1 команды ПУ2. В микропрограмме необходимо проанализировать значение индексного регистра на нуль, но признак нуля –Z(как и все остальные признакиN,C,P) вырабатываются только в АЛУ, поэтому необходимо значение индексного регистра пропустить через АЛУ. Для этого используются две микрооперации В:=РИ и В:=В.
ж) «Модификация индекса» (МИ) – команда декрементирует значение РИ.
з) «Переход безусловный по косвенному индексу» (ПБК) – команда реализует безусловный переход по косвенному адресу, т.е. по адресу, который хранится в ячейке возврата в оперативной памяти. В качестве ячейки возврата можно использовать любое слово страницы Fуказывают в полеRкоманды ПБК.
и) «Вывод» (Выв) - байт информации из памяти выдается на экран дисплея в шестнадцатеричной системе. Адрес выдаваемого байта указывается в поле S1.
к) «Останов» (Стоп) - по этой команде происходит выключение центрального устройства управления. Эта команда должна быть последней исполняемой в программе пользователя. Она выдает на пульт управления специальный сигнал о завершении работы процессора, а само ЦУУ переходит в состояние ожидания (исходное состояние).
Список переходов
№ пп. |
Исходное состояние |
Код |
Следующее состояние |
Код |
Входные сигналы |
Сигналы возбуждения |
Выходные сигналы |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
1 |
A0 |
000000 |
A0 |
000000 |
-B |
----- |
----- |
2 |
A0 |
000000 |
A1 |
000001 |
B |
D1 |
--- |
3 |
A1 |
000001 |
A2 |
000010 |
--- |
D2 |
Y43, Y13, Y14, Y58, Y7, Y15
|
4 |
A2 |
000010 |
A12 A3 A41 A28 A16 A17 A24 A37 A14 A8 A15 |
001100 000011 101001 011100 010000 010001 011000 100101 001110 001000 001111 |
-x4,-x3,-x2,-x1 -x4,-x3,-x2,x1 -x4,-x3,x2,-x1 -x4,-x3,x2,x1 -x4,x3,-x2,-x1 -x4,x3,-x2,x1 -x4,x3,x2,-x1 -x4,x3,x2,x1 X4,-X2,-X1 X4,-X2,X1 X4,X2 |
D3 D4 D1 D2 D1 D4 D6 D3 D4 D5 D5 D1 D5 D4 D5 D1 D3 D6 D2 D3 D4 D4 D1 D2 D3 D4 |
Y63, Y58, Y7, Y12, Y14
|
5 | |||||||
6 | |||||||
7 | |||||||
8 | |||||||
9 | |||||||
10 | |||||||
11 | |||||||
12 13 14 | |||||||
15 |
A3 |
000011 |
A4 |
000100 |
|
D3 |
Y21 |
16 |
A4 |
000100 |
A5 |
000101 |
|
D1 D3 |
Y11, Y12, Y13 Y14, Y15, Y42 |
17 |
A5 |
000101 |
A6 |
000110 |
|
D2 D3 |
Y30 |
18 |
A6 |
000110 |
A7 |
000111 |
|
D1 D2 D3 |
Y48 |
19 |
A7 |
000111 |
A2 |
000010 |
|
D2 |
Y7, Y41 |
20 |
A8 |
001000 |
A9 |
001001 |
|
D1 D4 |
Y22 |
21 |
A9 |
001001 |
A10 |
001010 |
|
D2 D4 |
Y11, Y12, Y13, Y14, Y15, Y42 |
22 |
A10 |
001010 |
A11 |
001011 |
|
D1 D2 D4 |
Y66 |
23 |
A11 |
001011 |
A7 |
000111 |
|
D1 D2 D3 |
Y60 |
24 |
A12 |
001100 |
A13 |
001101 |
|
D1 D3 D4 |
Y8, Y29 |
25 |
A13 |
001101 |
A7 |
000111 |
|
D1 D2 D3 |
Y67 |
26 |
A14 |
001110 |
A0 |
000000 |
|
----- |
Y70 |
27 |
A15 |
001111 |
A0 |
000000 |
|
-------- |
Y69 |
28 |
A16 |
010000 |
A7 |
000111 |
|
D1 D2 D3 |
Y6, Y47 |
29 |
A17 |
010001 |
A18 |
010010 |
|
D2 D5 |
Y7 Y8 Y29 |
30 |
A18 |
010010 |
A19 |
010011 |
|
D1 D2 D5 |
Y35 |
31 |
A19 |
010011 |
A20 |
010100 |
|
D3 D5 |
Y11 Y14 Y42 |
32 |
A20 |
010100 |
A21 |
010101 |
|
D1 D3 D5 |
Y30 |
33 |
A21 |
010101 |
A22 |
010110 |
|
D2 D3 D5 |
Y15 Y31 |
34 |
A22 |
010110 |
A23 |
010111 |
|
D1 D2 D3 D5 |
Y31 |
35 |
A23 |
010111 |
A7 |
000111 |
|
D1 D2 D3 |
Y8 Y11 Y14 Y58 |
36 |
A24 |
011000 |
A25 |
011001 |
|
D1 D4 D5 |
Y35 |
37 |
A25 |
011001 |
A26 |
011001 |
-Z |
D1 D4 D5 |
Y11, Y13, Y15,Y37 |
28 |
A25 |
011001 |
A7 |
000111 |
Z |
D1 D2 D3 |
Y11, Y13, Y15,Y37 |
39 |
A26 |
011010 |
A27 |
011011 |
|
D1 D2 D4 D5 |
Y21 |
40 |
A27 |
011011 |
A7 |
000111 |
|
D1 D2 D3 |
Y7 Y11 Y15 Y58 |
41 |
A28 |
011100 |
A29 |
011101 |
|
D1 D3 D4 D5 |
Y22 |
42 |
A29 |
011101 |
A30 |
011110 |
|
D2 D3 D4 D5 |
Y7 Y8 Y11 Y13 Y15 Y58 |
43 |
A30 |
011110 |
A31 |
011111 |
|
D1 D2 D3 D4 D5 |
Y35 |
44 |
A31 |
011111 |
A32 |
100000 |
|
D6 |
Y11, Y14, Y42 |
45 |
A32 |
100000 |
A33 |
100001 |
|
D6 D1 |
Y30 |
46 |
A33 |
100001 |
A34 |
100010 |
|
D2 D6 |
Y11 Y12 Y13 Y14 Y15 Y37 |
47 |
A34 |
100010 |
A35 |
100011 |
-N |
D1 D2 D6 |
Y11, Y13, Y15, Y37 |
48 |
A34 |
100010 |
A7 |
000111 |
N |
D1 D2 D3 |
Y11, Y13, Y15, Y37 |
49 |
A35 |
100011 |
A36 |
100100 |
|
D3 D6 |
Y21 |
50 |
A36 |
100100 |
A7 |
000111 |
|
D1 D2 D3 |
Y7, Y11, Y13, Y15, Y58 |
51 |
A37 |
100101 |
A38 |
100110 |
|
D2 D3 D6 |
Y38 |
52 |
A38 |
100110 |
A39 |
100111 |
|
D6 D3 D2 D1 |
Y11 Y13 Y15 Y42 |
53 |
A39 |
100111 |
A40 |
101000 |
|
D4 D6 |
Y30 |
54 |
A40 |
101000 |
A7 |
000111 |
|
D1 D2 D3 |
Y7 Y11 Y13 Y15 Y58 |
55 |
A41 |
101001 |
A42 |
101010 |
|
D2 D4 D6 |
Y7 Y29 Y38 |
56 |
A42 |
101010 |
A43 |
101011 |
|
D1 D2 D4 D6 |
Y11 Y13 Y15 Y42 |
57 |
A43 |
101011 |
A44 |
101100 |
|
D3 D4 D6 |
Y60 |
58 |
A44 |
101100 |
A45 |
101101 |
|
D1 D3 D4 D6 |
Y21 |
59 |
A45 |
101101 |
A7 |
000111 |
|
D1 D2 D3 |
Y7 Y11 Y13 Y15 Y58 |
Синтезировать управляющий автомат
Необходимую разрядность регистра состояний определяем по формуле К= ]log2N[, где N=46- число состояний автомата;
Тогда К=6
Используемые в данной работе ПЛМ имеют 16 входов, 8 выходов и 68 конъюнкций. Необходимое число QПЛМ можно определить по формуле:
, где m – число управляющих сигналов, формируемых в УА
(m= 28)
В данной работе Q= 5 – количество ПЛМ.
Определение управляющих сигналов.
Y6 = A16
Y7 = A1 v A2 v A7 v A17 v A27 v A29 v A36 v A40 v A41 v A45
Y8= A12 v A17 v A23 v A29
Y11= A4 v A9 v A19 v A23 v A24 v A27 v A29 v A31 v A33 v A34 v A36 v A38 v A40 v A42 v A45
Y12= A2 v A4 v A9 v A33
Y13= A1 v A4 v A9 v A25 v A27 v A29 v A33 v A34 v A36 v A38 v A40 v A42 v A45
Y14= A1 v A2 v A4 v A9 v A19 v A23 v A31 v A33
Y15= A1 v A4 v A9 v A21 v A24 v A27 v A29 v A33 v A34 v A36 v A38 v A40 v A42 v A45
Y21= A3 v A26 v A35 v A44
Y22= A8 v A28
Y29= A12 v A17 v A41
Y30= A5 v A20 v A32 v A39
Y31= A21 v A22
Y35= A18 v A24 v A30
Y37= A25 v A33 v A34
Y38= A37 v A41
Y41= A7
Y42= A4 v A9 v A19 v A31 v A38 v A42
Y43= A1
Y47= A16
Y48= A6
Y58= A1 v A2 v A23 v A27 v A29 v A36 v A40 v A45
Y60= A11 v A43
Y63= A2
Y66= A10
Y67= A13
Y69= A15
Y70= A14
Определение сигналов возбуждения.
D1= A0B v A2-X4-X3-X2X1 v A2-X4-X3X2-X1 v A2-X4X3-X2X1 v A2-X4 v AX4X2 v A4 v A6 v A8 v A10 v A11 v A12 v A13 v A16 v A18 v A20 v A22 v A23 v A24 v A25-Z v A25Z v A26 v A27 v A28 v A30 v A32 v A34-N v A34N v A36 v A38 v A40 v A42 v A44 v A45
D2= A1 v A2-X4-X3-X2X1 v A2X4-X2-X1 v A2X4X2 v A5 v A6 v A7 v A9 v A10 v A11 v A13 v A16 v A17 v A18 v A21 v A22 v A23 v A25Z v A26 v A27 v A29 v A30 v A33 v A34-N v A34N v A36 v A37 v A38 v A40 v A41 v A42 v A45
D3= A2-X4-X3-X2-X1 v A2-X4-X3X2X1 v A2-X4X3X2X1 v A2X4-X2-X1 v A2X4X2 v A3 v A4 v A5 v A6 v A11 v A12 v A13 v A16 v A19 v A20 v A21 v A22 v A23 v A25Z v A27 v A28 v A29 v A30 v A34N v A35 v A36 v A37 v A38 v A40 v A43 v A44 v A45
D4= A2-X4-X3-X2-X1 v A2-X4-X3X2-X1 v A2-X4-X3X2X1 v A2-X4X3X2-X1 v A2X4-X2-X1 v A2X4-X2X1 v A2X4X2 v A8 v A9 v A10 v A12 v A24 v A25-Z v A26 v A28 v A29 v A30 v A39 v A41 v A42 v A43 v A44
D5= A2-X4-X3X2X1 v A2-X4X3-X2-X1 v A2-X4X3-X2X1 v A2-X4X3X2-X1 v A17 v A18 v A19 v A20 v A21 v A22 v A24 v A25-Z v A26 v A28 v A29 v A30
D6= A2-X4-X3X2-X1 v A2-X4X3X2X1 v A31 v A32 v A33 v A34-N v A35 v A37 v A38 v A39 v A41 v A42 v A43 v A44