Разработка микро-ЭВМ, выполняющей программу вычисления 2-х матриц размерностью 4*4

Проектирование микро-ЭВМ. Программа вычисления матрицы. Кодирование программ и регистров, формат команды. Микропрограммное устройство управления. Граф-схемы выполнения операций. Прошивка ПЗУ микрокоманд, точек входа. Разработка принципиальной схемы.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 01.03.2013
Размер файла 1,1 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ

ВОСТОЧНО-СИБИРСКИЙ ГОСУДАРСТВЕННЫЙ

УНИВЕРСИТЕТ ТЕХНОЛОГИЙ И УПРАВЛЕНИЯ

ЭЛЕКТРОТЕХНИЧЕСКИЙ ФАКУЛЬТЕТ

Кафедра "Электронно-вычислительные системы"

КУРСОВОЙ ПРОЕКТ

по дисциплине "Теория проектирования ЭВМ”

Тема: " Разработка микроЭВМ, выполняющую программу вычисления 2-х матриц размерностью 4*4"

Выполнил: ст. ДОУ, 2010 г.н. Родионова А.А.

Руководитель: Базарова С.Б.

г. Улан-Удэ 2012г.

ВОСТОЧНО-СИБИРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНОЛОГИЧЕСКИЙ УНИВЕРСИТЕТ

ЭЛЕКТРОТЕХНИЧЕСКИЙ ФАКУЛЬТЕТ

Кафедра "Электронно-вычислительные машины"

ЗАДАНИЕ

на курсовой проект

Дисциплина: Теория проектирования ЭВМ

Исполнитель: Родионова А.А.

Руководитель: Базарова С.Б.

Срок выполнения проекта по графику: 20% к ___ нед., 40% к__нед., 60% к___нед., 100% к___нед.

1. Тема проекта: Разработка микроЭВМ, выполняющую программу вычисления 2-х матриц размерностью 4*4.

2. Техническое задание: Вариант 11. Требуется разработать микро-ЭВМ для вычисления матрицы , где и - известные матрицы разрядностью 4*4, элементы матрицы

числа в формате с плавающей запятой.

Графическая часть:

Лист 1: Структурная схема

Лист 2: Принципиальная схема

Лист 3: Временные диаграммы

Содержание расчетно-пояснительной записки (объем не менее 20 страниц, список литературы не менее 10 источников).

Исполнитель: ________ Родионова А.А.

Руководитель проекта: ________ Базарова С.Б.

Дата выдачи: "____" __________ _____ г.

Cодержание

  • Введение
  • 1. Программа вычисления матрицы
  • 1.1 Система команд микро-ЭВМ
  • 1.2 Кодирование команд
  • 1.3 Кодирование регистров
  • 1.4 Кодирование способов адресации
  • 1.5 Формат команды
  • 1.6. Текст программы
  • 1.7 Размещение программы в ПЗУ
  • 2. Структура микро-ЭВМ
  • 3. Устройство управления
  • 3.1 Микропрограммное устройство управления (МПУУ)
  • 3.2 Формат и адресация микрокоманд
  • 3.3 Список микроопераций
  • 3.4 Разбиение микроопераций на группы (микрокоманды)
  • 3.5 Формат микрокоманд
  • 4. Граф-схемы выполнения операций
  • 4.1 Граф-схема подготовительных операций - операций выборки команд из ОЗУ
  • 4.2 Граф-схема алгоритма команды MOV
  • 4.3 Граф-схема алгоритмов команд MUL,ADD
  • 4.4 Граф-схема алгоритма команды INC
  • 4.5 Граф-схема алгоритма команды JNE
  • 4.6 Граф-схема алгоритма команды CMP
  • 5. Прошивка ПЗУ микрокоманд
  • 5.1 Прошивка ПЗУ микрокоманд
  • 5.2 Прошивка ПЗУ точек входа
  • 6. Разработка принципиальной схемы
  • Заключение
  • Список использованной литературы

Введение

В конце 60-х годов начался серийный выпуск сравнительно небольших и дешевых мини-ЭВМ. Их предназначали для предприятий и организаций, где установка высокопроизводительных ЭВМ была экономически невыгодной. В их задачу первоначально входила автоматизация профессиональной работы в различных организациях, работа на предприятиях в качестве проблемно ориентированных ЭВМ. В 1977-78 году был начат выпуск семейства малых ЭВМ (СМ ЭВМ). Их часто называли управляющими вычислительными комплексами, так как они чаще всего использовались в системах управления различного рода. Однако, СМ 3-ей очереди, разработанные в последние годы относятся уже к ЭВМ четвертого поколения и имеют большую производительность, поэтому круг их применения резко расширился, и их активно используют в качестве автоматизированных рабочих мест, объединяют в вычислительные системы, и поручают им расчет экономических и статистических задач. С появлением больших интегральных схем связано развитие другого класса машин - микро-ЭВМ, и, как достижение этого направления - появление мощных профессиональных ПЭВМ, которые используются на рабочих местах для автоматизации труда, несложных расчетов и различного рода проектирования.

