Проектирование вычислительного устройства

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

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

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

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

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

Московский государственный технический университет им. Н.Э. Баумана

Курсовая работа

по дисциплине "Архитектура ЭВМ"

«Проектирование вычислительного устройства»

Выполнил:

студент группы ИУ5-53

Писаренко Р.М.

Москва 2000

Содержание

1. Постановка задачи

2. Микропрограммы машинных операций

2.1 Алгоритмы подключения, отключения, запроса исходных данных и передачи результата

2.2Алгоритм выполнения операции «Умножение»

2.3 Алгоритм выполнения операции «Сдвиг циклический»

2.4 Алгоритм выполнения операции «Вычитание модулей обратное»

2.5 Алгоритм выполнения операции «Вычитание обратное»

2.6 Алгоритм выполнения операции «Вычитание модулей»

2.7 Логические операции

3. Обобщенная микропрограмма

4. Списки операций и условий

5. Закодированный граф микропрограммы

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

7. Синтез операционных элементов

7.1 Регистр кода операции

7.2 Счетчик

7.3 Мультиплексор регистра А

7.4 Регистр А

7.5 Регистр В и схема его загрузки

7.6 Арифметико-логическое устройство

7.7 Регистр R

7.8 Выходной мультиплексор

7.9 Регистр D

7.10 Прочие элементы

8. Функциональная схема операционной части ВУ

9. Список переходов

10. Программирование ПЛМ

11. Подсчет числа тактов, необходимых для выполнения каждой микрооперации

12. Расчет максимально возможной частоты работы устройства

Заключение

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

Приложения

1. Постановка задачи

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

Состав шин интерфейса:

1.Шины прямой передачи данных /входные/ разрядностью 8 бит.

2.Шины обратной передачи данных /выходные/ разрядностью 8 бит.

3.Шины адреса разрядностью 8 бит.

4.Управляющие шины:

- проверка готовности устройства /ПРГОТ/,

- сигнал занятости устройства /ЗАН/,

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

- передача данных по входным шинам /ДАННЫЕ/,

- передача результата по выходным шинам /РЕЗ/,

- запрос на передачу данных /ЗАПР/,

- подтверждение приема результата /ПРРЕЗ/,

- готовность устройства /ГОТ/,

- сигнал прерывания при делении на нуль /ПР/.

Таблица №1. Закодированный вариант задания.

Вариант

Выполняемые операции

Разрядность операндов

Код

Серия микросхем

64

У

С3

А5

А3

A4

Л4

Л5

8

D

K555*

*) При выполнении задания была взята серия КР1533.

Таблица №2. Расшифровка перечисленных в задании операций.

Номер

Обозначение операции

Операция

1.

У

Умножение

2.

С3

Сдвиг циклический

3.

А5

Вычитание модулей обратное

4.

А3

Вычитание обратное

5.

A4

Вычитание модулей

6.

Л4

!(A B)

7.

Л5

!A

Формат, команд:

02 347

КОП

2. Микропрограммы машинных операций

2.1 Алгоритмы подключения, отключения, запроса исходных данных и передачи результатов

При появлении номера устройства на шине адреса и сигнала на шине ПРГОТ, устройство (далее ВУ), при условии, что оно не занято, выдает сигнал ГОТ. После этого внешнее устройство, которое запрашивало операцию, выставляет ее код на шине данных и подает сигнал КОП. По сигналу КОП ВУ считывает код операции в регистр команд и начинает выполнение одной из микропрограмм операций.

После выдачи результата, ВУ снимает сигнал с шины ЗАН. После этого внешнее устройство снимает адрес устройства с шины адреса, освобождая интерфейс.

Для запроса данных устройство выдает сигнал ЗАПР. О появлении данных на входной шине интерфейса говорит сигнал ДАННЫЕ.

Для передачи результата, устройство выставляет сигнал РЕЗ и подает результаты на выходную шину. О приеме результата внешним устройством свидетельствует сигнал ПРРЕЗ.

2.2 Алгоритм выполнения операции «Умножение»

Алгоритм выполнения операции умножения приведен на рис. 1. Если один из множителей равен 0, то результату присваивается значение 0, и умножение не производится. Регистр А используется для накопления результата умножения; его начальное значение 0. В регистр С помещается первый множитель, а в регистр В второй. Регистр R принимает результат операции из АЛУ и из него выдается результат умножения.

Рис. 1

Знак в операциях не участвует, а может быть вычислен сразу по формуле ЗнРез = ЗнА xor ЗнВ, и занесен в специальный регистр. Поэтому мы считаем, что в умножении участвуют 7 разрядов. Тогда начальное значение счетчика будет равно 7.

Разрядность исходных данных 8 бит. Назовем ее словом. Тогда разрядность результата должна быть равна 16 бит, то есть два слова. Значит все регистры и АЛУ, участвующие в образовании результата, должны иметь эту разрядность. Это относится к регистрам А, В и R.

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

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

2.3 Алгоритм выполнения операции «Сдвиг циклический»

Циклический сдвиг - это такой сдвиг, при котором не сохраняется знак числа. Сам сдвиг будем осуществлять в регистре B. В зависимости от значения бита знака K(3) в поле кода операции, содержимое регистра B будет сдвигаться вправо или влево на число позиций, записанное в поле K(4:7).

2.4 Алгоритм выполнения операции «Вычитание обратное»

