Разработка операционного устройства

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

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

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

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

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

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

Федеральное государственное образовательное учреждение высшего профессионального образования

«ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ПУТЕЙ СООБЩЕНИЯ»

Кафедра «Информационные и вычислительные системы»

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

по дисциплине «Теория автоматов»

Тема:

«Разработка операционного устройства»

Выполнил студент гр. ИС-010:

Софьин Р.И.

Руководитель проекта:

Григорьев В.В.

САНКТ-ПЕТЕРБУРГ

2011

Аннотация
В данном курсовом проекте разрабатывается операционное устройство, выполняющее следующие операции: загрузку операндов, алгебраическое вычитание чисел с фиксированной точкой в модифицированных дополнительных кодах и выдачу результата. Все схемы выполнены на логических элементах ИЛИ-НЕ. В проекте реализован управляющий автомат типа Мура с жёсткой логикой. Память управляющего и операционного автомата построена на синхронных, двухступенчатых триггерах типа SR. При построении функциональных схем операционного устройства использован канонический метод синтеза комбинационных схем операционного и управляющего автомата, реализующих функции возбуждения триггеров регистров операционного автомата и триггеров памяти управляющего автомата.
Перечень обозначений
БФ - булева функция
ЛУ - логическое условие
МКО - микрооперация
ОУ - операционное устройство
ОА - операционный автомат
УА - управляющий автомат
УС - управляющий сигнал
CO - “carry output”, выходной перенос
CI - “carry input”, входной перенос
1. Введение
Целью данного курсового проекта является синтез комбинационных схем ОУ, которое выполняет следующие операции: загрузку операндов, алгебраическое вычитание чисел с фиксированной точкой в модифицированных дополнительных кодах и выдачу результата. Исходные данные представлены в формате с фиксированной запятой. Разрядность, обрабатываемых в ОА слов, представлена в задании на проектирование. Данная постановка цели курсового проектирования является упрощенной: в реальных условиях необходимо синтезировать схемы, реализующие заданные функции с заданным быстродействием и минимальными аппаратурными затратами и отвечающие требованиям надежной работы устройства.
Любой сложный преобразователь дискретной информации может быть представлен в виде совокупности ОУ и интерфейса (сопряжения этих устройств).
Функция ОУ - это выполнение фиксированного множества операций F = {f1, f2, f3, f4} над множеством входных слов D = {A, B, dA, dB} для вычисления слов R = {C, rC} которые являются результатом операций из множества F. В течение определенного отрезка времени устройство может реализовать только одну операцию R = fg (D), которая определяется кодом операции (номером) g = 1, 2, 3.
Такие устройства ЭВМ, как процессор, контроллеры (устройства управления) ввода-вывода и внешних ЗУ, оперативное ЗУ и др., также являются ОУ. ОУ может реализовать как простейшие операции вида rg:= dh,, так и сложные, которые представляются в форме алгоритмов. ОУ объединяются в структуру с помощью цепей, по которым передаются электрические сигналы. Одна цепь передает в один момент времени бит информации (0 или 1).
В функциональном и структурном отношении ОУ можно представить в виде двух автоматов: операционного автомата и управляющего автомата. ОА выполняет действия над словами информации - хранение, реализацию МКО и вычисление ЛУ - и, таким образом, является исполнительной частью ОУ.
Выполнение любой МКО инициируется соответствующими управляющими сигналами из множества Y = {y1, y2, y3, y4, y5, y6, y7}; каждый такой УС соответствует определенной МКО. Значения ЛУ, вычисляемые в ОА, отображаются множеством осведомительных сигналов X = {x1, x2}, каждый из которых отождествляется с определенным ЛУ. УА генерирует последовательность УС, которая определена микропрограммой и соответствует значениям ЛУ и, следовательно, задает порядок выполнения МКО в ОА, вытекающий из алгоритмов выполняемых операций fg.
Так как ОУ выполняет множество операций из F, то для генерации последовательности УС, соответствующей конкретной операции fg, в УА необходимо ввести код g этой операции. Наименование операции (загрузка соответствующего операнда, алгебраическое вычитание, выдача результата) кодируется сигналами g1, g2, g3. По отношению к УА они так же, как и сигналы x1, x2 являются осведомительными, т.к. влияют на порядок выработки УС из множества Y.
Функция ОА задана, если определены:
- множество D входных слов, вводимых в ОА в качестве операндов заданных операций;
- множество выходных слов R, представляющих результаты операций из множества F;
- множество внутренних слов S = {s1, s2,…, sN}, которые используются для представления информации в процессе выполнения операций. Не исключено, что некоторые входные и выходные слова совпадают с определенными внутренними словами, т.е. D и R является подмножеством S;
- множество микроопераций Y = {ут}, где т = 1, 2,…, M, различающихся как функциями Ц = {цт}, на основе которых образуются МКО, так и наборами слов, которые являются операндами функций цт;
- множество логических условий X = {xi}, представленных в виде БФ Ш = {шi}, на основе которых строятся логические условия, и множество наборов слов S, на которые распространяются БФ.
Набор микроопераций Y = {y1, y2, y3, y4, y5, y6, y7}, в данном курсовом проекте, строиться на базе функций Ц = {сумма, отрицание}, а набор логических условий X = {x1, x2} на базе отношений Ш = {=0}.
Таким образом, функция ОА характеризует средства, которые могут быть использованы для вычислений, но не сам вычислительный процесс. Порядок выполнения элементарных действий (МКО) во времени определяется функцией УА.
Функция УА - это операторная схема алгоритма (микропрограммы), функциональными операторами которой являются символы (буквы) y1, y2, y3, y4, y5, y6, y7 отождествляемые с МКО, а в качестве ЛУ используются булевы переменные x1, x2.
Операторная схема алгоритма представляется в виде граф-схемы и определяет вычислительный процесс, устанавливая порядок следования МКО y1, y2, y3, y4, y5, y6, y7 и проверки ЛУ x1, x2.
Структурная организация ОА с учетом изложенного выше представлена на рис. 2, где Ц - комбинационная схема, реализующая микрооперации на основе функций Ц = {цт}; Ш - комбинационная схема, реализующая логические условия на основе функций Ш = Ш (xi); П - память, обеспечивающая хранение слов S, которые представляют значения операндов, промежуточные значения и конечные результаты.
Рис. 2. Структурная схема ОА
Выполнение МКО приводит к изменению памяти ОА, т.е. значений слов S. Состояние памяти П отображается множеством осведомительных сигналов X, которые анализируются УА для определения следующего набора микроопераций.
ОУ функционирует в дискретные моменты t = 0, 1,... Промежуток времени между двумя моментами t и (t+1) дискретного времени называется тактом. В течение такта формируется набор управляющих сигналов из множества Y, выполняются соответствующие МКО и вычисляются значения ЛУ.
Для синтеза логической схемы ОУ необходимо иметь фиксированный набор типов элементарных автоматов: логические элементы, реализующие функционально полную систему функций алгебры логики, и элементарный автомат с памятью, представляющий один из распространенных типов триггеров.
В процессе работы над курсовым проектом необходимо выполнить следующие этапы:
- этап абстрактного синтеза ОУ;
- этап структурного синтеза ОА;
- этап структурного синтеза УА.
На этапе абстрактного синтеза ОУ необходимо разработать функциональную микропрограмму работы ОА и составить закодированную граф-схему работы УА.
На этапе структурного синтеза ОА необходимо разработать структурную и функциональную схемы ОА.
Этап структурного синтеза УА также включает разработку структурной и функциональной схем УА.
Результатом работы по перечисленным этапам является функциональная схема ОУ с описанием ее работы на заданном руководителем проекта временном интервале функционирования ОУ.
2. Определение функции ОУ
2.1 Анализ алгоритмов заданных операций
2.1.1 Анализ операции алгебраического вычитания
Для выполнения операции алгебраического вычитания необходимо в регистры ОА занести шестнадцатиразрядные операнды А(1:16) и В(1:16). Операнды загружены в прямом коде, поэтому может потребоваться преобразование кодов А и В в модифицированные дополнительные коды. В регистре С(1:16) необходимо увеличить разрядность путём введения дополнительного разряда С(0) для отслеживания возможного переполнения.
В таблице 1 выполняется трассировка предложенного в задании алгоритма алгебраического вычитания в модифицированных дополнительных кодах для проверки корректности или возможности его оптимизации. При этом для упрощения вычислений, используются восьмиразрядные слова.
Таблица 1 - Анализ алгоритма алгебраического вычитания

