Процессор, выполняющий все математические и логические операции

Обновлено: 03.07.2024

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

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

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

Регистры процессора — небольшие специальные области хранения, используемые для хранения информации, с которой работает АЛУ.

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

Современные компьютеры усложняют эту базовую модель. Одна из таких модификаций, показанная на рисунке выше, — это множественные шины — на диаграмме на предыдущей странице и в исходной архитектуре фон Неймана имеется только одна системная шина, которая может передавать сообщения от одного компонента к другому. Это означает, что процессор и память должны будут по очереди говорить: «ЦП: Пожалуйста, пришлите мне данные по адресу 1 в памяти»; «Память: OK, данные по адресу 00001 — 01010111.»; «ЦП: пожалуйста, пришлите мне данные по адресу 2 в памяти»… Наличие нескольких шин позволяет избежать этого узкого места, позволяя ЦП сообщать следующий адрес, который он хочет, в то же время, когда память отправляет данные обратно в ЦП.

АЛУ

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

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

План North American Electric Reliability Corporation по защите критически важной инфраструктуры (NERC CIP) представляет собой набор стандартов.

Структура управления рисками ISO 31000 – это международный стандарт, который предоставляет компаниям рекомендации и принципы для .

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

Экранированная подсеть или брандмауэр с тройным подключением относится к сетевой архитектуре, в которой один брандмауэр используется с тремя сетями .

Метаморфное и полиморфное вредоносное ПО – это два типа вредоносных программ (вредоносных программ), код которых может изменяться по мере их распространения.

В контексте вычислений Windows и Microsoft Active Directory (AD) идентификатор безопасности (SID) — это уникальное значение, которое равно .

Медицинская транскрипция (МТ) – это ручная обработка голосовых сообщений, продиктованных врачами и другими медицинскими работниками.

Электронное отделение интенсивной терапии (eICU) — это форма или модель телемедицины, в которой используются самые современные технологии.

Защищенная медицинская информация (PHI), также называемая личной медицинской информацией, представляет собой демографическую информацию, медицинскую .

Снижение рисков – это стратегия подготовки к угрозам, с которыми сталкивается бизнес, и уменьшения их последствий.

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

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

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

Износ флэш-памяти NAND — это пробой оксидного слоя внутри транзисторов с плавающим затвором флэш-памяти NAND.

Выносливость при записи — это количество циклов программирования/стирания (P/E), которое может быть применено к блоку флэш-памяти перед сохранением .

Центральный процессор (ЦП) — это мозг компьютера, способный управлять и выполнять математические вычисления. В конечном счете, все, что делает компьютер, является математическим: сложение чисел, которое можно расширить до вычитания, умножения, деления и т. д.; выполнение логических операций; доступ к ячейкам памяти по адресу; и т. д. Процессоры оцениваются по количеству тактовых циклов в секунду. ЦП с частотой 4 ГГц выполняет четыре миллиарда тактовых циклов в секунду.

Арифметико-логическое устройство и блок управления

Арифметико-логическое устройство (ALU) выполняет математические вычисления; это часть, которая вычисляет. ALU получает инструкции от блока управления, который действует как регулировщик, отправляя инструкции в ALU.

Получить и выполнить

ЦП получает инструкции машинного языка (например, «добавить 1 + 1») и выполняет их (добавляет числа, чтобы получить ответ «2»). Процесс выборки и выполнения (также называемый циклом выборки-декодирования-выполнения или FDX) фактически состоит из четырех шагов:

Инструкция по извлечению 1

Инструкция декодирования 1

Выполнить инструкцию 1

Записать (сохранить) результат 1

Эти четыре шага выполняются за один такт.

Конвейерная обработка

Конвейерная обработка объединяет несколько шагов ЦП в один процесс, позволяя выполнять одновременные шаги FDX и записи для разных инструкций. Каждая часть называется этапом конвейера; глубина конвейера — это количество одновременных этапов, которые могут быть выполнены одновременно.

Учитывая наш предыдущий пример сложения 1 + 1 с выборкой и выполнением, ЦП без конвейерной обработки должен был бы ждать целый цикл, прежде чем выполнить другое вычисление. Четырехэтапный конвейер может объединять этапы четырех других инструкций:

Инструкция по извлечению 1

