Помощь в учёбе, очень быстро...
Работаем вместе до победы

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

КурсоваяПомощь в написанииУзнать стоимостьмоей работы

Проектирование микро-ЭВМ включает в себя разработку устройства управления и операционного устройства. Устройство управления содержит два блока (центральное и местное устройства управления). Центральное устройство управления в курсовом проекте реализуется на жесткой логике. Местное устройство управления является микропрограммным устройством. Центральное устройство управления предназначено для… Читать ещё >

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

МИНИСТЕРСТВО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ ВОСТОЧНО-СИБИРСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕХНОЛОГИЙ И УПРАВЛЕНИЯ ЭЛЕКТРОТЕХНИЧЕСКИЙ ФАКУЛЬТЕТ Кафедра «Электронно-вычислительные системы»

КУРСОВОЙ ПРОЕКТ по дисциплине «Теория проектирования ЭВМ»

Тема: «Разработка микроЭВМ, выполняющую программу вычисления 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

MUL

ADD

INC

CMP

JNE

END

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

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

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

Регистр

Код регистра

AX

BX

CX

DX

EX

FX

SI

DI

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Код

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

Регистр — регистр

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

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

Прямая

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

№ п/п

Метка

Операция

Операнды

Комментарий

MOV

CX

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

MOV

DX

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

MOV

EX

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

@1:

MOV

DI

EX

j->DI

MOV

AX

MOV

BX

DX

i->BX

MUL

AX

BX

4*i

MOV

SI

AX

4*i — >SI

MOV

AX

a [SI] [DI]

MOV

DI

CX

k->DI

MOV

AX

MOV

BX

EX

j->BX

MUL

AX

BX

4*j

MOV

SI

AX

4*j — >SI

MOV

BX

b [SI] [DI]

MUL

AX

BX

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

MOV

FX

AX

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

MOV

AX

MOV

BX

DX

i->BX

MUL

AX

BX

4*i

MOV

SI

AX

4*i — >SI

MOV

BX

c [SI] [DI]

MOV

AX

FX

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

ADD

AX

BX

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

MOV

c [SI] [DI]

AX

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

INC

EX

j+1

CMP

EX

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

JNE

@1

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

INC

DX

i+1

MOV

EX

Обнуляем j

CMP

DX

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

JNE

@1

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

INC

CX

k+1

MOV

DX

Обнуляем i

CMP

CX

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

JNE

@1

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

END

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

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

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

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

№ п/п

Описание

КОП

СпА

Рг

Рг

Адрес в ПЗУ

Адрес

Константа

0 2

3 5

6 8

9 11 13 23

MOV CX, 0

MOV DX, 0

MOV EX, 0

@1: MOV DI, EX

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

MOV AX, 4

MOV BX, DX

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

MUL AX, BX

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

MOV SI, AX

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

MOV AX, a [SI] [DI]

0ххххххххx

MOV DI, CX

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

MOV AX, 4

MOV BX, EX

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

MUL AX, BX

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

MOV SI, AX

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

MOV BX, b [SI] [DI]

10 000ххххххххx

MUL AX, BX

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

MOV FX, AX

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

MOV AX, 4

MOV BX, DX

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

MUL AX, BX

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

MOV SI, AX

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

MOV BX, c [SI] [DI]

100 000ххххххххx

MOV AX, FX

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

ADD AX, BX

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

MOV c [SI] [DI], AX

100 000ххххххххx

INC EX

ххх

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

CMP EX, 3

JNE @1

ххх

11хххххххх

INC DX

ххх

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

MOV EX, 0

CMP DX, 3

JNE @1

ххх

11хххххххх

INC CX

ххх

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

MOV DX, 0

CMP CX, 3

JNE @1

ххх

11хххххххх

END

xхх

ххх

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

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

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

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

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