Пункт алгоритма

Действие и результат

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

Комментарии

I. A(1:8)=1.1011101, B(1:8)=1.0000010

Знаки А и В отрицательные, вычитание без переполнения

2.

П(1):=0; B(1):=0;

3

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

3.

А(1:8)=1.0100011; B(1:8)=0.0000010;

4

Дополнительные коды операндов

4.

С(0:8)=11.0100101;

5

Сумма

5.

С(0)=С(1);

6

Переполнения нет

6.

¬C(0:1).C(2:8)?0;

8

8.

С(0:8)=11.1011011;

9

Прямой код суммы

9.

Конец

II. A(1:8)=1.1011011, B(1:8)=0.0100101

А<0, B>0; Особый случай переполнения

2.

П(1):=0; B(1):=1;

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

3.

A(1:8)=1.0100101; B(1:8)=1.1011011;

4

Дополнительные коды операндов

4.

С(0:8)=11.0000000;

5

Сумма

5.

С(0)=С(1);

6

Особый случай переполнения

6.

¬C(0:1).C(2:8)=0;

7

7.

П(1)=1;

9

Переполнение устанавливаем в единицу

9.

Конец

III. A(1:8)=0.1101110; B(1:8)=1.1110011

A>0, B<0; Положительное переполнение

2.