Инструкция извлечения 2, инструкция декодирования 1

Выборка инструкции 3, декодирование инструкции 2, выполнение инструкции 1

Выборка инструкции 4, декодирование инструкции 3, выполнение инструкции 2, запись (сохранение) результата 1

Выборка инструкции 5, декодирование инструкции 4, выполнение инструкции 3, запись (сохранение) результата 2 и т. д.

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

Прерывания

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

Процессы и потоки

Процесс — это исполняемая программа и связанные с ней данные, загружаемые и работающие в памяти. Тяжеловесный процесс (HWP) также называется задачей. Родительский процесс может порождать дополнительные дочерние процессы, называемые потоками. Поток — это облегченный процесс (LWP). Потоки могут совместно использовать память, что снижает накладные расходы по сравнению с тяжелыми процессами.

Многозадачность и многопроцессорность

Приложения запускаются в памяти как процессы, состоящие из исполняемого кода и данных. Многозадачность позволяет одновременно выполнять несколько задач (тяжеловесных процессов) на одном процессоре. Старые и более простые операционные системы, такие как MS-DOS, не являются многозадачными, поскольку они запускают один процесс за раз. Большинство современных операционных систем, таких как Linux, Windows 10 и OS X, поддерживают многозадачность.

Многопроцессорность принципиально отличается от многозадачности: несколько процессов выполняются на нескольких процессорах. Два типа многопроцессорной обработки — это симметричная многопроцессорная обработка (SMP) и асимметричная многопроцессорная обработка (AMP; в некоторых источниках используется ASMP). Системы SMP имеют одну операционную систему для управления всеми процессорами. Системы AMP имеют по одному образу операционной системы на каждый ЦП, по существу работая как независимые системы.

CISC и RISC

CISC (компьютер со сложным набором команд) и RISC (компьютер с сокращенным набором команд) — это две формы конструкции ЦП. CISC использует большой набор сложных инструкций машинного языка, тогда как RISC использует сокращенный набор более простых инструкций. Процессоры x86, среди многих других, являются CISC; ARM (используется во многих сотовых телефонах и КПК), PowerPC, Sparc и другие являются RISC.

Домен 6

Эрик Конрад, . Джошуа Фельдман, учебное пособие CISSP (второе издание), 2012 г.

ЦП

Центральный процессор (ЦП) — это мозг компьютера, способный управлять и выполнять математические вычисления. В конечном счете, все, что делает компьютер, является математическим: сложение чисел (которые могут быть расширены до вычитания, умножения, деления и т. д.), выполнение логических операций, доступ к ячейкам памяти по адресу и т. д. Процессоры оцениваются по количеству тактовых циклов в секунду. Процессор Pentium® 4 с частотой 2,4 ГГц выполняет 2,4 млрд тактов в секунду.

Арифметико-логическое устройство и блок управления

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

Получить и выполнить

ЦП получает инструкции машинного языка (например, «добавить 1 + 1») и выполняет их (добавляет числа, чтобы получить ответ «2»). Процесс выборки и выполнения (также называемый выборка-декодирование-выполнение или FDX) фактически состоит из четырех шагов:

Инструкция по извлечению 1

Инструкция декодирования 1

Выполнить инструкцию 1

Записать (сохранить) результат 1

Эти четыре шага выполняются за один такт.

Конвейерная обработка

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

Учитывая наш предыдущий пример выборки и выполнения сложения 1 + 1, ЦП без конвейерной обработки должен был бы ждать целый цикл перед выполнением следующего вычисления. Четырехэтапный конвейер может объединять этапы четырех других инструкций:

Инструкция по извлечению 1

Инструкция извлечения 2, инструкция декодирования 1

Выборка инструкции 3, декодирование инструкции 2, выполнение инструкции 1

Выборка инструкции 4, декодирование инструкции 3, выполнение инструкции 2, запись (сохранение) результата 1

Выборка инструкции 5, декодирование инструкции 4, выполнение инструкции 3, запись (сохранение) результата 2 и т. д.

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

Прерывания

Прерывание указывает на то, что произошло асинхронное событие. Прерывания ЦП — это форма аппаратного прерывания, из-за которой ЦП прекращает обработку своей текущей задачи, сохраняет состояние и начинает обработку нового запроса. Когда новая задача будет завершена, ЦП завершит предыдущую задачу.

