Микро ЭВМ на основе МПК - 1804
Проектирование микроЭВМ на основе микропроцессорного комплекта серии 1804
Введение.
Современный этап научно технического прогресса характеризуется широким применением электроники и микроэлектроники во всех сферах жизни и деятельности человека. Важную роль при этом сыграло появление и быстрое совершенствование элементной базы для разработки и проектирования различных периферийных устройств и устройств вычислительной техники.
Вычислительные машины и комплексы применяются в настоящее время практически во всех отраслях жизнедеятельности человека – связи и передачи данных, медицине и в быту, измерительных и контролирующих системах, в системах автоматического управления и многих других, где играют немаловажную роль и поэтому должны отвечать высоким требованиям, как точности, так и надежности.
Особую роль, с недавнего времени, стали играть и так называемые специализированные или бортовые компьютеры. Эффективность различных современных подвижных и стационарных систем зависит во многом и от их качества. Основное назначение этого класса вычислительных устройств – сбор самой различной информации, как о состоянии окружающей среды, так и возможно, о состоянии самого объекта, её обработка и передача более высокому звену управления объектом.
Процесс проектирования данного класса вычислительных устройств определяется целым рядом факторов, которые необходимо учитывать при построении такого устройства. Этими факторами могут служить:
степень подвижности объекта, несущего бортовой компьютер;
степень сложности алгоритмов вычислений, производимых им и их объем;
точность получаемых, обрабатываемых и выходных данных.
Обычно функционирование таких вычислительных устройств происходит не автономно (хотя не исключён и такой вариант), а под управлением различных более мощных и стационарных объектов или комплексов. В связи с эти сложность разработки структуры и программного обеспечения к таким устройствам требует существенных временных и материальных затрат.
Область применения подобного класса вычислительных устройств можно сказать всеобъемлющая. Практически на любом подвижном объекте возможно (или даже просто необходимо) применение бортового компьютера, который может предоставлять оператору или управляющему устройству – человеку или машине, данные об объекте управления или даже самостоятельно принимать какие-либо решения. Необходимо также сказать, что применение таких вычислительных устройств уже достаточно широкое, что доказывает перспективность их дальнейших разработок и применения в жизни.
1. Разработка архитектуры микрокомпьютера.
1.1 Проектирование алгоритмов, выбор состава макроопераций, проектирование задач.
При реализации данного курсового проекта проектируемая микро ЭВМ должна была решать следующие задачи:
выполнение
арифметической операции
,
где
(
-
содержимое портов);
тест ОЗУ методом “Обращение по прямому и дополняющему адресам”;
На основании этих самых алгоритмов была выбрана система команд проектируемой микро ЭВМ (система микроопераций).
Изложенные выше алгоритмы представлены далее в виде блок-схем.
Рис.
1. Арифметическая операция
Рис. 2. Тест ОЗУ.
На основании данных алгоритмов для микро-ЭВМ была выбрана следующая система команд (микроопераций):
mov Reg, операнд
mov Reg, Reg
mov Reg, Mem
mov Mem, Reg
add операнд (к аккумулятору)
add Reg (к аккумулятору)
inc Reg
dec Reg
inc Mem
dec Mem
cmp операнд
jz адрес
jmp адрес
neg Reg
mut Reg (аккумулятор на Reg)
div Reg (аккумулятор на Reg)
in Reg (в Reg номер порта)
out Reg (в Reg номер порта)
shr Reg (сдвиг регистра вправо)
shl Reg (сдвиг регистра влево)
and Reg, операнд
and Reg (Reg с аккумулятором)
or Reg (аккумулятор с Reg)
xor Reg (аккумулятор с Reg)
1.2 Разработка обобщённой структуры микро ЭВМ на основе алгоритмов решения задач.
С учётом вышеизложенных алгоритмов обобщённую структуру микро ЭВМ можно представить следующим образом (рис. 3.).
Рис. 3. Обобщённая структура микро ЭВМ.
1.3 Синтез операционных автоматов для процессорных элементов микро ЭВМ.
В качестве операционного автомата для процессорных элементов микро ЭВМ выберем операционный автомат М-типа.
Автоматы данного типа меньшую аппаратную сложность, однако, производительность вычислений уменьшается до одной операции за такт. Логические условия в автомате М-типа могут формироваться как в АЛУ, так и в самих регистрах – путём соответствующих выводов к управляющему автомату.
Далее
синтезирован операционный автомат
М-типа, реализующий арифметическую
операцию, заданную в условии ().
Блок-схема микроопераций, реализующая данную математическую операцию представлена ниже. (Рис. 4.)
Рис. 4.1 Блок схема микроопераций.
Рис. 4.2 Блок схема микроопераций.
Рис. 4.3 Блок схема микроопераций.
В структуре М-автомата использованы две шины данных ШД1 и ШД2. Они соединены с входами АЛУ А1 и А2 соответственно. Разделим множество операндов АЛУ на два подмножества исходя из условий.
Если регистры Ri и Rj операнды одной микрооперации, то они включаются в различные подмножества.
Каждое слово R должно принадлежать хотя бы одному из подмножеств.
Подмножества формируются таким образом, чтобы затраты на коммутацию были минимальные.
Для определения каждого из подмножеств построим таблицу выполняющихся микроопераций, и распределим регистры по шинам.
Результат произведенных действий поместим в таблицу.
|
Содержание микроопераций |
ШД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] := Рг.См. +
|
Рг.См. |
Рг.Мн. |
|
Tд. := 1 |
- |
- |
|
Рг.Мт.[23.0] := R2(00.Рг.Мт.[23.0]) |
- |
Рг.Мт. |
|
Рг.Мн.[23.0] := L2(Рг.Мн.[23.0].00) |
- |
Рг.Мн. |
|
Рг.Х[23.0] := Рг.См.[23.0] |
Рг.См. |
- |
|
Рг.Х[23.0] :=
|
- |
Рг.Х |
|
Рг.К. := Рг.К.[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]
+
|
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]
+
|
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 :=
|
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 |
Dк |
I |
d1 |
T |
d2 |
LN |
d3 |
K |
d4 |
X |
d5 |
P |
d6 |
Чт |
d7 |
Дт |
d8 |
Дм |
d9 |
Сч |
d10 |
Мн |
d11 |
Мт |
d12 |
См |
d13 |
Тд |
d14 |
Т3 |
d15 |
Выполним кодирование микроопераций наборами управляющих сигналов:
|
|
|
|
|
|
|
|
- |
- |
|
|
|
- |
- |
|
|
|
- |
- |
|
|
|
- |
- |
|
|
|
- |
- |
|
|
|
|
- |
|
|
|
|
- |
|
|
|
- |
- |
|
|
|
|
- |
|
|
|
|
- |
|
|
|
- |
- |
|
|
|
|
|
|
|
|
- |
- |
|
|
|
- |
- |
|
|
|
|
|
|
|
|
- |
|
|
|
|
|
- |
|
|
|
|
- |
|
|
|
|
- |
|
|
|
|
- |
|
|
|
|
|
|
|
|
|
- |
|
|
|
- |
- |
|
|
|
|
- |
|
|
|
|
- |
|
|
|
- |
- |
|
|
|
- |
- |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- |
- |
|
|
|
|
- |
|
|
|
|
- |
|
|
|
- |
|
|
|
|
|
- |
|
|
|
|
- |
На основании полученных данных составим подмножества эквивалентных операторов:
;
;
Построим обобщенные операторы.
Класс
Для установки регистров
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 Эмуляция УА в микропроцессорной СУАМ.
Принципом организации корректного функционирования микро ЭВМ является факт того, что при выполнении определенных команд, выполняется некоторая совокупность микроопераций в тело которым выходит весь набор управляющих сигналов для выполнения определенных действий.
Таким образом, для каждой команды (микрооперации) существует некоторый набор микроопераций, содержащих в своем теле все необходимые управляющие сигналы, последовательное выполнение которых приводит к выполнению команды в целом.
Данная система реализации команд получила название принципа микропрограммной реализации команд и достаточно широко используется при реализации конкретных вычислительных устройств благодаря своей гибкости и производительности.
2.3 Проектирование УУ микро ЭВМ.
2.3.1 Процесс взаимодействия центральной и периферийной ЭВМ.
Очевидно, что разработанная микро ЭВМ является специализированной и не стоит на вершине цепочки управления, а потому необходимо иметь алгоритмы и средства, осуществляющие управление данной микро ЭВМ.
С учетом назначения разрабатываемого устройства (сбор и обработка информации), процесс взаимодействия центральной и периферийной ЭВМ можно обеспечить следующим образом: при поступлении запроса на прерывание от центральной ЭВМ, программа-обработчик данного прерывания производит опрос портов ввода-вывода данного прерывания и, в соответствии с алгоритмом вычисления заданной арифметической функции (ln x), производит обработку полученных данных. После этого периферийная ЭВМ инициирует запрос на прямой доступ к памяти и по каналу ПДП пересылает полученные в результате расчетов данные в ОЗУ центральной ЭВМ, после чего продолжает выполнение прерванной программы.
2.3.2 Устройство управления микро ЭВМ.
При функционировании микро ЭВМ, в частности при выполнении определенной программы возникает вопрос о времени выполнения определенных микроопераций. Это связано с тем, что некоторые операции выполняются быстрее, другие – медленнее. Поэтому встает вопрос о методах синхронизации некоторых блоков микро ЭВМ для избежания сбоев и ложных срабатываний. Очевидным и наименее сложным является метод тактирования элементов ЭВМ тактами, длительность которых больше максимального времени выполнения микроопераций. Однако из-за неэффективности данного способа (возможно значительное время простоя микро ЭВМ) применение этого метода оказывается неэффективным.
Для построения более эффективных вычислительных устройств может использован следующий метод: предлагается ввести в состав схемы микро ЭВМ схему управления длительностью такта.
В этом случае в Рг.Мк. выделяется определенное поле, которое и определяет время выполнения микрокоманды.
Чтобы избежать излишней громоздкости схемы управления длительностью такта при большом количестве команд с различным временем исполнения, имеет смысл разбить их на группы и применять к каждой группе первый алгоритм.
3. Проектирование структуры микро ЭВМ.
3.1 Проектирование памяти микро ЭВМ.
3.1.1 Проектирование локальной памяти процессорного элемента.
В локальной памяти процессорного элемента хранится микропрограммная интерпретация команд (микрокоманд) компьютера. Очевидно, что количество микросхем модулей памяти определяется двумя факторами:
разрядностью ПЗУ;
разрядностью регистра микрокоманд.
С учетом заданной микросхемы (556РТ14), функциональную схему локальной памяти процессорного элемента можно представить, как показано на рис. 12.
Адрес с выхода СУАМ поступает на адресные входы блока ПЗУ, и на выходных шинах микросхем появляется микрокоманда, поступающая в Рг.Мк.
Рис. 12. Функциональная схема локальной памяти процессорного элемента
3.1.2 Проектирование системы ПЗУ и ОЗУ.
Очевидно, что прикладные программы и другое служебное программное обеспечение находится в оперативном запоминающем устройстве, причем необходимо часть памяти организовать на ПЗУ. В этом случае в нем можно разместить наиболее часто используемые программы, например тест памяти и программу для расчета заданной арифметической операции. С учетом того, что данная микро ЭВМ является специализированной, в ПЗУ можно разместить и обработчики прерываний, которые могут произойти от внешних устройств (портов) центральной ЭВМ или устройства управления.
Обобщенную структурную схему ОЗУ можно представить как показано на рис. 13. Подробная принципиальная схема приведена в приложении 1.
3.1.3 Разработка системы адресации.
В разрабатываемой микро ЭВМ поддерживаются следующие методы адресации:
прямая;
непосредственная;
автоинкрементная;
относительная.
Для поддержки перечисленных методов адресации в структуре микро ЭВМ предусмотрен ряд аппаратной поддержки (наличие дополнительных управляющих регистров).
Рассмотрим данные методы адресации и их аппаратную поддержку более подробно.
Прямая адресация.
При считывании команды из памяти в регистр команд вместе с кодом операции попадает адрес первого операнда в выполняемом действии, который может быть передан в блок обработки данных через регистр Рг.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, позволяющая производить сбор и обработку информации, имеющая свою универсальную систему команд, с возможностью выполнения сложной арифметической функции.
Данная микро ЭВМ может быть использована в качестве периферийной вычислительной машины или как автономный бортовой компьютер в тех областях, где применение таких устройств является необходимым.