Проектирование микро-ЭВМ

Формат: doc

Дата создания: 19.05.2001

Размер: 27.41 KB

Скачать реферат

Министерство образования Российской Федерации

Восточно-Сибирский Государственный Технологический Университет

Кафедра ЭВС

КУРСОВОЙ ПРОЕКТ

по дисциплине:

«Теория проектирования ЭВМ»

на тему:

«Проектирование микро-ЭВМ»

Выполнили: ст.гр.627-1 Пугасеев М.В. и

ст.гр.627-2 Иванова В.А.

Руководитель: к.т.н., доц. Базарова С.Б.-М.

г. Улан-Удэ,

2001 г.

Министерство образования Российской Федерации

Восточно-Сибирский государственный технологический университет

Электротехнический факультет

Кафедра ЭВС

ЗАДАНИЕ

на курсовой проект

по курсу: Теория проектирования ЭВМ.

выполнили: ст. гр. 627-1 Пугасеев М.В. и ст. гр. 627-2 Иванова В.А.

руководитель проекта: Базарова С.Б.-М.

срок выполнения проекта: 20% к нед., 40% к нед., 60% к нед., 80% к __ нед., 100% к нед.

Защита проекта 2001 г.

  1. Тема проекта: Разработка микро-ЭВМ, выполняющей программу вычисления функции F = (a2·b) / (c+d). .

  1. Техническое задание: Разработать микро-ЭВМ, выполняющую программу вычисления функции, где F,a,b,c,d – массивы из 10 элементов 24-разрядных знаковых чисел с плавающей запятой. Система команд не содержит команду вычитания. Шины адресов и данных разделены. Программа и данные размещаются в ОЗУ. .

  1. Перечень листов графической части:

лист 1: Структурная схема;

лист 2: Принципиальная схема;

лист 3: Временные диаграммы.

Руководитель проекта .

Дата выдачи 2001 г.

Содержание

1. Введение

  1. Команды микро-ЭВМ

    1. Формат команд

    2. Кодировка команд

    3. Кодировка регистров

    4. Кодировка способов адресации

  2. Программа реализации функции

  3. Центральное устройство управления

    1. Микропрограммное устройство управления

    2. Список микроопераций

    3. Разбиение микроопераций на группы (микрокоманды)

    4. Формат микрокоманд

  4. Граф-схемы выполнения операций

    1. Граф-схема подготовительных операций – выборки команд из ОЗУ

    2. Граф-схема алгоритма команды MOV

    3. Граф-схема алгоритма команды MUL

    4. Граф-схема алгоритма команды ADD

    5. Граф-схема алгоритма команды DIV

    6. Граф-схема алгоритма команды INC

    7. Граф-схема алгоритма команды LOOP

  5. Прошивка ПЗУ микрокоманд

  6. Разработка принципиальной схемы

Заключение

Список литературы

Приложения

Приложение А

1. ВВЕДЕНИЕ

Вычислительные машины (ВМ) представляют собой комплекс технических средств, имеющих общее управление, предназначенный для автоматической обработки информации по заданной программе. Цифровые ЭВМ оперируют с информацией, представленной в дискретной форме в виде общепринятой для записи и чтения символике набором цифр, букв и знаков какого-то заранее установленного алфавита, имеющего конечное число символов.

В конце 60-х годов начался серийный выпуск сравнительно небольших и дешевых мини-ЭВМ. Их предназначали для предприятий и организаций, где установка высокопроизводительных ЭВМ была экономически невыгодной. В их задачу первоначально входила автоматизация профессиональной работы в различных организациях, работа на предприятиях в качестве проблемно ориентированных ЭВМ. В 1977-78 году был начат выпуск семейства малых ЭВМ (СМ ЭВМ). Их часто называли управляющими вычислительными комплексами, так как они чаще всего использовались в системах управления различного рода. Однако, СМ третьей очереди, разработанные в последние годы относятся уже к ЭВМ четвертого поколения и имеют большую производительность, поэтому круг их применения резко расширился, и их активно используют в качестве автоматизированных рабочих мест, объединяют в вычислительные системы, и поручают им расчет экономических и статистических задач. С появлением больших интегральных схем связано развитие другого класса машин – микро-ЭВМ, и, как достижение этого направления - появление мощных профессиональных ПЭВМ, которые используются на рабочих местах для автоматизации труда, несложных расчетов и различного рода проектирования.