Наше вычислительное устройство работает с операндами в прямом коде. Кроме того, у нас имеется операция вычитания модулей. В прямом коде для того, чтобы взять модуль от числа, необходимо просто «занулить» его знаковый разряд, поэтому, чтобы не связываться с переводом в дополнительный код и т.д., мы попробуем выразить «вычитание обратное» через действия с модулями. Операцию же взятия модуля можно реализовать аппаратно.

Рассмотрим варианты в зависимости от знака:

A>0, B>0

R=B-A=|B|-|A|

A>0, B<0

R=B-A=-|B|-|A|=-(|B|+|A|)

A<0, B>0

R=B-A=|B|+|A|

A<0, B<0

R=B-A=-|B|+|A|=-(|B|-|A|)

Можно заметить, что при несовпадении знаков А и В производится сложение модулей, а при совпадении - вычитание модулей. А после этого, если знак В был меньше 0, то знак результата изменяется. Алгоритм выполнения операции «вычитание обратное» представлен на рис. 2.

Рис. 2

Здесь и далее (во всех остальных операциях) предполагается, что начальные значения считаны в регистры А и В.

Для реализации операции взятия модуля при использовании прямого кода, нужно просто «обнулять» знаковый бит перед выполнением операции. Но поскольку у нас еще есть и логические операции, это должно происходить не всегда, а зависеть от операции. При 8-разрядных операндах, необходимо обнулять 7 бит.

Результат получается в дополнительном коде. Для изменения его знака, над ним надо произвести операцию: Xобр=^X+1 (инверсия X плюс 1).

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

Рис. 3

2.5 Алгоритм выполнения операции «Вычитание модулей»

Вычитание модулей выполняется над целыми двоичными числами со знаком, представленными в дополнительном коде.

По каждой паре сигналов ЗАПР-ДАННЫЕ передается слово разрядностью 6 бит. ВУ выставляет на шину управления сигнал запроса данных ЗАПР и ждет от устройства А сигнала ДАННЫЕ. По этому сигналу ВУ принимает с входной шины переданные данные и снимает с шины управления сигнал ЗАПР.

Уменьшаемое (В) и вычитаемое (А) имеют длину по одному слову.

По первой паре сигналов ЗАПР-ДАННЫЕ с входной шины принимается уменьшаемое (А), а по второй паре сигналов ЗАПР-ДАННЫЕ с входной шины принимается вычитаемое (В).

После того, как операнды были приняты с входной шины, они приводятся к своим модулям. Если число положительное, то оно не изменяется, а отрицательное - преобразуется в свой модуль по формуле , которая для чисел в дополнительном коде тождественно равна формуле C:=C-1.

После того, как операнды приведены к своим модуля, из уменьшаемого (А) с помощью микросхемы АЛУ вычитается вычитаемое (В) и результат помещается в С.

Вывод данных из ВУ в устройство А производится по сигналу РЕЗ /результат/. ВУ выдает на шины управления ШУ сигнал РЕЗ и одновременно выставляет данные /результат/ на выходную шину ШВЫХ. Устройство А принимает данные и подтверждает прием результата сигналом ПРРЕЗ, после чего ВУ снимает с шины управления сигнал РЕЗ.

Разрядность выходного слова равна 6 бит.

Алгоритм микропрограммы операции "вычитание модулей" представлен на рисунке № 4.

Взятие модуля перед операцией уже реализовано аппаратно. Трудность в том, что если АЛУ может выполнить операцию X-Y, то не может выполнить операцию Y-X. А операция |B|-|A| уже используется. Но Y-X=-(X-Y), поэтому мы можем вычислить |B|-|A|, а затем изменить знак на противоположный. После этого результат необходимо преобразовать в прямой код.

2.6 Логические операции

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

3. Обобщенная микропрограмма

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

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

B1=

щK(2)--Щ--щK(1)--Щ--K(_)

- умножение

B2=

щK(2) Щ K(1)--Щ--щK(0)

- сдвиг циклический

B3=

щK(2)--Щ--K(1)--Щ--K(_)

- вычитание обратное

B4=

K(2)--Щ--щK(1)--Щ--щK(_)

- вычитание модулей

B5=

K(2)--Щ--щK(1)--Щ--K(_)

- вычитание модулей обратное

B6=

K(2)--Щ--K(1)--Щ--щK(_)

- !(A B)

B7=

K(2)--Щ--K(1)--Щ--K(_)

- !A

Для формирования условий используется дешифратор. Его использование позволяет упростить логику работы программы.

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

При выполнении микрооперации «Умножение» операнды должны быть считаны в регистры С и В, а также должен быть зафиксирован знак в регистре знака. После выполнения умножения сначала необходимо выдать старшее слово результата, а потом младшее.

После этого ВУ должно выполнять микропрограмму отключения от шины.

Разработанная обобщенная микропрограмма представлена на листе 1.

4. Списки операций и условий

Списки операций и условий составляются на основе обобщенной микропрограммы (Приложение 1).

Построение таблицы микроопераций, осуществляется следующим образом. Выписываются все использованные виды микроопераций, каждому виду микроопераций ставится в соответствие индекс - Yi, который является обозначением управляющего сигнала, закрепленного за данным видом микроопераций. Вид микроопераций объединяет все одинаковые микрооперации, встречающиеся в микропрограммах (или обобщенной микропрограмме). Список управляющих сигналов и соответствующих им микроопераций приведен в Приложении 2, Таблица 1.

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

