Какой логический узел является основой алу компьютера

Обновлено: 03.07.2024

В вычислении , арифметико - логическое устройство (АЛУ) является комбинационная цифровая схема , которая выполняет арифметические и побитовые операции на целое число двоичных чисел . В этом отличие от блока с плавающей запятой (FPU), который работает с числами с плавающей запятой . Это фундаментальный строительный блок многих типов вычислительных схем, включая центральный процессор (ЦП) компьютеров, FPU и графические процессоры (GPU).

СОДЕРЖАНИЕ

Сигналы

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

Данные

Базовый ALU имеет три параллельные шины данных, состоящие из двух входных операндов ( A и B ) и вывода результата ( Y ). Каждая шина данных представляет собой группу сигналов, передающих одно целое двоичное число. Обычно ширина шины A, B и Y (количество сигналов, составляющих каждую шину) идентична и соответствует собственному размеру слова внешней схемы (например, инкапсулирующего ЦП или другого процессора).

Код операции

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

Статус

Выходы

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

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

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

Схема работы


Комбинационная логическая схема из 74181 интегральной схемы, которая является простым четыре бита ALU

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

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

Функции

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

Арифметические операции

  • Сложить : A и B суммируются, и сумма появляется в Y и переносится.
  • Сложение с переносом : A, B и перенос суммируются, и сумма отображается в Y и переносе.
  • Вычесть : B вычитается из A (или наоборот), а разница появляется в Y и переносе. Для этой функции выполнение фактически является индикатором «заимствования». Эта операция также может использоваться для сравнения величин A и B; в таких случаях выход Y может игнорироваться процессором, который интересуется только битами состояния (в частности, нулевым и отрицательным), которые возникают в результате операции.
  • Вычесть с заимствованием : B вычитается из A (или наоборот) с заимствованием (переносом), а разница появляется в Y и переносе (заимствовании).
  • Дополнение до двух (отрицание) : A (или B) вычитается из нуля, и разница появляется в Y.
  • Приращение : A (или B) увеличивается на единицу, и результирующее значение появляется в Y.
  • Уменьшение : A (или B) уменьшается на единицу, и результирующее значение появляется в Y.
  • Проходить : все биты A (или B) отображаются без изменений в Y. Эта операция обычно используется для определения четности операнда, равно нулю или отрицательности, или для загрузки операнда в регистр процессора.

Побитовые логические операции

  • И : побитовое И для A и B появляется в Y.
  • ИЛИ : побитовое ИЛИ A и B появляется в Y.
  • Исключающее ИЛИ : побитовое исключающее ИЛИ для A и B появляется в Y.
  • Дополнение до единиц : все биты A (или B) инвертируются и появляются в Y.

Операции битового сдвига

Примеры битового сдвига для восьмиразрядного ALU
Тип Оставил Верно
Арифметический сдвиг
Логический сдвиг
Повернуть
Повернуть через перенос

Операции сдвига ALU заставляют операнд A (или B) сдвигаться влево или вправо (в зависимости от кода операции), и смещенный операнд появляется в Y. Простые ALU обычно могут сдвигать операнд только на одну битовую позицию, тогда как более сложные ALU используют цилиндрические сдвиги, которые позволяют им сдвигать операнд на произвольное количество бит за одну операцию. Во всех однобитовых операциях сдвига бит, смещенный из операнда, появляется при выполнении; значение сдвигаемого в операнд бита зависит от типа сдвига.

  • Арифметический сдвиг : операнд рассматривается какцелое число с дополнением до двух , что означает, что самый старший бит является «знаковым» битом и сохраняется.
  • Логический сдвиг : в операнд сдвигается логический ноль. Используется для сдвига целых чисел без знака.
  • Поворот : операнд обрабатывается как кольцевой буфер битов, поэтому его младший и самый старший биты фактически смежны.
  • Чередование через перенос : бит переноса и операнд вместе рассматриваются как кольцевой буфер битов.

Приложения

Арифметика с высокой точностью

