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

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

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

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

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

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

ОСНОВЫ ПРОЕКТИРОВАНИЯ ОПЕРАЦИОННОЙ ЧАСТИ АРИФМЕмТИКО-ЛОГИмЧЕСКОГО УСТРОмЙСТВА

1. Этапы проектирования

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

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

На основе функциональной схемы проектируется принципиальная схема ОЧ.

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

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

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

2. Проектирование операционной части АЛУ

2.1 Разработка структурной схемы операционной части АЛУ

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

Алгоритм этой операции рассмотрен в разделе 5.4. (Схемы выполнения основных операций над числами с фиксированной запятой в двоичной системе счисления), а схема алгоритма представлена на рис. 5.1 (Блок-схема выполнения алгебраического сложения, вычитания в прямом коде).

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

В минимальном варианте операционная часть должна иметь:

· семиразрядный сумматор SM,

· два восьмиразрядных регистра РегА и РегВ (для фиксации результата можно использовать регистр одного из операндов),

· триггер кода операции/переполнения T&/v (код операции и переполнение используются в разных тактах),

· коммутирующие узлы (точки управления) и линии связи.

Начальными действиями операции будем считать прием с 9-ти разрядной шины данных кода операции (КО: сложение/вычитание) и операндов (8-ми-разрядных чисел: 7 разрядов плюс знак) на входные регистры А и В, а концом - передачу результата операции на шину данных и формирование признака переполнения (Рис. 1).

Структурная схема ОЧ специализированного устройства алгебраического сложения/вычитания приводится на рис. 1.

Выполнение операции начинается со следующих действий:

· прием с 9-ти разрядной шины данных кода операции (КО: сложение/вычитание),

· прием операндов(8-ми-разрядных чисел: 7 разрядов плюс знак) на входные регистры РегА и РегВ.

Операция завершается следующими действиями:

· передача результата операции на шину данных ,

· формирование признака переполнения.

Целью проектирования ОЧ АЛУ является оптимальный выбор компонент, точек управления и связей на основе анализа алгоритма выполнения операции. Критериями оптимальности проектирования могут быть стоимостные или временные (быстродействие) характеристики.

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

Рис.1 Структурная схема ОЧ специализированного устройства алгебраического сложения/вычитания 8-ми-разрядных целых чисел со знаком, заданных в прямом коде

Выбор и распределение компонентов.

При вычитании чисел с одинаковыми знаками вместо вычитания второго операнда производят его прибавление с инвертированием разрядов и прибавлением единицы в младший разряд. Эти операции можно выполнить одновременно в одном такте. Для этого разряды второго операнда при вычитании подают на входы сумматора с инверсных выходов регистра РегВ, а на вход переносов младшего разряда (SM(р7) на рис. 1) SM7) подается единичный сигнал у5.

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

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

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

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

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

Для разделения цепей приема второго операнда с шины данных и фиксации результатов с выхода сумматора SM (вых) используется второй мультиплексор MSB. Прием второго операнда с шины данных через сумматор производится по сигналам y2 и y6(tз).

При подаче разрядных значений операндов на входы сумматора результат на выходах формируется с определенной задержкой на переходные процессы. По этой причине фиксацию результатов производят в конце такта, например по заднему фронту управляющего сигнала, с использованием синхронных триггеров, например D-триггеров. На структурной схеме (Рис.1) такая микрооперация отмечена пометкой tз - у6(tз).

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

Для фиксации кода операции () и возможного переноса схема содержит D-триггер T / v (установка переноса производится по сигналу переноса с сумматора, сброс - по сигналу управления у7 ).

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

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

Схема содержит три контрольные точки, которые формируют оповещающие сигналы:

· Х1 - знак первого операнда и результата,

· Х2 - знак второго операнда,

· Х3 - заданный код операции, после использования - перенос из старшего разряда сумматора.

Проектирование графа микропрограммы.

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

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

Граф микропрограммы логического сложения/вычитания целых чисел со знаком в прямом коде представлен на рис.2. Граф микропрограммы построен на основе блок схемы алгоритма и структурной схемы ОЧ представленных, соответственно на рис. 5.1 и рис.1.

операционный функциональный микропрограмма граф

Рис. 2. Граф микропрограммы логического сложения/вычитания целых чисел со знаком в прямом коде

Первая микрокоманда графа Y1 (?) по сигналу y1 передает первый операнд с шины данных в первый регистр с дублированием знака на триггере знака/переполнения (T/v):

Вторая микрокоманда Y2 по сигналу y2 переключает вход мультиплексора MSB на шину данных и заносит второй операнд с шины данных ШД с задержкой по заднему фронту сигнала y6(tз):

Y2 = y2, y6 (tз)

Третья микрокоманда Y3 по сигналу y4 передает первый операнд на входы сумматора SM. Второй операнд при отсутствии сигнала y5 подается на входы сумматора в прямом коде. Фиксация суммы в регистре второго операнда РегВ производится по заднему фронту сигнала y6(tз).

Переполнение определяется по факту переноса из старшего разряда сумматора. Если единица переноса возникает при сложении, то - это переполнение. Перенос сохраняется как переполнение в триггере переполнения T/v.

Y3 = y4, y6 (tз),

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

· по сигналу y4 передает на входы сумматора первый операнд в прямом коде без знака,

· по сигналу y5 передает на входы сумматора второй операнд в дополнительном коде без знака,

· фиксирует сумму на регистре второго операнда по заднему фронту сигнала y6 (tз),

· фиксирует переполнение в триггере переноса T&/v,

Таким образом, микрокоманда Y4 производит вычитание без знаков второго оператора операнда из первого с сохранением результата в регистре второго операнда РегВ, а переноса -- в триггере переполнения T/v:

Y4 = y4, y5, y6 (tз),:

Пятая микрокоманда Y5 производит коррекцию знака результата.

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

Сигнал переполнения фиксируется в триггере переполнения T/v и проверяется после выполнения операции вычитания. При отсутствии переноса производится коррекция результата: триггер переполнения сбрасывается и производится инвертирование знака результата (y7):

Y5 = y7,

Это делается для упрощения сохранения знака результата. Априори результату присваивается знак первого операнда (А). Но на магистральную шину данных знак результата будет передаваться со знакового триггера второго операнда. Такая замена возможна, так как известно соотношение знаков.

Микрокоманда Y6 изменяет знак результата, формирует дополнительный код результата и сбрасывает сигнал переполнения (у7):

Y6 = y5, y6(tз), y7,

Микрокоманда Y7 сохраняет результат на шине данных:

Y7 = y3.

Граф микропрограмм имеет четыре вершины проверки условий:

· равенства знаков операндов X1 = X2

· переноса из старшего разряда сумматора X3.

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

Таблица 9. Микрокоманды устройства алгебраического сложения/вычитания целых чисел со знаком в прямом коде.

МК

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

Описание

Y1

y1: РегА:= ШД[0ч7];

T/v := РегА [0].

Занесение первого операнда в регистр c дублированием знака в регистр знака/переполнения.

Y2

у2:MSB:=ШД[0ч7];

y6(tз):РегВ[0ч7]:= SM(Вых)

Переключение мультиплексора на шину данных;

Занесение второго операнда в регистр с шины данных позднему фронту сигнала управления..

Y3

у4: SM(B):= РегВ[1ч7];

SM(А):= РегА[1ч7];

y6(tз):РегВ[1ч7]:= SM(Вых)

T/v := SM(P1).

Подача на вход сумматора SM(А) 2-го операнда.

Подача на вход сумматора SM(В) 1-го операнда.

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

Y4

y4: SM(А):= РегА[1ч7];

y5,: SM(B):= ;

SM(р7):= 1

y6(tз): РегВ[1ч7]:=SM(Вых)

T/v := SM(P1).

Подача на вход сумматора SM(В) 1-го операнда

Подача на вход сумматора SM(А) 2-го операнда с отрицательным знаком.

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

Y5

у7: T&v:= 0

у : РегА[0]:=

Сброс триггера переполнения (T&v) и

изменение знака результата

Y6

y5,: SM(B):= ;

SM(р7):= 1

y6tз : РегВ[1ч7]:= SM(Вых)

у7 : РегА[0]:= 0

Коррекция результата (перевод результата в дополнительный код с изменением знака).

Сброс триггера переполнения (T&v)

Y7

у3 : ШД[0ч8]:=

:= РегА[0]|РегВ[0ч7]| T&v

Помещение на шину данных результата операции со знаком и признака результата (переполнение).

2.2 Разработка функциональной схемы операционной части АЛУ

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

Функциональная схема представлена на рис. 3.

Входами схемы являются линии шины управляющих сигналов: y1 - y7 (семь линий) и линия кода операции (на вход триггера кода операции/переполнения) из схемы УЧ АЛУ.

Кроме этого, схема использует магистральную двунаправленную шину данных (семь разрядов числа и знак).

Функции триггера кода операции и триггера признака переполнения объединяются в одном триггере кода операции/переполнения (Т / v). Это допустимо, так как код операции используется только в первых тактах, а признак переполнения только на последних тактах выполнения операции.

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

· Два семиразрядных регистра на D-триггерах. Один из них должен иметь как прямые, так и инверсные выходы. Этот регистр (РегВ) предназначен для приема семи разрядов (с первого по седьмой) второго операнда. Второй регистр (РегА) может не иметь инверсных выходов. Он предназначен для хранения разрядов первого операнда. Для хранения результата можно использовать один из этих регистров.

· Два D-триггера для приема и хранения знаков операндов. Один из них должен иметь инверсный выход для реализации инвертирования знака результата при коррекции.

· Комбинационный семиразрядный сумматор (SM) с выходом переноса из старшего разряда SM(p1) и входом переноса на младший разряд SM(р7).

· Семиразрядный мультиплексор MSA на два входа для коммутации входов сумматора SM) на прием разрядов второго операнда (или результата) в прямом или дополнительном кодах.

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

· Семиразрядный мультиплексор MSB на два входа для коммутации входов регистра второго операнда/результата (РегВ) на прием второго операнда с шины данных (ШД) или с выхода сумматора.

· Семиразрядную схему И для разъединения выходов регистра первого операнда с входами сумматора на время коррекции результата.

· Восьмиразрядную схему И (на схеме рис.1 обозначена как точка управления с входящей стрелкой) для разъединения выходов регистра результата (со знаком) с магистральной шиной данных.

· Синхронный D-триггер с входом сброса для фиксации кода операции в начале операции и хранения переноса с сумматора в такте суммирования.

Список литературы

1. Майоров С.А., Новиков Г.И. Структура электронных вычислительных машин. Л.: Машиностроение, 1979. 384с.

2. Каган Б.М. Электронные вычислительные машины и системы: Учеб. пособие для вузов. - 2-е изд. перераб. и доп. - М.: Энергоатомиздат, 1985. - 552с., ил.

3. Организация ЭВМ. 5-е изд./ К. Хамахер, З. Заки. - СПб.: Питер; Киев: Издательская группа BHV, 2003. -848 с.: ил. - (Серия «Классика computer science»).

4. Цилькер Б.Я., Орлов С.А. Организация ЭВМ и систем. Учебник для вузов. - СПб.: Питер. 2004. - 668 с.: ил.

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

...

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

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