Процессы и потоки

Процесс — это исполняемая программа и связанные с ней данные, загружаемые и работающие в памяти. Тяжеловесный процесс (HWP) также называется задачей. Родительский процесс может порождать дополнительные дочерние процессы, называемые потоками. Поток — это облегченный процесс (LWP). Потоки могут совместно использовать память, что снижает накладные расходы по сравнению с тяжелыми процессами.

Процессы могут находиться в нескольких состояниях:

Новый — процесс создается

Готов — процесс ожидает выполнения ЦП

Выполняется — процесс, выполняемый ЦП

Заблокировано — ожидание ввода-вывода

Завершить — завершенный процесс

Еще один тип процесса — zombie, дочерний процесс, родительский процесс которого завершен.

Многозадачность и многопроцессорность

Приложения запускаются в памяти как процессы, состоящие из исполняемого кода и данных. Многозадачность позволяет одновременно выполнять несколько задач (тяжеловесных процессов) на одном процессоре. Старые и простые операционные системы, такие как MS-DOS, не являются многозадачными; они запускают один процесс за раз. Большинство современных операционных систем, таких как Linux и Windows XP, поддерживают многозадачность.

В некоторых источниках используются другие термины, связанные с многозадачностью, включая многозадачность и многопоточность. Мультипрограммирование — это несколько программ, одновременно выполняемых на одном ЦП, многопоточность — несколько потоков (легковесных процессов), одновременно выполняющихся на одном ЦП, а многозадачность — несколько задач (процессов), выполняющихся одновременно на одном ЦП.

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

Многопроцессорность принципиально отличается от многозадачности тем, что она запускает несколько процессов на нескольких процессорах. Существует два типа многопроцессорной обработки: симметричная многопроцессорная обработка (SMP) и асимметричная многопроцессорная обработка (AMP; в некоторых источниках используется ASMP). Системы SMP имеют одну операционную систему для управления всеми процессорами. Системы AMP имеют по одному образу операционной системы на каждый ЦП, по существу работая как независимые системы.

Сторожевые таймеры

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

CISC и RISC

Компьютер со сложным набором инструкций (CISC) и Компьютер с сокращенным набором инструкций (RISC) – это две формы конструкции ЦП. CISC использует большой набор сложных инструкций машинного языка, тогда как RISC использует сокращенный набор более простых инструкций.

Оптимальный способ проектирования ЦП был предметом споров: должны ли низкоуровневые команды быть более длинными и мощными, используя меньше отдельных инструкций для выполнения сложной задачи (CISC), или команды должны быть короче и проще, требуется больше отдельных инструкций для выполнения сложной задачи (RISC), но допускается меньше циклов на инструкцию и более эффективный код?Нет правильного ответа; оба подхода имеют плюсы и минусы. Процессоры x86 (среди многих других) имеют CISC; ARM (используется во многих сотовых телефонах и КПК), PowerPC®, Sparc и другие являются RISC.

Домен 3: Техника безопасности (разработка и управление безопасностью)

Эрик Конрад, . Джошуа Фельдман, учебное пособие CISSP (третье издание), 2016 г.

ЦП

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

Арифметико-логическое устройство и блок управления

Арифметико-логическое устройство (ALU) выполняет математические вычисления: оно «вычисляет». Он получает инструкции от блока управления, который действует как регулировщик, отправляя инструкции в АЛУ.

Получить и выполнить

ЦП получает инструкции машинного языка (например, «добавить 1 + 1») и выполняет их (добавляет числа, чтобы получить ответ «2»). Процесс выборки и выполнения (также называемый "выборка, декодирование, выполнение" или FDX) фактически состоит из четырех шагов:

Инструкция по извлечению 1

Инструкция декодирования 1

Выполнить инструкцию 1

Записать (сохранить) результат 1

Эти четыре шага выполняются за один такт.

Конвейерная обработка

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

Учитывая наш предыдущий пример выборки и выполнения сложения 1 + 1, ЦП без конвейерной обработки должен был бы ждать целый цикл перед выполнением следующего вычисления. Четырехэтапный конвейер может объединять этапы четырех других инструкций:

Инструкция по извлечению 1

Инструкция извлечения 2, инструкция декодирования 1

Выборка инструкции 3, декодирование инструкции 2, выполнение инструкции 1

Выборка инструкции 4, декодирование инструкции 3, выполнение инструкции 2, запись (сохранение) результата 1

Выборка инструкции 5, декодирование инструкции 4, выполнение инструкции 3, запись (сохранение) результата 2 и т. д.

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

Прерывания

Прерывание означает, что произошло асинхронное событие. Прерывания ЦП — это форма аппаратного прерывания, из-за которой ЦП прекращает обработку своей текущей задачи, сохраняет состояние и начинает обработку нового запроса. Когда новая задача будет завершена, ЦП завершит предыдущую задачу.

Процессы и потоки

Процесс — это исполняемая программа и связанные с ней данные, загружаемые и работающие в памяти. «Процесс тяжелого веса» (HWP) также называется задачей. Родительский процесс может порождать дополнительные дочерние процессы, называемые потоками. Поток — это облегченный процесс (LWP). Потоки могут совместно использовать память, что снижает накладные расходы по сравнению с тяжелыми процессами.

Процессы могут находиться в нескольких состояниях:

Новое: процесс создается

Готов: процесс ожидает выполнения ЦП

Выполняется: процесс выполняется центральным процессором

Заблокировано: ожидание ввода-вывода

Завершить: завершенный процесс

Еще один тип процесса — «зомби», дочерний процесс, родительский процесс которого завершен.

Многозадачность и многопроцессорность

Приложения запускаются в памяти как процессы, состоящие из исполняемого кода и данных. Многозадачность позволяет одновременно выполнять несколько задач (тяжеловесных процессов) на одном процессоре. Старые и более простые операционные системы, такие как MS-DOS, не являются многозадачными: они запускают один процесс за раз. Большинство современных операционных систем, таких как Linux, Windows 10 и OS X, поддерживают многозадачность.

В некоторых источниках используются другие термины, относящиеся к многозадачности, включая многозадачность и многопоточность. Мультипрограммирование — это несколько программ, работающих одновременно на одном ЦП; многозадачность — это несколько задач (процессов), выполняющихся одновременно на одном ЦП, а многопоточность — несколько потоков (легковесных процессов), одновременно выполняющихся на одном ЦП.

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

Многопроцессорность принципиально отличается от многозадачности: несколько процессов выполняются на нескольких процессорах.Два типа многопроцессорной обработки — это симметричная многопроцессорная обработка (SMP) и асимметричная многопроцессорная обработка (AMP, некоторые источники используют ASMP). Системы SMP имеют одну операционную систему для управления всеми процессорами. Системы AMP имеют по одному образу операционной системы на каждый ЦП, по существу работая как независимые системы.

Сторожевые таймеры

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

CISC и RISC

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

«Лучший» способ проектирования ЦП был предметом споров: должны ли низкоуровневые команды быть более длинными и мощными, используя меньше отдельных инструкций для выполнения сложной задачи (CISC), или команды должны быть короче и проще, требуя больше отдельных инструкций для выполнения сложной задачи (RISC), но допуская меньше циклов на инструкцию и более эффективный код? Нет «правильного» ответа: оба подхода имеют свои плюсы и минусы. ЦП ×86 (среди многих других) имеют CISC; ARM (используется во многих сотовых телефонах и КПК), PowerPC, Sparc и другие являются RISC.

Адресация памяти

Значения могут храниться в нескольких местах памяти, включая регистры ЦП и общую ОЗУ. Эти значения могут быть адресованы напрямую («добавьте значение, хранящееся здесь») или косвенно («добавьте значение, хранящееся в ячейке памяти, указанной здесь»). Косвенная адресация подобна указателю. Режимы адресации зависят от ЦП; обычно поддерживаемые режимы включают прямой, косвенный, прямой регистр и косвенный регистр.

Прямая адресация регистра аналогична прямой адресации, за исключением того, что она ссылается на регистр кэша ЦП, такой как регистр 1. Косвенная адресация регистра аналогична косвенной адресации, за исключением того, что указатель хранится в регистре. На рис. 4.9 показаны эти четыре режима адресации.

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

Знакомство с машиной

Если бы вы могли взять компьютер и вырвать его сердце, как бы он выглядел? Это может показаться странным, но действительно ли мы можем это сделать? Или вопрос вообще имеет смысл?

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

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

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

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

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

Иллюстрация цикла выборка-декодирование-выполнение

Процесс выборки-декодирования-выполнения можно дополнительно объяснить, связав каждый шаг цикла (FETCH / DECODE / EXECUTE) с тремя аппаратными подсистемами: блоком памяти, блоком управления и арифметическим блоком.

FETCH (выполняется блоком памяти)
Блок памяти — это часть вычислительной машины, которая содержит машинные инструкции или данные для выполнения вычислений общего назначения. Эта подсистема позволяет получать доступ к сохраненным инструкциям или данным или извлекать их во время выполнения программы.

ДЕКОДИРОВАНИЕ (выполняется блоком управления)
Блок управления отвечает за автоматизацию и последовательность цикла выборки-декодирования-выполнения — вы можете думать о нем как о «проводнике» системы. Он также расшифровывает инструкции и обеспечивает последовательное выполнение правильных системных операций.

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

Структура арифметического устройства и АЛУ

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

В своей простейшей форме арифметическое устройство можно рассматривать как простой двоичный калькулятор, выполняющий двоичное сложение или вычитание двух входных данных (A и B) для вывода результата (чтобы узнать больше о том, как это работает, ознакомьтесь с нашей заметкой). : бинарное сложение с полными сумматорами).

Простой арифметический блок

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

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

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

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

Краткая история арифметико-логических единиц

Идея вычисления, состоящего из отдельных подсистем, работающих вместе для создания сложного поведения, не является идеей 20-го века. На самом деле машины с хранимой программой были разработаны Чарльзом Бэббиджем более чем за 100 лет до знаменитой формализации Аланом Тьюрингом «Универсальной машины Тьюринга» в 1930-х годах.

В малоизвестной книге Б.В. Боудена «Быстрее, чем мысли» (1953) прекрасно описывается концептуализация вычислений Бэббиджа, которая включает в себя понятие блока управления, блока памяти и арифметического блока! Отсылая к механическому контексту арифметической единицы того времени, Бэббидж назвал эту подсистему «Мельницей».

'Отрывок из книги "Быстрее, чем мысль", Б.В.Боуден, 1953 г.

Теоретические основы вычислений увидели свет благодаря созданию первых цифровых компьютеров. Такие машины, как компьютер MOSAIC, первая программа которого была запущена (примерно) в 1953 году, состояли из более чем 6480 электронных вентилей и занимали площадь четырех комнат! На изображении ниже показано изображение его «арифметической стойки», которая была одной из первых арифметических единиц. Он работал в основе компьютера, пока машина не была выведена из эксплуатации в начале 1960-х годов. (Обратите внимание и на стойку управления. «Хранилище» памяти располагалось в отдельной комнате).

Изображение MOSAIC 'Arithmetic Rack' из 'Early British Computers', S.Lavington, 1980.

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

Арифметико-логическое устройство из EDSAC 2: находится в Центре компьютерной истории, Кембридж.

Начиная с 1960-х годов компьютеры значительно уменьшались в размерах благодаря изобретению интегральных схем, которые заменили технологию электронных ламп, использовавшуюся в первых компьютерах. В 1970 году компания Texas Instruments представила оригинальную микросхему 74181 TTL — 4-битное АЛУ, которая упростила конструкцию миникомпьютеров. Он выполнял арифметические операции (сложение и вычитание) и логические операции (И, ИЛИ, исключающее ИЛИ). Он должен был стать ключевым в истории проектирования и вычислительных технологий ALU, поскольку он использовался в знаменитых компьютерах, таких как PDP-11.

Изображение классической 74181 ALU IC. Автор 74s181 из английской Википедии — перенесено из en.wikipedia в Commons автором audriusa., общественное достояние, ссылка

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

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

Вот почему, несмотря на то, что ARITH-MATIC представляет собой самодельный 4-битный арифметический блок, мы стремимся возродить физические и видимые связи, которые у нас когда-то были с давно утраченными предшественниками современных цифровых вычислений.

Чтобы быть в курсе последних новостей ARITH-MATIC, выпусков комплектов и сообщений в блогах, следите за нами в Twitter и Facebook.

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