5. Закодированный граф микропрограммы

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

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

После этого каждому состоянию присваивается уникальный номер ai. Начальное и конечное состояния имеют номер 0.

Закодированный граф микропрограммы представлен на листе 2.

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

Разработка структурной схемы операционного автомата выполняется на основании списков операций (Приложение 2, Таблица 1.) и логических условий (Приложение 2, Таблица 2.). При этом должны учитываться особенности конкретных микросхем.

Код операции должен фиксироваться в регистре К. Три его младших разряда должны поступать на дешифратор, который формирует сигналы B1-B7. Разряд К(3) принимает участие в формировании информационного сигнала x8. Разряды из поля K(4:7) поступают на мультиплексор счетчика для того, чтобы устанавливать в него количество сдвигаемых разрядов.

Должна быть схема сравнения значения, появившегося на адресной шине, со значением, выставленном на тумблерном регистре. По результатам этого сравнения и на основании сигналов ПРГОТ и ЗАН должно вычисляться условие запуска МП (x1).

Счетчик должен предусматривать установку значения 7, значения из регистра кода операции и декремент. На его выходе должна быть схема сравнения, формирующая сигнал Сч=0 (x9).

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

Регистр С служит для хранения одного из множителей, при выполнении операции «Умножение». Он участвует в формировании знака результата. Кроме того, он должен выполнять операцию сдвига вправо, его нулевой разряд используется для формирования условия x8 и к его выводам должна быть подключена схема, формирующая сигнал C=0.

Регистры А, В и R, а также ALU, участвуют во всех вычислениях, включая умножение. Поэтому их разрядность равна 16 бит.

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

В регистр В информация может поступать только со входной шины. Но, при подготовке к выполнению операций «Умножение» и «Сдвиг арифметический», в регистр В должен заноситься модуль множителя. А знак множителя должен участвовать в образовании знака результата. Для этого знаковый разряд подается на вход регистра через элемент, обнуляющий его при необходимости. Это означает, что регистр В должен загружаться ПОСЛЕ регистра С и что знак результата должен быть зафиксирован в регистре знака ДО ТОГО, как со входной шины данных исчезнет операнд.

АЛУ используется для выполнения арифметических и логических операций. Его разрядность равна 16 битам. Последний 16 бит не используется, так как даже при умножении до него результат не доходит. На входе АЛУ есть два элемента, которые могут выполнять операцию взятия модуля от операндов в прямом коде. Для этого достаточно «занулить» знаковые разряды, а именно 7-й бит.

Выполнение операции R=-- А+1 осуществляется следующим образом:

есть операция X+-- Y+C0, где C0 - перенос на входе АЛУ.

Y=А.

X=0.

на вход C0 подается сигнал переноса.

Формирование сигналов управления АЛУ и взятия модуля осуществляется схемой управления.

Регистр R принимает результаты операции из АЛУ. С седьмого разряда снимается ЗнR (x10). На 15 разряд подается знак результата умножения из регистра знака. С выхода этого регистра информация поступает на вход мультиплексора рег. А. Кроме того старшее и младшее слово раздельно поступают на вход выходного мультиплексора, для выдачи на выходную шину.

Выходной мультиплексор позволяет выдавать раздельно старшее и младшее слово результата на выходную шину. Если результат не выдается, выходы мультиплексора должны переводиться в высокоимпедансное состояние.

Регистр знака хранит знак результата при умножении. На его входе находится схема, которая этот результат вычисляет.

Схема сравнения знаков формирует сигналы x4 и x6. Сигналы ПРГОТ, ЗАН, КОП, ДАННЫЕ, ПРРЕЗ берутся непосредственно с входной шины.

Сигналы ГОТ, ЗАПР, РЕЗ необходимо держать в течении всего одного такта, поэтому они формируются напрямую из управляющих сигналов и, при переходе к следующему такту, автоматически обнуляются.

Разработанная структурная схема операционного автомата приведена в Приложении 4.

7. Синтез операционных элементов

7.1. Регистр кода операции

Для синтеза регистра К используем микросхему КР1533ИР13, восьмиразрядный реверсивный сдвиговый регистр. По сигналу y2 он должен записывать код операции со входной шины данных.

Упр. cигнал

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

Сигналы на входах

S1

S0

C

Y2

К=ШВх

1

1

СИ

К выходам этого регистра присоединяем дешифратор КР1533ИД7, который будет формировать условия B1-B7. На входы D1-D3 дешифратора подаем разряды K0-K2 регистра К, С1=1, С2=0 (входы разрешения). С выходов Q1-Q7 снимаем инвертированные сигналы B1-B7. Разряд K(3) формирует информационный сигнал x8. Разряды K4-K7 поступают на счетчик.

7.2 Счетчик

Счетчик должен считать разряды во время сдвига в операции умножения и во время выполнения операции «сдвиг арифметический». Он должен хранить 4-х разрядное число. Для реализации счетчика используем микросхему КР1533ИЕ7.

Упр. сигнал

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

Сигналы на входах.

+1

-1

C

D0-D2

R

Y25

Сч=7

1

0

0

7

0

Y29

Сч=Сч-1

1

01

1

*

0

Y33

Сч=К(4:7)

1

0

0

К(4:7)

0

На входы данных счетчика поступает значение с выхода мультиплексора счетчика, на вход R - 0.