Проектирование микро-ЭВМ включает в себя разработку устройства управления и операционного устройства. Устройство управления содержит два блока (центральное и местное устройства управления).

Устройства управления являются микропрограммными устройствами. Центральное устройство управления предназначено для выборки команд, их декодирования и подготовки операндов, а также поддержания работы местного устройства управления. Местное устройство управления управляет работой АЛУ, формирует сигналы управления передачей данных между отдельными элементами проектируемой микро-ЭВМ. Последовательность формирования управляющих сигналов определяется микропрограммами, хранящимися в ПЗУ микрокоманд обоих устройств.

Операционная часть микро-ЭВМ включает в себя регистры общего назначения (для хранения операндов) и АЛУ. Функционирование микро-ЭВМ осуществляется программой, которая хранится в оперативной памяти.

Для написания программ используют языки низкого и высокого уровней. Языки низкого уровня — машинно-зависимые языки, так как при программировании любого класса задач на этих языках непосредственно учитываются особенности построения и функционирования ЭВМ, на которой будет решаться данная задача. В отличие от машинного языка языки низкого уровня называют машинно-ориентированными языками. Преимуществом использования этих языков является то, что по сравнению с программами на машинном языке программы на машинно-ориентированном языке получаются более короткие. Примером широко используемого машинно-ориентированного языка является язык Ассемблер.

Языки высокого уровня — машинно-независимые языки, так как при программировании задач на этих языках отпадает необходимость знать, на какой ЭВМ будет решаться данная задача. Средства этих языков ориентированы на дальнейшее сокращение трудоемкости программирования. К языкам высокого уровня относят процедурно-ориентированные и проблемно-ориентированные языки.

2. КОМАНДЫ микро-ЭВМ

2. Команды микро-ЭВМ.

В проектируемой микро-ЭВМ реализована следующая система команд:

  • MOV – команда пересылки данных;

  • MUL – команда умножения;

  • ADD – команда сложения;

  • DIV – команда деления;

  • INC – команда инкремента;

  • LOOP – команда перехода на метку при организации циклов;

  • END – команда окончания программы.

2.1. Формат команд.

Последовательность команд программы и массивы данных хранятся в ОЗУ. Для разработки системы команд необходимо определить формат команды.

С учётом количества реализуемых в нашей микро-ЭВМ команд, количества способов адресации, разрядности шины адреса ОЗУ (для непосредственной адресации) и количества регистров общего назначения примем, что команда будет состоять из 24 разрядов. Такая разрядность ещё эффективна тем, что команда может целиком за 1 такт пересылаться из ОЗУ в регистр команд, поскольку шина данных имеет 24-битную разрядность для работы с операндами.

Таким образом, в курсовом проекте для реализации команд микро-ЭВМ был использован следующий формат:

КОП

СА

DD

SS

RES

0 {3 бита} 2

3 {2 бита} 4

5 {7 бит} 11

12 {7 бит} 18

19 {5 бит} 23

  • КОП – код операции;

  • СА – способ адресации;

  • DD – (Destination) приёмник (РОН или приращение при индексной адресации);

  • SS – (Source) источник (РОН, число или приращение при индексной адресации);

  • RES – (Reserved) зарезервировано: биты 19 – 23 не используются.

2.2. Кодировка команд.

Все команды кодируются тремя битами в поле «КОП». Применяются следующие коды:

Код

Команда

000

MOV

001

MUL

010

ADD

011

DIV

100

INC

101

LOOP

111

END

2.3. Кодировка регистров.

Регистры общего назначения кодируются тремя младшими битами в полях DD и SS. Применяются следующие коды:

Код

Регистр

000

AX

001

BX

010

CX

011

CC

100

SI

2.4. Кодировка способов адресации.

Для выбора систем адресации необходимо определиться в том, какие операции по пересылке будет необходимо выполнять в микро-ЭВМ. В разрабатываемой микро-ЭВМ команды должны выполнять пересылку данных:

  • непосредственно из поля регистра команд SS в регистр общего назначения (РОН) CC или SI;

  • из одного РОН в другой;

  • из ячеек ОЗУ (по приращению индекса) в РОН;

  • из РОН в ячейку ОЗУ (по приращению индекса).

