Арифметико-логическое устройство
Арифметико-логическое устройство (АЛУ) — центральная часть процессора, выполняющая арифметические и логические операции.
АЛУ реализует важную часть процесса обработки данных. Она заключается в выполнении набора простых операций. Операции АЛУ подразделяются на три основные категории: арифметические, логические и операции над битами. Арифметической операцией называют процедуру обработки данных, аргументы и результат которой являются числами (сложение, вычитание, умножение, деление. ). Логической операцией именуют процедуру, осуществляющую построение сложного высказывания (операции И, ИЛИ, НЕ. ). Операции над битами обычно подразумевают сдвиги.
Содержание
Разработчик компьютера ENIAC, Джон фон Нейман, был первым создателем АЛУ. В 1945 году он опубликовал первые научные работы по новому компьютеру, названному EDVAC (Electronic Discrete Variable Computer). Годом позже он работал со своими коллегами над разработкой компьютера для Принстонского института новейших исследований (IAS). Архитектура этого компьютера позже стала прототипом архитектур большинства последующих компьютеров. В своих работах фон Нейман указывал устройства, которые, как он считал, должны присутствовать в компьютерах. Среди этих устройств присутствовало и АЛУ. Фон Нейман отмечал, что АЛУ необходимо для компьютера, поскольку оно гарантирует, что компьютер будет способен выполнять базовые математические операции включая сложение, вычитание, умножение и деление
АЛУ состоит из регистров, сумматора с соответствующими логическими схемами и элемента управления выполняемым процессом. Устройство работает в соответствии с сообщаемыми ему именами (кодами) операций, которые при пересылке данных нужно выполнить над переменными, помещаемыми в регистры.
Арифметико-логическое устройство функционально можно разделить на две части :
- микропрограммное устройство (устройство управления), задающее последовательность микрокоманд (команд);
- операционное устройство (АЛУ), в котором реализуется заданная последовательность микрокоманд (команд).
Рисунок 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 возможных при однобайтном коде операции.
Первая версия
Когда я начал делать процессор, я хотел не тратить сильно много времени на АЛУ и скорее получить рабочий вариант, поэтому я сделал первую версию с помощью таблиц в ПЗУ. Простейший вариант мог бы быть таким:
Все входные сигналы подаются на вход ПЗУ, а с выхода снимаются выходные. Нужно всего лишь 2 22 = 4М слов по 12 бит. Такой микросхемы у меня не было, поэтому надо было что-то придумывать, и я придумал вот что:
Тут используется две микросхемы по 32к слов каждая. Левая отвечает за младшие 4 бита, а правая за старшие. Зеленая и красная линии передают информацию вверх или вниз. Передача вверх (зеленая линия) нужна, например, при сложении, чтобы передать перенос с бита 3 на бит 4, а вниз (красная), соответственно, при вычитании. Чтобы не возникало осцилляций (левая микросхема передала правой, правая левой и так по кругу), эти линии пущены через логическое И со старшим битом операции. Таким образом, операции, передающие информацию «вверх» (сложение, сдвиг влево), могут быть закодированы только кодами от 0 до 7, а передающие «вниз» (вычитание, сдвиг вправо) – от 8 до 15.
Первая версия АЛУ
Классификация АЛУ По способу действия над операндами
Классификация АЛУ
По способу действия над операндами АЛУ делятся на последовательные и параллельные.
в последовательных АЛУ операнды представляются в последовательном коде, а операции производятся последовательно во времени над их отдельными разрядами;
в параллельных АЛУ операнды представляются параллельным кодом и операции совершаются параллельно во времени над всеми разрядами операндов.
По способу представления чисел различают АЛУ:
для чисел с фиксированной точкой;
для чисел с плавающей точкой;
для десятичных чисел.
По характеру использования элементов и узлов АЛУ делятся на блочные и многофункциональные
в блочном АЛУ операции над числами с фиксированной и плавающей точкой, десятичными числами и алфавитно-цифровыми полями выполняются в отдельных блоках, при этом повышается скорость работы, так как блоки могут параллельно выполнять соответствующие операции, но значительно возрастают затраты оборудования.
в многофункциональных АЛУ операции для всех форм представления чисел выполняются одними и теми же схемами, которые коммутируются нужным образом в зависимости от требуемого режима работы.
Что значит электронное и цифровое устройство
Рассмотрим устройство процессора компьютера. Сначала расшифруем отдельно прилагательные «электронное» и «цифровое».
Прилагательное «электронное» означает, что процессор компьютера работает на электрической энергии и все сигналы, которые обрабатываются этим устройством, являются электрическими.
Вместе с тем в радиоэлектронике электронные устройства делятся на 2 больших класса: аналоговые и цифровые.
Прилагательное «цифровое» означает, что процессор компьютера относится к классу цифровых, а не аналоговых устройств.
Упомянутые аналоговые устройства преобладали среди радиоэлектронной аппаратуры 20-30 лет назад. А появились они тогда, когда радиоинженеры научились записывать и передавать звук и изображение в виде аналоговых сигналов. Это были радиоприемники, телевизоры, магнитофоны и т.п.
Аналоговые устройства уступили пальму первенства лишь в конце прошлого века, когда развитие цифровых устройств привело к тому, что с помощью цифровых кодов научились записывать и передавать любую информацию, включая уже упомянутые звуки и изображения.
Цифровые сигналы в отличие от аналоговых в незначительной степени подвержены помехам и без искажения передаются на расстояния. Они лучше записываются, хранятся и не «портятся» со временем.
Главные качественные характеристики
Арифметико-логическое устройство (АЛУ) является составной частью процессора. Это определяет его важнейшие качественные характеристики:
- Структурные особенности системы АЛУ.
- Методики кодирования данных.
- Форматы представления информации — с плавающей или фиксированной точкой.
64-битные процессоры
Хотя массовое распространение 64-битные процессоры получили лишь несколько лет назад, они существуют уже сравнительно давно: с 1992 года. И Intel, и AMD предлагают в настоящее время такие процессоры. 64-битным можно считать такой процессор, который обладает 64-битным арифметико-логическим устройством (АЛУ), 64-битными регистрами и 64-битными шинами.
Основная причина, по которой процессорам нужна 64-битность, состоит в том, что данная архитектура расширяет адресное пространство. 32-битные процессоры могут получать доступ только к двум или четырем гигабайтам оперативной памяти. Когда-то эти цифры казались гигантскими, но миновали годы и сегодня такой памятью никого уже не удивишь. Несколько лет назад память обычного компьютера составляла 256 или 512 мегабайт. В те времена четырехгигабайтный лимит мешал только серверам и машинам, на которых работают большие базы данных.
Но очень быстро оказалось, что даже обычным пользователям порой не хватает ни двух, ни даже четырех гигабайт оперативной памяти. 64-битных процессоров это досадное ограничение не касается. Доступное им адресное пространство в наши дни кажется бесконечным: два в шестьдесят четвертой степени байт, то есть что-то около миллиарда гигабайт. В обозримом будущем столь гигантской оперативной памяти не предвидится.
64-битная адресная шина, а также широкие и высокоскоростные шины данных соответствующих материнских плат, позволяют 64-битным компьютерам увеличить скорость ввода и вывода данных в процессе взаимодействия с такими устройствами, как жесткий диск и видеокарта. Эти новые возможности значительно увеличивают производительность современных вычислительных машин.
Но далеко не все пользователи ощутят преимущества 64-битной архитектуры. Она необходима, прежде всего, тем, кто занимается редактированием видео и фотографий, а также работает с различными большими картинками. 64-битные компьютеры по достоинству оценены ценителями компьютерных игр. Но те пользователи, которые с помощью компьютера просто общаются в социальных сетях и бродят по веб-просторам да редактируют текстовые файлы никаких преимуществ этих процессоров, скорее всего, просто не почувствуют.