Alu что это в компьютере

Обновлено: 04.07.2024


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

Функции АЛУ, выбираемые динамически при помощи конфигурационного ОЗУ, приведены в таблице ниже.

Таблица 21-8. Функции ALU.

Func[2:0] Функция Операция
000 PASS srca
001 INC ++srca
010 DEC --srca
011 ADD srca + srcb
100 SUB srca – srcb
101 XOR srca ^ srcb
110 AND srca & srcb
111 OR srca | srcb

Carry in используется в арифметических операциях. Как показано в таблице 21-9, для определенных функций существуют значения carry in по умолчанию.

Таблица 21-9. Функции Carry In.

Функции Операция Реализация Carry In по умолчанию
INC ++srca srca + 00h + ci, где ci равно 1
DEC --srca srca + ffh + ci, где ci равно 0
ADD srca + srcb srca + srcb + ci, где ci равно 0
SUB srca — srcb srca +

В дополнение к этим штатным арифметическим применениям, имеется ещё три варианта для использования переноса. Биты CI SELA и CI SELB задают правила использования входа carry in для каждого такта. ОЗУ динамической конфигурации выбирает конфигурацию A или B в каждом такте. Параметры приведены в таблице 21-10.

Таблица 21-10. Дополнительные функции Carry In.

CI SEL A
CI SEL B
Режим
переноса
Описание
00 По умолчанию
(Default)
Арифметический режим по умолчанию,
описанный в таблице 21-9.
01 Защелкивание
(Registered)
Флаг переноса, который является
результатом переноса с предыдущего цикла.
Этот режим используется для реализации
операций сложения с переносом и вычитания
с заниманием.
10 Проброс
(Routed)
Перенос генерируется в другом месте
и пробрасывается на этот вход. Этот режим
можно использовать для реализации
управляемых счетчиков.
11 Связывание в цепочки
(Chained)
Перенос помещается в цепочку после
предыдущего Datapath. Этот режим можно
использовать для реализации одноцикловых
операций более высокой разрядности,
в которых используются два или более
Datapath.

Если используется проброс переноса, в ряде функций он используется, как показано в таблице 21-11. Обратите внимание, что для функций декремента и вычитания единицы активный уровень переноса — низкий (инверсный).

Таблица 21-11. Функции трассированного Carry In.

Функция Полярность Carry In Carry In активен Carry In неактивен
INC Прямая ++srca srca
DEC Инверсная --srca srca
ADD Прямая (srca + srcb) +1 srca + srcb
SUB Инверсная (srca – srcb) -1 (srca — srcb)

Выход переноса (Carry Out)

Carry out – опциональный выход Datapath, формируемый на основе статически заданного старшего бита. Значение может быть передано по цепочке на вход переноса в более старший блок. Обратите внимание, что в случае функций декрементирования и вычитания carry out инвертирован.

Таблица 21-12. Функции Carry Out.

Функция Полярность Carry Out Carry Out активен Carry Out неактивен
INC Прямая ++srca == 0 srca
DEC Инверсная --srca == -1 srca
ADD Прямая srca + srcb > 255 srca + srcb
SUB Инверсная srca – srcb < 0 (srca – srcb)

Структура переноса

Параметры carry in и для выбора старшего бита, для выработки carry out показаны на рисунке 21-15. Защелкнутые значения carry out могут быть использованы в качестве carry in для последующих арифметических операций. Эта особенность может быть использована для реализации функций большей разрядности с использованием циклов.


Рисунок 21-15. Операция переноса.

Операция сдвига

Операция сдвига происходит независимо от работы ALU, согласно таблице 21-13.

Таблица 21-13. Функции операции сдвига.

Shift [1:0] Функция
00 Пропуск (Pass)
01 Сдвиг влево (Shift Left)
10 Сдвиг вправо (Shift Right)
11 Перестановка нибблов (Nibble Swap)

Выходное значение операции сдвига выдаётся с Datapath. Настройка выходов для сдвига вправо (sor) и влево (sol_msb) выполняется одними и теми же битами. Статический бит конфигурации (SHIFT SEL в регистре CFG15) определяет, какой выход сдвига используется в качестве выхода Datapath. При отсутствии сдвига сигналы sor и sol_msb определяются как LSB и MSB функции ALU, соответственно.

