Проектирование вычислительного устройства
Министерство общего и профессионального образования
Российского Федерации
Курский государственный технический университет
Кафедра ВТ
Пояснительная записка к
курсовому проекту
по дисциплине «Организация ЭВМ»
Проектирование вычислительного устройства
Выполнил: студент группы ВМ-62 Ильин А.В.
Принял: доцент Жмакин А.П.
Курск 1999
Содержание
1.Введение
2. Задание
3. Разработка общей структуры ЦВМ
3.1. Общая структура ЦВМ
3.2. Форматы команд
3.3. Таблица микрокоманд
3.4. Операционный автомат центрального управляющего устройства.
3.5. Командный цикл.
4. Проектирование АЛУ
4.1 Графы микропрограмм сложения и вычитания, умножения, деления, логических операций (and, or, xor).
4.2 Синтез I – автомата
4.3 Синтез управляющего автомата с «программируемой» логикой
4.4. Форматы микрокомманд
4.5. Кодирование ПЗУ МК.
5. Библиографический список
6. Приложение
1. Введение
В настоящее время существует две тенденции в проектировании средств вычислительной техники: во–первых, разработка устройств специализированных ЭВМ на основе микропроцессорных средств, во–вторых, реализация ЭВМ с использованием СБИС программируемых логических матриц, матриц программируемых логических элементов и базовых матричных кристаллов. Построение ЭВМ на СБИС связано не только с комплексированием микропроцессорных средств, что отражает первую тенденцию проектирования, но и с применением современных методов логического синтеза арифметико–логических и управляющих устройств, размещаемых на СБИС, а также методов оценки результатов проектирования.
Цель и задачи проектирования
Целью курсового проектирования является освоение методики проектирования и разработки операционных и управляющих устройств ЭВМ, а также подготовки технической документации на эти устройства. Курсовой проект является формой самостоятельной работы студентов. В период курсового проектирования студент должен закреплять, углублять, и умело применять теоретические знания для решения поставленных практических задач, работать с научно–технической литературой и конспектом лекций. Основное внимание при выполнении курсового проекта обращается на умение принимать технические решения и обосновывать их. Объектом курсового проектирования является специализированное вычислительное устройство, включающее процессор и запоминающее устройство. Процессор проектируется для заданного списка команд и должен удовлетворять заданным требованиям технического задания.
2.Задание
Система команд
АЛУ
ЗУ
УУ
Д
Адресность
Формат
Разр. бит
Тип ОА
Разр. бит
Емк. Кбайт
Тип УА
Разрядность
Способ адресации
1
AR, SI
16
M
8
16
ЖЛ
16 бит
П, K
3. Разработка общей структуры ЦВМ
3.1. Общая структура ЦВМ
Разрядность шины адреса (ША) вычисляем исходя из разрядности и емкости ЗУ.
Разрядность ЗУ=8бит =1байт. Т.о. можем адресовать 16/1= 214 бит. Т.е разрядность ША 14 бит.
16384x8 16x16
Рис.1 Структурная схема ЦВМ
3.2. Форматы команд
Форматы выбираем из соображений, что регистров общего назначения (РОН) у нас 16.
В каждой команде должен быть зашифрован код операции (КОП), признак формата (ПФ) , а также признак адресации (прямая или косвенная П/О).
Отсюда:
формат AR
0 1 4 5 6 9 16
0
КОП
ПО
R1
X
формат SI
0 1 5 6 7
1
КОП
I
S
Считаем, что у нас 16 РОНов, включая регистр аккумулятор (А) с адресом 0000, поэтому для их адресации используем 4 бита.
В поле признака адресации 1 – прямая адресация, 0 – косвенная, при чем, заметим, что в формате SI мы не используем прямую адресацию, так как это обусловлено самим форматом, а все остальные функции, как то – переходы, возврат из подпрограммы, работа с прерываниями и т.п. обуславливаются наличием “0” во втором бите.
3.3. Таблица микрокоманд
Формат
КОП
Команды
Семантика
1. AR
0000
ADD
AA+!R1
0001
SUB
AA-!R1
0010
MUL
AA*!R1
0011
DIV
AA/!R1
0100
AND
AA&!R!
0101
OR
AA!R1
0110
XOR
AA!R1
0111
MOV A,!R1
A!R1
1000
MOV !R1,A
R1A
2.SI
0xxxx
M(ADR),O1
M(ADR):=O1
10000
JMP
PCADR
10001
Z
PCADR
10010
PCADR
10011
C
PCADR
10100
PCADR
10101
OV
PCADR
10110
PCADR
11000
RET
SP:=SP+1 PCM(SP)
11001
EI
TI:=0
11010
DI
TI:=1
11011
HLT
----
11100
RETI
11101
NOP
----
11110
CALL
M(SP) PC
PCADR
SP:=SP-1
Изначально указатель стека (SP) указывает на свободную ячейку памяти. Стек растет вниз.
ТI=0 – прерывание разрешено.
!R1 – указывает, что при методе косвенной адресации это выражение следует рассматривать как значение по адресу равному содержимому регистра R1, при этом при прямой адресации значение берется непосредственно из регистра R1.
3.4. Операционный автомат центрального управляющего устройства.
Граф-схема командного цикла операционного автомата приведена на чертеже КП.062.020.1999 в приложении.
Рис.2. Операционный автомат ЦУУ
3.5. Командный цикл.
Задачей командного цикла является управление работой всего вычислительного устройства. Первым шагом является считывание операции из памяти, и модернизации счетчика команд на длину прочитанной операции. Затем если считанная операция предназначена для АЛУ, то в АЛУ передается код операции (КОП), а также во входные регистры АЛУ (ААЛУ, ВАЛУ) заносятся необходимые операнды. После этого необходимо подать сигнал АЛУ на выполнение операции и ожидать окончания работы арифметико–логического устройства. Если же операция не принадлежит к числу операций АЛУ их выполняет устройство управления (УУ). Операциями АЛУ являются: + (сложение), – (вычитание), * (умножение), / (деление), &(конъюнкция) , v(дизъюнкция), (сложение по модулю 2). Устройство управления выполняет операции: JMP(безусловный переход), CALL(вызов подпрограммы), RET(выход из подпрограммы), :=(операция присваивания), (шесть условных переходов по флагам с, z, ov).
4. Проектирование арифметико-логического устройства
4. 1 Разработка алгоритмов арифметико-логических операций
Разрядность АЛУ 16 бит.
Первый операнд находиться в регистре А, второй в регистре B, результат в регистре С. Разрядность А – 16 бит, В и С – 17. Считаем, что при умножении переполнения не происходит. Предполагаем, что имеем сумматор-вычитатель.
Флаги АЛУ: Z – признак 0, C – перенос, OV – переполнение.
4. 1. 1 Алгоритм сложения-вычитания
Начало
КОП
B[0]:=B[0]
A[0]=B[0]
A[0]
C[0]
C:=A+B
C:=A+B+1
C:=B+A+1
C[0]:=B[0]
C[0]:=A[0]
ПП:=1
Конец
Z:=0
С=0
1
0
Рисунок 3
4. 1. 2 Алгоритм произведения
Для операции умножения в регистр A помещается множимое, в регистр B мнножитель, в регистре C произведение. Младшим считается 15 разряд.
Начало
C:=0
CЧ:=15
B[15]
B[1:15]:=R1(C[15].B[1:15])
C:=R1(0.C)
СЧ:=СЧ-1
C:=С+1
C[0]:=1
C:=C+A[1:15]
СЧ=0
A[0]B[0]
B[1]
Конец
Z:=0
С=0
1
0
A
A
Рисунок 4
4. 1. 3 Алгоритм деления
При выполнении операции деления в регистр A содержит делимое, B делитель, C остаток (частное). Ниже приведен алгоритм деления целых чисел без восстановления остатка.
Начало
Конец
C:=A[1:15]
A[1:15]:=B[2:16]
A=0
C:=С+A[1:15]+1
C:=C+A[1:15]+1
C:=B[1:15]
C:=C+A[1:15]
C[0]
СЧ=0
C[0]
A[0]B[0]
B[16]
C:=L1(C.0)
СЧ:=15
B[1:16]:=0
ПП:=1
B[1:16]:=L1(B[1:16].C[0])
C:=L1(C.0)
СЧ:=СЧ-1
C[0]:=1
C:=C+1
1
0
0
1
0
1
0
1
0
1
0
1
Z:=0
С=0
1
0
A
A
Рисунок 5
4. 1. 4 Алгоритм логических операций
Алгоритм логических операций AND, OR, XOR приведен на рисунке 6.
Рисунок 6
Начало
КОП
C:=AB
C:=AB
C:=AB
Конец
Z:=0
С=0
1
0
4.2 Синтез I – автомата
В соответствии с методикой, изложенной в [3] получим:
Микрооперации используемые в микропрограммах +, -, /, * и логических операциях.
Y1
B(0):=B(0)
Y15
C:=C+1
Y2
C:=A+B
Y16
C(0):=1
Y3
C:=A+B+1
Y17
C:=A(1:15)
Y4
ПП:=1
Y18
A(1:15):=B(2:16)
Y5
C(0):=A(0)
Y19
C:=C+A(1:15)+1
Y6
C:=B+A+1
Y20
C:=L1(C.0)
Y7
C(0):=B(0)
Y21
Сч:=0
Y8
Z:=0
Y22
B(1:16):=0
Y9
C:=0
Y23
B(1:16):=L1(1:16).C(0)
Y10
Сч:=15
Y24
C:=B(1:15)
Y11
C:=C+A(1:15)
Y25
C:=B
Y12
B(1:15):=R1(C(15).B(1:15))
Y26
C:=A&B
Y13
C:=R1(O.C)
Y27
C:=AB
Y14
Сч:=Сч-1
Y28
C:=AB
X1
B(0)
X2
A(0)=B(0)
X3
C(0)
X4
A(0)
X5
C(1..15)=0 сравн с 0
X6
B(15)
X7
Сч=0
X8
B(1)
X9
A(0)B(0)
X10
B(16)
X11
А=0
Разбиваем микрооперации на подмножества соответствующие внутренним словам ( регистрам).
YA={y18};
YB={y1,y12, y22, y23};
YC={ y2, y3, y5, y6, y7, y9, y11, y13, y15, y16, y17, y19, y20, y24, y25, y26, y27, y28};
YСЧ={ y10, y14, y21};
YПП={y4};
YZ={y8};
На полученных множествах выделяем классы эквивалентных микроопераций Knj.
KA,1={y18};
KB,1={y1}; KB,2={y12}; KB,3={y22}; KB,4={y23};
KC,1={y2, y3, y6, y11, y15, y19};KC,2={ y5, y7, y16};KC,3={y9}; KC,4={y24}; KC,5={y25}; KC,6={y26}; KC,7={y27}; KC,8={y28}; KC,9={y13}; KC,10={y17}; KC,11={y20}
KСЧ,1={y10}; KСЧ,2={y14}; KСЧ,3={y21}
KПП,1={y4};
KZ,1={y8}
Для KС1 составляем обобщенный оператор:
С:=А2+А1
где, и
Соответственно и для этого класса строим обобщенный оператор ( в принципе присваивание как таковое можно и не выделять в отдельный класс, но тут изменяется только один бит регистра С, следовательно мы можем мультиплексировать операции работающие непосредственно с этим битом):
C(0):=B1
Схема синтезированного автомата представлена на рисунке Приложения 2.
4.3 Синтез управляющего автомата с «программируемой» логикой
С учетом кодирования, можно перерисовать выше приведенные алгоритмы операций в объединеную блок-схему. Объединенная и закодированая ГСА приведена на рисунке 7.
Рисунок 7
XOR Умножение Начало Конец КОП x2 y1 y4 y3 y2 y7 y19 y12 y14 y13 y17 y5 x4 x11 x3 x7 x6 x8 x3 y15 y20 y21 y22 y11 y9 y10 y11 y24 y26 y20 y20 y14 y16 y17 y19 x9 x3 x7 x10 x7 y4 y28 y26 y27 Деление OR AND Вычитание Сложение y25 y6 x5 y8
Функциональная схема АЛУ представлена на чертеже КП.062.020.1999.Ф1.
4. 4 Форматы микрокоманд
Разобъем множество микроопераций Y, приведенных на рисунке 7, на три непересекающихся подмножества Y1, Y2, Y3.
Множество логических условий X, состоит из десяти элементов:
Исходя из результатов разбиений, можно сделать вывод о том, что кодирование микроопераций нужно выполнить пятиразрядным кодом, а кодирование логических условий четырехразрядным. Результаты кодирования приведены в таблице . Форматы микрокоманд на рисунке 8.
Y1
Y2
Y3
X
00000
yk
#
#
0000
#
00001
y1
#
#
0001
x1
00010
y2
#
#
0010
x2
00011
y3
#
#
0011
x3
00100
y4
#
#
0100
x4
00101
y5
#
#
0101
x5
00110
y6
#
#
0110
x6
00111
y7
#
#
0111
x7
01000
y8
#
#
1000
x8
01001
y9
#
#
1001
x9
01010
#
y10
#
1010
x10
01011
y11
#
#
1011
x11
01100
y12
#
#
1100
#
01101
#
y13
#
1101
#
01110
#
#
y14
1110
#
01111
y15
#
#
1111
1
10000
y16
#
#
10001
y17
#
#
10010
y18
#
#
10011
y19
#
#
10100
y20
#
#
10101
#
y21
#
10110
#
#
y22
10111
#
y23
#
11000
y24
#
#
11001
y25
#
#
Рисунок 8
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
0
Y1
Y2
Y3
1
X
Адрес
Таким образом, регистр микрокоманд выбираем разрядностью в два байта. Емкость ПЗУ МК составит 128 байт. На рисунке 9 приведена структура управляющего автомата с программируемой логикой.
Рисунок 9
4. 5 Кодирование ПЗУ МК
Приведем пример кодирования ПЗУ МК для операции сложения. Естественной адресацией МК будем считать выполнение МП по истиной ветви алгоритма (т.е. там, где значение логического условия равно 1). На рисунке 10 приведена ГСА операции умножения. В таблице приведен фрагмент кода ПЗУ МК для операции сложения.
Рисунок 10
y12 y14 y13
x7
x6
x8
y15
y11
y9 y10
y16
x9
Начало
Конец
x5
y8
-
Адрес
Биты МК
0001
0010010101011111
0010
1011001000000000
0011
0010111111111111
0100
0011000110101110
0101
1011100100000000
0110
1100010000000000
0111
0011111111111111
1000
1100110100000000
1001
0100001111111111
1010
1010111000000000
1011
0010001111111111
1100
0000001111111111
5. Библиографический список
Баранов С.И. Синтез микропрограммных автоматов Л. Энергия, Ленингр. отд-ние,1974г–216с,.
2. Колосков В.А. Проектирование вычислительного устройства: методические указания к
курсовому проекту / КГТУ 1996г.
Майоров С.А., Новиков Г.И. Структура электронных вычислительных машин. – Л. Машиностроение. Ленингр. отд-ние, 1979. – 384 с.
6. Приложение
Нравится материал? Поддержи автора!
Ещё документы из категории информатика:
Чтобы скачать документ, порекомендуйте, пожалуйста, его своим друзьям в любой соц. сети.
После чего кнопка «СКАЧАТЬ» станет доступной!
Кнопочки находятся чуть ниже. Спасибо!
Кнопки:
Скачать документ