Проектирование микроЭВМ на основе микропроцессорного комплекта серии 1804

Министерство образования Республики Беларусь Белорусский
Государственный Университет Информатики и Радиоэлектроники
Кафедра ЭВМ
Пояснительная записка
к курсовому проекту по курсу
"СИФО ЭВМ", на тему:
"Проектирование микроЭВМ на основе
микропроцессорного комплекта серии 1804"
Выполнил:
студент группы 500501
Балахонов Е.В.
Минск 1999
Введение.
Современный этап научно технического прогресса характеризуется широким
применением электроники и микроэлектроники во всех сферах жизни и деятельности
человека. Важную роль при этом сыграло появление и быстрое совершенствование
элементной базы для разработки и проектирования различных периферийных устройств и
устройств вычислительной техники.
Вычислительные машины и комплексы применяются в настоящее время
практически во всех отраслях жизнедеятельности человека – связи и передачи данных,
медицине и в быту, измерительных и контролирующих системах, в системах
автоматического управления и многих других, где играют немаловажную роль и поэтому
должны отвечать высоким требованиям, как точности, так и надежности.
Особую роль, с недавнего времени, стали играть и так называемые
специализированные или бортовые компьютеры. Эффективность различных современных
подвижных и стационарных систем зависит во многом и от их качества. Основное
назначение этого класса вычислительных устройств – сбор самой различной информации,
как о состоянии окружающей среды, так и возможно, о состоянии самого объекта, её
обработка и передача более высокому звену управления объектом.
Процесс проектирования данного класса вычислительных устройств определяется
целым рядом факторов, которые необходимо учитывать при построении такого
устройства. Этими факторами могут служить:
- степень подвижности объекта, несущего бортовой компьютер;
- степень сложности алгоритмов вычислений, производимых им и их объем;
- точность получаемых, обрабатываемых и выходных данных.
Обычно функционирование таких вычислительных устройств происходит не
автономно (хотя не исключён и такой вариант), а под управлением различных более
мощных и стационарных объектов или комплексов. В связи с эти сложность разработки
структуры и программного обеспечения к таким устройствам требует существенных
временных и материальных затрат.
Область применения подобного класса вычислительных устройств можно сказать
всеобъемлющая. Практически на любом подвижном объекте возможно (или даже просто
необходимо) применение бортового компьютера, который может предоставлять оператору
или управляющему устройству – человеку или машине, данные об объекте управления
или даже самостоятельно принимать какие-либо решения. Необходимо также сказать, что
применение таких вычислительных устройств уже достаточно широкое, что доказывает
перспективность их дальнейших разработок и применения в жизни.
1. Разработка архитектуры микрокомпьютера.
1.1 Проектирование алгоритмов, выбор состава
макроопераций, проектирование задач.
При реализации данного курсового проекта проектируемая микро ЭВМ должна
была решать следующие задачи:
- выполнение арифметической операции , где ( - содержимое
портов);
- тест ОЗУ методом «Обращение по прямому и дополняющему адресам»;
На основании этих самых алгоритмов была выбрана система команд
проектируемой микро ЭВМ (система микроопераций).
Изложенные выше алгоритмы представлены далее в виде блок-схем.
Рис. 1. Арифметическая операция
Рис. 2. Тест ОЗУ.
На основании данных алгоритмов для микро-ЭВМ была выбрана следующая
система команд (микроопераций):
1. mov Reg, операнд
2. mov Reg, Reg
3. mov Reg, Mem
4. mov Mem, Reg
5. add операнд (к аккумулятору)
6. add Reg (к аккумулятору)
7. inc Reg
8. dec Reg
9. inc Mem
10. dec Mem
11. cmp операнд
12. jz адрес
13. jmp адрес
14. neg Reg
15. mut Reg (аккумулятор на Reg)
16. div Reg (аккумулятор на Reg)
17. in Reg (в Reg номер порта)
18. out Reg (в Reg номер порта)
19. shr Reg (сдвиг регистра вправо)
20. shl Reg (сдвиг регистра влево)
21. and Reg, операнд
22. and Reg (Reg с аккумулятором)
23. or Reg (аккумулятор с Reg)
24. xor Reg (аккумулятор с Reg)
1.2 Разработка обобщённой структуры микро ЭВМ на основе
алгоритмов решения задач.
С учётом вышеизложенных алгоритмов обобщённую структуру микро ЭВМ можно
представить следующим образом (рис. 3.).
Рис. 3. Обобщённая структура микро ЭВМ.
1.3 Синтез операционных автоматов для процессорных
элементов микро ЭВМ.
В качестве операционного автомата для процессорных элементов микро ЭВМ
выберем операционный автомат М-типа.
Автоматы данного типа меньшую аппаратную сложность, однако,
производительность вычислений уменьшается до одной операции за такт. Логические
условия в автомате М-типа могут формироваться как в АЛУ, так и в самих регистрах –
путём соответствующих выводов к управляющему автомату.
Далее синтезирован операционный автомат М-типа, реализующий
арифметическую операцию, заданную в условии ( ).
Блок-схема микроопераций, реализующая данную математическую операцию
представлена ниже. (Рис. 4.)
Рис. 4.1 Блок схема микроопераций.
Рис. 4.2 Блок схема микроопераций.
Рис. 4.3 Блок схема микроопераций.
В структуре М-автомата использованы две шины данных ШД1 и ШД2. Они
соединены с входами АЛУ А1 и А2 соответственно. Разделим множество операндов АЛУ
на два подмножества исходя из условий.
1. Если регистры Ri и Rj операнды одной микрооперации, то они включаются в
различные подмножества.
2. Каждое слово R должно принадлежать хотя бы одному из подмножеств.
3. Подмножества формируются таким образом, чтобы затраты на коммутацию
были минимальные.
Для определения каждого из подмножеств построим таблицу выполняющихся
микроопераций, и распределим регистры по шинам.
Результат произведенных действий поместим в таблицу.
Содержание микроопераций
ШД1
ШД2
Рг. I[3.0] := 1
-
1
Рг. Т[23.0] := 0
-
-
Рг. LN[23.0]:=0
-
-
Рг. К[3.0] := 10
-
10
Рг. Х[23.0] := Х
-
Х
Рг. Х[23.0] := Рг. X[23.0] – 1
-
Рг. Х
Рг. Р[23.0] := Рг. Х[23.0]
-
Рг.Х
Рг. Чт.[23.0] := 0
-
-
Рг. Дт.:=Рг.I.
-
Рг.I
Рг.Дм.[23.0]:=Рг.Х[23.0]
-
Рг.Х
Рг.Сч.[23.0] := 23
-
23
Рг.Дм.[23.0] := Рг.Дм.[23.0] + Рг.Дт + 1
Рг.Дм.
Рг.Дт.
Т3 := 1
-
-
Т3 := 0
-
-
Рг.Дм. := Рг.Дм.[23.0] + Рг. Дт. [23.0]
Рг.Дм.
Рг.Дт.
Рг.Дм. := L1(Рг.Дм.[23.0].0)
Рг.Дм.
-
Рг.Чт. := L1(Рг.Чт.[23.0].0)
-
Рг.Чт.
Рг.Чт.[23.0] := Рг.Чт.[23.0] + 1
-
Рг.Чт.
Рг.Сч.[23.0] := Рг.Сч.[23.0] – 1
-
Рг.Сч.
Рг.Т. := Рг.Чт.[23.0]
-
Рг.Чт.
Рг.LN[23.0] := Рг.LN[23.0] + Рг.Т.[23.0]
Рг.LN
Рг.Т
Рг.I[23.0] := Рг.I[23.0] + 1
-
Рг.I
Рг.См.[23.0] := 0
-
-
Рг.Мн.[23.0] := Рг.Х[23.0]
-
Рг.Х
Рг.Мт.[23.0] := Рг.Р[23.0]
-
Рг.Р
Рг.Сч.[23.0] := 13
-
13
Tд. := 0
-
-
Рг.См.[23.0] := Рг.См.[23.0] + Рг.Мн.[23.0]
Рг.См.
Рг.Мн.
Рг.См.[23.0] := Рг.См. + L1(Рг.Мн.[23.0].0)
Рг.См.
Рг.Мн.
Рг.См.[23.0] := Рг.См. + Рг.Мн.[23.0] + 1
Рг.См.
Рг.Мн.
Tд. := 1
-
-
Рг.Мт.[23.0] := R2(00.Рг.Мт.[23.0])
-
Рг.Мт.
Рг.Мн.[23.0] := L2(Рг.Мн.[23.0].00)
-
Рг.Мн.
Рг.Х[23.0] := Рг.См.[23.0]
Рг.См.
-
Рг.Х[23.0] := Рг.Х.[23.0] + 1
-
Рг.Х
Рг.К. := Рг.К.[23.0] – 1
-
Рг.К.
Таким образом в первое подмножество попадают регистры:
- Рг.Дм;
- Рг.См;
- Рг.LN.
Во второе подмножество попадают регистры:
- Рг.Х;
- Рг.I;
- Рг.Дт;
- Рг.Чт;
- Рг.Т;
- Рг.Сч;
- Рг.Р;
- Рг.Мн.;
- Рг.Мт;
- Рг.К.
Поставим в соответствие каждой микрооперации выполняемой функции оператор
присваивания АЛУ. Эти операторы характеризуют действия, выполняемые
непосредственно в АЛУ.
Составим таблицу соответствующих микроопераций:
Содержание оператора D
Приемник
результата
D := 000…01
D->Рг.I
D := 000…0
D->Рг.Т.
D := 000…0
D->Рг.LN
D := 000…01010
D->Рг.К
D := A2[23.0]
D->Рг.Х
D := A2[23.0] + 111…1
D->Рг.Х
D := A2[23.0]
D->Рг.Р
D := 00..00
D->Рг.Чт
D := A2[23.0]
D->Рг.Дт
D := A2[23.0]
D->Рг.Дм.
D := 000…010111
D->Рг.Сч.
D := A1[23.0] + A2[23.0] + 1
D->Рг.Дм.
D := 000…01
D->Т3
D := 000…0
D->Т3
D := A1[23.0] + A2[23.0]
D->Рг.Дм.
D := L1(A1[23.0].0)
D->Рг.Дм.
D := L1(A2[23.0].0)
D->Рг.Чт
D := A2[23.0] + 1
D->Рг.Чт
D := A2[23.0] + 1111…11
D->Рг.Сч.
D := A2[23.0]
D->Рг.Т.
D := A1[23.0] + A2[23.0]
D->Рг.LN
D := A2[23.0] + 1
D->Рг.I
D := 000…00
D->Рг.См.
D := A2[23.0]
D->Рг.Мн.
D := A2[23.0]
D->Рг.Мт.
D := 000…01101
D->Рг.Сч.
D := 000…00
D->Тд
D := A1[23.0] + A2[23.0]
D->Рг.См.
D := A2[23.0] + L1(A2[23.0].0)
D->Рг.См.
D := A1[23.0] + A2[23.0] + 1
D->Рг.См.
D := 000…01
D->Тд.
D := R2(00.A2[23.0])
D->Рг.Мт
D := L2(A2[23.0].00)
D->Рг.Мн.
D := A1[23.0]
D->Рг.Х
D := A2[23.0] + 1
D->Рг.Х
D := A2[23.0] + 111…11
D->Рг.К.
Построим таблицу выбора источников операндов для АЛУ и таблицу выбора
приемников результатов.
Таблица источников.
Источники
Сигналы управления
A1
A2
ai
bj
-
I
-
b1
-
T
-
b2
LN
-
a3
-
-
К
-
b4
-
X
-
b5
-
P
-
b6
-
Чт
-
b7
-
Дт
a9
b8
Дм
-
-
-
Сч
-
b10
-
Мн
-
b11
-
Мт
-
b12
См
-
a13
-
Таблица приемников.
Приемник
Сигнал управления
D->Рг.k