Алгоритм использует ALU для непосредственной работы с конкретными фрагментами операндов и, таким образом, генерирует соответствующий фрагмент («частичный») результата с множественной точностью. Каждый фрагмент, когда он сгенерирован, записывается в связанную область памяти, которая была назначена для результата с множественной точностью. Этот процесс повторяется для всех фрагментов операнда, чтобы сгенерировать полную коллекцию частичных данных, которая является результатом операции с множественной точностью.

В арифметических операциях (например, сложение, вычитание) алгоритм начинается с вызова операции ALU над LS-фрагментами операндов, тем самым создавая как частичный LS, так и бит выполнения. Алгоритм записывает часть в указанную память, тогда как конечный автомат процессора обычно сохраняет бит выполнения в регистре состояния ALU. Затем алгоритм переходит к следующему фрагменту коллекции каждого операнда и вызывает операцию ALU над этими фрагментами вместе с сохраненным битом переноса из предыдущей операции ALU, тем самым создавая еще один (более значимый) частичный бит и бит переноса. Как и раньше, бит переноса сохраняется в регистре состояния, а часть записывается в назначенное хранилище. Этот процесс повторяется до тех пор, пока все фрагменты операндов не будут обработаны, в результате чего будет получен полный набор частичных данных в хранилище, которые составляют арифметический результат с множественной точностью.

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

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

Сложные операции

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

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

  • Расчет за один такт : очень сложное АЛУ, которое вычисляет квадратный корень за одну операцию.
  • Конвейер вычислений : группа простых ALU, которые вычисляют квадратный корень поэтапно, с промежуточными результатами, передаваемыми через ALU, организованные как заводская производственная линия . Эта схема может принимать новые операнды до завершения предыдущих и выдает результаты так же быстро, как и очень сложный ALU, хотя результаты задерживаются на сумму задержек распространения каскадов ALU. Дополнительные сведения см. В статье о конвейерной обработке инструкций .
  • Итерационный расчет : простой ALU, который вычисляет квадратный корень через несколько шагов под руководством блока управления .

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

Выполнение

История

Математик Джон фон Нейман предложил концепцию ALU в 1945 году в отчете об основах нового компьютера под названием EDVAC .

Стоимость, размер и энергопотребление электронных схем были относительно высокими на заре информационной эры . Следовательно, все последовательные компьютеры и многие ранние компьютеры, такие как PDP-8 , имели простой ALU, который работал с одним битом данных за раз, хотя они часто предоставляли программистам более широкий размер слова. Одним из первых компьютеров, имевших несколько дискретных однобитовых схем ALU, был Whirlwind I 1948 года , в котором использовалось шестнадцать таких «математических модулей», позволяющих оперировать 16-битными словами.

В 1967 году Fairchild представила первый ALU, реализованный в виде интегральной схемы, Fairchild 3800, состоящий из восьмиразрядного ALU с аккумулятором. Вскоре появились другие ALU на интегральных схемах , включая четырехразрядные ALU, такие как Am2901 и 74181 . Эти устройства, как правило, поддерживали « битовый сегмент », что означало, что они имели сигналы «упреждающего переноса», что облегчало использование нескольких взаимосвязанных микросхем ALU для создания ALU с более широким размером слова. Эти устройства быстро стали популярными и широко использовались в миникомпьютерах с битовыми срезами.

Микропроцессоры начали появляться в начале 1970-х годов. Несмотря на то, что транзисторы стали меньше, часто не хватало места на кристалле для ALU полной ширины слова, и, как результат, некоторые ранние микропроцессоры использовали узкий ALU, который требовал нескольких циклов для каждой инструкции машинного языка. Примеры этого включают популярный Zilog Z80 , который выполнял восьмибитное сложение с четырехбитным ALU. Со временем геометрия транзисторов еще больше уменьшилась в соответствии с законом Мура , и стало возможным создавать более широкие ALU на микропроцессорах.

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

АЛУ могут быть реализованы в виде механических , электро-механических или электронных схем, а в последние годы исследования в биологической АЛУ была проведена (например, актин основанное).

Содержание

История

Организация и принципы действия

2^<(2^2)*2></p>
<ul>
  <li>Одноразрядное двоичное бинарное (двухоперандное) АЛУ с бинарным (двухразрядным) выходом может выполнять до =2^8=256