А также в командах должна быть реализована возможность прямо в самой команде указывать адрес следующей команды (или адрес ячейки памяти в ОЗУ) при переходе по условию.

Отсюда выбираем следующие способы адресации, которые кодируются двумя битами в поле «СА»:

Код

Способ адресации

00

Регистр – непосредственный операнд

01

Регистр – регистр

10

Регистр – ОЗУ (приращение индекса)

11

ОЗУ (приращение индекса) – регистр

3. Программа реализации функции

Ниже приведён текст программы для реализации заданной функции, её интерпретация в кодах и размещение в ОЗУ.

Операция

Операнды

КОП

Адрес

MOV

CC

10

000’00’0000011’0001010’00000

0000000

MOV

SI

15

000’00’0000100’0001111’00000

0000001

@: MOV

AX

0 [SI]

000’10’0000000’0000000’00000

0000010

MOV

BX

AX

000’01’0000001’0000000’00000

0000011

MUL

AX

BX

001’01’0000000’0000001’00000

0000100

MOV

BX

10 [SI]

000’10’0000001’0001010’00000

0000101

MUL

AX

BX

001’01’0000000’0000001’00000

0000110

MOV

BX

20 [SI]

000’10’0000001’0010100’00000

0000111

MOV

CX

30 [SI]

000’10’0000010’0011110’00000

0001000

ADD

BX

CX

010’01’0000001’0000010’00000

0001001

DIV

AX

BX

011’01’0000000’0000001’00000

0001010

MOV

40 [SI]

AX

000’11’0101000’0000000’00000

0001011

INC

SI

100’01’0000000’0000100’00000

0001100

LOOP

@

101’00’0000000’0000010’00000

0001101

END

111’00’0000000’0000000’00000

0001110

Поскольку все операции производятся над 24-разрядными числами, то и в ОЗУ они хранятся в 24-разрядных ячейках. Размещение данных в ОЗУ:

Переменная

Адрес

(десятичный)

Адрес

(двоичный)

a1

15

0001111

a10

24

0011000

b1

25

0011001

b10

34

0100010

c1

35

0100011

c10

44

0101100

d1

45

0101101

d10

54

0110110

F1

55

0110111

F10

64

1000000

4. Центральное устройство управления

Центральное устройство управления в проектируемой микро-ЭВМ реализуется на микропрограммном управлении, за исключением подготовительных и некоторых промежуточных операций, которые реализуются на жёсткой логике.

4.1. Микропрограммное устройство управления (МПУУ).

Блок микрокоманд подготавливает операнды, управляет работой АЛУ, формирует сигналы управления передачей данных между отдельными элементами проектируемой микро-ЭВМ. Последовательность формирования управляющих сигналов определяется микропрограммами, хранящимися в ПЗУ микрокоманд.

4.2. Список микроопераций.

Обозн.

Микрооперация

Управляющие сигналы

1

MUL_АОП := ШД/ША_8

MUL_АОП := СчКом

MUL_АОП: С=«1»; M=«0»

MUL_АОП: С=«1»; M=«1»

1

Синхронизация MUL_АОП

MUL_АОП: С=«1»

2

Rg_АОП := MUL_АОП

Rg_АОП: С=«1»

3

ШД_24 := ОЗУ (чтение)

ОЗУ: Read=«1»

4

RgКом := ШД_24

RgКОП, RgDD, RgSS: С=«1»

5

MUL_КОП := RgКОП_СА

RgКОП: Z=«1»; MUL_КОП: С=«1»

6

ОЗУ := ШД_24 (запись)

ОЗУ: Write=«1»

7

Предустановка Сч_МО

Сч_МО: ПУ=«1»

8

Выдача данных из RgDD

RgDD: Z=«1»

9

Выдача данных из RgSS

RgSS: Z=«1»

10

Дешифрация ДшЗапРОН

ДшЗапРОН: С=«1»

11

Дешифрация ДшЧтРОН

ДшЧтРОН: С=«1»

12

MUL_S/D := «S»

MUL_S/D := «D»

MUL_S/D := «1»

MUL_S/D := «-1»

MUL_S/D: С=«1», М=«00»

MUL_S/D: С=«1», М=«01»

MUL_S/D: С=«1», М=«10»