Проектирование микро-ЭВМ включает в себя разработку устройства управления и операционного устройства. Устройство управления содержит два блока (центральное и местное устройства управления). Центральное устройство управление в курсовом проекте реализуется на жесткой логике. Местное устройство управление является микропрограммным устройством. Центральное устройство управления предназначено для выборки команд, их декодирования и подготовки операндов, а также поддержания работы местного устройства управления. Местное устройство управления управляет работой АЛУ, формирует сигналы управления передачей данных между отдельными элементами проектируемой микро-ЭВМ. Последовательность формирования управляющих сигналов для МУУ определяется микропрограммой, хранящейся в ПЗУ микрокоманд устройства.

Проектирование микро-ЭВМ включает в себя разработку устройства управления и операционного устройства. Устройство управления содержит два блока (центральное и местное устройства управления). Центральное устройство управления в курсовом проекте реализуется на жесткой логике. Местное устройство управления является микропрограммным устройством. Центральное устройство управления предназначено для выборки команд, их декодирования и формирует сигналы управления передачей данных между отдельными элементами проектируемой микро-ЭВМ. Местное устройство управления управляет работой АЛУ. Последовательность формирования управляющих сигналов для МУУ определяется микропрограммой, хранящейся в ПЗУ микрокоманд устройства.

Программа вычисления матрицы

хранится в оперативной памяти.

1. Программа вычисления матрицы

1.1 Система команд микро-ЭВМ

Разработанная ЭВМ оперирует с 32-разрядными данными, представленными в формате с плавающей запятой. Формат данных показан на рис. 1.

Рис. 1. Формат данных

Система команд разбивается на группы: пересылка данных, арифметические операции, команды передачи управления, команды условных переходов.

В проектируемой микро-ЭВМ реализована следующая система команд: MOV - команда пересылки данных; MUL - команда умножения; ADD - команда сложения; INC - команда инкремента; CMP - команда сравнения; JNE - команда условного перехода; END - команда окончания программы.

1.2 Кодирование команд

Все команды кодируются тремя битами в поле "КОП" команды.

Общее количество типов различных команд - 7. Исходя и этого закодируем все встречающиеся типы команд. Кодировка команд представлена в таблице 1.

Таблица 1. Кодировка команд

Команда

Код команды

MOV

000

MUL

001

ADD

010

INC

011

CMP

100

JNE

101

END

110

1.3 Кодирование регистров

Одним из необходимых программно-доступных элементов являются регистры общего назначения. Они предназначены для промежуточного хранения данных, а также для хранения операндов АЛУ. Для вычисления заданной функции нам понадобилось восемь 32-битовых регистров, которые участвуют во многих командах. В этих случаях регистры общего назначения кодируются трехбитовым кодом, который размещается в соответствующем поле (или полях) формата команд. Регистры общего назначения кодируются тремя битами в полях Рг (приемник) и SS (источник). Кодировка регистров представлена в таблице 2.

Таблица 2. Кодировка регистров

Регистр

Код регистра

AX

000

BX

001

CX

010

DX

011

EX

100

FX

101

SI

110

DI

111

1.4 Кодирование способов адресации

Команды реализуют различные способы адресации, что упрощает организацию и использование сложных структур данных, а также расширяет возможности отдельных команд и повышает гибкость их применения.

Регистровая адресация. Операнд находится в одном из общих регистров.

матрица программа кодирование регистр

Непосредственная адресация. Непосредственными операндами являются константы длиной 22 бита (рис.2), которые размещаются с 9 по 30 бит команды.

Рис. 2. Формат числа с плавающей запятой в поле "константа" команды

Индексная адресация. Значение исполнительного адреса вычисляется как сумма смещения, находящегося в команде в поле адреса, и содержимого индексного регистра Si (регистра-модификатора). Данный способ обычно применяется для обращения к различным элементам одномерного массива, когда смещение определяет известный при ассемблировании начальный адрес массива, а индексный регистр, содержимое которого может модифицироваться при выполнении программы, определяет элемент массива.

Прямая адресация реализуется только по отношению к указателю IP. Прямая адресация не используется в командах, оперирующих данными, а применяется только в командах условных и безусловных переходов. В команде перехода указывается метка команды (значение IP), которой передается управление.

В разрабатываемой микро-ЭВМ команды должны выполнять пересылку данных:

непосредственно из поля регистра команд SS в регистр общего назначения (РОН) CC или SI;

из одного РОН в другой;

из ячеек ОЗУ (по приращению индекса) в РОН;

из РОН в ячейку ОЗУ (по приращению индекса).

А также в командах должна быть реализована возможность прямо в самой команде указывать адрес следующей команды при переходе по условию.

Отсюда выбираем следующие способы адресации, которые кодируются двумя битами в поле "СпА" (таблица 3).