I
d1
T
d2
LN
d3
K
d4
X
d5
P
d6
Чт
d7
Дт
d8
Дм
d9
Сч
d10
Мн
d11
Мт
d12
См
d13
Тд
d14
Т3
d15
Выполним кодирование микроопераций наборами управляющих сигналов:
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
На основании полученных данных составим подмножества эквивалентных операторов:
;
;
Построим обобщенные операторы.
1. Класс
Для установки регистров
2. Класс
D = B1 + B2 + B3
При этом
Объединим классы k3, k4, k5, k7 в класс k8. Для этого обобщенный оператор примет вид:
Класс :
D = B1 + B2
Класс :
D = B1
Построим структурные схемы узлов, реализующих обобщенные операторы:
Класс :
Класс :
Класс :
На основании полученных выше данных построим обобщенную схему
операционного автомата. (Рис. 5).
Рис. 5. Обобщенная схема операционного автомата.
1.4 Разработка управляющих автоматов для процессорных
элементов микро ЭВМ.
При синтезе управляющего автомата условимся о следующих допущениях –
комбинаторный сумматор, использованный при синтезе операционного автомата
формирует следующие признаки:
P – знак числа
Число больше нуля – P = "0"
Число меньше нуля – P = "1"
Z – признак нуля
Число равно нулю – Z = "1"
Число не равно нулю – Z = "0"
Для построения управляющего автомата произведем разметку ГСА (Рис. 6).
Рис. 6.1 Схема разметки ГСА.
Рис. 6.2 Схема разметки ГСА.
Рис. 6.3 Схема разметки ГСА.
000000
000001
1
-
-
000001
000010
1
D5
000010
000011
1
D5 D6
000011
000100
1
D4
000100
000101
1
D4 D6
000101
000110
1
D4 D5
000110
000111
1
D4 D5 D6
000111
001000
1
D3
001000
001001
1
D3 D6
001001
001010
1
D3 D5
001010
001011
1
D3 D5 D6
001011
001100
1
D3 D4
001100
001101
D3 D4 D6
001110
D3 D4 D5
001101
001111
1
D3 D4 D5 D6
001110
001111
1
D3 D4 D5 D6
001111
010000
1
D2
010000
010001
1
D2 D6
010001
010011
D2 D5 D6
010010
D2 D5
010010
010100
1
D2 D4
010011
010101
1
D2 D4 D6
010100
010110
1
D2 D4 D5
010101
010110
1
D2 D4 D5 D6
010110
010111
D2
010000
010111
011000
1
D2 D3
011000
011001
1
D2 D3 D6
011001
011010
1
D2 D3 D5 D6
011010
011011
1
D2 D3 D4
011011
011100
1
D2 D3 D4 D6
011100
011101
1
D2 D3 D4 D5
011101
011110
1
D2 D3 D4 D5 D6
011110
011111
D1
100000
D1 D6
100001
D1 D5 D6
100011
D1 D5
100010
D1 D5
011111
100010
1
D1 D5
100000
100010
1
D1 D5
100001
100011
1
D1 D5 D6
100010
100110
1
D1 D4 D5
100011
100110
1
D1 D4 D5
100100
011110
1
D2 D3 D4 D5
100101
100100
1
D1 D4
100110
100101
D1 D4 D6
100111
D1 D4 D5 D6
100111
101000
1
D1 D3
101000
101001
1
D1 D3 D6
101001
000000
-
001000
D3
Обобщая полученные данные можно построить общую схему управляющего
автомата (Рис. 7).
Рис. 7. Общая схема управляющего автомата.
2. Разработка структурной схемы микро ЭВМ.
2.1 Эмуляция ОА в микропроцессорной среде с разрядно-
модульной организацией.
Для достижения требуемой разрядности при использовании микропроцессорной
секции К1804ВС1 необходимо объединить между собой шесть микропроцессорных
секций. Функциональная схема объединения МПС приведена на рис. 8.
При эмуляции ОА в микропроцессорной среде будем использовать следующие
соглашения:
Номер РОН
Регистр в ОА
1
Рг.I
2
Рг.T
3
Рг.К
4
Рг.Х
5
Рг.Р
6
Рг.Чт.
7
Рг.Дт.
8
Рг.Сч.
9
Рг.Мн.
10
Рг.Мт.
11
Рг.LN
12
Рг.DM
13
Рг.СМ.
Рис.8 Функциональная схема объединения МПС.
Сигналы, поступающие на МПС:
А(4 разр.), В(4), I(9), D(24), (1)
Для реализации микроопераций ОА необходимо подать на МПС следующие наборы
сигналов (в соответствии с форматом):
:
0000
0001
010
000111
00..00
1
:
0000
0010
010
000111
00..00
0
:
0000
1011
010
000111
00..00
0
:
0000
0011
010
000111
00..00
0
:
0000
0100
010
000111
X
0
:
0100
0100
010
001100
00..00
0
:
0100
0101
010
000100
00..00
0
:
0000
0110
010
000111
00..00
0
:
0001
0111
010
000100
00..00
0
:
0100
1100
010
000100
00..00
0
:
0000
1000
010
000111
00..0010111
0
:
0111
1100
010
001001
00..00
1
:
0000
1110
010
000111
00..00
1
:
0000
1110
010
000111
00..00
0
:
0111
1100
011
000001
00..00
0
:
0000
1100
110
000011
00..00
0
:
0000
0110
110
000011
00..00
0
:
0000
0110
010
000011
00..00
1
:
0000
1000
010
001011
00..00
0
:
0110
0010
010
000100
00..00
0
:
0010
1011
010
000001
00..00
0
:
0000
0001
010
000011
00..00
1
:
0000
1101
010
000111
00..00
0
:
0100
1001
010
000100
00..00
0
:
0101
1010
010
000100
00..00
0
:
0000
1000
010
000111
00..01101
0
:
0000
1111
010
000111
00..00
0
:
1001
1101
010
000001
00..00
0
:
1001
0000
110
000100
00..00
0
0000
1101
010
000001
00..00
0
:
1001
1101
010
001001
00..00
1
:
0000
1111
010
000111
00..00
1
:
0000
1010
100
000011
00..00
0
0000
1010
100
000011
00..00
0
:
0000
1001
110
000001
00..00
0
:
1101
0100
010
000100
00..00
0
:
0000
0100
010
010011
00..00
1
:
0000
0011
010
001011
00..00
0
2.2 Эмуляция УА в микропроцессорной СУАМ.
В микро ЭВМ функции управляющего автомата реализует блок
микропроцессорного управления. Структурная схема БМУ представлена на рис. 9.
Рис. 9. Структурная схема БМУ.
Принципом организации корректного функционирования микро ЭВМ является
факт того, что при выполнении определенных команд, выполняется некоторая
совокупность микроопераций в тело которым выходит весь набор управляющих сигналов
для выполнения определенных действий.
Таким образом, для каждой команды (микрооперации) существует некоторый
набор микроопераций, содержащих в своем теле все необходимые управляющие сигналы,
последовательное выполнение которых приводит к выполнению команды в целом.
Данная система реализации команд получила название принципа
микропрограммной реализации команд и достаточно широко используется при
реализации конкретных вычислительных устройств благодаря своей гибкости и
производительности.
2.3 Проектирование УУ микро ЭВМ.
2.3.1 Процесс взаимодействия центральной и периферийной ЭВМ.
Очевидно, что разработанная микро ЭВМ является специализированной и не стоит
на вершине цепочки управления, а потому необходимо иметь алгоритмы и средства,
осуществляющие управление данной микро ЭВМ.
С учетом назначения разрабатываемого устройства (сбор и обработка
информации), процесс взаимодействия центральной и периферийной ЭВМ можно
обеспечить следующим образом: при поступлении запроса на прерывание от центральной
ЭВМ, программа-обработчик данного прерывания производит опрос портов ввода-вывода
данного прерывания и, в соответствии с алгоритмом вычисления заданной
арифметической функции (ln x), производит обработку полученных данных. После этого
периферийная ЭВМ инициирует запрос на прямой доступ к памяти и по каналу ПДП
пересылает полученные в результате расчетов данные в ОЗУ центральной ЭВМ, после
чего продолжает выполнение прерванной программы.
Таким образом, алгоритм взаимодействия ПЭВМ и ЦЭВМ можно отобразить
следующей обобщенной блок-схемой, представленной на рис. 10.
Рис. 10. Алгоритм взаимодействия ПЭВМ и ЦЭВМ.
2.3.2 Устройство управления микро ЭВМ.
При функционировании микро ЭВМ, в частности при выполнении определенной
программы возникает вопрос о времени выполнения определенных микроопераций. Это
связано с тем, что некоторые операции выполняются быстрее, другие – медленнее.
Поэтому встает вопрос о методах синхронизации некоторых блоков микро ЭВМ для
избежания сбоев и ложных срабатываний. Очевидным и наименее сложным является
метод тактирования элементов ЭВМ тактами, длительность которых больше
максимального времени выполнения микроопераций. Однако из-за неэффективности
данного способа (возможно значительное время простоя микро ЭВМ) применение этого
метода оказывается неэффективным.
Для построения более эффективных вычислительных устройств может использован
следующий метод: предлагается ввести в состав схемы микро ЭВМ схему управления
длительностью такта. Структурная схема такого решения может быть представлена как
показано на рис. 11.
Рис.11. Структурная схема схемы управления длительностью такта.
В этом случае в Рг.Мк. выделяется определенное поле, которое и определяет время
выполнения микрокоманды.
Чтобы избежать излишней громоздкости схемы управления длительностью такта
при большом количестве команд с различным временем исполнения, имеет смысл разбить
их на группы и применять к каждой группе первый алгоритм.
3. Проектирование структуры микро ЭВМ.
3.1 Проектирование памяти микро ЭВМ.
3.1.1 Проектирование локальной памяти процессорного элемента.
В локальной памяти процессорного элемента хранится микропрограммная
интерпретация команд (микрокоманд) компьютера. Очевидно, что количество микросхем
модулей памяти определяется двумя факторами:
- разрядностью ПЗУ;
- разрядностью регистра микрокоманд.
-
С учетом заданной микросхемы (556РТ14), функциональную схему локальной
памяти процессорного элемента можно представить, как показано на рис. 12.
Адрес с выхода СУАМ поступает на адресные входы блока ПЗУ, и на выходных
шинах микросхем появляется микрокоманда, поступающая в Рг.Мк.
Рис. 12. Функциональная схема локальной памяти процессорного элемента
3.1.2 Проектирование системы ПЗУ и ОЗУ.
Очевидно, что прикладные программы и другое служебное программное
обеспечение находится в оперативном запоминающем устройстве, причем необходимо
часть памяти организовать на ПЗУ. В этом случае в нем можно разместить наиболее часто
используемые программы, например тест памяти и программу для расчета заданной
арифметической операции. С учетом того, что данная микро ЭВМ является
специализированной, в ПЗУ можно разместить и обработчики прерываний, которые могут
произойти от внешних устройств (портов) центральной ЭВМ или устройства управления.
Обобщенную структурную схему ОЗУ можно представить как показано на рис. 13.
Подробная принципиальная схема приведена в приложении 1.
3.1.3 Разработка системы адресации.
В разрабатываемой микро ЭВМ поддерживаются следующие методы адресации:
- прямая;
- непосредственная;
- автоинкрементная;
- относительная.
Для поддержки перечисленных методов адресации в структуре микро ЭВМ
предусмотрен ряд аппаратной поддержки (наличие дополнительных управляющих
регистров).
Рассмотрим данные методы адресации и их аппаратную поддержку более
подробно.
1. Прямая адресация.
При считывании команды из памяти в регистр команд вместе с кодом операции
попадает адрес первого операнда в выполняемом действии, который может быть передан
в блок обработки данных через регистр Рг.ADR. (при наличии соответствующих
управляющих сигналов в Рг.Мк.), второй адрес операнда необходимо получить считав в
регистр входных данных следующее слово команды из памяти.
2. Непосредственная.
При данном способе адресации в теле команды присутствует сам операнд. Таким
образом в регистр команд попадает только код операции, а параметр считывается на
следующем такте в регистр входных данных. При реализации данного метода адресации
дополнительного аппаратного оборудования не требуется.
3. Автоинкрементная.
При данном способе адресации в качестве номера автоинкрементного регистра
используется одно из полей считанного в регистр команд слова. Для аппаратной
поддержки данного способа адресации используется регистр с возможностью
переключения его выходных шин в третье состояние (высокого сопротивления), выходы
которого коммутируются на адресные входы А и В блока обработки данных (МПС).
Рис. 13 Структурная схема ОЗУ.
4. Относительная.
При реализации данного метода адресации были учтены следующие
обстоятельства: При считывании слова из оперативной памяти в регистр команд попадает
поле (смещение) адресуемого операнда. Это поле может быть передано в блок обработки
данных для вычисления исполнительного адреса, в случае, если выставлены разрешающие
сигналы в Рг.Мк. Передача этого поля в БОД осуществляется через регистр ADR, который
коммутируется на входы данных МПС и имеет возможность переключения своих входных
шин в состояние высокого сопротивления.
Обобщая все выше сказанное, можем представить регистр команд в виде,
показанном на рис. 14.
Поле кода операции
Адрес операнда
Номер автоинкрементного регистра
Смещение операнда.
Рис. 14. Регистр команд.
3.2 Разработка системы ввода-вывода и системы прерываний.
3.2.1 Разработка системы ввода-вывода.
Для адресации портов ввода-вывода будем использовать младшую адресную часть
шины адреса и введем идентификатор обращения к портам (памяти). Для передачи
(считывания) в порт данных будем использовать младшую часть шины данных.
В этом случае укрупненная функциональная схема портов ввода-вывода может
быть представлена в виде, как показано на рис. 15.
Рис. 15. Функциональная схема портов ввода-вывода.
3.2.2 Разработка системы прерываний.
При функционировании микро ЭВМ возможно возникновение ситуаций, когда
требуется немедленное вмешательство процессора. Такими ситуациями для
проектируемого устройства могут быть:
- запрос данных от центральной ЭВМ;
- запись новой информации в порт ввода-вывода;
- другие запросы от устройства управления.
При появлении запроса на прерывание, контроллер прерываний через
приоритетный шифратор выдает на ПНА номер вектора прерывания и ведет счет
вложенных прерываний. При достижении двух уровней вложенности прерываний
контроллер игнорирует все запросы вплоть до окончания обработки последнего
произошедшего прерывания.
Структурная схема такого контроллера представлена на рис. 16.
Рис. 16. Структурная схема контроллера прерываний.
3.3 Проектирование системы ПДП.
В некоторых случаях возникает необходимость в передаче данных без помощи
процессора. В этом случае является необходимым использование системы прямого
доступа к памяти. Применительно к разрабатываемой микро ЭВМ использование системы
ПДП необходимо при запросе от центральной ЭВМ на передачу ей данных. В этом случае
процессор отключается от шины и все функции по формированию управляющих сигналов
берет на себя контроллер прямого доступа к памяти (ПДП). С учетом этого и структуры
памяти центральной ЭВМ (память динамическая на основе микросхем 565РУ6),
структурная схема контроллера ПДП может быть представлена, как показано на рис. 17.
Рис. 17. Структурная схема контроллера ПДП.
3.4 Разработка внутреннего интерфейса микрокомпьютера.
Совокупность аппаратных средств, предназначенных для связи отдельных частей
микрокомпьютера называют внутренним интерфейсом ЭВМ.
Во внутреннем интерфейсе можно выделить следующие основные части:
- шина адреса (для управления адресными элементами микро ЭВМ);
- шина данных (для обмена операндами);
- шина управления (совокупность управляющих сигналов для заданного режима
работы).
В разрабатываемой микро ЭВМ все вышеперечисленные компоненты
используются, что позволяет упростить протоколы обмена и максимально увеличить
производительность.
4. Разработка микропрограммного обеспечения.
4.1 Микропрограммная интерпретация команд языка
компьютера.
Всякая команда из системы команд микро ЭВМ представляет собой некоторый
набор микроопераций прошитых в ПЗУ микрокоманд, которые выполняются в случае
считывания данной команды в регистр команд. При этом отдельные микрооперации
попадают в регистр микрокоманд, который по сути дела т выставляет управляющие
сигналы ко всем управляемым элементам микро ЭВМ, обеспечивая тем самым корректное
выполнение заданной отдельной микрооперации и команды в целом.
Для демонстрации порядка выполнения команд в виде некоторой
последовательности микрокоманд рассмотрим формат регистра микрокоманд:

п/п
Название
Назначение
0-3
UI0 - UI3
Инструкция для УСА
4-15
D0 - D11
Адрес для перехода в СУАМ
16-24
I0 – I8
Инструкция для МПС
25 - 32
A, B
Адресные входы БОД
33 – 45
SI0 – SI12
Операция СУСС
46
C0
Входной перенос в МПС
47
Разрешение выдачи с DI
48
Разрешение выдачи с ADR
49
Разрешение выдачи с RON
50
Разрешение выдачи с A, B с Рг.Мк.
51
Разрешение на запись в DO
52
Разрешение выдачи с DO
53
Разрешение на запись в Рг.А
54
Разрешение на выдачу А
55
Обращение к портам ОЗУ
56
Чтение – запись
57
Запрос на PDP
58
Запрет сдвигов
Таким образом, разрядность регистра микрокоманд – 58 разрядов. Следовательно,
для реализации ПЗУ микрокоманд потребуется 15 микросхем 556РТ14.
Рассмотрим микропрограммную реализацию некоторых команд микро ЭВМ
(макрокоманд):
MOV REG, операнд
1)
1110
XXXXXXXXXXXX
011000011
XXXX
0000
XXXXXXXXXXXXX
1111 011 001 101
2)
1110
XXXXXXXXXXXX
011000111
XXXX
XXXX
XXXXXXXXXXXXX
0010 111 111 101
Аналогичным образом строятся все микрокоманды.
4.2 Разработка программы арифметической операции.
Программа вычисления ln x в командах данной микро ЭВМ будет выглядеть
следующим образом:
MOV
R1,
1
MOV
R2,
0
MOV
R11,
0
MOV
R3,
0
MOV
R4,
X
DEC
R4
M6:
MOV
R5,
R4
M1:
MOV
R6,
0
MOV
R7,
R1
MOV
R12,
R4
MOV
A0,
R7
SUB
R7
CMP
0
JA
MZ
MOV
R14,
1
JMP
M3
MZ:
MOV
R14,
0
M3:
SHL
R12
MOV
R0,
R12
SUB
R7
CMP
0
JA
M4
SHL
R6
ADD
R7
MOV
R12,
R0
JMP
M5
M4:
SHL
R6
INC
R6
MOV
R12
R2
M5:
DEC
R8
MOV
R0,
R8
CMP
0
JZ
M6
MOV
R2,
R6
MOV
R0,
R11
INC
R1
MOV
R13,
0
MOV
R9,
R4
MOV
R10,
R5
MOV
R0,
R9
MUL
R10
MOV
R4,
R0
NEG
R4
DEC
R3
MOV
R0,
R3
CMP
0
JZ
M7
JMP
M0
M7
END
4.3 Разработка служебного программного обеспечения.
Текст программы теста ОЗУ:
M0:
MOV
R0,
7FFF
MOV
R1,
0
MOV
[R0],
R1
DEC
R0
CMP
0
JZ
M1
JMP
M0
M1:
MOV
R1,
0
M2:
MOV
R0,
[R1]
CMP
0
JNZ
ERROR
MOV
[R1],
111..11
DEC
R5
MOV
R0,
R5
SUB
R1
MOV
R6,
R0
MOV
R0,
[R6]
CMP
0
JNZ
ERROR
MOV
[R6],
11..11
MOV
R0,
R1
CMP
3FFF
JNZ
MZ
MOV
R1,
0
M3:
MOV
R0,
[R1]
CMP
0
JNZ
ERROR
MOV
[R1],
0
MOV
R0,
R5
DEC
R0
SUB
R1
MOV
R6,
R0
MOV
R0,
[R6]
CMP
0
JNZ
ERROR
MOV
[R6],
0
MOV
R0,
R1
CMP
3FFF
JNZ
M3
JMP
OK
ERROR:
HALT
OK:
END
Заключение.
Таким образом в процессе выполнения курсового проекта была создана микро
ЭВМ на комплекте серии 1804, позволяющая производить сбор и обработку информации,
имеющая свою универсальную систему команд, с возможностью выполнения сложной
арифметической функции.
Данная микро ЭВМ может быть использована в качестве периферийной
вычислительной машины или как автономный бортовой компьютер в тех областях, где
применение таких устройств является необходимым.
1
45