MUL_S/D: С=«1», М=«11»

12

Синхронизация MUL_S/D

MUL_S/D: С=«1»

13

Rg1_СМ := ШД/ША_8

Rg1_СМ: С=«1»

14

Rg2_СМ := ШД/ША_8

Rg2_СМ: С=«1»

15

Синхронизация СМ – сумма

СМ: С=«1»

16

ШД/ША_8 := BF_СМ

BF_СМ: С=«1»

17

RgCC := ШД/ША_8

RgCC: С=«1»

18

ШД/ША_8 := RgCC

RgCC: Z=«1»

19

ШД/ША_8 := RgSi

RgSi: Z=«1»

20

Rg1_АЛУ := ШД_24

Rg1_АЛУ: С=«1»

21

Rg2_АЛУ := ШД_24

Rg2_АЛУ: С=«1»

22

АЛУ := Rg1_АЛУ + Rg2_АЛУ

АЛУ := Rg1_АЛУ * Rg2_АЛУ

АЛУ := Rg1_АЛУ / Rg2_АЛУ

АЛУ: С=«1», М=«01»

АЛУ: С=«1», М=«10»

АЛУ: С=«1», М=«11»

22

Синхронизация АЛУ

АЛУ: С=«1»

23

ШД_24 := BF_АЛУ

BF_АЛУ: С=«1»

24

Предустановка СчКом

СчКом: ПУ=«1»

25

СчКом := СчКом + 1

СчКом: «+1»=«1»

4.3. Разбиение микроопераций на группы (микрокоманды).

Все выше перечисленные микрооперации можно разбить на группы, называемые микрокомандами. Микрокоманды позволяют выполнять за 1 такт несколько независимых друг от друга микроопераций. Исходя из схемы проектируемой микро-ЭВМ видно, что максимальное число микроопераций, которые могут выполняться независимо друг от друга – 4. Следовательно, разбиваем множество микроопераций на 4 группы:

Код

1 группа

Код

2 группа

Код

3 группа

Код

4 группа

001

RgКом := ШД_24

001

Синхрониза-ция MUL_АОП

001

Rg_АОП := MUL_АОП

001

ШД_24 := ОЗУ (чтение)

010

ОЗУ := ШД_24 (запись)

010

Дешифрация ДшЗапРОН

010

Предустановка Сч_МО

010

MUL_КОП := RgКОП_СА

011

Выдача данных из RgDD

011

Rg2_СМ := ШД/ША_8

011

Выдача данных из RgSS

011

Дешифрация ДшЧтРОН

100

Rg1_СМ := ШД/ША_8

100

ШД/ША_8 := RgCC

100

RgCC := ШД/ША_8

100

Синхрониза-ция MUL_S/D

101

Синхронизация СМ

101

ШД/ША_8 := RgSi

101

Синхронизация АЛУ

101

ШД/ША_8 := BF_СМ

110

Предустановка СчКом

110

Rg1_АЛУ := ШД_24

110

СчКом := СчКом + 1

110

ШД_24 := BF_АЛУ

111

Rg2_АЛУ := ШД_24

В каждой группе формируется своя нумерация микроопераций, которая используется непосредственно при прошивке ПЗУ.

4.4. Формат микрокоманд.

В курсовом проекте использовалось три типа микрокоманд: команды условного и безусловного переходов и операционные команды. Прошивка микрокоманд в ПЗУ осуществлена горизонтально-вертикальным способом кодирования.

Общий формат микрокоманды:

Признак микрокоманды

КОП1

КОП2

КОП3

КОП4

Бит выбора 1

Бит выбора 2

1 бит

3 бита

3 бита

3 бита

3 бита

1 бит

1 бит

Таким образом, длина микрокоманды составляет 15 бит.

При использовании команд условного и безусловного переходов применяются следующие условности:

  • признак микрокоманды устанавливается равным «1»;

  • КОП1 содержит код проверяемого условия:

Код

Условие

000

СА = 00

001

СА = 01

010

СА = 10

011

Признак результата СМ = «0»

100

Безусловный переход

  • КОП2 и КОП3 «объединяются» и содержат адрес перехода на метку в случае выполнения условия (или без условия);

  • КОП4 и биты выбора не используются.

Если условие не выполняется, то переход на метку не происходит.

5. Граф-схемы выполнения операций