двоичных бинарных (двухоперандных) функций (операций) с бинарным (двухразрядным) выходом.

  • Одноразрядное троичное бинарное (двухоперандное) АЛУ с унарным (одноразрядным) выходом (полуАЛУ) может выполнять до =3^9=19\ 683" width="" height="" />
    троичных бинарных (двухоперандных) функций (операций) с унарным (одноразрядным) выходом.
  • Одноразрядное троичное бинарное (двухоперандное) АЛУ с бинарным (двухразрядным) выходом может выполнять до =3^=387\ 420\ 489" width="" height="" />
    троичных бинарных (двухоперандных) функций (операций) с бинарным (двухразрядным) выходом.

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

  1. микропрограммное устройство (устройство управления), задающее последовательность микрокоманд (команд);
  2. операционное устройство, в котором реализуется заданная последовательность микрокоманд (команд).


В состав арифметико-логического устройства, условно, для примера на картинке, включается регистры Рг1 — Рг7, которые служат для обработки информации, поступающей из оперативной или пассивной памяти N1, N2, …NS и логические схемы, которые используются для обработки слов по микрокомандам, поступающим из устройства управления. Различают два вида микрокоманд: внешние — такие микрокоманды, которые поступают в АЛУ от внешних источников и вызывают в нём преобразование информации (на рисунке 2 это микрокоманды А1,А2,…,Аn) и внутренние — те, которые генерируются в АЛУ и оказывают влияние на микропрограммное устройство, изменяя таким образом нормальный порядок следования команд. р1, p2,…, pm на рисунке 2 — это и есть микрокоманды. А результаты вычислений из АЛУ передаются в ОЗУ по кодовым шинам записи у1, у2, …, ys.

  • Рг1 — аккумулятор (или аккумуляторы) — главный регистр АЛУ, в котором образуется результат вычислений;
  • Рг2,Рг3 — регистры операндов (слагаемого/сомножителя/делителя/делимого и др.) в зависимости от выполняемой операции;
  • Рг4 — регистр адреса (или адресные регистры), предназначенные для запоминания (бывает что формирования) адреса операндов результата;
  • Рг6 — k индексных регистров, содержимое которых используется для формирования адресов;
  • Рг7 — l вспомогательных регистров, которые по желанию программиста могут быть аккумуляторами, индексными регистрами или использоваться для запоминания промежуточных результатов.

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

Операционные устройства можно классифицировать по виду обрабатываемой информации, по способу её обработки и по логической структуре. Более подробная классификация указана на рис.3.

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

Операции в АЛУ

Все выполняемые в АЛУ операции являются логическими операциями (функциями), которые можно разделить на следующие группы:

  • операции двоичной арифметики для чисел с фиксированной точкой;
  • операции двоичной (или шестнадцатеричной) арифметики для чисел с плавающей точкой;
  • операции десятичной арифметики;
  • операции индексной арифметики (при модификации адресов команд);
  • операции специальной арифметики;
  • операции над логическими кодами (логические операции);
  • операции над алфавитно-цифровыми полями.

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

К арифметическим операциям относятся сложение, вычитание, вычитание модулей («короткие операции») и умножение и деление («длинные операции»). Группу логических операций составляют операции дизъюнкция (логическое ИЛИ) и конъюнкция (логическое И) над многоразрядными двоичными словами, сравнение кодов на равенство. Специальные арифметические операции включают в себя нормализацию, арифметический сдвиг (сдвигаются только цифровые разряды, знаковый разряд остаётся на месте), логический сдвиг (знаковый разряд сдвигается вместе с цифровыми разрядами). Обширна группа операций редактирования алфавитно-цифровой информации. Каждая операция в АЛУ является логической функцией или последовательностью логических функций описываемых двоичной логикой для двоичных ЭВМ, троичной логикой для троичных ЭВМ, четверичной логикой для четверичных ЭВМ, …, десятичной логикой для десятичных ЭВМ и т. д..

Классификация АЛУ

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

По способу представления чисел различают АЛУ:

  1. для чисел с фиксированной точкой;
  2. для чисел с плавающей точкой;
  3. для десятичных чисел.

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

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

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

