Министерство образования Российской Федерации
Восточно-Сибирский ГосударственныйТехнологический Университет
Кафедра ЭВС
КУРСОВОЙ ПРОЕКТ
по дисциплине:
«Теория проектирования ЭВМ»
на тему:
«Проектирование микро-ЭВМ»
Выполнили: ст.гр.627-1 Пугасеев М.В. и
ст.гр.627-2 Иванова В.А.
Руководитель: к.т.н., доц. Базарова С.Б.-М.
г. Улан-Удэ,
2001 г.
Министерствообразования Российской Федерации
Восточно-Сибирскийгосударственный технологический университет
Электротехническийфакультет
Кафедра ЭВС
ЗАДАНИЕ
на курсовой проект
покурсу:Теория проектирования ЭВМ.
выполнили: ст. гр. 627-1 Пугасеев М.В. и ст. гр.627-2 Иванова В.А.
руководительпроекта: Базарова С.Б.-М.
срок выполненияпроекта: 20% к нед., 40% к нед., 60% к нед., 80% к __ нед., 100% к нед.
Защита проекта 2001 г.
1. Тема проекта: Разработка микро-ЭВМ, выполняющей программу вычисленияфункции F = (a2·b) / (c+d). .
2. Техническоезадание: Разработатьмикро-ЭВМ, выполняющую программу вычисления функции, где F,a,b,c,d – массивы из 10 элементов 24-разрядных знаковых чисел сплавающей запятой. Система команд не содержит команду вычитания. Шины адресов иданных разделены. Программа и данные размещаются в ОЗУ. .
3. Перечень листов графической части:
лист1:Структурная схема;
лист2:Принципиальная схема;
лист3:Временные диаграммы.
Руководитель проекта .
Дата выдачи 2001 г.
Содержание
1. Введение…
2. Команды микро-ЭВМ…
2.1. Формат команд…
2.2. Кодировка команд…
2.3. Кодировка регистров…
2.4. Кодировка способовадресации…
3. Программа реализации функции…
4. Центральное устройство управления…
4.1. Микропрограммноеустройство управления…
4.2. Список микроопераций…
4.3. Разбиениемикроопераций на группы (микрокоманды)…
4.4. Формат микрокоманд…
5. Граф-схемы выполнения операций…
5.1. Граф-схемаподготовительных операций – выборки команд из ОЗУ…
5.2. Граф-схема алгоритмакоманды MOV…
5.3. Граф-схема алгоритмакоманды MUL…
5.4. Граф-схема алгоритмакоманды ADD…
5.5. Граф-схема алгоритмакоманды DIV…
5.6. Граф-схема алгоритмакоманды INC…
5.7. Граф-схема алгоритмакоманды LOOP…
6. Прошивка ПЗУ микрокоманд…
7. …
Заключение…
Списоклитературы…
Приложения…
Приложение А…
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. Разбиение микроопераций на группы (микрокоманды).
Все выше перечисленные микрооперации можно разбить на группы, называемыемикрокоманда