Алу является составной частью чего
Что такое арифметико-логическое устройство (АЛУ)
Что такое АЛУ? Арифметико-логическое устройство, одна из составляющих процессора. В статье мы приглашаем вас узнать принципы его действия, историю создания, основные характеристики, выполняемые операции, существующие классификации АЛУ.
Определение понятия
Вам будет интересно: Эльбрус или Байкал: какой российский процессор лучше?
Современное многофункциональное АЛУ состоит сегодня из двух частей:
Набор выполняемых операций
Важно знать, какие операции должно исполнять АЛУ для того, чтобы обладать функциональной полнотой. Как правило, хватает четырех:
Вам будет интересно: Интерфейс RS 485: описание
Если мы обратимся к первым арифметико-логическим устройствам, то увидим, что количество выполняемых ими операций ограничивалось 16-ю. Современные АЛУ способны выполнять сотни! Кстати, число операций и сегодня является важнейшей характеристикой данных устройств.
Классификация АЛУ
По способу представления информации:
По способу действий с операндами:
По применению систем исчисления:
По особенностям использования узлов и элементов:
Вам будет интересно: GeForce GT 720M: обзор, характеристики и отзывы
По временным характеристикам:
По характеристике устройства управления:
Основные функции
Арифметико-логическое устройство является составной частью процессора компьютера. АЛУ будет выполнять следующие функции:
Главные количественные характеристики
Составные части арифметико-логического устройства (ОУ и УУ) определяют количественные характеристики всей системы АЛУ. В частности, это следующее:
Главные качественные характеристики
Арифметико-логическое устройство (АЛУ) является составной частью процессора. Это определяет его важнейшие качественные характеристики:
История возникновения
Создателем арифметико-логических устройств считается Джон фон Нейман, разработчик компьютеров ЭНИАК (электронных числовых вычислителей).
Архитектура этого изобретения («архитектура фон Неймана») в дальнейшем стала базой, прототипом архитектур и большей части последующих компьютеров. В своих работах ученый указывал на наличие устройств, которые, по его мнению, являются обязательными для каждого компьютера. Среди них было упомянуто АЛУ. Фон Нейман считал, что арифметико-логическое устройство необходимо, потому что позволяет выполнять системе математические базовые операции. Как то: сложение и вычитание, умножение и деление.
Внутреннее устройство АЛУ
Мы уже разобрали, что условно АЛУ можно разделить на две части:
При этом условно состав АЛУ также подвергается следующей градации:
Сами микрокоманды делятся на две категории:
Функции регистров АЛУ
Чтобы иметь представление о работе АЛУ, нам нужно поближе познакомиться с функциями его регистров:
Теперь предлагаем вам обратиться к конкретным алгоритмам работы АЛУ.
Операция сложения
Функционально арифметико-логическое устройство будет состоять из Регистра 1, Регистра 2, сумматора и схемы управления.
Теперь распишем арифметическую операцию по тактам:
Операция вычитания
Давайте рассмотрим выполнение еще одной простой арифметической операции:
Операции в устройстве
Что такое арифметико-логическое устройство (АЛУ)
Что такое АЛУ? Арифметико-логическое устройство, одна из составляющих процессора. В статье мы приглашаем вас узнать принципы его действия, историю создания, основные характеристики, выполняемые операции, существующие классификации АЛУ.
Определение понятия
Современное многофункциональное АЛУ состоит сегодня из двух частей:
Набор выполняемых операций
Важно знать, какие операции должно исполнять АЛУ для того, чтобы обладать функциональной полнотой. Как правило, хватает четырех:
Если мы обратимся к первым арифметико-логическим устройствам, то увидим, что количество выполняемых ими операций ограничивалось 16-ю. Современные АЛУ способны выполнять сотни! Кстати, число операций и сегодня является важнейшей характеристикой данных устройств.
Классификация АЛУ
По способу представления информации:
По способу действий с операндами:
По применению систем исчисления:
По особенностям использования узлов и элементов:
По временным характеристикам:
По характеристике устройства управления:
Основные функции
Арифметико-логическое устройство является составной частью процессора компьютера. АЛУ будет выполнять следующие функции:
Главные количественные характеристики
Составные части арифметико-логического устройства (ОУ и УУ) определяют количественные характеристики всей системы АЛУ. В частности, это следующее:
Главные качественные характеристики
Арифметико-логическое устройство (АЛУ) является составной частью процессора. Это определяет его важнейшие качественные характеристики:
История возникновения
Создателем арифметико-логических устройств считается Джон фон Нейман, разработчик компьютеров ЭНИАК (электронных числовых вычислителей).
Архитектура этого изобретения («архитектура фон Неймана») в дальнейшем стала базой, прототипом архитектур и большей части последующих компьютеров. В своих работах ученый указывал на наличие устройств, которые, по его мнению, являются обязательными для каждого компьютера. Среди них было упомянуто АЛУ. Фон Нейман считал, что арифметико-логическое устройство необходимо, потому что позволяет выполнять системе математические базовые операции. Как то: сложение и вычитание, умножение и деление.
Внутреннее устройство АЛУ
Мы уже разобрали, что условно АЛУ можно разделить на две части:
При этом условно состав АЛУ также подвергается следующей градации:
Сами микрокоманды делятся на две категории:
Функции регистров АЛУ
Чтобы иметь представление о работе АЛУ, нам нужно поближе познакомиться с функциями его регистров:
Теперь предлагаем вам обратиться к конкретным алгоритмам работы АЛУ.
Операция сложения
Функционально арифметико-логическое устройство будет состоять из Регистра 1, Регистра 2, сумматора и схемы управления.
Теперь распишем арифметическую операцию по тактам:
Операция вычитания
Давайте рассмотрим выполнение еще одной простой арифметической операции:
Операции в устройстве
Арифметическо-логическое устройство
Арифме́тико-логи́ческое устро́йство (АЛУ) (англ. arithmetic and logic unit, ALU ) — блок процессора, который под управлением устройства управления (УУ) служит для выполнения арифметических и логических преобразований (начиная от элементарных) над данными называемыми в этом случае операндами. Разрядность операндов обычно называют размером машинного слова.
Содержание
История
Разработчик компьютера ENIAC, Джон фон Нейман, был первым создателем АЛУ. В 1945 году он опубликовал первые научные работы по новому компьютеру, названному англ. Electronic Discrete Variable Computer (EDVAC). Годом позже он работал со своими коллегами над разработкой компьютера для Принстонского института новейших исследований (IAS). Архитектура этого компьютера позже стала прототипом архитектур большинства последующих компьютеров. В своих работах фон Нейман указывал устройства, которые, как он считал, должны присутствовать в компьютерах. Среди этих устройств присутствовало и АЛУ. Фон Нейман отмечал, что АЛУ необходимо для компьютера, поскольку оно гарантирует, что компьютер будет способен выполнять базовые математические операции включая сложение, вычитание, умножение и деление.
Организация и принципы действия
Арифметико-логическое устройство в зависимости от выполнения функций можно разделить на две части:
В состав арифметико-логического устройства, условно, для примера на картинке, включается регистры Рг1 — Рг7, которые служат для обработки информации, поступающей из оперативной или пассивной памяти N1, N2, …NS и логические схемы, которые используются для обработки слов по микрокомандам, поступающим из устройства управления. Различают два вида микрокоманд: внешние — такие микрокоманды, которые поступают в АЛУ от внешних источников и вызывают в нём преобразование информации (на рисунке 2 это микрокоманды А1,А2,…,Аn) и внутренние — те, которые генерируются в АЛУ и оказывают влияние на микропрограммное устройство, изменяя таким образом нормальный порядок следования команд. р1, p2,…, pm на рисунке 2 — это и есть микрокоманды. А результаты вычислений из АЛУ передаются в ОЗУ по кодовым шинам записи у1, у2, …, ys.
Часть операционных регистров могут быть адресованы в команде для выполнения операций с их содержимым и их называют программно-доступными. К таким регистрам относятся: сумматор, индексные регистры и некоторые вспомогательные регистры. Остальные регистры нельзя адресовать в программе, то есть они являются программно-недоступными.
Операционные устройства можно классифицировать по виду обрабатываемой информации, по способу её обработки и по логической структуре. Более подробная классификация указана на рис.3.
Такая сложная логическая структура АЛУ может характеризоваться количеством отличающихся друг от друга микроопераций, которые необходимы для выполнения всего комплекса задач, поставленных перед арифметико-логическим устройством. На входе каждого регистра собраны соответствующие логические схемы, обеспечивающие такие связи между регистрами, что позволяет реализовать заданные микрооперации. Выполнение операций над словами сводится к выполнению определённых микроопераций, которые сводятся в свою очередь … управляют передачей слов в АЛУ и действиями по преобразованию слов. Порядок выполнения микрокоманд определяется алгоритмом выполнения операций. То есть, связи между регистрами АЛУ и их функциями зависят в основном от принятой методики выполнения логических операций, в том числе арифметических или специальной арифметики.
Операции в АЛУ
Все выполняемые в АЛУ операции являются логическими операциями (функциями), которые можно разделить на следующие группы:
Современные ЭВМ общего назначения обычно реализуют операции всех приведённых выше групп, а малые и микроЭВМ, микропроцессоры и специализированные ЭВМ часто не имеют аппаратуры арифметики чисел с плавающей точкой, десятичной арифметики и операций над алфавитно-цифровыми полями. В этом случае эти операции выполняются специальными подпрограммами.
К арифметическим операциям относятся сложение, вычитание, вычитание модулей («короткие операции») и умножение и деление («длинные операции»). Группу логических операций составляют операции дизъюнкция (логическое ИЛИ) и конъюнкция (логическое И) над многоразрядными двоичными словами, сравнение кодов на равенство. Специальные арифметические операции включают в себя нормализацию, арифметический сдвиг (сдвигаются только цифровые разряды, знаковый разряд остаётся на месте), логический сдвиг (знаковый разряд сдвигается вместе с цифровыми разрядами). Обширна группа операций редактирования алфавитно-цифровой информации. Каждая операция в АЛУ является логической функцией или последовательностью логических функций описываемых двоичной логикой для двоичных ЭВМ, троичной логикой для троичных ЭВМ, четверичной логикой для четверичных ЭВМ, …, десятичной логикой для десятичных ЭВМ и т. д..
Классификация АЛУ
По способу действия над операндами АЛУ делятся на последовательные и параллельные. В последовательных АЛУ операнды представляются в последовательном коде, а операции производятся последовательно во времени над их отдельными разрядами. В параллельных АЛУ операнды представляются параллельным кодом и операции совершаются параллельно во времени над всеми разрядами операндов.
По способу представления чисел различают АЛУ:
По характеру использования элементов и узлов АЛУ делятся на блочные и многофункциональные. В блочном АЛУ операции над числами с фиксированной и плавающей точкой, десятичными числами и алфавитно-цифровыми полями выполняются в отдельных блоках, при этом повышается скорость работы, так как блоки могут параллельно выполнять соответствующие операции, но значительно возрастают затраты оборудования. В многофункциональных АЛУ операции для всех форм представления чисел выполняются одними и теми же схемами, которые коммутируются нужным образом в зависимости от требуемого режима работы.
По своим функциям АЛУ является операционным блоком, выполняющим микрооперации, обеспечивающие приём из других устройств (например, памяти) операндов, их преобразование и выдачу результатов преобразования в другие устройства. Арифметико-логическое устройство управляется управляющим блоком, генерирующим управляющие сигналы, инициирующие выполнение в АЛУ определённых микроопераций. Генерируемая управляющим блоком последовательность сигналов определяется кодом операции команды и оповещающими сигналами.
Структурно–функциональная организация арифметическо–логического устройства (АЛУ)
Назначение и состав АЛУ
Арифметическо–логическое устройство предназначено:
● для реализации стандартного набора арифметических и логических операций над 16–разрядными операндами X, Y, а также многоцикловой операции деления с использованием двух имеющихся примитивов. Ниже приводится список стандартных функций АЛУ: R=X+Y сложение X и Y R=X+Y+CI сложение X и Y с переносом; R=X–Y вычитание Y из X; R=X–Y–CI–1 вычитание Y из X с заемом; R=Y–X вычитание X из Y; R=Y–X–CI–1 вычитание X из Y с заемом; R=–X арифметическое отрицание X;
R=–Y арифметическое отрицание Y; R=Y+1 инкремент Y; R=Y–1 декремент Y; R= PASS X результат равен операнду X; R= PASS Y результат равен операнду Y; R=0 (PASS 0) очистить результат; R=ABS X абсолютное значение X; R=X AND Y логическое умножение; R=X OR Y логическое сложение; R=X XOR Y сложение по модулю 2; R=NOT X логическое отрицание X; R=NOT Y логическое отрицание Y;
● для выдачи информации о состоянии процессора. После выполнения операции АЛУ генерирует (или обновляет) шесть флагов:
В состав блока АЛУ входят (рис. 8.3.1):
Путем установки бита AR_SAT = 1 (позиция MSTAT.3 в регистре режима и статуса процессора) регистр результата AR переводится в режим насыщения, в котором его содержимое при переполнении (флаг AV = 1) фиксирует:
Операция деление в АЛУ
Для операции деления в АЛУ используется дополнительная сдвиговая логика, не показанная на рис. 8.3.1. Деление может быть знаковым и беззнаковым. Деление беззнаковых чисел реализуется с помощью команды–примитива DIVQ, при выполнении которой формируется один бит частного за процессорный цикл. Шестнадцатикратное выполнение команды DIVQ позволяет получить 16 бит частного.
При делении знаковых чисел предварительно определяется знак частного с помощью другой команды–примитива DIVS.
После этого 15–кратное использование команды–примитива DIVQ позволяет получить значение частного с одинарной точностью. Для рассмотрения операции определении знака частного (DIVS) воспользуемся схемой на рис. 8.3.2. В исходном состоянии:
В исходном состоянии:
Для получения правильного результата при делении двух целых чисел (делимое в формате 32.0 и делитель в формате 16.0) необходимо предварительно сдвинуть делимое влево на один разряд, т. е. перевести делимое в формат 1.31.
Назначение и состав умножителя-акумулятора в АЛУ
Умножитель–акумулятор МАС позволяет выполнить умножение двух 16–разрядных операндов (Х*Y), умножение с накоплением суммы и разности (MR+X*Y; MR–X*Y), очистку результата MR, где MR — содержимое регистра результата. В состав умножителя–аккумулятора входят (рис. 8.3.4):
Основные режимы умножителя-аккумулятора АЛУ
Умножитель–аккумулятор обеспечивает выполнение операций в двух стандартных режимах:
Операция переполнения в АЛУ
После выполнения каждой операции в сумматоре–вычитателе формируется флаг переполнения MV, который заносится в позицию ASTAT.6 регистра арифметического статуса ASTAT (табл. 8.3.7). Флаг переполнения устанавливается (MV = 1) в том случае, если результат на выходе сумматора–вычитателя, интерпретируемый как число с дополнением до 2, пересекает 32–битную границу. В этом случае 9 старших (знаковых) разрядов 40–битного регистра результата не равны одновременно 0 или 1.
Операция насыщения в АЛУ
Эта операция выполняется при установленном флаге переполнения (MV = 1) в регистре арифметического статуса ASTAT (табл. 8.3.7). В результате операции содержимое регистра результата MR принимает максимальное:
Операция округления в АЛУ
С помощью опции RND аккумулятор позволяет округлять 40–битный результат до 16–битного. Округленный результат передается в регистр MR или MF. При использовании регистра MR округленный 16–битный результат содержится в регистре MR1. Содержимое регистров MR2, MR1 можно рассматривать как результат, округленный до 24 бит. Устройство сдвига.
Назначение и состав устройства сдвига
Устройство сдвига SHIFTER предназначено для выполнения сдвиговых операций 16–разрядных операндов, включающих арифметические и логические сдвиги, нормализацию и денормализацию, определение экспоненты. Устройство сдвига содержит (рис. 8.3.5):
Принцип работы устройства
Сдвиг входного 16–разрядного операнда осуществляется под действием контрольного кода и сигнала HI/LO, поступающих соответственно на входы С и R сдвигового массива.
Контрольный код представляет собой 8–разрядный операнд, указывающий направление сдвига и число разрядов, на которое следует произвести сдвиг. Положительное значение операнда указывает на левый сдвиг (или сдвиг вверх), отрицательное — на правый сдвиг (или сдвиг вниз). Контрольным кодом могут служить содержимое регистра SE в прямой и инверсной форме или непосредственно команда.
Сигнал HI/LO определяет начальную точку сдвига: в режиме HI сдвиги производятся относительно SR1 (верхней половины выходного поля); в режиме LO — относительно SR0 (нижней половины). Устройство сдвига заполняет все биты 32–битного результата справа от позиции операнда нулями, слева — битом расширения X, который может быть взят из трех источников: знаковый бит операнда, бит переноса АС из регистра ASTAT и 0.
Детектор экспоненты (степени) позволяет выделить степень из входного 16–разрядного операнда и может находиться в трех состояниях, по–разному интерпретирующих степень входного операнда:
Ниже с использованием примеров рассмотрены особенности выполнения операций определения экспоненты блока, немедленных сдвигов, денормализации и нормализации.
Определение экспоненты (степени) блока
Эта операция, выполняемая с помощью команды EXPANDJ, позволяет определить степень самого большого по масштабу числа из массива чисел. При определении экспоненты используется регистр блочных операций SB. В исходном состоянии регистр SB загружен числом –16 (SB = –16), которое поступает на один из входов цифрового компаратора (см. рис. 8.3.5). На другой вход компаратора с выхода детектора экспоненты подается значение экспоненты EXP1 первого элемента массива. Если EXP1>SB, то значение EXP1 загружается в регистр SB, т. е. SB = EXP1.
В противном случае содержимое SB остается неизменным.
Подобным образом обрабатываются последующие элементы массива. После обработки всех элементов массива регистр SB будет содержать наибольшую степень, значение которой лежит в пределах от –15 до 0. Отметим, что операция определения экспоненты является просмотровой операцией. Для выполнения операции нормализации необходимо скопировать содержимое регистра SB в регистр экспоненты SE. В табл. 8.3.2 приведен пример определения экспоненты блока из трех элементов. Из табл. 8.3.2 следует, что степень самого большого из приведенных чисел массива составляет –3.
Команда немедленные сдвиги
С помощью команд немедленного сдвига выполняются операции логического или арифметического сдвига влево (вверх)/вправо (вниз) на требуемое число разрядов. В командах определено направление и размер сдвига. Сдвиг происходит под действием контрольного кода в виде 8–битного знакового числа, который берется из команды. Регистр экспоненты SE в немедленных сдвигах не задействован.
Примеры. Рассмотрим случай, когда входной операнд в виде 16–разрядного двоичного кода 10110110 10100011 (0xB6A3) загружается в регистр операндов SI.
Логические сдвиги
Денормализация
Денормализация числа — это его сдвиг на заданное число разрядов, которое хранится в регистре экспоненты SE. Поэтому при денормализации контрольный код берется из регистра SE, а не из команды как при немедленных сдвигах. Фактически денормализация преобразует число с плавающей точкой в число с фиксированной точкой. Пример. Покажем особенности этой операции на примере денормализации числа с двойной точностью. Пусть содержимое регистра SE = –3. В этом случае необходимо выполнить в два этапа (в любой последовательности):
Нормализация
Нормализация числа в виде дополнительного кода — ото такой сдвиг числа, при котором остается только один знаковый бит. При выполнении операции нормализации фиксируется число разрядов, на которое сдвигается операнд. Поэтому операцию нормализации можно считать как преобразование числа с фиксированной точкой в число с плавающей точкой, имеющее порядок и мантиссу. На первом этапе нормализации чисел с одинарной точностью по команде EXP определяется порядок числа, на втором по команде NORM реализуется требуемый сдвиг.
Обе команды выполняются с использованием модификаторов HI или LO, а команда NORM дополнительно распознает также модификаторы PASS и OR.
При выполнении команды NORM используется содержимое регистра экспоненты SE со знаком минус (рис. 8.3.5), чтобы произвести сдвиг в нужную сторону. Нормализация чисел с двойной точностью выполняется по приведенной схеме, однако на первом этапе старшая половина числа обработать первой. При определении порядка старшей половины числа значение порядка загружается в регистр экспоненты SE. Младшая половина числа изменит содержимое SE только в том случае, когда все биты старшей половины являются знаковыми, т.е. при SE = –15. В этом случае в регистр SE будет загружен порядок (–16…–31, табл. 8.3.1) младшей половины числа. Зафиксированное в SE значение порядка используется на втором этапе для сдвига обоих частей числа с двойной точностью. При этом порядок обработки (старшей или младшей половины числа) может быть выбран любой с помощью модификаторов HI и LO. Первая половина числа нормализуется без модификатора OR, вторая половина числа — с модификатором OR, чтобы получить правильный результат.