Сигнал на входе -1: Y16

Сигнал на входе С: (Y9 Y16).

Мультиплексор счетчика организуем на основе четырехразрядного мультиплексора 21. На группу входов 0 подадим значение 7, а на группу входов 1 поле К(4:7) регистра команд. Переключение будет производиться по сигналу Y33.

7.3 Мультиплексор регистра А

микропрограмма машинный алгоритм мультиплексор

Для построения 16 разрядного мультиплексора 21 используем 4 микросхемы КР1533КП11А. На группу входов 0 подаем сигналы с шины входа, а на группу 1 - с выхода регистра R.

Упр. сигнал

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

Сигналы на входах.

EZ

SE

Y6

А=ШВх

0

0

Y10

А=R

0

1

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

SE=Y13. В противном случае на вход регистра А всегда будет включена ШВх.

7.4 Регистр А

Разрядность этого регистра должна быть равна 16 битам. Он должен выполнять операции записи значения и обнуления. Для его реализации используем микросхему КР1533ИР13 (Восьмиразрядный реверсивный сдвиговый регистр).

Упр. cигнал

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

Сигналы на входах

S1

S0

C

R

Y6

А=ШВх

1

1

СИ

1

Y24

А=0

*

*

*

0

Y10

А=R

1

1

СИ

1

Получаем следующие функции для входов устройства.

S1=S0=C=Y5Y13.

R=Y8.

7.5 Регистр В и схема его загрузки

Разрядность этого регистра равна 16 битам. Он должен выполнять операции записи значения, обнуления и сдвига, поэтому для него тоже используем микросхему КР1533ИР13.

Упр. cигнал

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

Сигналы на входах

S1

S0

C

R

ABS

EXT1

EX2

Y8

В=ШВх

1

1

СИ

1

1

*

*

Y10

В=|ШВх|

1

1

СИ

1

0

*

*

Y14

Shl B

0

1

СИ

1

*

*

0

Y20

Shr B

1

0

СИ

1

*

0

*

Y25

B=0

*

*

*

0

*

*

*

Сигнал ABS подается на вход логического элемента, отсекающего бит знака, для пропуска знака. Тогда управление регистром В можно представить следующим образом:

S1=

Y6 Y10 Y20

S0=

Y6 Y10 Y14

R=

Y25

ABS=

Y6

EX2=

0

Со знакового разряда снимается сигнал знака. Кроме того, к выходам подключена схема, участвующая в формировании сигнала x4.

7.6 Арифметико-логическое устройство

Разрядность АЛУ должна быть равна 16 бит. Будем использовать 4 микросхемы КР1533ИП3. На вход X АЛУ подаем информацию из В, а на вход Y - из А. Кроме того знаковый бит подается через логические элементы «И» для реализации операции взятия модуля. Опишем сигналы на входах АЛУ (с учетом того, что Y=A, X=B):

Упр. cигнал

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

Сигналы на входах

SE3

SE2

SE1

SE0

MO

C0

ABS

Y9

R=A-B-1

1

0

0

1

0

0

1

Y11

R=!A

1

0

1

0

1

0

1

Y16

R=A-1

0

1

1

0

0

1

0

Y22

R=1

1

0

0

1

0

0

0

Y19

R=B

0

1

1

0

0

1

1

Y36

R=! (A v B)

1

0

1

1

1

0

1

Запишем выражения для вычисления сигналов на входах АЛУ:

SE0=

Y9 Y22 Y36

SE1=

Y11 Y16 Y19 Y36

SE2=

Y16 Y19

SE3=

Y9 Y11 Y22

MO=

Y11 Y36

C0=

Y16 Y19

ABS=

(Y23 Y24)

7.7 Регистр R

Разрядность этого регистра должна быть 16 бит, он должен поддерживать операции записи и обнуления. Приведем таблицу его входных сигналов.

Упр. cигнал

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

Сигналы на входах

S1

S0

C

R

Y12

R=A+B

1

1

СИ

1

Y17

R=0

*

*

*

0

Y22

R=B

1

1

СИ

1

Y23

R=|B|-|A|

1

1

СИ

1

Y24

R=|B|+|A

1

1

СИ

1

Y26

R=A+1

1

1

СИ

1

Y28

R=A B

1

1

СИ

1

Y29

R=A B

1

1

СИ

1

Y30

R= (A B)

1

1

СИ

1

Тогда мы получаем, что:

S1=S0=Y12 Y22 Y23 Y24 Y26 Y28 Y29 Y30.

R=Y17.

Кроме того, на вход 15 разряда поступает знак операции умножения из регистра знака. 7 разряд участвует в формировании информационного сигнала x10 (знак результата).

7.8 Выходной мультиплексор

Мультиплексор должен обеспечивать выдачу на выходную шину данных старшего и младшего слова результата. Разрядность слов 8 бит. Кроме того, остальное время выходы этого мультиплексора должны находиться в высокоимпедансном состоянии. Используем 2 микросхемы КР1533КП11А. К группе входов 0 подключим старшее слово регистра R, а к группе входов 1 - младшее.

Упр. сигнал

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

Сигналы на входах.

EZ

SE

Y32

ШВых=Hi(R)

0

0

Y33

ШВых=Lo(R)

0

1

Тогда получаем, что:

EZ=(Y32 Y33)

SE= Y33

7.9 Регистр С