П(1):=0; B(1):=0;

3

Переполнение в ноль

3.

A(1:8)=0.1101110; B(1:8)=0.1110011;

4

Дополнительные коды операндов

4.

C(0:8)=01.1100001

5

Сумма

5.

С(0)?С(1);

7

Положительное переполнение

7.

П(1)=1;

9

Переполнение устанавливаем в единицу

9.

Конец

В результате трассировки ошибок не обнаружено. Алгоритм работает корректно. Однако исходный алгоритм можно изменить путём объединения совместимых микроопераций. Это позволит уменьшить временные затраты ОУ и сложность УА, так как совместимые МКО могут выполняться в ОА за один такт и инициироваться одним управляющим сигналом. Изменённый алгоритм алгебраического вычитания приведён на рис. 3.
Рис. 3. Упрощённый алгоритм алгебраического вычитания
2.1.2 Анализ операции загрузки операндов
Алгоритмы операции загрузки операндов А и B приведены на рис. 4 а, б соответственно. Данные алгоритмы упрощению не подлежат.
Рис. 4. Алгоритмы загрузки операндов А и В
2.1.3 Анализ операции выдачи результата
Алгоритм выдачи результата С приведён на рис. 5. Этот алгоритм также не подлежит упрощению.
Рис. 5. Алгоритм выдачи результата
2.2 Функциональная микропрограмма работы ОУ
Функциональная микропрограмма является исходной формой представления функции ОУ, на основе которой синтезируется структура, достаточная для реализации заданной функции F = {f1, f2, f3, f4}. Функциональная микропрограмма состоит из содержательного графа микропрограммы, представляющего собой запись алгоритмов операций f1, f2, f3, и f4 на функциональном языке, и описания слов, используемых в микропрограммах этих операций.
На рис. 3, 4, 5 представлены содержательные граф-схемы операций f1, f2, f3, и f4.
В таблице 2 приводится описание слов, с которыми оперируют микропрограммы, представленные на рис. 3, 4, 5.
Таблица 2 - Описание слов в микропрограммах

Формат слова

Назначение слова

Тип слова

Комментарий

A(1:16)

Уменьшаемое

I, L

A(1) - знак первого операнда; с памятью

B(1:16)

Вычитаемое

I, L

B(1) - знак второго операнда; с памятью

C(1:16)

Разность

L, O

С(1) - знак результата; с памятью

C(0)

Дополнительный знаковый разряд

L

С памятью

П(1)

Признак переполнения

L

С памятью

dA(1:16)

Уменьшаемое

I

Без памяти

dB(1:16)

Вычитаемое

I

Без памяти

rC(1:16)

Разность

O

Без памяти

2.3 Определение функции ОА
Каждая функциональная микропрограмма Mg, где g=1, 2, 3, 4, определяющая алгоритм выполнения операции fg € F, вводит множество слов Sg, микроопераций Yg и логических условий Xg. Множества Sg, Yg, Xg характеризуют функцию операционного автомата частично, позволяя определить средства, достаточные для реализации только одной операции fg. Множества S, У, Х, достаточные для реализации всех операций из набора F= {f1, f2, f3, f4}, определяются объединением множеств Sg, Yg, Xg соответственно.
Затраты в ОА будут тем меньше, чем меньше слов содержит множество S. Следовательно, при объединении слов S1, S2, S3, S4 необходимо отождествлять между собой слова, принадлежащие объединяемым множествам. Поэтому функциональные микропрограммы следует составлять с учетом объединения их в ОУ, а значит, тождественные слова, используемые в различных микропрограммах, должны идентифицироваться одинаковыми именами.
Из анализа микропрограмм (см. рис. 3, 4, 5) очевидно, что множество слов, представленных в табл. 2, обеспечивает представление всех слов для реализации любой заданной операции. Результат объединения МКО и ЛУ представлен в таблице 3 и таблице 4 соответственно.
Таблица 3 - Объединённый список микроопераций

Обозначение

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

y1

A(1:16):=dA(1:16)

y2

B(1:16):=dB(1:16)

y3

y4

