Арифметико-логическое устройство: различия между версиями
Перейти к навигации
Перейти к поиску
[отпатрулированная версия] | [непроверенная версия] |
Содержимое удалено Содержимое добавлено
← Содержимое страницы заменено на «thumb|400px * [[Категория:Технологии процессоров]…» |
|||
Строка 1: | Строка 1: | ||
[[Файл:74181aluschematic.png|thumb|400px]] |
|||
[[Файл:74181aluschematic.png|thumb|400px|Комбинационная логическая схема 4-битного АЛУ, реализованная в 24-х выводной [[Микросхема|микросхеме]] [[ТТЛ]], модель 74181, впервые разработанная и ранее изготавливаемая фирмой [[Texas Instruments]]. Выполняет сложение, вычитание, все элементарные [[логические функции]] и битовые сдвиги над двумя 4-х битовыми операндами. Не содержит в своем составе регистров.]] |
|||
* [[Категория:Технологии процессоров]] |
|||
'''Арифме́тико-логи́ческое устро́йство''' (АЛУ) ({{lang-en|arithmetic and logic unit, ALU}}) — блок [[центральный процессор|процессора]], который под управлением '''''устройства управления''''' (УУ) служит для выполнения арифметических и логических преобразований (начиная от [[Элементарная операция|элементарных]]) над данными, называемыми в этом случае [[операнд]]ами. Разрядность операндов обычно называют размером или длиной [[Машинное слово|машинного слова]]. |
|||
== История == |
|||
Разработчик компьютера [[ЭНИАК|ENIAC]], [[Нейман, Джон фон|Джон фон Нейман]], был первым создателем АЛУ. В [[1945 год]]у он опубликовал первые научные работы по новому [[компьютер]]у, названному {{lang-en|Electronic Discrete Variable Automatic Computer}} ([[EDVAC]]). Годом позже он работал со своими коллегами над разработкой [[IAS-машина|компьютера]] в [[Институт перспективных исследований|Принстонском институте перспективных исследований]] (IAS). [[Архитектура фон Неймана|Архитектура этого компьютера]] позже стала прототипом архитектур большинства последующих компьютеров. В своих работах фон Нейман указывал устройства, которые, как он считал, должны присутствовать в компьютерах. Среди этих устройств присутствовало и АЛУ. Фон Нейман отмечал, что АЛУ необходимо для компьютера, поскольку оно гарантирует, что компьютер будет способен выполнять базовые математические операции, включая сложение, вычитание, умножение и деление. |
|||
== Организация и принципы действия == |
|||
[[Файл:ALU block-ru.svg|thumb|400px|Обобщённая блок-схема арифметико-логического устройства (АЛУ). Стрелками указаны входные и выходные слова. Флаги — признаки (например, результата сравнения операндов) выполнения предыдущей операции (вход) и результата выполнения текущей операции (выход). В одноместных операциях таких, например, как инверсия битов слова или битовый сдвиг второй операнд (B) не участвует в операции. Слово команды указывает необходимую операцию.]] |
|||
* Одноразрядное двоичное бинарное (двухоперандное) АЛУ с бинарным (двухразрядным) выходом может выполнять до <math>2^{(2^2)*2}=2^8=256</math> двоичных бинарных (двухоперандных) функций (операций) с бинарным (двухразрядным) выходом. |
|||
Арифметико-логическое устройство в зависимости от выполнения функций можно разделить на две части: |
|||
# микропрограммное устройство (устройство управления), задающее последовательность микрокоманд (команд); |
|||
# операционное устройство, в котором реализуется заданная последовательность микрокоманд (команд). |
|||
<!-- '''Структура АЛУ и его связь с другими блоками компьютера показаны на рисунке 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-е изд., перераб. и доп |
|||
| оригинал = |
|||
| ссылка = |
|||
| место = |
|||
| издательство = Энергоатомиздат |
|||
| год = 1991 |
|||
| страницы = |
|||
| isbn = 5-283-01531-9}} |
|||
* {{книга |
|||
| автор = Угрюмов Е. П. |
|||
| часть = |
|||
| заглавие = Цифровая схемотехника. Учеб. пособие для вузов. Изд.2 |
|||
| оригинал = |
|||
| ссылка = |
|||
| место = |
|||
| издательство = БХВ-Петербург |
|||
| год = 2004 |
|||
| страницы = |
|||
| isbn = }} |
|||
* {{книга |
|||
| автор = Самофалов К. Г., Романкевич А. М., Валуйский В. Н., Каневский Ю. С., Пиневич М. М. |
|||
| часть = |
|||
| заглавие = Прикладная теория цифровых автоматов |
|||
| оригинал = |
|||
| ссылка = |
|||
| место = К |
|||
| издательство = Вища школа |
|||
| год = 1987 |
|||
| страницы = 375 |
|||
| isbn = }} |
|||
* {{книга |
|||
| автор = Ершов А. П., Монахов В. М., Бешенков С. А. и др. |
|||
| часть = Ч.1 |
|||
| заглавие = Основы информатики и вычислительной техники: Проб. учеб. пособие для сред. учеб. заведений. В 2-х ч |
|||
| оригинал = |
|||
| ссылка = |
|||
| место = М. |
|||
| издательство = Просвещение |
|||
| год = 1985 |
|||
| страницы = 96 |
|||
| isbn = }} |
|||
* {{книга |
|||
| автор = Ершов А. П., Монахов В. М., Кузнецов А. А. и др. |
|||
| часть = Ч.2 |
|||
| заглавие = Основы информатики и вычислительной техники: Проб. учеб. пособие для сред. учеб. заведений. В 2-х ч |
|||
| оригинал = |
|||
| ссылка = |
|||
| место = М. |
|||
| издательство = Просвещение |
|||
| год = 1986 |
|||
| страницы = 143 |
|||
| isbn = }} |
|||
== Ссылки == |
|||
* {{cite web |
|||
| last = |
|||
| first = |
|||
| authorlink = Дулепова Ю. А.,Ершова Н. Ю., Приходченко Р. В. |
|||
| coautors = |
|||
| datepublished = |
|||
| url = http://dfe3300.karelia.ru/koi/posob/log_basis/alu.html |
|||
| title = IX Арифметико-логическое устройство |
|||
| format = |
|||
| work = Логические основы ЭВМ. Пособие к курсам "Радиоэлектроника" и "Микропроцессорные средства" |
|||
| publisher = Республика Карелия, г. Петрозаводск, ПетрГУ. [http://dfe.karelia.ru/index.php Кафедра информационно-измерительных систем и физической электроники] |
|||
| accessdate = 2010-09-18 |
|||
| lang = ru |
|||
| deadlink = 404 |
|||
| archiveurl = http://web.archive.org/20040603145524/dfe3300.karelia.ru/koi/posob/log_basis/alu.html |
|||
| archivedate= 2004-06-03 |
|||
}} |
|||
* [http://testlabs.kz/processors/25-golaya-proizvoditelnost-issleduem-effektivnost-alu-i-fpu.html Исследование эффективности ALU и FPU процессоров разных поколений] от TestLabs.kz |
|||
{{Чистить}} |
|||
{{rq|refless}} |
|||
{{Технологии CPU}} |
|||
[[Категория:Технологии процессоров]] |
|||
[[Категория:Обработка команд]] |
[[Категория:Обработка команд]] |