Назначение арифметико логического устройства в процессоре

Назначение арифметико логического устройства в процессоре

Содержание

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

Что такое АЛУ?

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

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

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

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

Узлы хранения АЛУ

К этой категории относятся:

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

Иногда регистры арифметико-логического устройства могут объединяться в специализированный блок памяти, а триггеры — формировать единый регистр состояния.

Узлы передачи АЛУ

К этой категории относятся:

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

Узлы преобразования АЛУ

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

Узлы управления АЛУ

К этой категории объектов относятся:

  • контрольный блок;
  • дешифратор сигналов;
  • схемы преобразования логических признаков, необходимые для формирования ветвей для выполнения микропрограмм.

Действие устройства управления процессора

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

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

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

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

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

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

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

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

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

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

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

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

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

Все действия АЛУ можно условно разделить на несколько групп.

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

К группе логических преобразований причисляют логическое «и» и «или», то есть конъюнкцию и дизъюнкцию, а также сравнение данных на равенство. Такие процедуры, как правило, проводят над двоичными словами, состоящими из множества разрядов.

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

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

Абсолютно у всех арифметико-логических преобразований есть собственные операнды, а результаты на выходе трактуются как битовые строки с шестнадцатью разрядами. Исключением являются лишь примитивы знакового деления DIVS. А разнообразные флаги позволяют трактовать данные на выходе как цифры со знаком минус или плюс при переполнении. Логика преобразования битов строится на арифметике по модулю. Флаг ставится, если произошли непредсказуемые изменения со знаком. К примеру, складывая два положительных числа, вы должны получить результат со знаком "+". Но если происходит перенос в знаковый бит, устанавливающий единицу, а итог получается отрицательным, то устанавливается флаг переполнения.

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

Заключение

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

Я научу вас ремонтировать свой компьютер!

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

Эта архитектура была разработана величайшим математиком всех времен и народов Джоном фон Найманом и легла в основу первого созданного центрального процессора. С тех пор CPU претерпел множество доработок и модернизаций, однако, базовый принцип его построения остался нетронутым.

Определение

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

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

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

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

Узлы хранения

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

Узлы передачи

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

Узлы преобразования

Элементами этого узла выступают:

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

Узлы управления

Основными элементами узла управления являются:

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

Принцип работы

В процессе работы CPU, в рассматриваемом нами узле создаются электронные сигналы, подаваемые на другие узлы ЦП строго в определенной последовательности, которые необходимы для выполнения поставленной задачи. Этот процесс осуществляется поэтапно и состоит из нескольких тактов.
Управляющее устройство отвечает за выполнение программ в автоматическом режиме, однако, в процессе его работы могут применяться прерывания, необходимые для вовлечения в работу прочих узлов процессора. Работа устройства управления возможно благодаря основному принципу микропрограммирования, который обладает определенным набором характеристик.

Разновидности арифметико-логического устройства

В зависимости от принципа работы и метода обработки массивов данных АЛУ можно разделить на две категории: последовательные и параллельные. Эти категории различаются методами представления элементов операций и их реализации.

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

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

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

Все процессы, происходящие в узле арифметико-логических преобразований, можно подразделить на несколько категорий. Арифметические операции представляют собой основные математические операции такие как деление, умножение, вычитание модулей, обычное вычитание и сложение.
Для категории логических преобразований характерны операции конъюнкции, которые сопоставимы с союзом «и», дизъюнкции — сопоставимой с логической операций, смысл которой приближен к союзу «или», а также операции сравнения различных данных на предмет равенства. Чаще всего в логических преобразованиях используются двоичные слова, в состав которых входят множественные разряды.

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

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

Запись опубликована 05.04.2016 автором katrinas11 в рубрике Моя жизнь. Отблагодари меня, поделись ссылкой с друзьями в социальных сетях:

Инструмент проще, чем машина. Зачастую инструментом работают руками, а машину приводит в действие паровая сила или животное.

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

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

Два основных компонента процессора

Устройство управления

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

Существует два типа реализации УУ:

  • УУ на жёсткой логике (англ. hardwired control units). Характер работы определяется внутренним электрическим строением — устройством печатной платы или кристалла. Соответственно, модификация такого УУ без физического вмешательства невозможна.
  • УУ с микропрограммным управлением (англ. microprogrammable control units). Может быть запрограммирован для тех или иных целей. Программная часть сохраняется в памяти УУ.

УУ на жёсткой логике быстрее, но УУ с микропрограммным управлением обладает более гибкой функциональностью.

Арифметико-логическое устройство

Это устройство, как ни странно, выполняет все арифметические и логические операции, например сложение, вычитание, логическое ИЛИ и т. п. АЛУ состоит из логических элементов, которые и выполняют эти операции.

«Росбанк», Москва, до 60 000 ₽ (до налогов)

Большинство логических элементов имеют два входа и один выход.

Ниже приведена схема полусумматора, у которой два входа и два выхода. A и B здесь являются входами, S — выходом, C — переносом (в старший разряд).