Определение понятия

Арифметико-логическое устройство - один из блоков процессора, управляемый УУ (устройством управления). Его предназначение: выполнение логических и арифметических преобразований над данными-операндами (аргументами операции, информацией, обрабатываемой программой). Разрядность операндов в данном случае - размер или длина машинного слова.

Вам будет интересно: Эльбрус или Байкал: какой российский процессор лучше?

Современное многофункциональное АЛУ состоит сегодня из двух частей:

  • Операционное устройство.
  • Устройство управления. Проводит вторичную дешифрацию кодов команды, определяет операцию, выполняемую в арифметико-логическом устройстве.


Набор выполняемых операций

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

  • Обращение к памяти устройства для чтения или записи информации.
  • Декремент/инкремент.
  • Сравнение. Здесь реализуется возможность условного перехода.
  • Остановка функционирования устройства.

Вам будет интересно: Интерфейс RS 485: описание

Если мы обратимся к первым арифметико-логическим устройствам, то увидим, что количество выполняемых ими операций ограничивалось 16-ю. Современные АЛУ способны выполнять сотни! Кстати, число операций и сегодня является важнейшей характеристикой данных устройств.

Классификация АЛУ

Мы помним, арифметико-логическое устройство - устройство управления и операционное. Но не все современные и исторические АЛУ одинаковы. Далее мы приведем самые распространенные их классификации.

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

  • С плавающей запятой.
  • С фиксированной запятой.

По способу действий с операндами:

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

По применению систем исчисления:

  • Двоичные.
  • Двоично-десятичные.
  • Восьмеричные.
  • Шестнадцатиричные и проч.

По особенностям использования узлов и элементов:

  • Блочные. Для выполнения отдельных арифметических операций в систему арифметико-логического устройства процессора вводят специальные блоки. Последние позволяют вести параллельно процессы обработки информации.
  • Конвейерные. Чем отличаются АЛУ такого типа? Любая операция будет разбиваться на последовательность из микроопераций. Они выполняются за определенные такты (равные временные промежутки) на разных ступенях такого конвейера. Операция над потоком операндов, таким образом, выполняется каждый такт.
  • Многофункциональные. Это универсальные АЛУ, которые способны исполнить множество операций в одном устройстве. Однако здесь требуется настройка на выполнение конкретной операции с помощью ее кода.

Вам будет интересно: GeForce GT 720M: обзор, характеристики и отзывы

По временным характеристикам:

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

По характеристике устройства управления:

  • Имеющие микропрограммное управление.
  • С жесткой логикой УУ.


Основные функции

Арифметико-логическое устройство является составной частью процессора компьютера. АЛУ будет выполнять следующие функции:

  • Двоичной арифметики для информации в форматах с фиксированной точкой.
  • Двоичной арифметики для информации в форматах с плавающей точкой.
  • Арифметики двоично-десятичного представления сведений.
  • Логические операции (арифметические и логические сдвиги).
  • Пересылка информации.
  • Работа с символьными данными.
  • Работа с графической информацией.

Главные количественные характеристики

Составные части арифметико-логического устройства (ОУ и УУ) определяют количественные характеристики всей системы АЛУ. В частности, это следующее:

  • Время выполнения одной операции.
  • Скорость выполнения операций вообще.
  • Число исполняемых операций.
  • Точность предоставленной информации.


Главные качественные характеристики

Арифметико-логическое устройство (АЛУ) является составной частью процессора. Это определяет его важнейшие качественные характеристики:

  • Структурные особенности системы АЛУ.
  • Методики кодирования данных.
  • Форматы представления информации - с плавающей или фиксированной точкой.

История возникновения

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

Уже в 1945 году им были опубликованы первые научные работы по своему стартовому изобретению - компьютеру EDVAC. В следующем году он уже работал вместе со своими коллегами над созданием такого устройства в Принстонском институте перспективных исследований.

