Проектирование вычислительного устройства
Министерство общего и профессионального образованияРоссийского Федерации
Курский государственный технический университет
Кафедра ВТ
Пояснительная записка к
курсовому проекту
по дисциплине «Организация ЭВМ»
Проектирование вычислительного устройства
Выполнил: студент группы ВМ-62 Ильин
А.В.
Принял: доцент
Жмакин А.П.
Курск 1999
Содержание
1.Введение
2. Задание
3. Разработка общей структуры ЦВМ
3.1. Общая структура ЦВМ
3.2. Форматы команд
3.3. Таблица микрокоманд
3.4. Операционный автомат центрального управляющего устройства.
3.5. Командный цикл.
4. Проектирование АЛУ
4.1 Графы микропрограмм сложения и вычитания, умножения, деления,
логиче
ских операций (and, or, xor).
4.2 Синтез М – автомата
4.3 Синтез управляющего автомата с «жесткой» логикой
5. Библиографический список
6. Приложение1. Введение
В настоящее время существует две тенденции в проектировании средств
вычислительной техники: во–первых, разработка устройств
специализированных ЭВМ на основе микропроцессорных средств, во–вторых,
реализация ЭВМ с использованием СБИС программируемых логических матриц,
матриц программируемых логических элементов и базовых матричных
кристаллов. Построение ЭВМ на СБИС связано не только с комплексированием
микропроцессорных средств, что отражает первую тенденцию проектирования,
но и с применением современных методов логического синтеза
арифметико–логических и управляющих устройств, размещаемых на СБИС, а
также методов оценки результатов проектирования.
Цель и задачи проектирования
Целью курсового проектирования является освоение методики проектирования
и разработки операционных и управляющих устройств ЭВМ, а также
подготовки технической документации на эти устройства. Курсовой проект
является формой самостоятельной работы студентов. В период курсового
проектирования студент должен закреплять, углублять, и умело применять
теоретические знания для решения поставленных практических задач,
работать с научно–технической литературой и конспектом лекций. Основное
внимание при выполнении курсового проекта обращается на умение принимать
технические решения и обосновывать их. Объектом курсового проектирования
является специализированное вычислительное устройство, включающее
процессор и запоминающее устройство. Процессор проектируется для
заданного списка команд и должен удовлетворять заданным требованиям
технического задания.
2.Задание
Система команд АЛУ ЗУ УУ Д
Адресность Формат Разр. бит Тип ОА Разр. бит Емк. Кбайт Тип УА
Разрядность Способ адресации
1 AR, SI 16 M 8 16 ЖЛ 16 бит П, K
3. Разработка общей структуры ЦВМ
3.1. Общая структура ЦВМ
Разрядность шины адреса (ША) вычисляем исходя из разрядности и емкости
ЗУ.
Разрядность ЗУ=8бит =1байт. Т.о. можем адресовать 16/1= 214 бит. Т.е
разрядность ША 14 бит.
Структурная схема ЦВМ
Рис.1 Структурная схема ЦВМ
3.2. Форматы команд
Форматы выбираем из соображений, что регистров общего назначения (РОН) у
нас 16.
В каждой команде должен быть зашифрован код операции (КОП), признак
формата (ПФ) , а также признак адресации (прямая или косвенная П/О).
Отсюда:
формат AR
0 1 4 5 6
9 16
0 КОП ПО R1 X
формат SI
0 1 4 5
7
1 КОП
I
S
Считаем, что у нас 16 РОНов, включая регистр аккумулятор (А) с адресом
0000, поэтому для их адресации используем 4 бита.
В поле признака адресации 1 – прямая адресация, 0 – косвенная, при чем,
заметим, что в формате SI мы не используем прямую адресацию, так как это
обусловлено самим форматом, а все остальные функции, как то – переходы,
возврат из подпрограммы, работа с прерываниями и т.п. обуславливаются
наличием “0” во втором бите.
3.3. Таблица микрокоманд
EMBED Equation.3
????????????????????????????????????????????????????????????????????????
??????????????????????????????
Изначально указатель стека (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 Алгоритм сложения-вычитания
Рисунок 3
4. 1. 2 Алгоритм произведения
Для операции умножения в регистр A помещается множимое, в регистр B
мнножитель, в регистре C произведение. Младшим считается 15 разряд.
Рисунок 4
4. 1. 3 Алгоритм деления
При выполнении операции деления в регистр A содержит делимое, B
делитель, C остаток (частное). Ниже приведен алгоритм деления целых
чисел без восстановления остатка.
Рисунок 5
4. 1. 4 Алгоритм логических операций
Алгоритм логических операций AND, OR, XOR приведен на рисунке 6.
Рисунок 6
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:=A(B
Y14 Сч:=Сч-1 Y28 C:=A(B
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 0100
X12 0101
X13 0110
Разбиваем микрооперации на подмножества соответствующие внутренним
словам ( регистрам).
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.4 Синтез управляющего автомата с «программируемой» логикой
С учетом кодирования, можно перерисовать выше приведенные алгоритмы
операций в объединеную блок-схему. Объединенная и закодированая ГСА
приведена на рисунке 7.
Рисунок 7
Функциональная схема АЛУ представлена на чертеже КП.062.020.1999.Ф1.
4. 5 Форматы микрокоманд
Разобъем множество микроопераций 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
#???????????????????????????????????????????????????????????????????????
??????????????????????????
Рисунок 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. 3 Кодирование ПЗУ МК
Приведем пример кодирования ПЗУ МК для операции сложения. Естественной
адресацией МК будем считать выполнение МП по истиной ветви алгоритма
(т.е. там, где значение логического условия равно 1). На рисунке 10
приведена ГСА операции умножения. В таблице приведен фрагмент кода ПЗУ
МК для операции сложения.
Рисунок 10
111000000000
1011 0010001111111111
1100 0000001111111111
5. Библиографический список
Баранов С.И. Синтез микропрограммных автоматов Л. Энергия, Ленингр.
отд-ние,1974г–216с,.
2. Колосков В.А. Проектирование вычислительного устройства:
методические указания к
курсовому проекту / КГТУ 1996г.
Майоров С.А., Новиков Г.И. Структура электронных вычислительных машин. –
Л. Машиностроение. Ленингр. отд-ние, 1979. – 384 с.
6. Приложение
C:=A+(B+1
A[0]=B[0]
B[0]:=(B[0]
КОП
Начало
16384x8
16x16
С=0
1
C:=С+1
C[0]:=A[0]
C:=B+(A+1
C[0]:=B[0]
B[1:15]:=R1(C[15].B[1:15])
C:=R1(0.C)
СЧ:=СЧ-1
B[1]
ПП:=1
A[0]
C[0]
СЧ=0
C:=A+B
y4
y28
y26
y27
C:=A[1:15]
A[1:15]:=B[2:16]
Начало
Конец
A
C[0]:=1
0
Z:=0
С=0
1
Деление
A[0](B[0]
A
OR
AND
Вычитание
Сложение
y25
y6
x5
y8
C:=C+A[1:15]
B[15]
C:=0
CЧ:=15
Начало
Конец
Z:=0
0
y17
y19
x9
x3
x7
x10
x7
С=0
0
Z:=0
Конец
1
C:=A(B
C:=A(B
C:=A(B
КОП
Начало
Конец
A
C[0]:=1
1
Z:=0
0
A[0](B[0]
0
1
С=0
C:=C+1
1
A
B[16]
0
C:=B[1:15]
1
СЧ=0
0
B[1:16]:=L1(B[1:16].(C[0])
C:=L1(C.0)
СЧ:=СЧ-1
C:=C+(A[1:15]+1
C:=C+A[1:15]
C[0]
1
0
ПП:=1
C:=L1(C.0)
СЧ:=15
B[1:16]:=0
1
C[0]
0
C:=С+(A[1:15]+1
0
A=0
1
y16
y20 y20 y14
y26
y24
y11
y9 y10
y11
y20 y21 y22
y15
x3
x8
x6
x7
x3
x11
x4
y5
y17
y12 y14 y13
y19
y7
y2
y3
y4
y1
x2
КОП
Конец
Начало
Умножение
XOR
Начало
y9 y10
x6
y11
y12 y14 y13
x7
y8
x5
Конец
x9
y16
y15
x8