Проектирование модуля оперативной памяти и арифметическо-логического устройства

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

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

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

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

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

Содержание

  • Введение
  • 1 Проектирование ОЗУ
    • 1.1 Расчет параметров ОЗУ
    • 1.2 Характеристика элементной базы модуля ОЗУ
    • 1.3 Описание отдельных блоков ОЗУ
    • 1.4 Временные диаграммы работы модуля ОЗУ
  • 2 Проектирование узлов процессора
    • 2.1 АЛУ для вычитания чисел с плавающей точкой
    • 2.2 Преобразование микропрограммы
    • 2.3 Формализованный граф микропрограммы
    • 2.4 Построение схемы управляющего автомата
  • Заключение
  • Список использованных источников

Введение

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

Одними из основных узлов любого вычислительного устройства являются процессор и оперативное запоминающее устройство. Знание принципов их построения и работы является важным для современных специалистов в области информационных технологий.

Цели курсового проектирования:

- освоить методы проектирования и электрического расчета модуля оперативной памяти;

- освоить методы проектирования АЛУ и управляющего устройства для него.

Курсовой проект состоит из следующих частей:

- проектирование, электрический расчет и построение временных диаграмм модуля ОЗУ;

- построение принципиальной схемы модуля ОЗУ;

- логическое проектирование АЛУ для вычитания чисел с плавающей точкой

- логическое проектирование узлов процессора управляющего устройства для АЛУ;

- построение принципиальной схемы управляющего устройства.

1. Проектирование ОЗУ

1.1 Расчет параметров ОЗУ

Приведем технические требования к модулю ОЗУ (таблица 1.1).

Таблица 1.1 - Технические требования к модулю ОЗУ

Быстродействие

500 нс

Разрядность

16 бит

Объем памяти

128 Кбайт

Тип интерфейса

ИК1, И-41 или МПИ

После анализа характеристик различных микросхем памяти в качестве элемента памяти выбираем микросхему компании AMIC.

Приведем характеристики микросхемы памяти A43L8316A (таблица 1.2)

Таблица 1.2 - Характеристики микросхемы памяти A43L8316A

Тип ячейки памяти

n-МОП

Информационная емкость, бит

128K

Организация памяти, слов Ч разрядов

128К*16 бит

Время выборки адреса, нс

16

Тип выхода

ТТЛ

Напряжение питания, В (отклонение, %)

10%

Тип корпуса

TSOP

Число БИС ЗУ, используемых в накопителе модуля, определяется по следующей формуле, и не зависит от способов построения накопителя:

где - количество чисел (адресов) в ОЗУ;

- число разрядов в ОЗУ;

и - количество чисел и разрядов в БИС ЗУ соответственно.

В данном случае разделение ОЗУ на субмодули не требуется.

Вычислим число разрядов в регистре адреса:

Вычислим коэффициент объединения микросхем памяти по входу по адресным цепям и цепям режима:

Вычислим коэффициент объединения по информационным выходным цепям:

Вычислим коэффициент объединения по цепям выбора микросхемы:

Коэффициент разветвления принимаем равным 10.

Вычислим число согласующих схем по каждой цепи. Число согласующих схем в цепи адреса:

Число согласующих схем в цепи режима:

Число согласующих схем в информационных выходных цепях:

Число согласующих схем во входных цепях:

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

Так как ОЗУ не разделено на субмодули, то дешифратор выбора микросхемы в данном случае не требуется.

1.2 Характеристика элементной базы модуля ОЗУ

Выберем интерфейс для обмена данных с ОЗУ. Исходными данными для выбора интерфейса являются количество адресов в ОЗУ и размер слова памяти. Для проектировки ОЗУ согласно техническим требованиям необходимо использовать 20 разрядов в шине адреса и 16 разряда в шине данных.

С учетом исходных данных был выбран интерфейс И-41. Магистраль данного интерфейса включает в себя двадцати одно разрядную шину адреса, двадцати четырех разрядную шину данных и шину управления с линиями сигналов: - «запись в ОЗУ», - «чтение из ОЗУ», - ответ «Подтверждение обмена», - «Запрет ОЗУ» (запрещает ОЗУ реагировать на адрес), - «Разрешение старшего байта» (указание о двухбайтовой передаче данных).

В качестве запоминающего элемента для накопителя ОЗУ была выбрана микросхема A43L8316A (цоколевка микросхемы приведена на рисунке 1.1). Данная микросхема представляет собой элемент динамической памяти.

Назначение выводов микросхемы A43L8316Aпоказано в таблице 1.3.

Таблица 1.3 - Назначение выводов микросхемы A43L8316A

Вывод

Назначение

/CS

Блокирует работу устройства, включая или выключая все входы

CKE

Приостанавливает выполнение команды до следующего цикла

A0~A8/AP

Адресные выводы

/RAS

Стробирование адреса строки

/CAS

Стробирование адреса столбца

/WE

Включение записи

L(U)DQM

Переводит выход в высокоимпедансное состояние

D0~D15

Входы/выходы данных

VDD/VSS

Блок питания для входных буферов и логического ядра

VDDQ/VSSQ

Блок питания для выходных буферов

NC/RFU

Нет подключения/Зарезервировано для будущего

Рисунок 1.1 - Цоколевка микросхемы A43L8316A

Для мультиплексирования адреса применяются микросхемы типа К155КП1. Данная микросхема представляет собой двойной мультиплексор с четырьмя входами адреса. Помимо мультиплексирования адреса микросхема К155КП1 также выполняет буферизирование содержимого шины адреса. Приведем цоколевку микросхемы К155КП1 (рисунок 1.2).

Рисунок 1.2. Цоколевка микросхемы К155КП1

Назначение выводов микросхемы К155КП1 показано в таблице 1.4.

Таблица 1.4 - Назначение выводов микросхемы К155КП1

Вывод

Назначение

1~8

Информационные входы D7-D0

9

Стробирующий вход

10

Выход

11

Вход адресный F

12

Общий

13

Вход адресный E

14

Вход адресный B

15

Вход адресный A

16~23

Информационные входы D15-D8

24

Напряжение питания

Для осуществления обмена данных с другими устройствами в ОЗУ используются шинные формирователи (приемопередатчики). Для реализации ОЗУ был выбран четырехразрядный двунаправленный приемопередатчик К589АП16. Назначение выводов микросхемы К589АП16 показано в таблице 1.5, а на рисунке 1.3 показана цоколевка данного элемента.

Таблица 1.5 - Назначение выводов микросхемы К589АП16

Вывод

Назначение

DB

Подключение к внешней (системной) шине (двунаправленная передача)

DI

Входные данные

DO

Выходные данные

CS = 0

Разрешение передачи

CS = 1

Все выходы в высокоимпедансном состоянии

W/R = 0

Передача от DI к DB

W/R = 1

Передача от DB к DO

Рисунок 1.3 - Цоколевка микросхемы К589АП16

1.3 Описание отдельных блоков ОЗУ

ОЗУ можно структурно разделить на четыре блока: блок запоминающих элементов, состоящий из одного модуля, контроллер ОЗУ, схема мультиплексирования адреса, блок шинных формирователей.

Основой ОЗУ является блок запоминающих элементов, состоящий из одного модуля. Модуль ОЗУ будет представлять собой 1 микросхему A43L8316A.

Рисунок 1.4 - Схема модуля ОЗУ

Для мультиплексирования адреса применяется блок мультиплексоров, состоящий двух мультиплексоров, каждый из которых расположен в отдельной микросхеме К155КП2. На входы I1 мультиплексоров подаются разряды адреса строки, на входы I2 - разряды адреса столбца, на входы I3-I4 - разряды адреса строки при регенерации. На вход S0 подается сигнал , на вход S1 - сигнал REF. На рисунке 1.5 приведена схема мультиплексирования.

Рисунок 1.5 - Схема мультиплексирования

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

Приведем схему шинных формирователей на рисунке 1.6 на следующей странице, а на этой - назначение всех его входов.

Контроллер ОЗУ предназначен для выработки сигналов , , , , , и , которые используются для управления модулем памяти, блоком шинных формирователей и блоком мультиплексирования. Входными сигналами для контроллера являются сигналы с шины управления и сигналы от генераторной микросхемы.

Рисунок 1.6 - Схема шинных формирователей

В данном случае структура контроллера ОЗУ не раскрывается, и он представляется в виде черного ящика. На рисунке 1.7 приведена схема модуля ОЗУ.

Рисунок 1.7 - Схема модуля ОЗУ

1.4 Временные диаграммы работы модуля ОЗУ

На рисунке 1.8 приведена временная диаграмма цикла регенерации.

На рисунке 1.9 приведена временная диаграмма цикла чтения/записи.

Рисунок 1.8 - Временная диаграмма цикла регенерации

Рисунок 1.9 - Временная диаграмма цикла чтения/записи

2. Проектирование узлов процессора

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

Система счисления: шестнадцатеричная.

Форма представления чисел: с плавающей точкой.

Операция: вычитание.

2.1 АЛУ для вычитания чисел с плавающей точкой

Вычитание чисел с плавающей точкой X и Y производится по формуле (полагая X > Y ):

Где - характеристика числа;

- основание характеристики (2; 8; 16);

P - порядок;

q - мантисса числа - дробь со знаком. Знак числа совпадает со знаком мантиссы.

Обычно используется смещенный порядок

,

k - число двоичных разрядов для записи модуля порядка. всегда положителен.

Мантисса и порядок представляются в системе счисления с основанием равным S (в соответствующей двоично-кодированной форме).

При фиксированном числе разрядов мантиссы величина представляется с наибольшей точностью нормализованным числом. У нормализованного числа или в некоторых вычислительных устройствах используется условие , т. е. старший разряд мантиссы в S-ричной системе отличен от нуля.

Алгоритм вычитания чисел с плавающей точкой

1. Выравниваются порядки чисел. Порядок меньшего (по модулю) числа принимается равным порядку большего числа, а мантисса меньшего числа сдвигается вправо на число S-ричных разрядов, равное разности порядков чисел.

2. Производится вычитание мантисс и получается мантисса разности.

3. Порядок результата принимается равным порядку большего числа.

4. Полученная разность нормализуется.

Структурную схему АЛУ изобразим на рисунке 2.1, приняв, что числа с плавающей точкой имеют формат слова ЕС ЭВМ и основания порядка S=16.

Первое уменьшаемое Х поступает во входной регистр Рг1, второе вычитаемое Y - во входной регистр Рг3. Знаки Х и Y хранятся в триггерах знаков ТгЗн1, ТгЗн2. Смещенные порядки слагаемых пересылаются в регистры РгС и РгD. Схема СОЛО используется для сравнения и выравнивания порядков слагаемых. Сумматор См, его входные регистры РгА и РгВ и выходной регистр РгСм используются при вычитании мантисс, а также при передаче мантисс в процедурах выравнивания порядков и нормализации результата.

Рисунок 2.1 - Структурная схема АЛУ

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

1) прием операндов,

2) выравнивание порядков

3) сложение мантисс

4) нормализация результата.

Микропрограмма приема операндов:

проектирование оперативная память

Рг3 := ШИвх, РгВ := 0, ТгЗн1 := Рг3[0]

Рг1 := ШИВх, РгА := 0, ТгЗн2 := ;

Выравнивание порядков начинается с их сравнения. Мантисса числа с меньшим порядком при выравнивании сдвигается вправо на число разрядов, равное разности порядков. При S=16 сдвиг осуществляется 16-ричными разрядами, т. е. каждый сдвиг производится на четыре двоичных разряда.

При сравнении порядков возможны пять случаев:

1) Px-Py > m (m - число разрядов мантиссы). В качестве результата суммирования сразу же может быть взято первое слагаемое, так как при выравнивании порядков все разряды мантиссы второго слагаемого принимают нулевое значение;

2) Py - Px > m. В качестве результата может быть взято второе слагаемое;

3) Px - Py = 0. Можно приступить к суммированию мантисс;

4) Px - Py = k1 (k1 < m). Мантисса второго слагаемого сдвигается на k1 разрядов вправо, затем производится суммирование мантисс;

5) Py - Px = k2 (k2 < m). Мантисса Х сдвигается на k2 разрядов вправо, затем выполняется суммирование мантисс.

За порядок результата принимается больший из порядков операндов.

Выравнивание порядков выполняется следующим образом. Смещенный порядок числа Х из Рг3 передается в регистр РгD, РгСОЛО и счетчик Сч1. Затем в РгC передается смещенный порядок числа Y:

РгСОЛО := РгС xor РгD;

РгС := 0, РгD[0] := 0, РгD[1…7] := Рг3[1…7];

Сч1 := РгСОЛО;

РгС[0] := 0, РгС[1…7] := Рг1[1…7];

После этого начинается сравнение порядков чисел Х и Y на СОЛО и сдвиг мантиссы числа с меньшим порядком вправо.

Для того чтобы учесть 1-й и 2-й случаи, возникающие при сравнении порядков, и не делать лишних сдвигов мантиссы, превратившейся в процессе выравнивания порядков в нуль, на счетчике циклов СчЦ фиксируется предельное число сдвигов, равное количеству 16-ричных цифр мантиссы:

СчЦ := 6;

При выполнении сдвига на один 16-ричный разряд содержимое СчЦ уменьшается на единицу. При СчЦ = 0 сдвиги прекращаются и в качестве результата берется бульшее слагаемое.

Микропрограмма выравнивания порядков:

МК:: если РгC > РгD то МК1 иначе если РгС = РгD то МК3 иначе МК2;

МК1: РгВ[8…31] := Рг3[8…31];

РгСм := П(4)См, РгСм[0…3] := 0, Сч1 := Сч1 + 1;

Рг3[8…31] := РгСм[8…31];

РгD := Сч1, СчЦ := СчЦ - 1;

если СчЦ 0 то МК;

РгВ := 0, РгА := Рг1, РгСм := См;

ШИВых := РгСм;

конец

МК2: РгА[8…31] := Рг1[8…31];

РгСм := П(4)См, РгСм[0…3] := 0, Cч1 := Сч1 - 1;

Рг1[8…31] := РгСм[8…31], РгD := Сч1, СчЦ := СчЦ - 1;

если СчЦ 0, то МК4 иначе РгА := 0, РгВ := Рг3, РгСм := См;

ШИВых := РгСм;

конец

МК4:: если РгС > РгD то МК2;

РгD[0] := 0, РгD[1…7] := Рг3[1…7], РгС := 0;

РгСОЛО := РгС xor РгD;

Cч1:= РгСОЛО

МК3: РгСм := 0, Рг1[0…7] := РгСм, Рг3[0…7] := РгСм

После выравнивания порядков модули мантисс хранятся в Рг1 и Рг3 в разрядах 8…31, их знаки - в ТгЗн2 и ТгЗн1, а порядок результата - в Сч1.

Сложение мантисс. Анализируются знаки мантисс и при их равенстве модули мантисс складываются. Если оказывается, что См[7] = 1, то возникло переполнение при сложении мантисс. При этом мантисса суммы сдвигается на четыре двоичных (один 16-ричный) разряда вправо, а порядок увеличивается на один (Сч1 := Сч1 + 1). Если после этого Сч1[0] = 1, то формируется признак прерывания из-за переполнения порядка. Если переполнения нет, то в РгСм формируется результат операции, для чего содержимое Сч1[1…7] заносится в РгСм[1…7], в РгСм[0] передается знак и в РгСм[8…31] - мантисса суммы.

При разных знаках мантисс отрицательная мантисса передается на входной регистр сумматора в обратном коде и производится суммирование с положительной мантиссой с подсуммированием единицы к младшему разряду сумматора. Знак результата фиксируется в триггере знака. От полученного результата, если он отрицателен, берется модуль. Если результат нормализован (См[8…11] 0), то на РгСм заносится знак результата (по значению триггера знака), порядок по значению Сч1 и модуль мантиссы.

Если результат не нормализован и нет исчезновения значимости (мантисса не равна 0), производится нормализация. Мантисса результата сдвигается влево и одновременно уменьшается порядок результата (Сч1 := Сч1 - 1). При отрицательном переполнении порядка (Сч1[0] = 1) формируется признак исчезновения порядка. Если нормализация завершается без исчезновения порядка, формируется результат операции из кода знака, порядка и мантиссы.

Микропрограмма процедуры сложения мантисс:

если ТгЗн1 ТгЗн2 то МЗ;

РгА := Рг1, РгВ := Рг3;

РгСм := См;

если См[7] = 1 то М2;

М1: РгСм[1…7] := Сч1[1…7];

РгСм[0] := если ТгЗн1 = 0 то 0 иначе 1;

М: ШИВых := РгСм;

конец;

М2: Сч1 := Сч1 + 1, РгСм := П(4)См, РгСм[0…3] := 0;

если Сч1[0] = 0 то М1 иначе прерывание из-за переполнения порядка;

М3:: если ТгЗн1 = 0 то РгА := Рг1, РгВ := Рг3 иначе

РгА := Рг1, РгВ := Рг3;

РгСм := РгА + РгВ + 1;

если См[0] = 0 то М4;

Рг3 := РгСм;

РгА := 0, РгВ := Рг3;

РгСм := РгА + РгВ + 1;

М4: ТгЗн1 := Рг3[0];

М5: если См[8…11] 0 то М1;

если См 0 то М6;

РгСм := 0, прерывание из-за потери значимости;

М6: Сч1 := Сч1 - 1, РгСм := Л(4)См, РгСм[28…31] := 0;

Рг3 := РгСм;

РгВ := Рг3, РгА := 0;

РгСм := См;

если Сч1[0] = 0 то М5;

РгСм := 0, прерывание из-за исчезновения порядка;

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

2.2 Преобразование микропрограммы

Приведем микропрограмму для вычитания чисел с плавающей точкой в текстовом виде:

Рг3 := ШИвх, РгВ := 0, ТгЗн1 := Рг3[0]

Рг1 := ШИВх, РгА := 0, ТгЗн2 := ;

РгСОЛО := РгС РгD;

РгС := 0, РгD[0] := 0, РгD[1…7] := Рг3[1…7];

Сч1 := РгСОЛО;

РгС[0] := 0, РгС[1…7] := Рг1[1…7];

СчЦ := 6;

МК:: если РгC > РгD то МК1 иначе если РгС = РгD то МК3 иначе МК2;

МК1: РгВ[8…31] := Рг3[8…31];

РгСм := П(4)См, РгСм[0…3] := 0, Сч1 := Сч1 + 1;

Рг3[8…31] := РгСм[8…31];

РгD := Сч1, СчЦ := СчЦ - 1;

если СчЦ 0 то МК;

РгВ := 0, РгА := Рг1, РгСм := См;

ШИВых := РгСм;

конец

МК2: РгА[8…31] := Рг1[8…31];

РгСм := П(4)См, РгСм[0…3] := 0, Cч1 := Сч1 - 1;

Рг1[8…31] := РгСм[8…31], РгD := Сч1, СчЦ := СчЦ - 1;

если СчЦ 0, то МК4 иначе РгА := 0, РгВ := Рг3, РгСм := См;

ШИВых := РгСм;

конец

МК4:: если РгС > РгD то МК2;

РгD[0] := 0, РгD[1…7] := Рг3[1…7], РгС := 0;

РгСОЛО := РгС РгD;

Cч1:= РгСОЛО

МК3: РгСм := 0, Рг1[0…7] := РгСм, Рг3[0…7] := РгСм

если ТгЗн1 ТгЗн2 то МЗ;

РгА := Рг1, РгВ := Рг3;

РгСм := См;

если См[7] = 1 то М2;

М1: РгСм[1…7] := Сч1[1…7];

РгСм[0] := если ТгЗн1 = 0 то 0 иначе 1;

М: ШИВых := РгСм;

конец;

М2: Сч1 := Сч1 + 1, РгСм := П(4)См, РгСм[0…3] := 0;

если Сч1[0] = 0 то М1 иначе прерывание из-за переполнения порядка;

М3:: если ТгЗн1 = 0 то РгА := Рг1, РгВ := Рг3 иначе

РгА := Рг1, РгВ := Рг3;

РгСм := РгА + РгВ + 1;

если См[0] = 0 то М4;

Рг3 := РгСм;

РгА := 0, РгВ := Рг3;

РгСм := РгА + РгВ + 1;

М4: ТгЗн1 := Рг3[0];

М5: если См[8…11] 0 то М1;

если См 0 то М6;

РгСм := 0, прерывание из-за потери значимости;

М6: Сч1 := Сч1 - 1, РгСм := Л(4)См, РгСм[28…31] := 0;

Рг3 := РгСм;

РгВ := Рг3, РгА := 0;

РгСм := См;

если Сч1[0] = 0 то М5;

РгСм := 0, прерывание из-за исчезновения порядка.

2.3 Формализованный граф микропрограммы

На основании имеющейся микропрограммы выполнения операции строим формализованную граф-схему алгоритма (ГСА) (рис. 2.2) и граф интерпретирующего микропрограмму автомата Мура (рис. 2.3).

Рисунок 2.2 - Граф-схема алгоритма

Рисунок 2.2 - Продолжение

Рисунок 2.3 - Граф, интерпретирующего микропрограмму автомата Мура

Рисунок 2.3 - Продолжение

На рисунках 2.2 и 2.3а приняты следующие обозначения:

- состояния автомата, соответствующие каждой микрокоманде, входящей в микропрограмму.

- управляющие функциональные сигналы, подаваемые на управляющие входы операционных узлов АЛУ.

- оповещающие сигналы АЛУ (операционного блока) - знаковые разряды регистров, выходы счётчиков, выходы формирователя признаков результата и т.д., - сигнал запуска автомата.

Теперь расшифруем все обозначения на графе переходов автомата Мура:

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

- Рг3 := ШИвх, РгВ := 0, ТгЗн1 := Рг3[0]

- Рг1 := ШИВх, РгА := 0, ТгЗн2 := ;

- РгСОЛО := РгС РгD;

- РгС := 0, РгD[0] := 0, РгD[1…7] := Рг3[1…7];

- Сч1 := РгСОЛО;

- РгС[0] := 0, РгС[1…7] := Рг1[1…7];

- СчЦ := 6;

- РгВ[8…31] := Рг3[8…31];

- РгСм := П(4)См, РгСм[0…3] := 0, Сч1 := Сч1 + 1;

- Рг3[8…31] := РгСм[8…31];

- РгD := Сч1, СчЦ := СчЦ - 1;

- РгВ := 0, РгА := Рг1, РгСм := См;

- ШИВых := РгСм;

- РгА[8…31] := Рг1[8…31];

- РгСм := П(4)См, РгСм[0…3] := 0, Cч1 := Сч1 - 1;

- Рг1[8…31] := РгСм[8…31], РгD := Сч1, СчЦ := СчЦ - 1;

- РгА := 0, РгВ := Рг3, РгСм := См;

- ШИВых := РгСм;

- РгD[0] := 0, РгD[1…7] := Рг3[1…7], РгС := 0;

- РгСОЛО := РгС РгD;

- Cч1:= РгСОЛО

- РгСм := 0, Рг1[0…7] := РгСм, Рг3[0…7] := РгСм

- РгА := Рг1, РгВ := Рг3;

- РгСм := См;

- РгСм[1…7] := Сч1[1…7];

- РгСм[0] := 0

- РгСм[0] := 1

- ШИВых := РгСм;

- Сч1 := Сч1 + 1, РгСм := П(4)См, РгСм[0…3] := 0;

- РгА := Рг1, РгВ := Рг3

- РгА := Рг1, РгВ := Рг3;

- РгСм := РгА + РгВ + 1;

- Рг3 := РгСм;

- РгА := 0, РгВ := Рг3;

- РгСм := РгА + РгВ + 1;

- ТгЗн1 := Рг3[0];

- РгСм := 0, прерывание из-за потери значимости;

- Сч1 := Сч1 - 1, РгСм := Л(4)См, РгСм[28…31] := 0;

- Рг3 := РгСм;

- РгВ := Рг3, РгА := 0;

- РгСм := См;

- РгСм := 0, прерывание из-за исчезновения порядка;

Оповещающие сигналы:

- запуск микропрограммы

- РгС>РгD

- СчЦ0

- ТгЗн1ТгЗн2

- См[7]=1

- ТгЗн1=0

- Сч1[0]=0

- ТгЗн1=0

- См[0]=0

- См[8…11]0

- См0

- Сч1[0]=0

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

Начало и конец микропрограммы отображаются начальным состоянием автомата Мура - Q0. При этом предполагается, что автомат является циклическим, т.е. допускающим многократную повторяющуюся выработку последовательностей управляющих сигналов.

2.4 Построение схемы управляющего автомата

На основании описания управляющего автомата переходим к построению его схемы. По числу состояний автомата r определяем число элементарных автоматов (двухступенчатых триггеров), требуемых для представления состояний автомата:

Затем поставим в соответствие наборы значений состояний триггеров состояниям автомата.

Таблица 2.1 - Соответствие состояний триггеров состояниям автомата

Состояние

автомата

Состояния триггеров

Тг1

Тг2

Тг3

Тг4

Тг5

Тг6

0

0

0

0

0

0

0

0

0

0

0

1

0

0

0

0

1

0

0

0

0

0

1

1

0

0

0

1

0

0

0

0

0

1

0

1

0

0

0

1

1

0

0

0

0

1

1

1

0

0

1

0

0

0

0

0

1

0

0

1

0

0

1

0

1

0

0

0

1

0

1

1

0

0

1

1

0

0

0

0

1

1

0

1

0

0

1

1

1

0

0

0

1

1

1

1

0

1

0

0

0

0

0

1

0

0

0

1

0

1

0

0

1

0

0

1

0

0

1

1

0

1

0

1

0

0

0

1

0

1

0

1

0

1

0

1

1

0

0

1

0

1

1

1

0

1

1

0

0

0

0

1

1

0

0

1

0

1

1

0

1

0

0

1

1

0

1

1

0

1

1

1

0

0

0

1

1

1

0

1

0

1

1

1

1

0

0

1

1

1

1

1

1

0

0

0

0

0

1

0

0

0

0

1

1

0

0

0

1

0

1

0

0

0

1

1

1

0

0

1

0

0

1

0

0

1

0

1

1

0

0

1

1

0

1

0

0

1

1

1

1

0

1

0

0

0

1

0

1

0

0

1

1

0

1

0

1

0

Далее из k триггеров и дешифратора с r выходами строим схему выделения состояний управляющего автомата, взяв для определенности триггеры типа D.

Рисунок 2.4 - Схема выделения состояний

Для реализации схемы формирования управляющих сигналов нужно для каждого сигнала выписать его логическую функцию. Для автомата Мура эти функции (функции выходов) имеют вид:

где - состояние автомата, отмеченное .

В данном курсовом проекте каждое состояние автомата соответствует одной микрокоманде, которая присутствуют в микропрограмме всего 1 раз, поэтому выходы дешифратора будут готовыми управляющими сигналами:

, , , …,

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

Автомат также содержит схему, реализующую смену состояний триггеров в соответствии с функцией переходов.

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

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

В моем случае, данная таблица содержит 21 столбец и чтобы не разрывать таблицу, введена следующая сокращенная форма для заголовка таблицы:

1 - Исходное состояние автомата

2 - Состояние автомата после перехода

3 - Условие перехода

Вместо полной записи «ТгN» будет использоваться «N», аналогично, вместо «DN» будет использоваться запись «N»

Таблица 2.2 - Таблица входных сигналов

1

2

Исходное состояние триггера

Состояние триггера после перехода

3

Входной сигнал, вызывающий нужный переход

1

2

3

4

5

6

1

2

3

4

5

6

1

2

3

4

5

6

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

1

0

0

0

0

0

1

0

0

0

0

0

1

0

0

0

0

1

0

1

0

0

0

0

1

0

0

0

0

0

1

0

0

0

0

0

1

1

1

0

0

0

0

1

1

0

0

0

0

1

1

0

0

0

1

0

0

1

0

0

0

1

0

0

0

0

0

1

0

0

0

0

0

1

0

1

1

0

0

0

1

0

1

0

0

0

1

0

1

0

0

0

1

1

0

1

0

0

0

1

1

0

0

0

0

1

1

0

0

0

0

1

1

1

1

0

0

0

1

1

1

0

0

0

1

1

1

0

0

1

0

0

0

0

0

1

0

0

0

0

0

0

1

1

1

0

0

1

1

1

0

0

0

1

1

1

0

0

0

0

1

1

1

0

1

0

1

1

0

0

1

0

1

1

0

0

0

1

0

0

0

0

0

1

0

0

1

1

0

0

1

0

0

1

0

0

1

0

0

1

0

0

1

0

1

0

1

0

0

1

0

1

0

0

0

1

0

1

0

0

0

1

0

1

1

1

0

0

1

0

1

1

0

0

1

0

1

1

0

0

1

1

0

0

0

0

1

1

0

0

0

0

1

0

1

1

0

0

1

0

0

0

0

0

1

0

0

0

0

0

1

1

0

0

0

0

1

1

0

1

1

0

0

1

1

0

1

0

0

1

1

0

1

0

0

0

0

0

0

1

0

0

0

0

0

0

0

0

1

1

1

0

0

0

1

1

1

1

1

0

0

1

1

1

1

0

0

1

1

1

1

0

1

0

0

0

0

1

0

1

0

0

0

0

0

1

0

0

0

0

0

0

1

1

1

0

0

0

1

1

1

0

0

1

0

0

0

0

0

1

0

0

0

1

0

1

0

0

0

1

0

1

0

0

0

0

0

1

0

0

1

1

0

1

0

0

1

1

0

1

0

0

0

0

0

1

0

0

1

1

0

1

0

0

1

1

0

1

0

0

0

0

0

1

0

0

1

1

0

1

0

0

1

1

0

1

0

0

0

0

0

1

0

1

1

0

0

1

0

1

1

0

0

1

0

0

0

1

0

1

0

0

1

0

1

0

1

0

0

1

0

0

1

0

0

1

0

0

0

0

0

0

0

1

0

0

0

0

0

0

0

1

0

0

1

1

0

1

0

1

0

0

1

0

1

0

1

0

0

0

1

0

1

0

0

0

1

0

1

0

1

1

0

1

0

1

0

1

0

1

0

1

0

1

0

1

0

1

1

0

1

0

1

0

1

1

0

0

1

0

1

1

0

0

1

0

1

1

1

0

1

0

1

1

1

0

1

0

1

1

0

0

1

1

1

1

0

0

1

1

1

1

0

0

1

0

1

1

0

0

1

1

1

1

0

0

1

1

1

1

0

0

1

0

1

1

0

0

1

1

1

1

0

0

1

1

1

1

0

0

1

0

1

1

0

0

1

1

1

1

1

0

1

1

1

1

1

0

1

0

1

1

0

0

1

1

1

1

1

0

1

1

1

1

1

0

1

0

1

1

0

0

1

1

1

1

1

0

1

1

1

1

1

0

1

0

1

1

1

0

1

1

0

0

0

1

0

1

1

0

0

0

0

1

1

0

0

0

0

1

1

0

0

1

0

1

1

0

0

1

0

1

1

0

0

0

0

1

1

1

0

1

0

1

1

1

0

1

0

1

1

0

0

1

0

1

1

0

1

0

0

1

1

0

1

0

0

1

1

0

0

1

0

1

1

0

1

1

0

1

1

0

1

1

0

1

1

0

1

0

0

1

1

1

0

0

1

0

1

1

1

0

0

0

1

1

0

1

1

0

1

1

1

0

0

1

0

1

1

1

0

0

0

1

1

1

0

0

0

0

0

0

0

0

1

0

0

0

0

0

0

0

1

1

1

0

1

0

0

0

0

0

0

0

0

0

0

0

0

0

1

1

1

0

1

0

1

1

0

0

1

0

1

1

0

0

1

0

1

1

1

1

0

1

0

0

0

0

0

1

1

0

0

0

0

0

0

1

1

1

1

1

1

0

0

0

0

0

1

1

0

0

0

0

0

1

0

0

0

0

0

1

0

0

0

0

1

1

0

0

0

0

1

1

0

0

0

0

0

1

0

0

1

0

0

1

0

0

1

0

0

1

0

0

0

0

1

1

0

0

0

1

0

1

1

0

0

0

1

0

1

0

0

0

1

0

1

0

0

0

1

1

1

1

0

0

0

1

1

1

0

0

0

1

1

1

0

0

1

0

0

1

1

0

0

1

0

0

1

0

0

1

0

0

0

1

1

0

0

1

0

1

1

0

0

1

1

0

0

1

0

0

1

0

0

1

0

1

1

0

0

1

0

1

1

0

0

1

0

0

1

0

0

1

1

0

1

0

0

1

1

0

1

0

0

1

0

1

0

0

0

0

0

0

1

0

0

0

0

0

0

1

0

0

1

1

0

1

0

0

1

1

1

1

1

0

0

1

1

1

1

0

0

1

1

1

1

0

1

0

0

0

1

1

0

1

0

0

0

1

0

1

0

0

0

1

0

1

0

0

1

1

1

0

1

0

0

1

1

0

1

0

0

1

0

1

1

0

0

1

0

1

1

0

0

1

1

0

1

0

0

1

1

0

0

1

0

1

1

0

0

1

0

1

1

0

1

0

0

1

1

0

0

1

1

0

1

0

0

1

1

0

1

0

1

0

0

1

1

0

1

0

1

0

1

0

1

0

1

0

1

0

1

0

1

0

0

0

0

0

0

0

1

0

0

0

0

0

0

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

Для выбранного триггера:

Теперь, упростим полученные выражения:

По упрощенным выражениям строим схему и присоединяем к выходам дешифратора схему формирования выходных сигналов (рисунок 2.5). Там же показан и блок запуска управляющего автомата, основными элементами которого являются регистр команд РгК и дешифратор DC.

Рисунок 2.5 - Схема формирования входных сигналов

Заключение

В процессе работы было выполнено: спроектирован модуль ОЗУ с быстродействием 16 нс, с разрядностью 16 бит и объемом памяти 128 Кбайт; спроектированы узлы процессора - АЛУ и УУ для реализации функции вычитания чисел с плавающей точкой в шестнадцатеричной системе счисления; составлена пояснительная записка из 38 страниц на листах формата А4; подготовлен графический материал объемом 2 листа формата А1, включающий принципиальную схему модуля ОЗУ, временную диаграмму работы модуля, функциональную схему ОЗУ, формализованный граф микропрограммы, принципиальную схему УУ.

Данный проект помог лучше разобраться в принципах работы и устройства основных устройств любого компьютера.

Список использованных источников

1. Майоров В.Д. Процессоры ЭВМ: Учебное пособие; Рост. гос. ун-т путей сообщения. Ростов н/Д, 1998. 80 с.

2. Майоров В.Д., Подгорный В.В. Проектирование оперативных запоминающих устройств: Методические указания к курсовому проектированию; Рост. гос. ун-т путей сообщения. Ростов н/Д , 1997. 24 с.

3. Майоров В.Д. Организация ЭВМ и систем: Учебное пособие; Рост. гос. ун-т путей сообщения. Ростов н/Д, 2000. 120 с.

4. Интернет-ресурс: http://pdf1.alldatasheet.com/datasheet-pdf/view/118368/ AMICC/A43L8316A.html

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


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

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

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

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

    курсовая работа [882,6 K], добавлен 14.12.2012

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

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

  • Разработка устройства, реализующего набор команд из числа операций с плавающей точкой семейства процессора i486. Структура сопроцессора FPU. Принцип выполнения операций, разработка блок-схемы, построение структурной схемы основных блоков процессора.

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

  • Общая характеристика и преимущество использования двоично-десятичных чисел с плавающей точкой. Разработка цифрового автомата. Функциональное назначение выводов корпуса МК51, арифметико-логического устройства, портов. Примеры деления данных чисел.

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

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

    контрольная работа [56,5 K], добавлен 05.09.2010

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

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

  • Моделирование арифметико-логического устройства для вычитания УДЦ для 18 разрядов. Операционная и аксиоматическая семантика команды ассемблера. Верификация линейного участка программы, участка, содержащего ветвления, цикла. Сети Петри для подпрограммы.

    курсовая работа [121,2 K], добавлен 13.07.2012

  • Построение универсального лабораторного комплекса вычислительной техники. Создание программы-эмулятора контроля арифметическо-логического устройства с использованием остаточных кодов по модулю 3. Обоснование элементной базы; синтез основных узлов АЛУ.

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

  • Теоретическое изучение системы проведения арифметических операций над двоичными числами. Создание описания операций умножения и блок-схемы алгоритма её выполнения. Определение набора управляющих сигналов и синтез схемы арифметико-логического устройства.

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

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