Таблица 3. Кодировка способов адресации

Способ адресации

Код

Регистр - непосредственный операнд

000

Регистр - регистр

001

Регистр - ОЗУ (приращение индекса)

010

ОЗУ (приращение индекса) - Регистр

011

Прямая

100

1.5 Формат команды

Последовательность команд программы в ПЗУ. Массивы данных хранятся в ОЗУ. Для разработки системы команд необходимо определить формат команды. С учётом количества реализуемых в нашей микро-ЭВМ команд, количества способов адресации, разрядности шины адреса ОЗУ (для непосредственной адресации) и количества регистров общего назначения примем, что команда будет состоять из 24 разрядов. Такая разрядность ещё эффективна тем, что команда может целиком за 1 такт пересылаться из ОЗУ в регистр команд, поскольку шина данных между ПЗУ и регистром команд имеет 24-битную разрядность для работы с операндами.

Таким образом, в курсовом проекте для реализации команд микро-ЭВМ был использован формат команд, представленный на рис.3:

Рис. 3. Формат команды

КОП - код операции;

СпА - способ адресации;

Рг - регистр;

Адрес - адрес смещения;

Константа - числовое значение в формате с плавающей запятой.

1.6. Текст программы

Для вычисления матрицы

необходимо перемножить матрицы известным способом, результат перемножения будет выглядеть следующим образом:

Программа на языке ASSEMBLER показана в таблице 4.

Специальных средств для описания двумерных массивов в ассемблере нет. Двумерный массив нужно моделировать. На описании самих данных это почти никак не отражается - память под массив выделяется с помощью директив резервирования и инициализации памяти. Непосредственно моделирование обработки массива производится в сегменте кода, где программист, описывая алгоритм обработки ассемблеру, определяет, что некоторую область памяти необходимо трактовать как двумерный массив. При этом расположение элементов двумерного массива в памяти выбирается программистом: по строкам или по столбцам. Если последовательность однотипных элементов в памяти трактуется как двумерный массив, расположенный по строкам, то адрес элемента (I, j) вычисляется по формуле:

(база + количество_элементов_в_строке * размер_элемента * i+j)

Здесь i = 0…n-1 указывает номер строки, а j = 0…m-1 указывает номер столбца.

Учитывая описанные правила вычисления адреса элемента двумерного масива, расположенного в памяти по строкам, определим формулу нахождения эффективного адреса элементов наших массивов. Количество элементов в строке - 4.

Найдем, для примера, адрес элемента а (2,3). Массив a находится в оперативной памяти по адресу 40 в десятичной системе счисления.

Эффективный адрес а (2,3) = a + 4*1*2 + 3 = а + 35 = 40 + 11 = 51 или a (i, j) = a + 4*1*i + j = a + 4*i + j.

Для удобства восприятия представим алгоритм решения задачи на языке высокого уровня (Pascal):

for k: = 0 to 3 do {столбцы массива b}

for k: = 0 to 3 do {столбцы массива a}

for k: = 0 to 3 do {столбцы массива a}

c [i,k]: = c [i,k] + a [i,j] * b [j,k]

Таблица 4. Программа на языке ASSEMBLER

№ п/п

Метка

Операция

Операнды

Комментарий

0

MOV

CX

0

Обнуляем параметр k

1

MOV

DX

0

Обнуляем параметр i

2

MOV

EX

0

Обнуляем параметр j

3

@1:

MOV

DI

EX

j->DI

4

MOV

AX

4

5

MOV

BX

DX

i->BX

6

MUL

AX

BX

4*i

7

MOV

SI

AX

4*i - >SI

8

MOV

AX

a [SI] [DI]

9

MOV

DI

CX

k->DI

10

MOV

AX

4

11

MOV

BX

EX

j->BX

12

MUL

AX

BX

4*j

13

MOV

SI

AX

4*j - >SI

14

MOV

BX

b [SI] [DI]

15

MUL

AX

BX

a [i,j] * b [j,k]

16

MOV

FX

AX

a [i,j] * b [j,k] - >FX

17

MOV

AX

4

18

MOV

BX

DX

i->BX

19

MUL

AX

BX

4*i

20

MOV

SI

AX

4*i - >SI

21

MOV

BX

c [SI] [DI]

22

MOV

AX

FX

a [i,j] * b [j,k] - >AX

23

ADD

AX

BX

c [i,k] + a [i,j] * b [j,k]

24

MOV

c [SI] [DI]

AX

c [i,k] + a [i,j] * b [j,k] - >c [i,k]

25

INC

EX

j+1

26

CMP

EX

3

Проверка на равенство 3-м

27

JNE

@1

Переход на метку

28

INC

DX

i+1

29

MOV

EX

0

Обнуляем j

30

CMP

DX

3

Проверка на равенство 3-м

31

JNE

@1

Переход на метку

32

INC

CX

k+1

33

MOV

DX

0

Обнуляем i

34

CMP

CX