100 000 — начало двумерного массива данных С (результата) (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 Список микроопераций

Обозн.

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

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

СчК: = 0

СчК: = СчК + 1

СчКом: «+1» ="1″

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

ОЗУ: Read="1″

RgКом: = ШД32

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

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

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

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

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

RgDD: Z="1″

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

RgSS: Z="1″

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

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

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

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

ШД/ША16: = RgSI

RgSI: Z="1″

Rg1_СМ: = ШД/ША16

Rg1_СМ: С="1″

Rg2_СМ: = ШД/ША16

Rg2_СМ: С="1″

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

СМ: С="1″

ШД/ША16: = BF_СМ

BF_СМ: С="1″

ШД/ША16: = RgDI

RgDI: Z="1″

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

ОЗУ: Write="1″

Rg1_АЛУ: = ШД32

Rg1_АЛУ: С="1″

Rg2_АЛУ: = ШД32

Rg2_АЛУ: С="1″

Синхрон. АЛУ

АЛУ: С="1″

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

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

FL: =РгСОЛО

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

ШД32: = BF_АЛУ

BF_АЛУ: С="1″

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

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

Код

1 группа

2 группа

3 группа

4 группа

RgКом: = ШД32

ШД/ША16: = RgSI

Rg1_СМ: = ШД/ША16

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

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

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

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

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

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

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

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

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

Синхрон. АЛУ

СчК: = СчК + 1

ШД/ША16: = RgDI;

FL: =РгСОЛО

Rg1_АЛУ: = ШД32

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

ШД32: = BF_АЛУ

Rg2_АЛУ: = ШД32

СчК: = 0

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

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

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

Код

Условие

СА = 00

СА = 01

СА = 10

ZF=0 SF=1

ZF=1 SF=0

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

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 Прошивка ПЗУ микрокоманд

#

Адрес

Код

Примечание

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

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

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

СчК=0

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

СМ" 0″ - true

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

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

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

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

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

if — СА=001

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

if — СА=010

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

СА=011 — false

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

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

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

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

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

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

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

Возврат к 10

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

СА=010 — true

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

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

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

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

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

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

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

Возврат к 10

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

СА=001 — true

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

Возврат к 10

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

СА=000 — true

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

Возврат к 10

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

Точка входа MUL

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

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

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

Возврат к 10

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

Точка входа ADD

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

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

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

Возврат к 10

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

Точка входа INC

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

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

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

Возврат к 10

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

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

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

if — FL=10

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

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

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

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

Возврат к 11

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

Точка входа CMP

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

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

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

Возврат к 10

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

Команда

Код

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

MOV

MUL

ADD

INC

CMP

JNE

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

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

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

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

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

Тип

t, нс

Примечание

К555ИР23

Регистр

К555РЕ4

ПЗУ (ROM)

К555МРУ9А

ОЗУ (RAM)

К555ИМ6

Сумматор (SM)

К555ИД10

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

К555ИР38

BF

К555ИЕ13

Счетчик (CT2)

К555КП16

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

К555ЛЕ3

2 — 4 ИЛИ — НЕ

К555ЛЕ 4

3 — 3 — ИЛИ

К555ЛИ 3

3 — 3И

К555ЛН 2

6 — НЕ

К555ТР 2

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

К555ИП3

АЛУ

Таким образом, подсчитав время выполнения самой длинной микрокоманды, а в нашем случае это выполнение микрокоманды при выполнении арифметической команды 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

С2, С4, С6

К10−17−10нФ*25В

Микросхемы

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

К555ИР23

Регистр

DD58, DD83-DD94

DD48-DD51, DD67, DD68

К555РЕ4

ПЗУ (ROM)

DD59-DD62

К555МРУ9А

ОЗУ (RAM)

DD56, DD57

К555ИМ6

Сумматор (SM)

DD13, DD14, DD72-DD75

К555ИД10

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

DD25-DD32, DD63-DD66

К555И38

Буфер (BF)

DD52, DD53, DD70, DD71

К555ИЕ13

Счетчик (CT2)

DD69

К555КП16

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

DD78

К555ЛЕ3

2 — 4 ИЛИ — НЕ

DD79

К555ЛЕ4

3 — 3 — ИЛИ

DD80, DD82

К555ЛИ3

3 — 3И

DD81

К555ЛН2

6 — НЕ

DD47

К555ТР2

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

К555ИП3

АЛУ

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

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

Показать весь текст
Заполнить форму текущей работой