Главная              Рефераты - Информатика

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

Выполним кодирование микроопераций наборами управляющих сигналов:

- -

- -

- -

- -

- -

-

-

- -

-

-

- -

- -

- -

-

-

-

-

-

-

- -

-

-

- -

- -

- -

-

-

-

-

-

На основании полученных данных составим подмножества эквивалентных операторов:

;

;

Построим обобщенные операторы.

  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. Алгоритм взаимодействия ПЭВМ и ЦЭВМ.