Выбери формат для чтения
Загружаем конспект в формате pdf
Это займет всего пару минут! А пока ты можешь прочитать работу в формате Word 👇
Электроника и схемотехника
Лекция №9(24).
Арифметико-логическое
устройство(АЛУ).
1. Назначение, состав и структура АЛУ.
2. Классификация АЛУ.
3. Принципы построения АЛУ, УГО. Система команд.
Каскадирование АЛУ.
1. Назначение, состав и структура АЛУ.
Все основные операции по преобразованию данных в ЗВМ производятся в операционных блоках,
которые в большинстве случаев называются арифметико-логическим устройством. Набор
операций,
выполняемых АЛУ универсальных ЭВМ, должен быть функционально полным, т.е.,
обеспечивать реализацию любого вычислительного алгоритма. И хотя функциональную полноту
можно обеспечить очень узким набором операций, число различных операций, выполняемых в
АЛУ, обычно составляет от нескольких десятков до нескольких сотен. Это обеспечивает сокращение
длины программ и повышение быстродействия ЭВМ в целом.
Как правило, в любом АЛУ предусмотрена возможность выполнения четырех основных
арифметических операций, нескольких логических операций, а также сдвигов. Набор операций АЛУ
является одной из основных его характеристик.
Так как АЛУ является законченным в функциональном отношении устройством, то на него
распространяются общие закономерности технических систем. Поэтому в составе АЛУ в общем случае
можно выделить четыре группы узлов, соответствующих основным системным процессам:
Ø хранения,
Ø передачи,
Ø преобразования,
Ø управления.
К узлам хранения в АЛУ относятся:
регистры, обеспечивающие хранение операндов, промежуточных и окончательных результатов;
триггеры, позволяющие хранить различные признаки результатов или какие-либо вспомогательные
биты.
В некоторых случаях регистры АЛУ образуют блок регистровой памяти, а триггеры (называемые
также флажками) объединяются в регистр состояния.
К узлам передачи, имеющимся в АЛУ, относятся:
Ø шины, соединяющие отдельные блоки АЛУ;
Ø блоки вентилей (схем И) и мультиплексоры, обеспечивающие
выбранному направлению и в нужный момент времени.
выполнение передачи по
К группе узлов преобразования могут относиться:
Ø сумматоры, выполняющие в ряде случаев несколько различных микроопераций;
Ø схемы выполнения логических операций, иногда совмещаемые с сумматорами;
Ø схемы коррекции, например, для операций десятичной арифметики;
Ø схемы сдвига (сдвигатели);
Ø преобразователи кодов, служащие для получения обратных или дополнительных кодов;
Ø счетчики, используемые для вспомогательных преобразований и для подсчета числа циклов в
циклических операциях.
К узлам управления можно отнести:
Ø блок управления АЛУ (если таковой имеется отдельно);
Ø дешифраторы управляющих сигналов (кодов);
Ø схемы формирования логических условий (признаков), используемых для организации ветвлений
в микропрограммах выполнения операций.
Следует учитывать, что любое разделение, классификация имеют элемент условности и можно
найти достаточно примеров, когда один узел можно отнести к различным группам, В частности, в
рассматриваемом случае мультиплексоры и блоки вентилей можно отнести как к узлам передачи, так
и к узлам управления, так как они разрешают или запрещают передачу.
Арифметико-логическое устройство включает узлы перечисленных групп, соединенные тем или
иным способом в некоторую структуру. Структурные схемы АЛУ могут быть различными, что
определяется различием принципов их построения. Основные особенности организации АЛУ будут
рассмотрены далее, в классификации этих устройств.
Типовая структурная схема АЛУ показана ниже, где:
Ø Р1, Р2, Р3, Р4 – регистры,
Ø
Ø
Ø
Ø
Ø
МП1, МП2 – мультиплексоры,
См – сумматор,
Сдв – сдвигатель,
СхФормПр – схема формирования признаков (флажков),
РП – регистр признаков.
Типовая структурная схема АЛУ
В этой схеме основным узлом преобразования информации является сумматор, выполняющий
операции суммирования и логические операции. В некоторых АЛУ логические операции выполняются
в специальных узлах. Кроме того, преобразования осуществляются и в сдвигателе. Регистры Р1...Р3
служат для хранения операндов и промежуточных результатов, регистра Р4 – выходной, используется
для промежуточного хранения результатов, снимаемых с выхода сумматора (сдвигателя). Мульти-
плексоры МП1 и МП2 обеспечивают коммутацию на входы сумматора содержимого регистров Р1, ... Р3,
а в некоторых случаях – и инвертирование, т. е. получение обратных кодов их содержимого (если в
сумматоре не выполняется операция вычитания непосредственно).
СхФормПр
обеспечивает
формирование значений логических условий, отражающих получение на выходе сумматора
нулевого числа, отрицательного числа, переполнения результата, переноса из старшего разряда,
четности результата и др., а регистр признаков РП (или набор триггеров) сохраняет значения этих
условий.
Рассмотренная структурная схема имеет обобщенный характер. На ней не показаны узлы
управления, вспомогательные узлы. Использование в схеме сумматора обусловливает определенные
особенности связей между узлами АЛУ. Приводимые в некоторых литературных источниках схемы АЛУ
будет мало отличаться от рассмотренной.
Помимо набора операций и структурной организации, АЛУ характеризуются
еще
рядом
показателей. К ним относятся:
Ø разрядность обрабатываемых чисел (кодов),
Ø времена выполнения различных операций или, иногда, усредненное быстродействие,
Ø наличие
дополнительных
функциональных возможностей типа контроля правильности
выполнения операций,
Ø устойчивости к отказам,
Ø конструктивные характеристики, такие как габариты, энергопотребление, надежность и пр.
2. Классификация АЛУ.
В процессорах современных ЭВМ используются различные по своей организации АЛУ. Эти
различия обусловлены функциональным назначением АЛУ, способами реализации операций,
требованиями по быстродействию и др. Основные характерные особенности того или иного АЛУ
можно отнести к одной из трех групп: особенности обрабатываемой информации, организации
выполнения операций и структурной организации. Рассмотрим эти группы несколько подробнее.
Классификация АЛУ
Обрабатываемая в АЛУ информация представляет собой либо численные, либо логические
величины (и те и другие могут иметь различную организацию). Как известно, численные величины в
ЭВМ представляются по-разному. Это проявляется, в основном, в используемых формах
представления данных, системах счисления, разрядности, применяемых кодах. По этим признакам АЛУ
можно разделить следующим образом.
По форме представления чисел: АЛУ с фиксированной запятой; АЛУ с плавающей запятой; АЛУ
с фиксированной и плавающей запятыми (универсальные). Причем в рамках каждого представления
имеются некоторые различия, влекущие за собой особенности процедур выполнения операций либо
структуры АЛУ. Так, числа с фиксированной запятой могут быть представлены в виде целых или в
виде дробных чисел, меньших единицы. Это сказывается на особенностях выполнения операций
умножения и деления. Числа с плавающей запятой могут иметь мантиссу и порядок (целое со
знаком) или мантиссу и характеристику (смещенный порядок), что влияет на процедуры обработки
порядков.
Кроме того, следует также упомянуть наличие и других форм представления, используемых в
калькуляторах: так называемая автоматическая запятая, при которой положение запятой в результате
операции определяется количеством разрядов дробной части чисел, участвующих в операции;
естественная запятая - то же для целых частей.
По используемой системе счисления: АЛУ, работающие в позиционной системе счисления; АЛУ,
работающие в непозиционной системе счисления.
Известно несколько позиционных систем счисления, используемых в ЭВМ. В первую очередь это
двоичная и двоично-десятичная системы счисления. Причем последняя также имеет разновидности,
применявшиеся в различных ЭВМ и отличающиеся весами двоичных разрядов, смещением цифры нуль
и др. Кроме этих систем, широко распространены восьмеричная и шестнадцатеричная системы
счисления, дающие, по сравнению с двоичной, большую наглядность в изображении чисел и
расширяющие диапазон их представления при одинаковом количестве двоичных разрядов (по
отношению к двоичной системе) в записи числа для формата с плавающей запятой.
Известны также случаи использования троичной системы счисления, некоторые работы с R-значными
системами, разработки по использованию систем счисления, веса двоичных разрядов в которых соот-
ветствуют числам Фибоначчи.
Из непозиционных систем счисления в арифметике используется система остаточных классов
(СОК), числа в которой представляются в виде остатков от деления исходного числа на набор взаимно
простых чисел, называемых основаниями системы. Такое представление обеспечивает возможность
независимой обработки разрядов (остатков) чисел, что, в частности, представляет интерес для
цифровой оптической обработки информации .
По разрядности обрабатываемых чисел: АЛУ, выполняющие операции над числами (кодами)
фиксированной разрядности; АЛУ, обрабатывающие операнды переменной длины.
В обоих случаях само АЛУ имеет фиксированную разрядность блоков, но во второй группе
предусмотрены специальные средства, обеспечивающие обработку операндов по частям, и
соответствующие микропрограммы выполнения операций. Имеются также АЛУ, в которых операции
выполняются над несколькими различными видами операндов фиксированной разрядности, обычно
это форматы полуслова, слова и слова двойной длины.
По кодам, используемым для представления отрицательных чисел: АЛУ с использованием обратных
кодов; АЛУ с использованием дополнительных кодов.
Принципиальных особенностей структур АЛУ это различие не обусловливает. Известны и
устройства, в которых одни операции выполняются с использованием обратных кодов, а другие дополнительных.
По принципу получения результата: АЛУ с алгоритмической реализацией операций; табличные
АЛУ; таблично-алгоритмические АЛУ.
АЛУ с алгоритмической реализацией операций - наиболее распространенный тип. В них
каждая операция (кроме самых простых) представляется в виде последовательности более простых
преобразований - микроопераций. Последовательность этих преобразований определяется
алгоритмом выполнения операций. Реализуется такая последовательность либо за несколько тактов
под управлением соответствующей микропрограммы, обеспечивающей необходимую настройку узлов
АЛУ в каждом такте, либо за один такт, при наличии для всех микроопераций отдельных узлов,
соединенных в требуемой последовательности.
В табличных АЛУ результат операции не вычисляется каждый раз при ее выполнении. Он
выбирается из таблицы - постоянной памяти, в которой заранее записаны назначения результатов,
соответствующие всем возможным значениям операндов. Такой способ наиболее эффективен для
вычисления сложных функций одного аргумента при небольшой его разрядности, например,
тригонометрических функций. Применим он и для реализации обычных арифметических операций.
При выполнении операций в табличных АЛУ значение аргумента (аргументов) используют в
качестве адреса ячейки ПЗУ, в которой записан результат, соответствующий этому значению
(значениям). Табличный способ обеспечивает высокую скорость обработки, так как независимо от
сложности реализуемых преобразований все действия сводятся к считыванию готового результата из
ПЗУ. Однако недостатком его является необходимость очень большого объема памяти (таблицы) при
увеличении разрядности операндов.
Таблично-алгоритмические АЛУ представляют собой компромисс между первыми двумя
способами. В них результат получается сочетанием этих способов. Часть разрядов операндов (обычно
старшие разряды) используется для получения приближенного значения результата табличным
способом. По остальным разрядам вычисляется поправка к предварительному результату. Этот метод
позволяет сократить объем таблиц при сохранении относительно высокой скорости и находит
применение в мощных ЭВМ.
По порядку обработки данных: последовательные АЛУ, параллельные АЛУ и конвейерные АЛУ.
Эти АЛУ различаются между собой по степени параллелизма в выполнении операций. Так, в АЛУ
последовательного типа обработка операндов осуществляется последовательно разряд за
разрядом. В АЛУ параллельного типа операции производятся одновременно над всеми разрядами
операндов. Известны также промежуточные варианты организации АЛУ - параллельнопоследовательные, в которых обработка операндов осуществляется одновременно по группам
разрядов, тогда как группы обрабатываются между собой последовательно.
В АЛУ конвейерного типа параллелизм имеет место на уровне операций, т. е. в них возможно
выполнение нескольких операций одновременно. Термин «конвейерные АЛУ» имеет различные
интерпретации. В ряде случаев его применяют к многоблочным АЛУ. Например, АЛУ, имеющее в
качестве отдельных блоков сумматор, устройство умножения и устройство деления может
обеспечивать конвейерную обработку. С другой стороны, сами устройства умножения и деления могут
быть конвейерного типа и реализовать сразу несколько операций умножения или деления, которые в
один и тот же момент времени пребывают в разных стадиях своего выполнения. Эти варианты
конвейеров называют конвейерами последовательного типа в отличие от векторных конвейеров ,
выполняющих операции над векторами.
Очевидно, что чем выше степень параллелизма, заложенного в струк-туре АЛУ, тем более
высокопроизводительным оно является. Однако слож-ность схем, а следовательно, аппаратные затраты
на реализацию таких АЛУ и управление ими тоже возрастают.
Особенности структурной организации АЛУ определяются составом операционных блоков
устройства и характером связей между ними. В этой группе признаков АЛУ можно подразделить
следующим образом.
По количеству операционных блоков: одноблочные АЛУ (иначе, универсальные или
многофункциональные) и многоблочные АЛУ.
В одноблочные АЛУ имеется операционный блок, в котором может выполняться любая из операций
АЛУ. Такая организация характерна для ЭВМ невысокой производительности. Многоблочные АЛУ
имеют в своем составе несколько операционных блоков, каждый из которых ориентирован на
выполнение какой - либо одной операции, например умножения, или нескольких операций, например
сложения и логики. Причем предусматривается одновременная работа различных блоков, что,
совместно со специализацией блоков, обеспечивает более высокую производительность ЗВМ с такими
АЛУ .
По характеру связей: устройства с магистральными и с непосредственными связями.
Для устройств с магистральными связями характерно наличие внутренней шины данных, по
которой осуществляются все передачи информации между любыми узлами АЛУ. В случае
непосредственных связей в структуре предусматривается набор индивидуальных шин, связывающих
пары узлов, между которыми должны выполняться передачи.
Структурные особенности определяются также и назначением ЭВМ, в состав которых входит АЛУ, в
целом. Так, например, в специализированных системах для обработки сигналов операционные блоки
могут иметь структуру, наиболее приспособленную к алгоритмам обработки .
3. Принципы построения АЛУ, УГО. Система
команд. Каскадирование АЛУ.
Вид выполняемой АЛУ арифметической или логической операции задается устройству внешним кодом
операции. При арифметических операциях АЛУ учитывает перенос из младших разрядов и генерирует
перенос в старшие разряды. Логические операции выполняются параллельно и независимо над
соответствующими битами операндов. Кроме переноса в старший разряд, который является признаком
переполнения разрядной сетки АЛУ, в устройстве могут формироваться и другие признаки результата,
такие как: равенство нулю, положительность и т.п.
Наиболее наглядна функциональная схема АЛУ, построенная на основе набора комбинационных
устройств выполняющих требуемые операции и выходных мультиплексоров. Такая схема
обеспечивающая арифметическое сложение двухразрядных операндов, а также поразрядные
логические операции И, ИЛИ, “исключающее ИЛИ” имеет вид, приведенный ниже на рисунке.
Схемой АЛУ предусматривается формирование признаков:
Ø F2- переполнение разрядной сетки АЛУ;
Ø P — положительность результата;
Ø Z — нулевой результат.
Признаки Z и P формируются всегда, а признак F2 только при операции сложения.
Рассмотренная функциональная схема не является схемой минимальной сложности. Поэтому на
практике предпочитают синтезировать минимальные АЛУ по заданным таблицам истинности. Именно
такие АЛУ и выпускаются в виде микросхем.
Структурная схема и УГО 2-х разрядного АЛУ
Многоразрядные АЛУ выпускаются в виде интегральных микросхем или входят в состав
процессоров,
являясь
их
основой. Ниже представлено 4-разрядное
параллельное
АЛУ,
выполняющее 16 арифметических и 16 логических операций.
Схема 4-разрядного АЛУ и схема ускоренного переноса
А(а0 – а3) – первый операнд, В(b0 – b3) – второй операнд, S(s0 – s3) – код операции 4 разряда.
Если М=0, то выполняются арифметические операции: 24 =16, при М=1 выполняются
логические операции: 24 =16. Итого 16 + 16 = 32 операции. F(f0 – f3) – результат операции. На
выходе А=В появляется «1», если при выполнении операции вычитания результат операции
будет равен «0», то есть А=В. Поскольку АЛУ параллельного типа, то имеются выходы
генерации G и распространения переноса H. p↓n и P↓n+4 - входной и выходной переносы.
Перечень выполняемых АЛУ операций приведен ниже. Шестнадцать логических операций
позволяют воспроизводить все функции двух переменных. В логико-арифметических операциях
встречаются и логические и арифметические операции одновременно.
Перечень выполняемых АЛУ операций
Для
увеличения
разрядности
обрабатываемых
слов
МС
АЛУ
можно
соединять
последовательно, как и в параллельных сумматорах с последовательным переносом. При этом
конечно увеличивается время выполнения операций.
Уменьшить это время и, следовательно, увеличить быстродействие АЛУ можно применением
схемы ускоренного переноса. Используя четыре схемы АЛУ и одну схему ускоренного переноса
можно получить 16 – разрядное полностью параллельное АЛУ, время суммирования которого
равно времени суммирования одной микросхемы.
3.1. Каскадирование АЛУ с последовательным переносом.
Каскадирование АЛУ.
Каскадирование АЛУ можно производить следующими способами:
Ø с последовательным включением;
Ø с параллельным включением;
Ø с последовательно-параллельным включением.
Данным методам соответствуют 4-х разрядные АЛУ с последовательным и параллельным переносом.
На рисунке ниже показано последовательное включение трех 4-х разрядных секций АЛУ для
получения 12-разрядного АЛУ. Так как выходы Fa=b выполнены с открытым коллектором, то они
соединяются по схеме “монтажное И” для получения 12-разрядной функции равнозначности кодов А и
B.
Последовательное включение 4-х разрядных АЛУ для получения 12-ти
разрядного АЛУ
3.2. Каскадирование АЛУ с параллельным переносом.
Структурная схема 16 разрядного АЛУ с параллельным переносом
Структура этой схемы полностью соответствует структуре схемы 16-разрядного сумматора с
параллельным переносом, но с выполнением функций, присущих АЛУ.
3.3. Каскадирование АЛУ с последовательно-параллельным
переносом.
Структурная схема последовательно-параллельного 32 разрядного АЛУ для выполнения
арифметических операций над 64 разрядными операндами
На рисунке выше показана структурная схема параллельно-последовательного ALU-32 при
выполнении арифметических операций над 64-разрядными числами. Операции выполняются за два
такта. При выполнении операции сложения в первом такте вычисляется сумма младших 32 разрядов,
перенос запоминается в синхронном D-триггере, а во втором такте — суммируются старшие 32 разря-
да и перенос, который образовался при суммировании в первом такте. Мультиплексирование 32разрядных чисел и триггера задержки сигнала переноса производится одновременно. Рассмотренную
схему можно использовать и для сложения к х 32-разрядных чисел за к тактов.