Регистр С имеет разрядность 8 и предназначен для выполнения операции сдвига при умножении. Для его реализации используем микросхему КР1533ИР13.

Распишем значения на входах этого регистра в зависимости от выполняемой операции:

Упр. cигнал

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

Сигналы на входах

S1

S0

C

R

Y7

C=ШВх

1

1

СИ

1

Y15

Shr C

1

0

СИ

1

Y18

C=0

0

0

СИ

0

Тогда сигналы на входе регистра будут:

S0=

Y7

S1=

Y7 Y15

R=

Y18

Со знакового разряда этого регистра снимается знак одного из множителей для вычисления знака произведения. С 0 бита снимается информационный сигнал x5. К выходам подключена схема, участвующая в образовании сигнала x4.

7.10 Прочие элементы

Регистр занятости строится на основе микросхемы D-триггера со сбросом и установкой КР1533ТМ2. Сигнал Y3 устанавливает его в 1, сигнал Y29 сбрасывает в 0.

Схема вычисления знака результата состоит из логического элемента и D-триггера, который сохраняет результат по сигналу Y11.

Схема формирования сигнала x1 состоит из триггерного регистра, схемы сравнения и логического элемента 3И.

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

8. Функциональная схема операционной части ВУ

Функциональная схема операционной части проектируется на основе структурной схемы (п. 6), отдельных операционных элементов (п. 7), и справочной литературы.

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

Краткое описание реализации элементов структурной схемы в функциональной схеме операционной части:

DD1-DD4 - мультиплексор регистра А.

DD5-DD6 - сам регистр А.

DD7-DD8 - регистр В. Для реализации сдвига сигнал со старшего разряда микросхемы DD7 поступает на последовательный вход микросхемы DD8, и наоборот младший разряд DD8 поступает на последовательный вход DD7.

DD17 - регистр D. Со знакового разряда информация поступает на схему хранения знака результата операции «Умножение». С младшего разряда снимается информационный сигнал X10.

DD9-DD12 - Арифметико-логическое устройство. Для работы трех микросхем как единого АЛУ, сигнал переноса с выхода микросхемы, обрабатывающей младшие разряды, поступает на вход микросхемы, обрабатывающей старшие разряды.

DD13-DD14 - регистр R.

DD15-DD16 - Мультиплексор выхода. Имеет выходы с тремя состояниями. Когда на выходную шину не выдается результат, выходы переводятся в высокоимпедансное состояние.

DD18 - регистр команд. К выходам регистра подключен дешифратор DD17, который выдает информационные сигналы B1-B7. Кроме того с выхода сигнал ы поступают на мультиплексор счетчика DD20 и формируют сигнал x8.

DD18 - счетчик. Счетчик может загружаться значением 7 или из поля К(4:7), и декрементировать хранимое значение. К выходам счетчика подключен элемент DD35.2, который формирует информационный сигнал X9.

DD22 - буферный выходной элемент, выходы которого могут находиться в трех состояниях. Необходим для того, чтобы разрывать связь с шиной, когда устройство не работает. Через первый элемент DD22.1 на выходную шину поступает сигнал ГОТ. Открытие выходов осуществляется также по этому сигналу. Через второй элемент выдаются сигналы ЗАН, ЗАПР, РЕЗ. Он управляется сигналом ЗАН. Такое разделение необходимо потому, что когда, по протоколу, выдается сигнал ГОТ, сигнал ЗАН еще не сформирован.

9. Список переходов

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

10. Программирование ПЛМ

Программирование ПЛМ производится на основе таблицы переходов. Но сначала необходимо подсчитать необходимое число ПЛМ. Автомат имеет 31 состояние, т.е. для их представления требуется 5 бит. Тогда входных сигналов будет 5 бит на состояние + 18 информационных сигналов = 23. А выходных: 6 бит на состояние + 34 управляющих сигналов = 40.

Одна микросхема ПЛМ имеет 16 входов и 8 выходов. Для того, чтобы реализовать управляющий автомат на основе ПЛМ, решено разделить граф микропрограммы на две части. Делить будем по информационным сигналам на входе следующим образом:

ПЛМ-1

Информационные сигналы: x1, x2, x3, x4, x5, x6, x7, x8, x9, x10, x11.

Управляющие сигналы: y1, y2, y3.

Получаем 16 входов и 32 выхода.

ПЛМ-2

Информационные сигналы: В1-B7.

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

Получаем 15 входов и 12 выходов.

Т.о. мы получили набор из 6 ПЛМ, реализующих весь набор управляющих сигналов и сигналов состояний. Для реализации первой ПЛМ потребуется 4 микросхемы. Для реализации второй две. Используем микросхемы К555ИП24.

Таблицы программирования ПЛМ приведены в Приложении 6.

11. Подсчет числа тактов, необходимых для выполнения каждой микрооперации

Данная задача решается при помощи обобщенной микропрограммы.

Для подсчёта числа машинных тактов для определённой операции необходимо, «войдя» в микропрограмму виртуально выполнить весь набор микроопераций, необходимый для корректного выполнения данной операции. Во время виртуального выполнения операции, т.е. последовательного перемещения по вершинам графа микропрограммы с соблюдением логических условий, необходимо вести подсчёт пройденных вершин графа микропрограммы. Таким образом, будет получено число машинных тактов, необходимых для выполнения данной операции. Соответственно для получения максимального (или минимального) числа машинных тактов, необходимо взять «наихудшие» («наилучшие») в смысле выполнения данной операции операнды.

При расчетах время на ожидание сигналов X принимаем равным 0 тактов.

Умножение: Tmin=11, Tmax=24.

Сдвиг арифметический Tmin=8, Tmax=32.

Вычитание обратное: Tmin =9, Tmax =13.

Вычитание модулей: Tmin =11, Tmax =13.

Логические операции: Tmin = Tmax =9.

12. Расчет максимально возможной частоты работы вычислительного устройства

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

Для осуществления расчёта необходимо, сложить времена задержек микросхем, принимающих участие в реализации наиболее сложных функций (все эти функции присутствуют в формуле, которая располагается ниже в этом пункте - вычисление логического условия, управляющее устройство, операционное устройство). Времена задержек микросхем взяты из справочной литературы [5] (См. список литературы). Расчёт производится по следующей формуле:

Tmin=Tлу+Tуу+Tоу, где:

Tmin - минимально возможная длина машинного такта,

Tлу - время, необходимое для вычисления логических условий,

Tуу - время, необходимое для выполнения своей задачи управляющим устройством,

Tоу - время, необходимое для выполнения своей задачи операционным устройством.

Возьмем схему выработки осведомительного сигнала x1.

ИСКЛЮЧАЮЩЕЕ ИЛИ ИЛИ-НЕ И-НЕ И.

Тлу=17 нс + 12 нс + 11 нс + 14 нс = 54 нс.

2. При работе УА используется цепочка.

РЕГИСТР К ПЛМ1-5 ИЛИ … возврат на регистр К (повторение).

Tуу = 25 + 30 + 8 = 63 нс

При работе ОА возникает цепочка.

РЕГИСТР А Модуль АЛУ АЛУ АЛУ Регистр R.

Tоу =11 + 70 + 70 + 70 + 25 = 246 нс.

Tmin = 54 нс + 63 нс + 246 нс = 363 нс.

Fmax= 1 / Tmin = 2.75 Мгц.

Заключение

В результате проделанной работы было спроектировано вычислительное устройство. ВУ осуществляет взаимодействие с внешними устройством посредством шин данных (входной и выходной), адреса и управления. В ходе работы я абстрагировался от принципов работы внешних устройств, полагая взаимодействие с ними посредством выработки сигналов выставляемых внешним устройством на шины управления, тем самым, полностью сконцентрировавшись над изучением и применением на практике принципов работы отдельной «ячейки» сложной цифровой вычислительной машины. Спроектированное мною ВУ работает с числами в прямых кодах и осуществляет 7 микроопераций, запрограммированных для выполнения с помощью соответствующих микропрограмм. Самой длительной операцией является операция «умножение», потому что для ее выполнения необходимо 7 раз использовать операции сложения и сдвига.

УА был разработан на базе ПЛМ, оптимально используя все выводы микросхем ПЛМ удалось довести их число до 6 (при 34 управляющих сигналах, 18 осведомительном и 6 разрядном состоянии). В ходе работы я ознакомился на теории и практике с проектированием отдельных вычислительных устройств.

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

Конспект лекций по курсу «Архитектура ЭВМ» за IV и V семестры.

Справочник. Логические ИС серий КР1533, КР1554 . 2 тома., М., Бином, 1993, 400 стр.

Приложение

Приложение 1

Таблицы программирования ПЛМ.

ПЛМ №1

Входы ПЛМ

Выходы ПЛМ

D15

D14

D13

D12

D11

D10

D9

D8

D7

D6

D5

D4

D3

D2

D1

D0

F7

F6

F5

F4

F3

F2

F1

F0

X11

X10

X9

X8

X7

X6

X5

X4

X3

X2

X1

A4

A3

A2

A1

A0

Y3

Y2

Y1

A4

A3

A2

A1

A0

0

0

0

0

0

0

0

0

0

0

1

0

0

0

0

0

0

0

0

1

0

0

0

0

1

0

1

0

0

0

1

0

1

0

0

0

1

0

1

0

0

0

1

1

0

0

0

1

1

1

1

0

1

1

0

0

0

0

0

1

1

1

1

1

0

0

0

1

0

0

0

1

1

1

1

0

0

1

0

1

0

0

1

0

0

0

0

1

0

0

1

0

0

1

0

0

0

0

1

0

1

0

0

1

0

1

0

0

1

0

1

1

0

0

1

0

1

0

0

1

1

0

0

0

1

1

0

0

0

1

1

0

1

0

0

1

1

0

0

0

1

1

1

1

0

0

1

1

1

1

1

0

1

1

0

0

1

1

1

1

1

0

0

0

1

0

0

1

1

1

1

1

0

1

1

0

0

1

1

1

1

1

1

1

0

0

0

1

1

1

0

0

0

0

0

0

1

0

0

0

0

1

0

0

0

1

0

1

0

0

0

0

1

0

0

1

0

1

0

0

1

0

1

0

0

1

1

0

1

0

0

1

0

1

0

1

0

0

1

0

1

0

0

1

0

1

0

1

0

1

0

1

0

0

1

0

1

1

1

0

0

1

0

1

1

0

1

1

0

0

0

1

0

1

0

1

1

1

0

0

0

0

0

0

0

1

0

1

1

0

1

1

0

1

0

1

1

0

0

0

1

1

0

1

0

0

0

1

1

0

1

0

1

1

0

1

0

1