C(0:16):=A(1).A(1:16)+B(1).B(1:16)

y5

П(1):=1

y6

y7

rC(1:16):=Если y7, то С(1:16) иначе 1

Таблица 4 - Объединённый список логических условий

Обозначение

Логическое условие

x1

C(0)=C(1)

x2

2.4 Определение функции УА
По отношению к управляющему автомату МКО и ЛУ представляются как элементарные символы, которые автомат интерпретирует в виде управляющих сигналов Y = {y1, y2, y3, y4, y5, y6, y7} и воспринимает как осведомительные сигналы X = {x1, x2}.
Таким образом, функция УА представляется в форме операторной схемы микропрограммы, в которой символы y1, y2, y3, y4, y5, y6, y7 отождествляются с МКО, а символы x1, x2 - с ЛУ.
Функции управляющего автомата определяются совокупностью закодированных графов микропрограмм.
Пути развития вычислительных процессов, соответствующих различным операциям f1, f2, f3, f4 в объединенной микропрограмме, задаются набором переменных g1, g2, g3, с помощью которых кодируются операции f1, f2, f3, f4. Двоичные переменные g1, g2, g3 играют роль логических условий, которые определяют переходы в объединенной микропрограмме. Объединённый закодированный граф УА имеет вид, представленный на рис. 6.
Рис. 6. Объединённый закодированный граф УА
3. Синтез функциональной схемы ОА
3.1 Разработка структурной схемы ОА
Исходной информацией для разработки структурной схемы ОА являются:
- описание типов слов, используемых в микропрограммах (см. табл. 2);
- список микроопераций (см. табл. 3);
- список логических условий (см. табл. 4).
Все слова (переменные), кроме вспомогательных, должны сохранять свое значение неограниченно долго, вплоть до присвоения им нового значения. Такие переменные являются переменными с памятью в отличие от вспомогательных переменных - переменных без памяти. Переменные с памятью соответствуют всем внутренним (L) словам.
Каждой переменной с памятью ставится в соответствие регистр операционного автомата той же разрядности, что и переменная, причем i-й разряд регистра соответствует i-му разряду переменной. Регистру присваивается идентификатор соответствующего ему слова.
Для рассматриваемого варианта структурная схема ОА содержит четыре регистра - A(1:16), B(1:16), C(0:16) и П(1).
Каждой переменной без памяти ставится в соответствие шина, имеющая разрядность переменной и предназначенная для параллельной передачи слов.
Для каждого регистра определяется множество микроопераций YS и логических условий ХS. На основании анализа микроопераций YS и логических условий ХS производится выделение всех полей регистра S. В одно поле включаются те разряды регистра S, которые преобразуются микрооперациями YS одинаково. Результат анализа полей регистров приведён в таблице 5.
Таблица 5 - Элементы структуры ОА

Регистр

МКО

ЛУ

Поля

А(1:16)

YА = {y1, y3}

ХА = {?}

A(1); A(2:15); A(16)

B(1:16)

YB = {y2, y3}

ХВ = {?}

B(1); B(2:15); B(16)

C(1:16)

YC = {y4, y6, y7}

ХС = {x1, x2}

C(0); C(1:15); C(16)

П(1)

YП = {y3, y5}

ХП = {?}

П(1)

На основе данных в таблице 5, построена структурная схема ОА, реализующая операции f1, f2, f3, f4 (см. рис. 7).
Рис. 7. Структурная схема ОА
операционный микропрограмма код
По локальной шине данных передаются как прямые, так и инверсные значения слов, хранимых в регистрах (передача в парафазном коде).
Словам A(1:16) и B(1:16), описанным в табл. 2, как входные (I), ставятся в соответствие входы dA и dB структурной схемы. Каждый вход соединяется с регистром шиной, исходящей из входа.
Слову С(1:16), описанному как выходное (О), ставится в соответствие выход rC структурной схемы.
Управляемые шины отмечаются сигналом ут, инициирующим микрооперацию ут.
Сигналы у1 и у2 вырабатываются вне ОУ, но микрооперации занесения слов А и В в соответствующие регистры входят в множества YА и YB.
3.2 Синтез функциональной схемы ОА
Синтез ОА проводится раздельно для каждого регистра или шины и сводится к построению комбинационных схем, реализующих функции возбуждения триггеров регистров и комбинационных схем, вычисляющих значения логических условий.
Так как в различных полях одного регистра выполняются различные наборы МКО, задача синтеза регистра разбивается на несколько подзадач синтеза его полей. Вследствие идентичности преобразования разрядов в пределах одного поля ограничиваются синтезом одного разряда данного поля.
Синтез полей регистров проводиться на логических элементах ИЛИ-НЕ. В качестве элементов памяти регистров используются синхронные двухступенчатые (ТТ) SR-триггеры.
3.2.1 Синтез блока А
Структурная схема блока А приведена на рис. 8.
Рис. 8. Структурная схема блока А
Над блоком А(1:16) выполняются МКО y1, y3. Поля A(1), A(2:15) и A(16) синтезируются одинаково, но после получения функций VS, VR и межразрядного переноса учитывается что CO(2)=0 (т.е. CI(1)=0), CI(16)=0 и что в A(1) прибавляется единица.
y1) A(i):= dA(i), где i=1, 2,…, 16.
Заполняется каноническая таблица для определения функций возбуждения VS и VR (см. таблицу 6).
Таблица 6 - Определение функций VS и VR (МКО y1)