Архитектура этого изобретения ("архитектура фон Неймана") в дальнейшем стала базой, прототипом архитектур и большей части последующих компьютеров. В своих работах ученый указывал на наличие устройств, которые, по его мнению, являются обязательными для каждого компьютера. Среди них было упомянуто АЛУ. Фон Нейман считал, что арифметико-логическое устройство необходимо, потому что позволяет выполнять системе математические базовые операции. Как то: сложение и вычитание, умножение и деление.


Внутреннее устройство АЛУ

Мы уже разобрали, что условно АЛУ можно разделить на две части:

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

При этом условно состав АЛУ также подвергается следующей градации:

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

Сами микрокоманды делятся на две категории:

  • Поступают от внешнего источника в АЛУ. Вызывают в арифметико-логическом устройстве преобразование информации.
  • Генерируются в самом АЛУ. Оказывают свое влияние на микропрограммное устройство. Тем самым изменяют нормальный, стандартный порядок следования команд.


Функции регистров АЛУ

Чтобы иметь представление о работе АЛУ, нам нужно поближе познакомиться с функциями его регистров:

  • Pr1. Это аккумулятор или аккумуляторы. Считается главным регистром устройства, в котором и образуется результат произведенных вычислений.
  • Pr2, Pr3. Регистры операндов в зависимости от характера исполняемой операции - слагаемого, делителя, сомножителя и проч.
  • Pr4. Это адресный регистр. Он запоминает (в иных случаях формирует) адреса операндов результата.
  • Pr6. Некое количество индексных регистров. Их содержимое будет использоваться для формирования адресов.
  • Pr7. Вспомогательные регистры. По желанию разработчика могут стать аккумуляторами, индексными или вовсе использоваться для сохранения промежуточных результатов вычисления.

Теперь предлагаем вам обратиться к конкретным алгоритмам работы АЛУ.

Операция сложения

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

Теперь распишем арифметическую операцию по тактам:


Операция вычитания

Давайте рассмотрим выполнение еще одной простой арифметической операции:

Операции в устройстве

И еще одна тема напоследок. Мы должны помнить, что все операции,выполняемые в АЛУ, - логические. Их можно разделить на следующие категории:


  • Индексной арифметики.
  • Десятичной арифметики.
  • Специальной арифметики.
  • Двоичной арифметики для значений с фиксированной точкой.
  • Двоичной, шестнадцатеричной арифметики для значений с плавающей точкой.
  • Над алфавитно-цифровыми полями.
  • Над логическими кодами.

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

Классическая ЭВМ состоит из трех основных устройств: арифметико-логического устройства , устройства управления и запоминающего устройства. Рассмотрим особенности организации этих устройств. Прежде всего, рассмотрим структуру арифметико-логического устройства .

В современных ЭВМ арифметико-логическое устройство не является самостоятельным схемотехническим блоком. Оно входит в состав микропроцессора, на котором строится компьютер . Однако знание структуры и принципов работы АЛУ весьма важно для понимания работы компьютера в целом. Для лучшего понимания этих вопросов проведем синтез арифметического устройства, предназначенного для выполнения только одной операции – умножения чисел с фиксированной запятой , заданных в прямом коде, со старших разрядов множителя [13] . В ходе этого процесса также обратим внимание на особенности использования рассмотренных выше основных схемотехнических элементов ЭВМ.

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

Пусть операнды имеют вид:

где x0 , y0 – знаковые разряды.

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

Sign Z = Sign X \oplus Sign Y \\ |Z| = y_<1></p>
\cdot |X| \cdot 2^+ y_ \cdot |X| \cdot 2^ +…+y_ \cdot |X| \cdot 2^

[X]_</p>
= 0.1101; Sign X = 0 \\ [Y]_ = 1.1011; Sign Y = 1 \\ Sign Z = 0 \oplus 1 = 1 \\ |X| = 0. 1 1 0 1 \\ |Y| = 0. 1 0 1 1 \\ y_y_y_y_ \\ +0.00000000 |Z| = 0 \\ y_ = 1 0.01101000 1 \cdot |X| \cdot 2^ \\ + \ovwerline |Z| = |Z| + |X| \cdot 2^ \\ y_ = 0 0.00000000 0 \cdot |X| \cdot 2^ \\ + \overline |Z| = |Z| + 0 \\ y_ = 1 0.00011010 1 \cdot |X| \cdot 2^ \\ + \overline |Z| = |Z| + |X| \cdot 2^ \\ y_ = 1 0.00001101 1 \cdot |X| \cdot 2^ \\ \overline |Z| = |Z| + |X| \cdot 2^