0

1

1

0

1

0

1

1

0

0

1

0

1

1

0

1

0

1

1

1

0

0

1

1

1

0

0

1

1

1

0

1

0

1

1

1

0

0

1

1

1

1

0

1

1

1

1

0

1

1

1

1

1

0

1

1

1

1

1

1

0

0

1

1

0

0

0

0

0

1

1

1

0

1

0

0

0

1

1

0

0

0

1

1

1

0

0

0

1

1

0

0

1

0

1

1

0

0

1

0

1

0

0

1

1

1

0

0

1

0

1

0

1

0

0

1

0

1

0

0

1

1

1

0

0

1

1

1

1

0

0

1

1

1

0

1

0

1

0

0

1

0

0

1

1

1

0

1

0

0

1

0

1

0

1

0

0

1

0

0

1

1

1

1

0

1

0

0

1

0

1

0

1

0

0

1

0

1

0

0

1

0

1

0

0

1

0

1

0

1

1

0

1

0

1

1

1

0

1

0

1

1

0

1

1

0

1

0

1

1

0

1

1

0

0

1

1

0

1

1

1

1

1

0

0

1

1

1

0

0

0

1

1

0

0

1

1

1

0

0

1

1

1

0

0

1

1

1

1

0

0

1

1

1

0

1

0

1

1

0

1

0

1

1

0

1

0

1

1

1

0

1

0

0

0

0

0

0

1

1

1

0

1

1

1

1

1

1

1

0

1

1

0

1

1

1

1

1

0

1

0

1

1

0

1

1

1

1

0

0

0

1

1

1

0

0

1

1

1

0

1

1

1

1

0

0

1

1

0

0

0

1

1

1

0

1

1

1

0

0

1

1

1

1

1

0

1

1

0

0

1

1

1

1

1

1

1

1

1

0

0

ПЛМ №2

Входы ПЛМ

Выходы ПЛМ

D15

D14

D13

D12

D11

D10

D9

D8

D7

D6

D5

D4

D3

D2

D1

D0

F7

F6

F5

F4

F3

F2

F1

F0

B7

B6

B5

B4

B3

B2

B1

A4

A3

A2

A1

A0

Y11

Y10

Y9

Y8

Y7

Y6

Y5

Y4

1

0

0

0

1

1

1

1

0

0

0

1

1

1

0

0

0

0

0

1

1

1

0

0

1

0

0

1

0

0

1

0

1

1

0

0

1

1

0

1

1

0

0

1

1

1

1

1

1

0

0

1

1

1

1

1

1

0

0

1

1

1

1

1

1

0

0

1

1

1

1

1

0

0

0

0

0

0

0

0

0

1

1

1

1

1

0

1

0

0

0

1

0

1

0

1

0

1

0

1

0

1

1

1

1

0

1

1

0

1

1

1

0

0

1

0

1

1

1

0

1

1

1

1

1

1

0

0

0

1

1

1

1

1

0

1

1

1

1

1

1

0

1

1

1

1

1

1

1

0

0

1

1

1

1

1

0

0

1

1

1

1

1

0

1

1

1

1

1

1

1

1

ПЛМ №3

Входы ПЛМ

Выходы ПЛМ

D15

D14

D13

D12

D11

D10

D9

D8

D7

D6

D5

D4

D3

D2

D1

D0

F7

F6

F5

F4

F3

F2

F1

F0

B7

B6

B5

B4

B3

B2

B1

A4

A3

A2

A1

A0

Y19

Y18

Y17

Y16

Y15

Y14

Y13

Y12

0

1

0

0

1

1

0

1

1

1

0

1

0

1

1

1

1

1

1

0

1

0

1

1

1

0

1

1

0

1

1

1

0

0

1

1

1

1

1

0

1

0

1

0

1

1

0

1

1

1

1

1

1

1

0

1

1

1

1

0

1

1

1

0

0

1

1

1

1

0

0

1

1

1

1

1

1

1

ПЛМ №4

Входы ПЛМ

Выходы ПЛМ

D15

D14

D13

D12

D11

D10

D9

D8

D7

D6

D5

D4

D3

D2

D1

D0

F7

F6

F5

F4

F3

F2

F1

F0

B7

B6

B5

B4

B3

B2

B1

A4

A3

A2

A1

A0

Y27

Y26

Y25

Y24

Y23

Y22

Y21

Y20

0

1

0

0

1

1

1

1

0

1

0

1

1

0

1

0

1

1

0

0

1

0

1

1

0

1

1

1

0

0

1

1

1

0

1

1

1

0

0

1

1

1

1

1

1

0

0

1

1

1

1

1

0

0

1

1

1

ПЛМ №5

Входы ПЛМ

Выходы ПЛМ

D15

D14

D13

D12

D11

D10

D9

D8

D7

D6

D5

D4

D3

D2

D1

D0

F7

F6

F5

F4

F3

F2

F1

F0

B7

B6

B5

B4

B3

B2

B1

A4

A3

A2

A1

A0

Y35

Y34

Y33

Y32

Y31

Y30

Y29

Y28

0

1

1

0

1

1

1

0

1

1

1

0

1

1

0

0

0

1

1

1

0

0

1

0

1

1

0

0

0

0

1

0

1

0

0

1

1

1

1

0

1

0

0

1

1

1

0

1

0

1

1

ПЛМ №6

Входы ПЛМ

