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

Проектирование микроЭВМ на основе микропроцессорного комплекта серии 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

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 Эмуляция УА в микропроцессорной СУАМ.

            В микро ЭВМ функции управляющего автомата реализует блок микропроцессорного управления. Структурная схема БМУ представлена на рис. 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, позволяющая производить сбор и обработку информации, имеющая свою универсальную систему команд, с возможностью выполнения сложной арифметической функции.

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