Алгоритм вычислений представлен на рис. 3.1


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

Каждой переменной, представленной в алгоритме, в схеме должен соответствовать элемент хранения. Разрядность модуля произведения равна сумме разрядностей сомножителей. Умножение двоичного числа на 2 -i обеспечивается сдвигом этого числа вправо на соответствующее количество разрядов. Переход к анализу очередного разряда множителя ( i = i + 1 ) может быть обеспечен сдвигом регистра множителя на один разряд в сторону старших разрядов.

Исходя из этого, определим состав оборудования, необходимого для реализации АЛУ заданного типа для n = 4 ( таблица 3.1).

Арифметико-логическое устройство (АЛУ) - центральная часть процессора, выполняющая арифметические и логические операции.

АЛУ реализует важную часть процесса обработки данных. Она заключается в выполнении набора простых операций. Операции АЛУ подразделяются на три основные категории: арифметические, логические и операции над битами. Арифметической операцией называют процедуру обработки данных, аргументы и результат которой являются числами (сложение, вычитание, умножение, деление. ). Логической операцией именуют процедуру, осуществляющую построение сложного высказывания (операции И, ИЛИ, НЕ. ). Операции над битами обычно подразумевают сдвиги.

Содержание

История создания

Разработчик компьютера ENIAC, Джон фон Нейман, был первым создателем АЛУ. В 1945 году он опубликовал первые научные работы по новому компьютеру, названному EDVAC (Electronic Discrete Variable Computer). Годом позже он работал со своими коллегами над разработкой компьютера для Принстонского института новейших исследований (IAS). Архитектура этого компьютера позже стала прототипом архитектур большинства последующих компьютеров. В своих работах фон Нейман указывал устройства, которые, как он считал, должны присутствовать в компьютерах. Среди этих устройств присутствовало и АЛУ. Фон Нейман отмечал, что АЛУ необходимо для компьютера, поскольку оно гарантирует, что компьютер будет способен выполнять базовые математические операции включая сложение, вычитание, умножение и деление

Структура АЛУ

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

Арифметико-логическое устройство функционально можно разделить на две части :

  1. микропрограммное устройство (устройство управления), задающее последовательность микрокоманд (команд);
  2. операционное устройство (АЛУ), в котором реализуется заданная последовательность микрокоманд (команд).


Рисунок 1 - Структурная схема арифметико-логического устройства

Структурная схема АЛУ и его связь с другими блоками машины показаны на рисунке 1. В состав АЛУ входят регистры Рг1 - Рг7, в которых обрабатывается информация , поступающая из оперативной или пассивной памяти N1, N2, . NS; логические схемы, реализующие обработку слов по микрокомандам, поступающим из устройства управления.

Закон переработки информации задает микропрограмма , которая записывается в виде последовательности микрокоманд A1,A2, . Аn-1,An. При этом различают два вида микрокоманд: внешние, то есть такие микрокоманды, которые поступают в АЛУ от внешних источников и вызывают в нем те или иные преобразования информации (на рис. 1 микрокоманды A1,A2. Аn), и внутренние, которые генерируются в АЛУ и воздействуют на микропрограммное устройство, изменяя естественный порядок следования микрокоманд. Например, АЛУ может генерировать признаки в зависимости от результата вычислений: признак переполнения, признак отрицательного числа, признак равенства 0 всех разрядов числа др. На рис. 1 эти микрокоманды обозначены р1, p2. рm.

Результаты вычислений из АЛУ передаются по кодовым шинам записи у1, у2, . уs, в ОЗУ. Функции регистров, входящих в АЛУ:

  • Рг1 - сумматор (или сумматоры) - основной регистр АЛУ, в котором образуется результат вычислений;
  • Рг2, РгЗ - регистры слагаемых, сомножителей, делимого или делителя (в зависимости от выполняемой операции);
  • Рг4 - адресный регистр (или адресные регистры), предназначен для запоминания (иногда и формирования) адреса операндов и результата;
  • Ргб - k индексных регистров, содержимое которых используется для формирования адресов;
  • Рг7 - i вспомогательных регистров, которые по желанию программиста могут быть аккумуляторами, индексными регистрами или использоваться для запоминания промежуточных результатов.