Выходы ПЛМ

D15

D14

D13

D12

D11

D10

D9

D8

D7

D6

D5

D4

D3

D2

D1

D0

F7

F6

F5

F4

F3

F2

F1

F0

B7

B6

B5

B4

B3

B2

B1

A4

A3

A2

A1

A0

*

*

*

*

*

*

*

Y36

1

1

1

1

0

1

Список переходов

из

по

в

Упр сигнал

из

по

в

Упр сигнал

a0

a0

!X1

!X1

a0

a2

a17

a17

!X3

X3

a17

a18

Y32

a2

a2

!X2

X2

a2

a3

Y1

a18

a18

X10

!X10

a19

a20

Y8 Y7 Y33

a3

a3

a3

B1

B2

!B1 !B2

a8

a17

a15

Y2 Y3 Y4

a19

a19

a19

!X9 X10

X9

!X9 !X10

a19

a21

a20

Y27 Y29

a4

a4

!X3

X3

a4

a5

Y5

a20

a20

a20

!X9 X10

X9

!X9 !X10

a19

a21

a20

Y34 Y29

a5

a5

!X3

X3 !B7

a5

a6

Y6 Y7

a21

a21

!X5

X5

a21

a22

Y35 Y13

a6

a6

!X3

X3

a6

a7

Y5

a22

a25

Y14

a7

a7

a7

a7

a7

B3 X4

B4

B5 X4

B6

!B1! B2 !B3 !B4 !B5 !B6 !B7

a27

a24

a27

a30

a0

Y7 Y8

a23

a25

Y11

a8

a8

!X3

X3

a8

a9

Y5

a24

a25

Y9 Y10 Y11

a9

a9

!X3

X3

a9

a10

Y12 Y24 Y12 Y27

a25

a25

!X5

X5

a25

a26

Y13 Y5

a10

a10

!X3

X3

a10

a11

Y5

a26

a26

!X5

X5

a26

a0

Y14

a11

a11

a11

!X7 X8

X7

!X7 !X8

a12

a16

a13

Y8 Y26 Y27

a27

a27

a27

X6

!X6 !B3

!X6 B3

a31

a29

a24

Y16 Y17 Y11 Y10

a12

a13

Y23

a28

a28

!B3

B3

a29

a24

Y10 Y11 Y20 Y21

a13

a13

a13

!X9 !X8

!X9 X8

X9

a13

a12

a14

Y10 Y27 Y28 Y29

a29

25

Y9 Y22 Y20 Y23

a14

a14

!X5

X5

a14

a15

Y13 Y31

a30

a25

Y35

a15

a15

!X5

X5

a15

a25

Y14

a31

a28

Y18 Y19 Y10

a16

a14

Y30

Приложение 2

Список микроопераций и условий

Перечень информационных и управляющих сигналов ВУ

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

Информационные сигналы

Y1

ГОТ:=1

X1

ПРГОТ v !ЗАН v ША=N

Y2

К:=Швх

X2

КОП

Y3

ГОТ:=0

X3

Данные

Y4

ЗАН:=1

X4

ЗНА

Y5

ЗАПР:=1

X5

ПРРЕЗ

Y6

A:=Швх

X6

ЗНВ

Y7

ЗАПР:=0

X7

B=0 v C=0

Y8

В:=Швх

X8

C(0)

Y9

R:=A(7:0)-B-1

X9

Cx=0

Y10

A:=R

X10

K(3)

Y11

R:=!A(7:0)

Y12

R:=Швх

Y13

РЕЗ:=1

Y14

РЕЗ:=0

Y15

Швых:=Lo(R)

Y16

R:=A-1

Y17

A(7:0):=R

Y18

D:=A(7:0)

Y19

R:=B

Y20

B:=R

Y21

A(7:0):=D

Y22

R:=1

Y23

R:=A(7:0)+B

Y24

A:=0

Y25

Сч:=7

Y26

РЕГЗН:=C(7)

Y27

SHL B

Y28

SHR C

Y29

Сч:= Сч-1

Y30

R:=0

Y31

Швых:=Hi(R)

Y32

ЗАПР:=0

Y33

Сч:=K(7:4)

Y34

SHR B

Y35

Швых:=B

Y36

R:=!(AvB)

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


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

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

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

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

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

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

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

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

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

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

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

  • Разработка управляющего автомата процессора с жесткой логикой в САПР Quartus II. Построение схемы функциональной микропрограммы команды "Исключающее ИЛИ" в размеченном виде. Унитарное кодирование состояний автомата. Запись функций переходов и выходов.

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

  • Функциональная и структурная организация ЭВМ. Разработка функциональных микропрограмм заданных команд. Их объединение и привязка к структуре операционного автомата процессора. Разработка управляющего автомата процессора с программируемой логикой.

    дипломная работа [4,0 M], добавлен 25.03.2012

  • Понятие двоично-десятичного кода (ДДК), его получение и использование. Изучение арифметико-логических устройств, использующихся для обработки ДДК. Алгоритмы сложения, вычитания, умножения и деления ДДК при помощи арифметико-логических устройств.

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

  • Объединённый граф. Кодировка управляющих и осведомительных сигналов. Структура двухадресного П автомата. Микропрограмма для П автомата с принудительной двухадресной адресацией. Структура одноадресного П автомата. Микропрограмма.

    лабораторная работа [24,9 K], добавлен 18.11.2004

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

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

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