5.1. Граф-схема подготовительных операций –

операций выборки команд из ОЗУ.

Точка входа продолжения

Начальная точка входа

Альтернативная точка входа

продолжения

000001

000000

000010

НАЧАЛО

25

СчК := СчК + 1

1

2

3

4

Синх-ция MUL_АОП (бит1 = «1»)

Rg_АОП := MUL_АОП

ШД_24 := ОЗУ (чтение)

RgКом := ШД_24

Rg_АОП := СчКом

RgКом := ОЗУ (чтение)

5

7

MUL_КОП := RgКОП_СА

Предустановка Сч_МО

Сч_МО := Т.Входа_КОП

5.2. Граф-схема алгоритма команды MOV.

5.3. Граф-схема алгоритма команды MUL.

8

11

20

Выдача данных из RgDD

Дешифрация ДшЧтРОН

Rg1_АЛУ := ШД_24

Rg1_АЛУ := RgDD

9

11

21

Выдача данных из RgSS

Дешифрация ДшЧтРОН

Rg2_АЛУ := ШД_24

Rg2_АЛУ := RgSS

22

23

8

10

Rg2_АЛУ := ШД_24

(бит1=«1», бит2=«0»)

ШД_24 := BF_АЛУ

Выдача данных из RgDD

Дешифрация ДшЗапРОН

RgDD := Rg1_АЛУ * Rg2_АЛУ

000001

5.4. Граф-схема алгоритма команды ADD.

8

11

20

Выдача данных из RgDD

Дешифрация ДшЧтРОН

Rg1_АЛУ := ШД_24

Rg1_АЛУ := RgDD

9

11

21

Выдача данных из RgSS

Дешифрация ДшЧтРОН

Rg2_АЛУ := ШД_24

Rg2_АЛУ := RgSS

22

23

8

10

Rg2_АЛУ := ШД_24

(бит1=«0», бит2=«1»)

ШД_24 := BF_АЛУ

Выдача данных из RgDD

Дешифрация ДшЗапРОН

RgDD := Rg1_АЛУ + Rg2_АЛУ

000001

5.5. Граф-схема алгоритма команды DIV.

8

11

20

Выдача данных из RgDD

Дешифрация ДшЧтРОН

Rg1_АЛУ := ШД_24

Rg1_АЛУ := RgDD

9

11

21

Выдача данных из RgSS

Дешифрация ДшЧтРОН

Rg2_АЛУ := ШД_24

Rg2_АЛУ := RgSS

22

23

8

10

Rg2_АЛУ := ШД_24

(бит1=«1», бит2=«1»)

ШД_24 := BF_АЛУ

Выдача данных из RgDD

Дешифрация ДшЗапРОН

RgDD := Rg1_АЛУ / Rg2_АЛУ

000001

5.6. Граф-схема алгоритма команды INC.

9

11

13

Выдача данных из RgSS

Дешифрация ДшЧтРОН

Rg1_СМ := ШД/ША_8

Rg1_СМ := RgSS

12

14

Синхронизация MUL_S/D

(бит1= “1”, бит2= “0”)

Rg2_СМ := ШД/ША_8

Rg1_СМ := 1

9

10

15

16

Выдача данных из RgSS

Дешифрация ДшЗапРОН

Синхронизация СМ – сумма

ШД/ША_8 := BF_СМ

RgSS := Rg1_СМ + Rg2_СМ

000001

5.7. Граф-схема алгоритма команды LOOP.

Команда END на имеет граф-схемы, поскольку она реализуется аппаратно – при обнаружении кода END останавливается ГТИ.

6. Прошивка ПЗУ микрокоманд

#

Адрес

Код

Примечание

0

000000

1’100’000’010’000’0’0

Безусловный переход

1

000001

0’000’000’110’000’0’0

СМ«0» - true

2

000010

0’001’001’001’001’1’0

3

000011

0’000’000’010’010’0’0

4

000100

1’000’010’011’000’0’0

Точка входа MOV, if - СА=00

5

000101

1’001’010’010’000’0’0

if – СА=01

6

000110

1’010’001’100’000’0’0

if – СА=10

7

000111

0’100’101’000’000’0’0

СА=11

8

001000

0’011’011’000’100’0’1

9

001001

0’101’001’001’101’0’0

