21301

Основы проектирования операционной части АЛУ

Лекция

Информатика, кибернетика и программирование

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

Русский

2013-08-02

273.5 KB

34 чел.

Лекция 4

Основы проектирования операционной части АЛУ

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

Проектирование операционной части АЛУ заключается:

- в выборе схемы выполнения операции согласно техническому заданию;

- выборе основных функциональных элементов;

- составлении структурной схемы операционной части с указанием всех точек управления и определении всех микроопераций и микрокоманд;

- составлении графа микропрограммы.

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

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

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

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

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

2.1. Схема выполнения алгебраического сложения-вычитания

над числами с фиксированной в прямом коде

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

К основным схемам операций над числами с фиксированной запятой в двоичной системе счисления можно отнести:

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

Алгебраическое сложение/вычитание чисел в прямом коде

Пример:

С = А В,

где: А и В целые числа со знаком, представленные в прямом коде.

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

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

Эту цепочку действий можно модифицировать.

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

1. А + В = + (А + В)

2. А + (– В) = + (А – В)

3. (– А) + В = – (А – В)

4. (–А) + (–В) = – (А + В)

5. А – В = + (А – В)

6. А – (– В) = + (А + В)

7. (– А) – В = – (А + В)

8. (– А) – (– В) = – (А – В)

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

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

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

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

В блок схеме используются два типа блоков:

  •  Блоки выполнения действия над значениями исходных переменных с присваиванием результата новым переменным или одной из старых. Эти блоки  изображаются в виде прямоугольных рамок с текстом, задающим эти действия;
  •  Блоки ветвлений с указаниями проверок условий ветвлений. Эти блоки изображаются в виде ромбических рамок с указаниями условий ветвлений (переходов).

Рис. 1. Блок схема алгоритма выполнения алгебраического сложения / вычитания чисел в прямом  коде

T&/V

триггер кода операции/переполнения T&/v

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

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

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

  •  семиразрядный сумматор SM,
  •  два восьмиразрядных регистра РегА и РегВ (для фиксации результата можно использовать регистр одного из операндов),
  •  триггер кода операции/переполнения T&/v (код операции и переполнение используются в разных тактах),
  •  коммутирующие узлы (точки управления) и линии связи.

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

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

Рис.2 Структурная схема ОЧ специализированного устройства

алгебраического сложения/вычитания 8-ми-разрядных целых чисел со знаком,

заданных в прямом коде.

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

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

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

  •  передача результата операции на шину данных ,
  •  формирование признака переполнения.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Y2 = y2, y6(tз)

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

Рис. 3. Граф микропрограммы логического сложения/вычитания

целых чисел со знаком в прямом коде

Переполнение определяется по факту переноса из старшего разряда сумматора. Если единица переноса возникает при сложении, то – это переполнение. Перенос сохраняется  как переполнение в триггере переполнения 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.

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

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

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

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

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

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

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

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

МК

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

Описание

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):= ;

    SM7):= 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

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

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

  •  Два семиразрядных регистра на D-триггерах. Один из них должен иметь как прямые, так и инверсные выходы. Этот регистр (РегВ) предназначен для приема семи разрядов (с первого по седьмой) второго операнда. Второй регистр (РегА) может не иметь инверсных выходов. Он предназначен для хранения разрядов первого операнда. Для хранения результата можно использовать один из этих регистров.
  •  Два D-триггера для приема и хранения знаков операндов. Один из них должен иметь инверсный выход для реализации инвертирования знака результата при коррекции.
  •  Комбинационный семиразрядный сумматор (SM) с выходом переноса из старшего разряда SM(p1) и входом переноса на младший разряд SM(р7).
  •  Семиразрядный мультиплексор MSA на два входа для коммутации входов сумматора SM) на прием разрядов второго операнда (или результата) в прямом или дополнительном кодах.
  •  Семиразрядный мультиплексор MSB на два входа для коммутации входов регистра второго операнда/результата (РегВ) на прием второго операнда  с шины данных (ШД) или с выхода сумматора.
  •  Семиразрядную схему И для разъединения выходов регистра первого операнда с  входами сумматора на время коррекции результата.
  •  Восьмиразрядную схему И (на схеме рис.2 обозначена как точка управления с входящей стрелкой) для разъединения выходов регистра результата (со знаком) с магистральной шиной данных.
  •  Синхронный D-триггер с входом сброса для фиксации кода операции в начале операции и хранения переноса с сумматора в такте суммирования.

Рис. 4. Функциональная схема операционной части устройства

алгебраического сложения/вычитания восьмиразрядных целых чисел

со знаком в прямом коде.

______________________________________________________________________

-8-

Курс «Организация ЭВМ»

(курсовой проект)


 

А также другие работы, которые могут Вас заинтересовать

3308. Поезд здоровья 28.21 KB
  Внеклассное мероприятие в 5–7-х классах. Игра по станциям "Поезд здоровья"  Цели:  Пропаганда здорового образа жизни  Профилактика вредных привычек школьников Творческая реализация учащихся в группе  Воспитание уважите...
3309. Путешествие в мир слов 29.59 KB
  Внеклассное мероприятие по русскому языку "Путешествие в мир слов" Цель: Обратить внимание детей на свойство различных слов выражать одну и ту же мысль, закрепить знания детей об антонимах, учить детей употреблять в речи фразеологизмы. Развивать реч...
3310. Выбор наивыгоднейшего режима резания 236.5 KB
  Введение Наивыгоднейший режим резания – это такое сочетание глубины резания, подачи и скорости резания, при котором получается минимальное машинное время при обеспечении необходимой точности и чистоты обработанной поверхности детали и заданной...
3311. Разработка алгоритмов диагностирования 146.5 KB
  Задание: разработка алгоритмов диагностирования. Функционально-логическая модель объекта контроля представлена в бланке задания. Таблицу функций неисправностей принимаем из первой расчетно-графической работы. Которая представлена в Таблице 1. Таблиц...
3312. Теплотехнической система газотурбинной установки 490.5 KB
  В данном курсовом проекте в качестве теплотехнической системы исследуется газотурбинная установка. Топливом для ГТУ является природный газ. Выполнение курсового проекта производится в определенной последовательности, которая характерна методике мате...
3313. Кроектирование мостового грейферного крана 237 KB
  Введение Мостовые краны относятся к кранам пролётного типа. Данные краны широко применяются на судоремонтных заводах, закрытых и открытых складах, в мастерских, производственных цехах, на монтажных и ремонтных площадках, а также на всех промышленных...
3314. Обработка результатов измерений. Лабораторные работы 3.8 MB
  Обработка результатов измерений 1. Прямые и косвенные измерения Изучение физических явлений и их закономерностей, а также использование этих закономерностей на практике связано с измерением физических величин. По способу получения результатов физиче...
3315. Измерение длин штангенциркулем и микрометром 432 KB
  Измерение длин штангенциркулем и микрометром Цель работы: овладение навыками измерения линейных размеров тел с помощью штангенциркуля и микрометра, определение погрешности прямых измерений, определение объема и площади образца. Приборы и принадлежно...
3316. Кино Италии (1896 - 1929) 341 KB
  Кино Италии (1896 - 1929) В начале XIX века Италия, под руководством Джузеппе Гарибальди объединилась в единое государство. Для нового государства нужны были колонии, поэтому начались захватнические войны. Первая Абессинская компания (1896) закончил...