t

t+1

t

A(i)

dA(i)

A(i)

VS

VR

0

0

0

0

0v1

0

1

1

1

0

1

0

0

0

1

1

1

1

0v1

0

Аналитические выражения для искомых функций имеют вид:
;
.
y3)
В данной МКО единица прибавляемая в младший разряд слова А может вызвать перенос (CO), который может распространятся через всю разрядную сетку, кроме знакового разряда. Поэтому необходимо синтезировать функцию межразрядного переноса. Стоит отметить, что имеет место равенство CI(i)= СO(i+1).
Составляется каноническая таблица для МКО y3 (см. таблицу 7).
Таблица 7 - Определение функций VS, VR и CO (МКО y3)

t

t+1

t

A(1)

A(i)

CI(i)

A(i)

VS

VR

CO(i)

0

0

0

0

0

0v1

0

0

0

1

0

0

0v1

0

0

1

0

1

0v1

0

0

0

1

1

1

0v1

0

0

1

0

0

1

1

0

0

1

0

1

0

0

0v1

1

1

1

0

0

0

1

0

1

1

1

1

0v1

0

0

Аналитические выражения для искомых функций имеют вид:
;
;
.
Ниже представлены функции VS, VR и CO в общем виде для всех разрядов блока А в микрооперациях y1, y3:
;
;
.
Учтём особенности реализации МКО y1, y3 в полях A(1), A(2:15) и A(16), упростив данные функции, и пересчитаем их в базис ИЛИ-НЕ.
Поле A(1) В поле A(1) МКО y3 не изменяет состояния триггера, поэтому функции возбуждения VS(y3) и VR(y3) равны нулю. Также нужно учесть, что не формируется CO(1).
;
.
Поле A(2:15)
;
;
.
Поле А(16)
В поле A(16) МКО y3 не изменяет состояния триггера, поэтому функции возбуждения VS(y3) и VR(y3) равны нулю. Функция межразрядного переноса не будет зависеть от CI(16) т.к. он равен нулю.
;
;
.
На рис. 9 приведена функциональная схема операционного блока А.
Рис. 9. Функциональная схема блока А
3.2.2 Синтез блока B
Структурная схема блока B приведена на рис. 10
.
Рис. 10. Структурная схема блока B
Над блоком B(1:16) выполняются МКО y2, y3. Для МКО y2 поля B(1), B(2:15) и B(16) синтезируются одинаково, а для МКО y3 отдельно каждое поле.
y2) B(i):= dA(i), где i=1, 2,…, 16.
Заполняется каноническая таблица для определения функций возбуждения VS и VR (см. таблицу 8).
Таблица 8 - Определение функций VS и VR (МКО y2)

t

t+1

t

B(i)

dB(i)

B(i)

VS

VR

0

0

0

0

0v1

0

1

1

1

0

1

0

0

0

1

1

1

1

0v1

0

Аналитические выражения для искомых функций имеют вид:
;
.
y3)
Аналогично МКО y3 в блоке А, в данной МКО единица прибавляемая в младший разряд слова В может вызвать межразрядный перенос, поэтому необходимо синтезировать функцию межразрядного переноса.
Поле B(1)
В рассматриваемом поле CO(1)=0 и CI(0)=0, т.е. функцию межразрядного переноса синтезировать не нужно.
y3)
Таблица 9 - Определение функций VS и VR (МКО y3, поле B(1))

t

t+1

t

B(1)

B(1)

VS

VR

0

1

1

0

1

0

0

1

Аналитические выражения для искомых функций имеют вид:
;
.
Поле B(2:15)
y3), здесь i=1, 2,…, 15.
Таблица 10 - Определение функций VS, VR и CO (МКО y3 поле B(2:15))

t

t+1

t

B(1)

B(i)

CI(i)

B(i)

VS

VR

CO(i)

0

0

0

1

1

0

0

0

0

1