Биты конфигурации SI SELA и SI SELB определяют сдвиг данных для указанной операции. ОЗУ динамической конфигурации выбирает конфигурацию A или B для каждого такта. Вдвигаемые данные используются только при сдвиге влево и вправо, данный вход не используется при пропуске и перестановке нибблов. Выбранные значения и варианты использования относятся как к сдвигу вправо, так и к сдвигу влево и показаны в таблице 21-14.

Таблица 21-14. Функции Shift in

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


Рисунок 21-16. Операция сдвига.

Стоит заметить, что изолированные выбором MSB биты все еще сдвинуты. В показанном примере бит 7 все еще сдвинут в значении sil при сдвиге вправо, а бит 5 сдвинут в бит 4 при сдвиге влево. Выходной (правый или левый) бит изолированной группы будет утерян.

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

Как показано в таблице 21-15, каждый Datapath имеет 9 входов, включая 6 входов от трассирования каналов. К ним относятся адреса конфигурации ОЗУ, FIFO, сигналов управления загрузкой регистров данных, а также сдвига и переноса входов данных.


Арифмети́ческо-логи́ческое устро́йство (АЛУ) (англ. arithmetic and logic unit, ALU ) — блок процессора, который служит для выполнения арифметических и логических преобразований над словами, называемыми в этом случае операндами.

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

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

Структура АЛУ и его связь с другими блоками компьютера показаны на рисунке 2.

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

р1, p2. рm на рисунке 2 - это и есть микрокоманды. А результаты вычислений из АЛУ передаются в ОЗУ по кодовым шинам записи у1, у2, . уs.

Функции регистров, входящих в арифметическо-логическое устройство:

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

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

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

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

Содержание

История

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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


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

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

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

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

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

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

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


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

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

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

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

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

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

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


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

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

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

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

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

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

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


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

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

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

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


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

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

Одним из важнейших устройств компьютера является центральный процессор (CPU — англ, central processing unit, что переводится как «центральное вычислительное устройство»). Именно от типа процессора и его характеристик в первую очередь зависит производительность компьютерной системы в целом.

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

Современные центральные процессоры для персональных компьютеров выполняются в виде отдельных микросхем и называются микропроцессорами. В дальнейшем будем считать понятия «микропроцессор» и «процессор» равнозначными.

Схема состава микропроцессора показана на рисунке 1.


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

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


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

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

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

Набор регистров — ячейки памяти внутри процессора, используемые для размещения команд программы и обрабатываемых данных.

Кэш-память (кэш) — сверхбыстрая память, хранящая содержимое наиболее часто используемых ячеек оперативной памяти, а также части программы, к которым процессор обратится с наибольшей долей вероятности. Процессор в первую очередь пытается найти нужные данные именно в кэш-памяти, а если их там не оказывается, обращается к более медленной оперативной памяти. Кэш-память делится на два или три уровня, которые обозначаются LI, L2 и L3 (чаще всего уровней два).

Сопроцессор — элемент процессора, выполняющий действия над числами с плавающей запятой.

Характеристики микропроцессора Тактовая частота. Для каждой выполняемой процессором команды требуется строго определенное количество единиц времени (тактов). Тактовые импульсы формируются генератором тактовой частоты, установленным на системной плате. Чем чаще они генерируются, тем больше команд процессор выполняет за единицу времени, т. е. тем выше его быстродействие. Тактовая частота обычно выражается в мегагерцах. 1 МГц равен 1 миллиону тактов в секунду. Первые модели процессоров Intel ( i 8008 x ) работали с тактовыми частотами, меньшими 5 МГц. Сегодня тактовая частота последних процессоров превышает 3 ГГц (1 ГГц = 1000 МГц). Внутренняя архитектура процессора, как и тактовая частота, также влияет на работу процессора, поэтому два CPU с одинаковой тактовой частотой не обязательно будут тратить одинаковое время на выполнение одной команды. Если, например, микропроцессору Intel 80286 требовалось 20 тактов, чтобы выполнить команду умножения двух чисел, то Intel 80486 или старше мог выполнить это же действие за один такт. Некоторые процессоры способны выполнять более одной команды за 1 такт. Их называют суперскалярными. Различают внутреннюю и внешнюю тактовую частоту. Внешняя тактовая частота — это частота, с которой процессор обменивается данными с оперативной памятью компьютера. Как уже было сказано выше, она формируется генератором тактовых импульсов (кварцевым резонатором).

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

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