Проектирование вычислительного устройства

Министерство общего и профессионального образования

Российского Федерации

Курский государственный  технический университет



Кафедра ВТ

















Пояснительная записка к 

курсовому проекту

по дисциплине «Организация ЭВМ»

Проектирование вычислительного устройства































Выполнил: студент группы ВМ-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. Приложение