0

0

0v1

1

0

1

0

0

0

1

0

0

1

1

1

0v1

0

0

1

0

0

0

0

0v1

0

1

0

1

0

0

0v1

0

1

1

0

1

0v1

0

0

1

1

1

1

0v1

0

0

Аналитические выражения для искомых функций имеют вид:
;
;
.
Поле B(16)
y3)
Таблица 11 - Определение функций VS, VR и CO (МКО y3 поле B(16))

t

t+1

t

B(1)

B(16)

B(16)

VS

VR

CO(16)

0

0

0

0

0V1

1

0

1

1

0v1

0

0

1

0

0

0

0v1

0

1

1

1

0V1

0

0

Функции VS и VR можно полностью доопределить нулями, т.е. состояние этого триггера не будет меняться, а будет лишь формироваться CO(16). Таким образом, аналитические выражения для искомых функций имеют вид:
;
;
.
Пересчитаем полученные функции VS, VR и CO соответствующих полей в базис ИЛИ-НЕ.
Поле B(1)
;
.
Поле B(2:15)
;
;
.
Поле B(16)
;
;
.
На рис. 11 приведена функциональная схема операционного блока B.
Рис. 11. Функциональная схема блока B
3.2.3 Синтез блока С
Структурная схема операционного блока C приведена на рис. 12.
Рис. 12. Структурная схема блока С
Над блоком С(0:16) выполняются МКО y4, y6, y7. Как и при синтезе блока А, поля С(0:1), C(2:15) и C(16) синтезируются одинаково, но после получения функций VS, VR и межразрядного переноса учитываются особенности реализации каждой МКО в отдельном поле. Также нужно отметить, что в данном блоке может возникать перенос двух видов: при выполнении МКО y4, и при выполнении МКО y6. Назовём эти переносы CO4 и CO6 соответственно. Тогда общая функция межразрядного переноса будет .
y4)
Для всех разрядов слова С операция выполняется одинаково (), кроме разряда С(0). Для него операция сложения выглядит следующим образом: . Это отличие решается непосредственно на схеме коммутацией цепей.
Заполняется каноническая таблица для определения функций возбуждения VS, VR и CO4 (см. таблицу 12).
Таблица 12 - Определение функций возбуждения VS, VR и CO4 (МКО y4)

t

t+1

t

C(i)

CI(i)

A(i)

B(i)

C(i)

VS

VR

CO4(i)

0

0

0

0

0

0

0v1

0

0

0

0

1

1

1

0

0

0

0

1

0

1

1

0

0

0

0

1

1

0

0

0v1

1

0

1

0

0

1

1

0

0

0

1

0

1

0

0

0v1

1

0

1

1

0

0

0

0v1

1

0

1

1

1

1

1

0

1

1

0

0

0

0

0

1

0

1

0

0

1

1

0v1

0

0

1

0

1

0

1

0v1

0

0

1

0

1

1

0

0

1

1

1

1

0

0

1

0v1

0

0

1

1

0

1

0

0

1

1

1

1

1

0

0

0

1

1

1

1

1

1

1

0v1

0

1

Составим карты Карно для минимизации функций VS, VR и CO4 (см. таблицу 13, 14, и 15 соответственно).
Таблица 13 - Минимизация функции VS

A(i) B(i)

C(i) CI(i)

00

01

11

10

00

0

1

0

1

01

1

0

1

0

11

0v1

0

0v1

0

10

0

0v1

0

0v1

Таблица 14 - Минимизация функции VR

A(i) B(i)

C(i) CI(i)

00

01

11

10

00

0v1

0

0v1

0

01

0

0v1

0

0v1

11

0

1

0

1

10

1

0

1

0

Таблица 15 - Минимизация функции CO4

A(i) B(i)

CI(i)

00

01

11

10

0

0

0

1

0

1

0

1

1

1

Аналитические выражения для искомых функций имеют вид (индекс i в формулах не пишется для более компактной записи выражений):
;
;
.
y6)
Составляется каноническая таблица для определения функций возбуждения VS, VR и межразрядного переноса CO6 (см. таблицу 16).
Таблица 16 - Определение функций VS, VR и CO6 (МКО y6)

t

t+1

t

С(1)

С(i)

CI(i)

С(i)

VS

VR

CO(i)

0

0

0

0

0

0v1

0

0

0

1

0

0

0v1

0

0

1

0

1

0v1

0

0

0

1

1

1

0v1

0

0

1

0

0

1

1

0

0

1

0

1

0

0

0v1

1

1

1

0

0

0

1

0

1

1

1

1

0v1

0

0