Часть операционных регистров является программно-доступной, то есть они могут быть адресованы в команде для выполнения операций с их содержимым. К ним относятся : сумматор, индексные регистры, некоторые вспомогательные регистры.

Остальные регистры программно-недоступные, так как они не могут быть адресованы в программе. Операционные устройства можно классифицировать по виду обрабатываемой информации, по способу обработки информации и логической структуре.

АЛУ может оперировать четырьмя типами информационных объектов: булевскими (1 бит), цифровыми (4 бита), байтными (8 бит) и адресными (16 бит). В АЛУ выполняется 51 различная операция пересылки или преобразования этих данных. Так как используется 11 режимов адресации (7 для данных и 4 для адресов), то путем комбинирования "операция/ режим адресации" базовое число команд 111 расширяется до 255 из 256 возможных при однобайтном коде операции.

Классификация АЛУ

  • По способу действия над операндами АЛУ делятся на последовательные и параллельные. В последовательных АЛУ операнды представляются в последовательном коде, а операции производятся последовательно во времени над их отдельными разрядами. В параллельных АЛУ операнды представляются параллельным кодом и операции совершаются параллельно во времени над всеми разрядами операндов.
  • По способу представления чисел различают АЛУ:
    1. для чисел с фиксированной точкой;
    2. для чисел с плавающей точкой;
    3. для десятичных чисел.
  • По характеру использования элементов и узлов АЛУ делятся на блочные и многофункциональные. В блочном АЛУ операции над числами с фиксированной и плавающей точкой, десятичными числами и алфавитно-цифровыми полями выполняются в отдельных блоках, при этом повышается скорость работы, так как блоки могут параллельно выполнять соответствующие операции, но значительно возрастают затраты оборудования. В многофункциональных АЛУ операции для всех форм представления чисел выполняются одними и теми же схемами, которые коммутируются нужным образом в зависимости от требуемого режима работы.
  • По своим функциям АЛУ является операционным блоком, выполняющим микрооперации, обеспечивающие приём из других устройств (например, памяти) операндов, их преобразование и выдачу результатов преобразования в другие устройства. Арифметическо-логическое устройство управляется управляющим блоком, генерирующим управляющие сигналы, инициирующие выполнение в АЛУ определённых микроопераций. Генерируемая управляющим блоком последовательность сигналов определяется кодом операции команды и оповещающими сигналами.

Операции в АЛУ

Выполняемые в АЛУ операции можно разделить на следующие группы:

  • операции двоичной арифметики для чисел с фиксированной точкой;
  • операции двоичной (или шестнадцатеричной) арифметики для чисел с плавающей точкой;
  • операции десятичной арифметики;
  • операции индексной арифметики (при модификации адресов команд);
  • операции специальной арифметики;
  • операции над логическими кодами (логические операции);
  • операции над алфавитно-цифровыми полями.

Современные ЭВМ общего назначения обычно реализуют операции всех приведённых выше групп, а малые и микроЭВМ, микропроцессоры и специализированные ЭВМ часто не имеют аппаратуры арифметики чисел с плавающей точкой, десятичной арифметики и операций над алфавитно-цифровыми полями. В этом случае эти операции выполняются специальными подпрограммами. К арифметическим операциям относятся сложение, вычитание, вычитание модулей («короткие операции») и умножение и деление («длинные операции»). Группу логических операций составляют операции дизъюнкция (логическое ИЛИ) и конъюнкция (логическое И) над многоразрядными двоичными словами, сравнение кодов на равенство. Специальные арифметические операции включают в себя нормализацию, арифметический сдвиг (сдвигаются только цифровые разряды, знаковый разряд остаётся на месте), логический сдвиг (знаковый разряд сдвигается вместе с цифровыми разрядами). Обширна группа операций редактирования алфавитно-цифровой информации

Читайте также: