Министерство общего и профессионального образования
Российского Федерации
Курский государственный технический университет
Кафедра ВТ
Пояснительная записка к
курсовому проекту
по дисциплине «Организация ЭВМ»
Проектирование вычислительного устройства
Выполнил:
студент группы ВМ-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 бит.
Структурная схема ЦВМ
Рис.1 Структурная схема ЦВМ
3.2. Форматы команд
Форматы выбираем из соображений, что регистров общего назначения (РОН) у нас 16.
В каждой команде должен быть зашифрован код операции (КОП), признак формата (ПФ) , а также признак адресации (прямая или косвенная П/О).
Отсюда:
формат
AR
0 1 4 5 6 9 16
формат
SI
0 1 5 6 7
S
Считаем, что у нас 16 РОНов, включая регистр аккумулятор (А) с адресом 0000, поэтому для их адресации используем 4 бита.
В поле признака адресации 1 – прямая адресация, 0 – косвенная, при чем, заметим, что в формате SI мы не используем прямую адресацию, так как это обусловлено самим форматом, а все остальные функции, как то – переходы, возврат из подпрограммы, работа с прерываниями и т.п. обуславливаются наличием “0” во втором бите.
3.3
. Таблица микрокоманд
Формат |
КОП |
Команды |
Семантика |
1. AR |
0000 |
ADD |
A¬A+!R1 |
0001 |
SUB |
A¬A-!R1 |
0010 |
MUL |
A¬A*!R1 |
0011 |
DIV |
A¬A/!R1 |
0100 |
AND |
A¬A&!R! |
0101 |
OR |
A¬AL!R1 |
0110 |
XOR |
A¬AÅ!R1 |
0111 |
MOV A,!R1 |
A¬!R1 |
1000 |
MOV !R1,A |
R1¬A |
2.SI
|
0xxxx |
M(ADR),O1 |
M(ADR):=O1 |
10000 |
JMP |
PC¬ADR |
10001 |
Z |
PC¬ADR |
10010 |
|
PC¬ADR |
10011 |
C |
PC¬ADR |
10100 |
|
PC¬ADR |
10101 |
OV |
PC¬ADR |
10110 |
|
PC¬ADR |
11000 |
RET |
SP:=SP+1 PC-M(SP) |
11001 |
EI |
TI:=0 |
11010 |
DI |
TI:=1 |
11011 |
HLT |
---- |
11100 |
RETI |
|
11101 |
NOP |
---- |
11110 |
CALL |
M(SP) ¬PC
PC¬ADR
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 Алгоритм сложения-вычитания
Рисунок 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 |
А=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
Функциональная схема АЛУ представлена на чертеже КП.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 приведена структура управляющего автомата с программируемой логикой.
Рисунок 94. 5 Кодирование ПЗУ МК
Приведем пример кодирования ПЗУ МК для операции сложения. Естественной адресацией МК будем считать выполнение МП по истиной ветви алгоритма (т.е. там, где значение логического условия равно 1). На рисунке 10 приведена ГСА операции умножения. В таблице приведен фрагмент кода ПЗУ МК для операции сложения.
Рисунок 10
Адрес |
Биты МК |
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. Библиографический список
1. Баранов С.И. Синтез микропрограммных автоматов Л. Энергия, Ленингр. отд-ние,1974г–216с,.
2. Колосков В.А. Проектирование вычислительного устройства: методические указания к
курсовому проекту / КГТУ 1996г.
3. Майоров С.А., Новиков Г.И. Структура электронных вычислительных машин. – Л. Машиностроение. Ленингр. отд-ние, 1979. – 384 с.
6. Приложение
|