Аналитические выражения для искомых функций имеют вид:
;
;
.
y7)
В этой МКО i=1, 2,…, 16.
Составляется каноническая таблица для определения функции rC (см. таблицу 17).
Таблица 17 - Определение функции rC (МКО y7)

y7

C(i)

rC

0

0

1

0

1

1

1

0

0

1

1

1

Аналитическое выражение для искомой функции имеет вид:
.
Ниже представлены функции VS, VR, CO и rC в общем виде для всех разрядов блока С в микрооперациях y4, y6, y7:
;
;
;
.
Учтём особенности реализации МКО y4, y6, y7 в полях C(0:1), C(2:15) и C(16), упростив данные функции, и пересчитаем их в базис ИЛИ-НЕ.
Поле C(0:1)
Данное поле не изменяется и не формирует CO6 при выполнении МКО y6, поэтому не нужно формировать функции возбуждения триггеров и функцию межразрядного переноса для этой МКО.
;
;
;
.
Поле C(2:15)
.
???? C(16)
Данное поле не изменяется при выполнении МКО y6, поэтому не нужно формировать функции возбуждения триггеров для этой МКО. CO6 не будет зависеть от CI т.к. CI(16)=0. При выполнении МКО y4, функции возбуждения упростятся с учётом того что CI(16)=0. По той же причине упроститься и CO4.
;
;
;
.
Для изображения функциональной схемы операционного блока C, используются условно-графические обозначения, приведённые на рис. 13 - 18.
Рис. 13. Функция VS поля С(2:15)
Рис. 14. Функция VR поля С(2:15)
Рис. 15. Функция CO поля С(2:15)
Рис. 16. Функция Vs поля С(0:1)
Рис. 17. Функция VR поля С(0:1)
Рис. 18. Функция CO поля С(0:1)
На рис. 19 изображена функциональная схема операционного блока C с использованием условно-графических обозначений.
Рис. 19. Функциональная схема блока C
3.2.4 Синтез блока П
Над блоком П(1) выполняются МКО y3, y5. y3) П(1):=0
Заполним каноническую таблицу для определения функций VS и VR (см. таблицу 18).
Таблица 18 - Определение функций VS и VR (МКО y3)

t

t+1

t

П(1)

П(1)

VS

VR

0

0

0

0v1

1

0

0

1

Аналитические выражения для искомых функций имеют вид:
VS=0 y3=0;
VR=1 y3=y3.
y5) П(1):=1
Заполним каноническую таблицу для определения функций VS и VR (см. таблицу 19).
Таблица 19 - Определение функций VS и VR (МКО y5)

t

t+1

t

П(1)

П(1)

VS

VR

0

1

1

0

1

1

0v1

0

Аналитические выражения для искомых функций имеют вид:
VS=1 y5=y5;
VR=0 y5=0.
Представим функции функции VS и VR в общем виде:
VS=y5;
VR=y3.
На рис. 20 изображена функциональная схема блока П.
Рис. 20. функциональная схема блока П
3.3 Синтез функциональной схемы для вычисления значений логических условий
В рассматриваемом случае X = {x1, x2}. Рассмотрим каждое логическое условие.
x1) C(0)=C(1)
Для определения функции заполним каноническую таблицу (см. таблицу 20)
Таблица 20 - Определения функции

C(0)

C(1)

0

0

1

0

1

0

1

0

0

1

1

1

Аналитическое выражение для искомой функции имеет вид:
.
На рис. 21 изображена функциональная схема логического условия .
Рис. 21. Функциональная схема
x2)
Опознать наличие хотя бы одной единицы в разрядах слова С можно с помощью дизъюнкции. На момент проверки логического условия x2 разряды С(0) и С(1) всегда равны, поэтому в формуле можно не учитывать один из разрядов. Таким образом, аналитическое выражение для логического условия x2 будет следующее:
.
На рис. 22 изображена функциональная схема логического условия x2.
Рис. 22. Функциональная схема x2
4. Синтез функциональной схемы УА
Исходной информацией для синтеза УА является объединенная закодированная граф-схема работы УА (см. рис. 6). Синтез УА Мура осуществляется в два этапа:
- получение отмеченной граф-схемы работы;
- построение графа автомата.
Отмеченная граф-схема работы УА представлена на рис.6, где выполнена разметка для модели Мура. В рассматриваемом варианте задания предлагается разработать УА с жесткой логикой модели Мура.
4.1 Структурная схема УА
Для построения структурной схемы УА следует выполнить кодирование внутренних состояний памяти (см. таблицу 21).
Таблица 21 - Кодирование внутренних состояний УА

A0

A1

A2

A3

A4

A5

A6

A7

T1

0

0

0

0

1

1

1

1

T2

0

0

1

1