10

001010

0’010’000’011’011’0’0

11

001011

1’100’000’001’000’0’0

Возврат к 000001

12

001100

0’100’101’000’000’0’0

СА=10 – true

13

001101

0’000’011’011’100’0’0

14

001110

0’101’001’001’101’0’0

15

001111

0’011’010’000’001’0’0

16

010000

1’100’000’001’000’0’0

Возврат к 000001

17

010001

0’011’010’011’011’0’0

СА=01 – true

18

010010

1’100’000’001’000’0’0

Возврат к 000001

19

010011

0’011’010’011’100’0’0

СА=00 – true

20

010100

1’100’000’001’000’0’0

Возврат к 000001

21

010101

0’011’110’000’011’0’0

Точка входа MUL

22

010110

0’000’111’011’011’0’0

23

010111

0’011’010’101’110’1’0

24

011000

1’100’000’001’000’0’0

Возврат к 000001

25

011001

0’011’110’000’011’0’0

Точка входа ADD

26

011010

0’000’111’011’011’0’0

27

011011

0’011’010’101’110’0’1

28

011100

1’100’000’001’000’0’0

Возврат к 000001

29

011101

0’011’110’000’011’0’0

Точка входа DIV

30

011110

0’000’111’011’011’0’0

31

011111

0’011’010’101’110’1’1

32

100000

1’100’000’001’000’0’0

Возврат к 000001

33

100001

0’100’000’011’011’0’0

Точка входа INC

34

100010

0’000’011’000’100’1’0

35

100011

0’101’010’011’101’0’0

36

100100

1’100’000’001’000’0’0

Возврат к 000001

37

100101

0’100’100’000’000’0’0

Точка входа LOOP

38

100110

0’000’011’000’100’1’1

39

100111

0’101’000’100’101’0’0

40

101000

1’011’000’001’000’0’0

if – СМ«0»

41

101001

0’110’000’000’100’0’0

42

101010

1’100’000’010’000’0’0

Возврат к 000010

7. Разработка принципиальной схемы

В данном курсовом проекте при разработке принципиальной схемы были выбраны микросхемы серий К555 и КМ555 на основе ТТЛШ технологии. Данные серии обладают достаточно широкой элементной базой, исходя из которой, можно реализовать практически все узлы разрабатываемой микро-ЭВМ.

Подсчитав максимальное время задержки в схеме tmax = нс можно определить максимальную частоту генератора тактовых импульсов (ГТИ):

В разрабатываемой микро-ЭВМ все действия, связанные с ОЗУ, производятся над 24-разрядными знаковыми числами с плавающей запятой. Под программу выделяется 15 строк памяти ОЗУ и 50 строк – под данные. Отсюда можно рассчитать требуемый объём ОЗУ:

E = M * N,

Где E – объём памяти ОЗУ, M – число строк, N – разрядность строки.

E = (15 + 50) * 24 = 1560 бит.

Требуемый объём ПЗУ микрокоманд:

E = 43 * 15 = 645 бит.

Заключение

В данном курсовом проекте при разработке блока микропрограммного управления использовался смешанный автомат на жёстком и микропрограммном управлении, что позволило сократить объём используемой памяти ПЗУ микрокоманд и повысить быстродействие.

К выполненному проекту прилагается моделирующая программа работы микро-ЭВМ, позволяющая наглядно проследить все процессы выполнения команд.

Список литературы

  1. Майоров С.А., Кириллов В.В., Приблуда А.А., «Введение в микроЭВМ», Л.: Машиностроение, 1988.

  1. Шульгин О.А. и др., «Справочник по цифровым логическим микросхемам», часть 1 и 2, М.: ИДДК, 1998.

  1. Нефедов А.В., «Интегральные микросхемы и их зарубежные аналоги», справочник, М.: КубК-а, 1996.

  1. Мячев и др. «Персональные ЭВМ и микро-ЭВМ», М.: Высшая школа, 1989.

  1. Пильщиков В.Н., «Программирование на языке Ассемблера IBM PC», М.: «Диалог-МИФИ», 1998.

ПРИЛОЖЕНИЯ

Приложение А

Спецификация

Обозначение

Наименование

Кол-во

Примечание

Конденсаторы

С1 – С4

КМ-56-300-1мкФ ±5%

Микросхемы