3

Проверка на равенство 3-м

35

JNE

@1

Переход на метку

36

END

выход из программы

1.7 Размещение программы в ПЗУ

Адресация ПЗУ производится с помощью СчК или См (сумматор исполнительного адреса). Разрядность адреса ПЗУ - 6 разрядов.

Таблица 5. Программа в ПЗУ

№ п/п

Описание

КОП

СпА

Рг

Рг

Адрес в ПЗУ

Адрес

Константа

0 2

3 5

6 8

9 11 13 23

0

MOV CX, 0

000

000

010

000000000000000

000000

1

MOV DX, 0

000

000

011

000000000000000

000001

2

MOV EX, 0

000

000

100

000000000000000

000010

3

@1: MOV DI, EX

000

001

111

100хххххххххххх

000011

4

MOV AX, 4

000

000

000

010000111000000

000100

5

MOV BX, DX

000

001

001

011хххххххххххх

000101

6

MUL AX, BX

001

001

000

001хххххххххххх

000110

7

MOV SI, AX

000

001

110

000хххххххххххх

000111

8

MOV AX, a [SI] [DI]

000

010

000

000000ххххххххx

001000

9

MOV DI, CX

000

001

111

010хххххххххххх

001001

10

MOV AX, 4

000

000

000

010000111000000

001010

11

MOV BX, EX

000

001

001

100хххххххххххх

001011

12

MUL AX, BX

001

001

000

001хххххххххххх

001100

13

MOV SI, AX

000

001

110

000хххххххххххх

001101

14

MOV BX, b [SI] [DI]

000

010

001

010000ххххххххx

001110

15

MUL AX, BX

001

001

000

001хххххххххххх

001111

16

MOV FX, AX

000

001

101

000хххххххххххх

010000

17

MOV AX, 4

000

000

000

010000111000000

010001

18

MOV BX, DX

000

001

001

011хххххххххххх

010010

19

MUL AX, BX

001

001

000

001хххххххххххх

010011

20

MOV SI, AX

000

001

110

000хххххххххххх

010100

21

MOV BX, c [SI] [DI]

000

010

001

100000ххххххххx

010101

22

MOV AX, FX

000

001

000

101хххххххххххх

010110

23

ADD AX, BX

010

001

000

001хххххххххххх

010111

24

MOV c [SI] [DI], AX

000

011

000

100000ххххххххx

011000

25

INC EX

011

001

ххх

100хххххххххххх

011001

26

CMP EX, 3

100

000

100

010000101100000

011010

27

JNE @1

101

110

ххх

0000011хххххххх

011011

28

INC DX

011

001

ххх

011хххххххххххх

011100

29

MOV EX, 0

000

000

100

000000000000000

011101

30

CMP DX, 3

100

000

011

010000101100000

011110

31

JNE @1

101

100

ххх

0000011хххххххх

011111

32

INC CX

011

001

ххх

010хххххххххххх

100000

33

MOV DX, 0

000

000

011

000000000000000

100001

34

CMP CX, 3

100

000

010

010000101100000

100010

35

JNE @1

101

100

ххх

0000011хххххххх

100011

36

END

110

xхх

ххх

xхххххххххххххх

100100

Данные располагаются в оперативной памяти и занимают 32 разряда.

Разрядность адреса ОЗУ - 6 разрядов.

000000 - начало двумерного массива данных А (0);

010000 - начало двумерного массива данных В (16);

100000 - начало двумерного массива данных С (результата) (32);

Объем ПЗУ, занимаемый программой равен 36*3 байта=108 байт.

Объем оперативной памяти, занимаемый данными равен 48*4 байта=192 байт.

2. Структура микро-ЭВМ

Рис.4. Упрощенная структурная схема микро-ЭВМ

ЦУУ - центральное устройство управление реализованное на жесткой логике.

ОЗУ - оперативное запоминающее устройство, в котором находится программа и данные.

БР - блок регистров, включающий в себя регистры общего назначения

ОБ - операционный блок содержит арифметико-логическое устройство, реализованное по схеме многофункционального АЛУ.