Схема арифметического полусумматора

Хранение информации — регистры и память

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

Регистры

Регистр — минимальная ячейка памяти данных. Регистры состоят из триггеров (англ. latches/flip-flops). Триггеры, в свою очередь, состоят из логических элементов и могут хранить в себе 1 бит информации.

Прим. перев. Триггеры могут быть синхронные и асинхронные. Асинхронные могут менять своё состояние в любой момент, а синхронные только во время положительного/отрицательного перепада на входе синхронизации.

По функциональному назначению триггеры делятся на несколько групп:

  • RS-триггер: сохраняет своё состояние при нулевых уровнях на обоих входах и изменяет его при установке единице на одном из входов (Reset/Set — Сброс/Установка).
  • JK-триггер: идентичен RS-триггеру за исключением того, что при подаче единиц сразу на два входа триггер меняет своё состояние на противоположное (счётный режим).
  • T-триггер: меняет своё состояние на противоположное при каждом такте на его единственном входе.
  • D-триггер: запоминает состояние на входе в момент синхронизации. Асинхронные D-триггеры смысла не имеют.

Для хранения промежуточных данных ОЗУ не подходит, т. к. это замедлит работу процессора. Промежуточные данные отсылаются в регистры по шине. В них могут храниться команды, выходные данные и даже адреса ячеек памяти.

Принцип действия RS-триггера

Память (ОЗУ)

ОЗУ (оперативное запоминающее устройство, англ. RAM) — это большая группа этих самых регистров, соединённых вместе. Память у такого хранилища непостоянная и данные оттуда пропадают при отключении питания. ОЗУ принимает адрес ячейки памяти, в которую нужно поместить данные, сами данные и флаг записи/чтения, который приводит в действие триггеры.

Прим. перев. Оперативная память бывает статической и динамической — SRAM и DRAM соответственно. В статической памяти ячейками являются триггеры, а в динамической — конденсаторы. SRAM быстрее, а DRAM дешевле.

Команды (инструкции)

Команды — это фактические действия, которые компьютер должен выполнять. Они бывают нескольких типов:

  • Арифметические: сложение, вычитание, умножение и т. д.
  • Логические: И (логическое умножение/конъюнкция), ИЛИ (логическое суммирование/дизъюнкция), отрицание и т. д.
  • Информационные: move , input , outptut , load и store .
  • Команды перехода: goto , if . goto , call и return .
  • Команда останова: halt .

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

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

В процессоре инструкции реализуются на аппаратном уровне. За один такт одноядерный процессор может выполнить одну элементарную (базовую) инструкцию.

Группу инструкций принято называть набором команд (англ. instruction set).

Тактирование процессора

Быстродействие компьютера определяется тактовой частотой его процессора. Тактовая частота — количество тактов (соответственно и исполняемых команд) за секунду.

Частота нынешних процессоров измеряется в ГГц (Гигагерцы). 1 ГГц = 10⁹ Гц — миллиард операций в секунду.

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

Выполнение инструкций

Инструкции хранятся в ОЗУ в последовательном порядке. Для гипотетического процессора инструкция состоит из кода операции и адреса памяти/регистра. Внутри управляющего устройства есть два регистра инструкций, в которые загружается код команды и адрес текущей исполняемой команды. Ещё в процессоре есть дополнительные регистры, которые хранят в себе последние 4 бита выполненных инструкций.

Ниже рассмотрен пример набора команд, который суммирует два числа:

  1. LOAD_A 8 . Это команда сохраняет в ОЗУ данные, скажем, . Первые 4 бита — код операции. Именно он определяет инструкцию. Эти данные помещаются в регистры инструкций УУ. Команда декодируется в инструкцию load_A — поместить данные 1000 (последние 4 бита команды) в регистр A .
  2. LOAD_B 2 . Ситуация, аналогичная прошлой. Здесь помещается число 2 ( 0010 ) в регистр B .
  3. ADD B A . Команда суммирует два числа (точнее прибавляет значение регистра B в регистр A ). УУ сообщает АЛУ, что нужно выполнить операцию суммирования и поместить результат обратно в регистр A .
  4. STORE_A 23 . Сохраняем значение регистра A в ячейку памяти с адресом 23 .

Вот такие операции нужны, чтобы сложить два числа.

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

У процессора есть механизм сохранения инструкций в кэш. Как мы выяснили ранее, за секунду процессор может выполнить миллиарды инструкций. Поэтому если бы каждая инструкция хранилась в ОЗУ, то её изъятие оттуда занимало бы больше времени, чем её обработка. Поэтому для ускорения работы процессор хранит часть инструкций и данных в кэше.

Если данные в кэше и памяти не совпадают, то они помечаются грязными битами (англ. dirty bit).

Поток инструкций

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

Однако такое решение подходит только для тех инструкций, которые не зависят друг от друга.

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

Читайте также:  Настройка зажигания партнер 350
Оценить статью
Добавить комментарий