0

0

1

1

T3

0

1

0

1

0

1

0

1

Кодирование производится путем замены индекса при Аi на двоичный код, соответствующий номеру индекса. Объединенный граф структурного автомата Мура представлен на рис. 23.
Рис. 23. Объединённый граф работы УА
Для декодирования состояний памяти УА предлагается использовать дешифратор внутренних состояний, на выходах которого будут формироваться сигналы Y = {y1, y2, y3, y4, y5, y6, y7}, инициирующие МКО в ОА. Операции f1, f2, f3, f4 кодируются в соответствии с табл. 22.
Таблица 22 - Кодирование операций f1, f2, f3, f4

g1

g2

g3

f1

0

0

1

f2

0

1

0

f3

0

1

1

f4

1

0

0

Для дешифрации кодов макроопераций также используется дешифратор на входы которого подаётся код операции g1g2g3, а на его выходах формируется КОПi, где i=1, 2, 3, 4.
На рис. 24 представлена функциональная схема УА.
Рис. 24. Функциональная схема УА
На входы g1, g2, g3 поступает код выполняемой операции, на вход Start - сигнал начала операции, на входы x1, x2 поступают сигналы 0v1, соответствующие вычисленным значениям логических условий (осведомительные сигналы о состоянии ОА).
4.2 Функциональная схема УА
По графу автомата составляются канонические таблицы для определения функций возбуждения триггеров Т1, T2, T3 памяти УА. В таблице 23 определяются функции VSi и VRi для триггеров Т1, T2, T3.
Таблица 23 - Определение функций VSi и VRi для триггеров Т1, T2, T3

t

t+1

t

t+1

t

t+1

t

Ai

S

КОП1

КОП2

КОП3

КОП4

x1

x2

T1

T1

VS

VR

T2

T2

VS

VR

T3

T3

VS

VR

A0

0

-

-

-

-

-

-

0

0

0

-

0

0

0

-

0

0

0

-

1

1

0

0

0

-

-

0

0

0

-

0

0

0

-

0

1

1

0

1

0

1

0

0

-

-

0

0

0

-

0

1

1

0

0

0

0

-

1

0

0

1

0

-

-

0

0

0

-

0

1

1

0

0

1

1

0

1

0

0

0

1

-

-

0

1

1

0

0

1

1

0

0

1

1

0

A1

-

-

-

-

-

-

-

0

0

0

-

0

0

0

-

1

0

0

1

A2

-

-

-

-

-

-

-

0

0

0

-

1

0

0

1

0

0

0

-

A3

-

-

-

-

-

-

-

0

1

1

0

1

0

0

1

1

0

0

1

A4

-

-

-

-

-

0

-

1

1

-

0

0

0

0

-

0

1

1

0

-

-

-

-

-

1

1

1

1

-

0

0

0

0

-

0

1

1

0

-

-

-

-

-

1

0

1

1

-

0

0

1

1

0

0

0

0

-

A5

-

-

-

-

-

-

-

1

0

0

1

0

0

0

-

1

0

0

1

A6

-

-

-

-

-

-

-

1

0

0

1

1

0

0

1

0

0

0

-

A7

-

-

-

-

-

-

-

1

0

0

1

1

0

0

1

1

0

0

1

Аналитические выражения для искомых функций имеют вид:
, ;
, ;
, .
Пересчитаем полученные функции в базис ИЛИ-НЕ.
,
;
;
.
Комбинационная схема (КС) изображённая на рис. 24, имеет вид, представленный на рис. 25.
Рис. 25. Комбинационная схема (КС) УА
Заключение
В результате проделанной работы было спроектировано операционное устройство, которое реализует макрооперации предложенные в задании на курсовой проект. При разработке устройства были синтезированы и построены структурные и функциональные схемы операционного и управляющего автоматов.
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ
1. Учебное пособие “Разработка операционного устройства”;
2. Методические указания “Индивидуальные задания по дисциплинам «Алгебра логики» и «Арифметические и логические основы информационных систем»”;
3. Методические указания “Правила оформления схем к курсовому проекту”.
Размещено на Allbest.ru

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Функциональная схема и алгоритм работы устройства. Техническое обоснование выбора серии ИМС. Состав и описание работы узлов устройства. Расчёт необходимых сопротивлений резисторов, потребляемой мощности и тока. Построение и анализ временных диаграмм.

    курсовая работа [311,7 K], добавлен 19.05.2011

  • Функциональное диагностирование вычислительного устройства (ВУ), требования к нему по производительности, диапазону представления чисел, точности вычислений, сложности реализации и достоверности функционирования. Контроль по модулю ВУ с плавающей точкой.

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

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

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

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