Микро - ЭВМ содержит, в своей структуре ОЗУ данных и ПЗУ команд программы. Также содержит устройство управления: ЦУУ. К ЦУУ относится дешифратор ЦУУ, регистр команд (РгК), счетчик команд (СчК), сумматор исполнительного адреса (См), дешифратор способа адресации (ДшСпА, дешифратор регистра (ДшРг), счетчик адреса микрокоманд (СчАМК), регистр микрокоманд (РгМК), дешифратор микроопераций, дешифратор логических условий,

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

ША - 6-разрядная шина адреса оперативной памяти и 6-разрядная шина адреса ПЗУкоманд.

Принцип работы микроЭВМ состоит в следующем. Функционирование ЭВМ синхронизируется тактовыми импульсами. Время выполнения каждой команды неодинаково и занимает несколько тактов. Команды делятся на две группы: арифметические и неарифметические. Выполнение всех команд начинается с загрузки в РгК из ОЗУ по адресу в СчК. Содержимое поля КОП РгК дешифрируется и затем производится выполнение команды. Если команда не предназначена для перехода, то после ее выполнения специальным управляющим сигналом содержимое счетчика команд инкрементируется. Если команда - переход, то в процессе ее выполнения в СчК из РгК передается адрес перехода.

Первоначально при запуске микро-ЭВМ обнуляется счетчик команд, по этому адресу из ОЗУ команд считывается первая команда, которая записывается в регистр команд. Затем дешифрируются код операции, способы адресации. Если в регистре команд арифметическая команда, то передается управление на блок МПУУ, с помощью комбинационных схем в СчАМК загружается начальный адрес микропрограммы в ПЗУМК. На выходе дешифратора микроопераций вырабатываются управляющие сигналы. После окончания выполнения команды в ЦУУ поступает сигнал конца операции. После чего СчК увеличивается на единицу.

3. Устройство управления

Центральное устройство управления в проектируемой микро-ЭВМ реализуется на микропрограммном управлении.

3.1 Микропрограммное устройство управления (МПУУ)

Блок микрокоманд (БМК или МПУУ) подготавливает операнды, управляет работой АЛУ, формирует сигналы управления передачей данных между отдельными элементами проектируемой микро-ЭВМ. Последовательность формирования управляющих сигналов определяется микропрограммами, хранящимися в ПЗУ микрокоманд.

3.2 Формат и адресация микрокоманд

Существует несколько методов микропрограммирования. При горизонтальном микропрограммировании каждому разряду операционной части микрокоманды ставится в соответствие определенный управляющий функциональный сигнал, то есть определенная микрооперация. При таком микропрограммировании операционная часть содержит m разрядов (m - общее число микроопераций).

При вертикальном микропрограммировании микрооперация определяется не состоянием одного из разрядов микрокоманды, а двоичным кодом, содержащимся в операционной части микрокоманды. Количество разрядов операционной части:

m0=int (log2m).

В настоящее время наибольшее распространение получило смешанное программирование, в котором сочетаются методы горизонтального и вертикального микропрограммирования. При смешанном микропрограммировании множество микроопераций V разбивается на k - подмножеств (полей), каждое содержит определенное количество функциональных сигналов. В общем случае:

V=?Vj

Микрооперации внутри каждого из подмножеств кодируются либо горизонтальным, либо вертикальным методом. Можно выделить два способа: горизонтально-вертикальный и вертикально-горизонтальный.

При горизонтально-вертикальном микропрограммировании подмножества микроопераций кодируются горизонтально, а микрооперации внутри группы кодируются вертикально.

При вертикально-горизонтальном микропрограммировании подмножества микроопераций кодируются вертикально, а микрооперации внутри группы кодируются горизонтально.

При естественной адресации используются микрокоманды двух типов: операционная и управляющая. В структуре операционной микрокоманды нет адресного поля, указаны только микрооперации. По умолчанию адрес следующей микрокоманды образуется инкрементированием адреса текущей микрокоманды. Управляющая микрокоманда изменяет линейный порядок следования микрокоманд. В управляющей микрокоманде содержится код проверяемого

осведомительного сигнала (код логического условия) и адрес следующей микрокоманды при выполнении условия. При невыполнении условия адрес следующей микрокоманды образуется инкрементированием текущей микрокоманды.

При принудительной адресации в каждой микрокоманде содержится операционная и адресная части. Если микрокоманда не изменяет линейного порядка микрокоманд, то в операционной части указаны микрооперации, а в адресной части микрокоманды поле логических условий пусто и указан только один адрес следующей микрокоманды. Если микрокоманда изменяет линейный порядок микрокоманд, то наряду с микрооперациями в поле логических условий содержится проверяемое значение осведомительного сигнала и указываются два адреса.

3.3 Список микроопераций

Обозн.

Микрооперация

Управляющие сигналы

1

СчК: = 0

2

СчК: = СчК + 1

СчКом: "+1"="1"

3

ШД_32: = ОЗУ (чтение)

ОЗУ: Read="1"

4

RgКом: = ШД_32

RgКОП, RgDD, RgSS: С="1"

5

ПЗУ точек входа: = RgDD

6

Предустановка Сч_МО

Сч_МО: ПУ="1"

7

Выдача данных из RgDD

RgDD: Z="1"

8

Выдача данных из RgSS

RgSS: Z="1"

9

Дешифрация ДшЗапРОН

ДшЗапРОН: С="1"

10

Дешифрация ДшЧтРОН

ДшЧтРОН: С="1"

11

ШД/ША_16: = RgSI

RgSI: Z="1"

12

Rg1_СМ: = ШД/ША_16

Rg1_СМ: С="1"

13

Rg2_СМ: = ШД/ША_16

Rg2_СМ: С="1"

14

Синхронизация СМ

СМ: С="1"

15

ШД/ША_16: = BF_СМ

BF_СМ: С="1"

16

ШД/ША_16: = RgDI

RgDI: Z="1"

17

ОЗУ: = ШД_32 (запись)

ОЗУ: Write="1"

18

Rg1_АЛУ: = ШД_32

Rg1_АЛУ: С="1"

19

Rg2_АЛУ: = ШД_32

Rg2_АЛУ: С="1"

20

Синхрон. АЛУ

АЛУ: С="1"

21

Предустановка СчКом

СчКом: ПУ="1"

22

FL: =РгСОЛО

РгСОЛО: С="1"

23

ШД_32: = BF_АЛУ

BF_АЛУ: С="1"

3.4 Разбиение микроопераций на группы (микрокоманды)

Все выше перечисленные микрооперации можно разбить на группы, называемые микрокомандами. Микрокоманды позволяют выполнять за 1 такт несколько независимых друг от друга микроопераций. Исходя из схемы проектируемой микро-ЭВМ видно, что максимальное число микроопераций, которые могут выполняться независимо друг от друга - 4. Следовательно, разбиваем множество микроопераций на 4 группы:

Код

1 группа

2 группа

3 группа

4 группа

001

RgКом: = ШД_32

ШД/ША_16: = RgSI

Rg1_СМ: = ШД/ША_16

010

ПЗУ точек входа: = RgDD

Предустановка Сч_МО

Синхронизация СМ;

ШД/ША_16: = BF_СМ;

011

Выдача данных из RgDD

Выдача данных из RgSS

Дешифрация ДшЗапРОН

Дешифрация ДшЧтРОН

100

ОЗУ: = ШД_32 (запись)

Синхрон. АЛУ

СчК: = СчК + 1

ШД/ША_16: = RgDI;

101

FL: =РгСОЛО

Rg1_АЛУ: = ШД_32

Предустановка СчКом

ШД_32: = BF_АЛУ

110

Rg2_АЛУ: = ШД_32

СчК: = 0

Rg2_СМ: = ШД/ША_16;

ШД_32: = ОЗУ (чтение)

В каждой группе формируется своя нумерация микроопераций, которая будет использоваться при прошивке ПЗУ.

Код

Условие

000

СА = 00

001

СА = 01

010

СА = 10

011

ZF=0 SF=1

100

ZF=1 SF=0

101

Безусловный переход

3.5 Формат микрокоманд

В курсовом проекте использовалось три типа микрокоманд: команды условного и безусловного переходов и операционные команды. Прошивка микрокоманд в ПЗУ осуществлена горизонтально-вертикальным способом кодирования с естественной адресацией.

Общий формат микрокоманды:

Признак микрокоманды

КОП1

КОП2

КОП3

КОП4

Бит выбора 1

Бит выбора 2

1 бит

3 бита

3 бита

3 бита

3 бита

1 бит

1 бит

Длина микрокоманды составляет 13 бит. При использовании операционных команд признак микрокоманды устанавливается равным "0".

При использовании команд условного и безусловного переходов надо отметить, что:

- признак микрокоманды устанавливается равным "1";

- КОП1 содержит код проверяемого условия;

- КОП2 и КОП3 "объединяются" и содержат адрес перехода на метку в случае

выполнения условия (или без условия);

КОП4 не используется.

Если условие не выполняется, то соответственно переход на метку не происходит.

4. Граф-схемы выполнения операций

4.1 Граф-схема подготовительных операций - операций выборки команд из ОЗУ

4.2 Граф-схема алгоритма команды MOV

4.3 Граф-схема алгоритмов команд MUL,ADD

4.4 Граф-схема алгоритма команды INC

4.5 Граф-схема алгоритма команды JNE

4.6 Граф-схема алгоритма команды CMP

Команда END не имеет граф-схемы, поскольку она реализуется аппаратно - при обнаружении кода END останавливается ГТИ.

5. Прошивка ПЗУ микрокоманд

5.1 Прошивка ПЗУ микрокоманд

#

Адрес

Код

Примечание

0

000000

1'101'000'011'000'0'0

Безусловный переход

1

000001

0'000'110'000'000'0'0

СчК=0

2

000010

0'000'000'100'000'0'0

СМ"0" - true

3

000011

0'001'001'000'000'0'0

4

000100

0'010'010'000'000'0'0

5

000101

1'000'011'010'000'0'0

Точка входа MOV, if - СА=000

6

000110

1'001'011'000'000'0'0

if - СА=001

7

000111

1'010'010'000'000'0'0

if - СА=010

8

001000

0'000'000'001'001'0'0

СА=011 - false

9

001001

0'011'000'110'000'0'0

10

001010

0'000'000'010'010'0'0

11

001011

0'000'000'000'001'0'0

12

001100

0'000'000'110'100'0'0

13

001101

0'000'000'010'010'0'0

14

001110

0'100'011'011'000'0'0

15

001111

1'101'000'010'000'0'0

Возврат к 000010

16

010000

0'000'000'001'001'0'0

СА=010 - true

17

010001

0'000'011'110'000'0'0

18

010010

0'000'000'010'010'0'0

19

010011

0'000'000'000'001'0'0

20

010100

0'000'000'110'100'0'0

21

010101

0'000'000'010'010'0'0

22

010110

0'011'000'011'110'0'0

23

010111

1'101'000'010'000'0'0

Возврат к 000010

24

011000

0'011'011'011'011'0'0

СА=001 - true

25

011001

1'101'000'010'000'0'0

Возврат к 000010

26

011010

0'011'011'011'000'0'0

СА=000 - true

27

011011

1'101'000'010'000'0'0

Возврат к 000010

28

011100

0'011'101'000'011'0'0

Точка входа MUL

29

011101

0'110'011'000'011'0'0

30

011110

0'011'100'011'101'1'0

31

011111

1'101'000'010'000'0'0

Возврат к 000010

32

100000

0'011'101'000'011'0'0

Точка входа ADD

33

100001

0'110'011'000'011'0'0

34

100010

0'011'100'011'101'0'1

35

100011

1'101'000'010'000'0'0

Возврат к 000010

36

100100

0'011'000'000'011'0'0

Точка входа INC

37

100101

0'000'000'110'000'0'0

38

100110

0'011'000'011'010'0'0

39

100111

1'101'000'010'000'0'0

Возврат к 000010

40

101000

1'011'101'011'000'0'0

Точка входа JNE, if - FL=10

41

101001

1'100'101'011'000'0'0

if - FL=10

42

101010

1'101'000'010'000'0'0

if - FL=10 - false, Возврат к 000010

43

101011

0'000'011'101'000'0'0

44

101100

1'101'000'011'000'0'0

Возврат к 000011

45

101101

0'010'101'000'011'0'0

Точка входа CMP

46

101110

0'110'011'000'011'0'0

47

101111

0'101'100'000'101'0'0

48

110000

1'101'000'010'000'0'0

Возврат к 000010

5.2 Прошивка ПЗУ точек входа

Команда

Код

Адрес точки входа

MOV

000

000101

MUL

001

011100

ADD

010

100000

INC

011

100100

CMP

100

101101

JNE

101

101000

6. Разработка принципиальной схемы

При разработке принципиальной схемы были выбраны микросхемы серий К555 и КМ555 на основе ТТЛШ технологии. Серии К555 и КМ555 обладают достаточно широкой элементной базой, исходя из которой, можно реализовать практически все узлы разрабатываемой микро-ЭВМ.

Задержки распространения сигнала всех используемых микросхем в наносекундах представлены в таблице 6.

Длительность машинного такта равняется одному периоду синхроимпульсов. За один машинный такт может выполняться одновременно несколько микроопераций (т.е. одна микрокоманда). Поэтому для того, чтобы определить минимальную длительность синхросигнала, необходимо определить максимальное время одновременного выполнения микроопераций (или одной микрокоманды) за один машинный такт, которое определяется задержками распространения сигнала на микросхемах, участвующих при выполнении этих микроопераций.

Таблица 6. Временные задержки на микросхемах

Тип

t, нс

Примечание

К555ИР23

40

Регистр

К555РЕ4

85

ПЗУ (ROM)

К555МРУ9А

35

ОЗУ (RAM)

К555ИМ6

24

Сумматор (SM)

К555ИД10

50

Дешифратор (DC)

К555ИР38

45

BF

К555ИЕ13

50

Счетчик (CT2)

К555КП16

27

Мультиплексор (MX)

К555ЛЕ3

15

2 - 4 ИЛИ - НЕ

К555ЛЕ 4

12

3 - 3 - ИЛИ

К555ЛИ 3

15

3 - 3И

К555ЛН 2

17

6 - НЕ

К555ТР 2

18

4 R-S триггера

К555ИП3

62

АЛУ

Таким образом, подсчитав время выполнения самой длинной микрокоманды, а в нашем случае это выполнение микрокоманды при выполнении арифметической команды MUL. Эта микрокоманда состоит из 4-х микроопераций: синхронизация АЛУ, чтение буфера АЛУ, выдача данных из регистра команд и дешифрация ДшЗапРОН.

Таким образом общее время выполнения микрокоманды будет следующим: 62+45+40+50 = 197 нс.

Подсчитав максимальное время задержки в схеме tmax = 197 нс можно определить максимальную частоту генератора тактовых импульсов (ГТИ):

= 1/197нс = 5 МГц

Требуемый объём ПЗУ микрокоманд: E = 48 * 13 = 624 бит.

Заключение

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

К выполненному проекту прилагается программа моделирования работы микро-ЭВМ.

Список использованной литературы

Майоров С.А., Кириллов В.В., Приблуда А.А., "Введение в микроЭВМ", Л.: Машиностроение, 1988.

Шульгин О.А. и др., "Справочник по цифровым логическим микросхемам", часть 1 и 2, М.: ИДДК, 1998.

Нефедов А.В., "Интегральные микросхемы и их зарубежные аналоги", справочник, М.: КубК-а, 1996.

Мячев и др. "Персональные ЭВМ и микро-ЭВМ", М.: Высшая школа, 1989.

Пильщиков В.Н., "Программирование на языке Ассемблера IBM PC", М.: "Диалог-МИФИ", 1998.

Приложения

Поз. обозначение

Наименование

Кол.

Примечание

Конденсаторы

С1, С3, С5

К50-6-1000мкФ*16B

3

С2, С4, С6

К10-17-10нФ*25В

3

Микросхемы

DD1-DD20, DD41-DD43, DD54, DD55,

К555ИР23

30

Регистр

DD58, DD83-DD94

DD48-DD51, DD67, DD68

К555РЕ4

6

ПЗУ (ROM)

DD59-DD62

К555МРУ9А

4

ОЗУ (RAM)

DD56, DD57

К555ИМ6

2

Сумматор (SM)

DD13, DD14, DD72-DD75

К555ИД10

6

Дешифратор (DC)

DD25-DD32, DD63-DD66

К555И38

12

Буфер (BF)

DD52, DD53, DD70, DD71

К555ИЕ13

7

Счетчик (CT2)

DD69

К555КП16

1

Мультиплексор (MX)

DD78

К555ЛЕ3

1

2 - 4 ИЛИ - НЕ

DD79

К555ЛЕ4

1

3 - 3 - ИЛИ

DD80, DD82

К555ЛИ3

1

3 - 3И

DD81

К555ЛН2

2

6 - НЕ

DD47

К555ТР2

1

4 R-S триггера

К555ИП3

8

АЛУ

Принципиальная схема

Структурная схема

Размещено на Allbest.ru


Подобные документы

  • Распределение шин интерфейса, их связь с внешней системой, выбор алгоритмов арифметических и логических операций. Построение структурной схемы микро-ЭВМ, определение формата микрокоманд, составление таблиц соответствия двоичного и символьного кодирований.

    курсовая работа [1,6 M], добавлен 05.06.2013

  • Разработка различных программ для вычисления X и Y по формуле, для вычисления интеграла, для вычисления таблицы значений функции и для вычисления элементов вектора. Составление блок-схемы программы. Ввод значений, описание переменных и условия расчета.

    контрольная работа [148,1 K], добавлен 08.11.2013

  • Анализ двоичной, восьмеричной и шестнадцатеричной систем счисления и перевода десятичных чисел. Форматы хранения чисел с плавающей точкой. Программа для преобразования массива констант в формат числа с плавающей точкой на эмуляторе микро-ЭВМ СМ-1800.

    курсовая работа [266,9 K], добавлен 24.12.2013

  • Понятие определителя матрицы, математические и алгоритмические основы его расчета, функциональные модели, блок-схемы и программная реализация. Сущность метода Гаусса для решения систем линейных алгебраических уравнений и вычисления определителя матрицы.

    контрольная работа [455,2 K], добавлен 18.01.2010

  • Разработка линейной программы на языке С++. Разработка программ с разветвленной структурой. Составление по заданному варианту схемы алгоритма и программы вычисления тригонометрической функции с абсолютной погрешностью с использованием разложения в ряд.

    лабораторная работа [1,2 M], добавлен 12.01.2011

  • Разработка структурной схемы устройства управления учебным роботом. Выбор двигателя, микроконтроллера, микросхемы, интерфейса связи и стабилизатора. Расчет схемы электрической принципиальной. Разработка сборочного чертежа устройства и алгоритма программы.

    курсовая работа [577,8 K], добавлен 24.06.2013

  • Характеристика основных способов вычисления определителя матрицы с помощью языка программирования СИ. Выбор инструментальных и аппаратных средств, его обоснование. Общая структура и принцип действия программного модуля, описание блок-схем алгоритмов.

    курсовая работа [262,4 K], добавлен 08.06.2010

  • Принципы разработки математических моделей, алгоритмов и программ. Составление программы вычисления функции с использованием нестандартных функций. Нахождение значения корней нелинейного уравнения по методу касательных. Программа для вычисления интеграла.

    курсовая работа [568,3 K], добавлен 07.03.2015

  • Разработка программы для нахождения минимального и максимального элемента массива, вычисления среднего арифметического строк и столбцов транспортирования матриц. Характеристика основных программных средств. Описание программы, руководство пользователя.

    курсовая работа [2,4 M], добавлен 26.04.2015

  • Функциональный состав микро-ЭВМ, разработка системы команд. Описание взаимодействия всех блоков электронно-вычислительной машины при выполнении команд программы. Арифметико-логическое устройство, кэш-память процессора, функциональное моделирование.

    курсовая работа [981,4 K], добавлен 27.05.2013

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.