Нижегородский институт управления
- 1 year ago
- 0
- 0
Управля́ющий автома́т , устро́йство управле́ния проце́ссором (УУ) ( англ. control unit, CU ) — блок, устройство, компонент аппаратного обеспечения компьютеров. Представляет собой конечный дискретный автомат . Структурно устройство управления состоит из: дешифратора команд (операций), регистра команд , узла формирования (вычисления) текущего исполнительного адреса , счётчика команд .
УУ современных процессоров обычно реализуются в виде микропрограммного автомата и в этом случае УУ включает в себя ПЗУ микрокоманд .
УУ предназначено для формирования сигналов управления для всех блоков машины .
В архитектуре фон Неймана является неотъемлемой частью центрального процессора .
При выполнении программы УУ на входе получает очередную инструкцию или команду программы, которая поступает в регистр команд. Структурно регистр команд состоит из двух частей: в одной части хранится код операции (КОП), в другой части расположены адреса операндов, участвующих в управлении. Код операции поступает в дешифратор операции, который запускает последовательность смены состояний конечного автомата УУ, в современных машинах - запускает некоторую микропрограмму хранящуюся в ПЗУ микропрограмм. Суть работы УУ заключается в последовательном выставлении комбинаций сигналов управления на линиях управления.
При переходе из одного внутреннего состояния в следующее состояние конечного автомата УУ также учитывается состояние регистра признаков результата выполнения предыдущей команды ( регистра флагов ), состояние управляющих входов (например, сигналов готовности периферийных устройств, линий аппаратных прерываний ) и на выход УУ выдает последовательности импульсов управления (межрегистровыми пересылками, адресацией и сигналами пересылок данных практически между всеми блоками компьютера — арифметико-логическим устройством ( АЛУ ), подсистемой ввода/вывода, оперативной памятью и другие).
Почти всегда для исполнения команды/инструкции УУ выдает несколько управляющих импульсов или их комбинаций в определяемой кодом команды/инструкции последовательности. После завершения выдачи всех импульсов управления для исполнения текущей команды УУ считывает код следующей команды и т. д.
УУ обычно синхронизируется внешними тактовыми импульсами , формируемым генератором тактовых импульсов (ГТИ), то есть переход из состояния в состояние конечного автомата УУ происходит на каждом тактовом импульсе, в некоторых УУ для увеличения быстродействия управляющие импульсы формируются как на нарастающем фронте импульса , так и на падающем.
Эта команда исполняется за 2—3 такта синхроимпульсов. В первом такте УУ выдает на шину адреса состояние счетчика команд (Program Counter — PC) для выборки кода очередной команды и импульс на линию чтения ОЗУ, при этом анализируется бит готовности ОЗУ. При готовности ОЗУ код команды передается в регистр текущей команды. Иначе УУ исполняет такты ожидания, не изменяя состояние линий управления/адреса.
Собственно исполнение этой команды выполняется за два такта синхроимпульсов, если выборка команды и декодирование её производится в одном такте. В первом такте УУ декодирует код регистра команды. Во втором такте на внутреннюю общую шину данных с помощью ключей выдается состояние регистра-источника и одновременно вход регистра-приемника подключается другими ключами к этой же внутренней шине данных, в результате этого регистр-приемник принимает состояние регистра-источника. Далее УУ размыкает ключи и переходит к исполнению следующей команды.
Выборка команды из ОЗУ происходит аналогично. Для исполнения этой команды необходимо несколько тактов. Как всегда, в первом такте производится чтение и дешифрация кода команды. Затем на внешнюю шину адреса ключами, управляемыми от УУ, выдается состояние , и, одновременно, на внешнюю шину данных выдается состояние регистра-источника, на линию управления записью в память выдается сигнал записи. УУ проверяет сигнал готовности памяти, если ОЗУ готово, то УУ снимает все сигналы управления и переходит к чтению следующей команды, иначе исполняет пустые такты ожидания.
Помимо аналогичных описанных действий, УУ дополнительно анализирует внутренний регистр состояний процессора — результата исполнения предыдущей команды. Например, если в результате предыдущей команды сложения или вычитания был получен результат 0, то в бите регистра состояния процессора (флаге) записывается признак нуля. УУ при исполнении команды условного перехода (в этом примере команда - перейти если нуль , на языке ассемблера обычно мнемокод команды записывают как JZ <адрес перехода> ) анализирует этот флаг и, в зависимости от его состояния, либо загружает в счетчик команд указанный в команде адрес перехода, либо при невыполнении условия загружает в счетчик команд адрес следующей по порядку в программе команды.
Описанные примеры упрощены, в современных процессорах стремятся исполнить в одном такте как можно больше действий, иногда действия производятся на фронте и спаде тактового сигнала. Когда одна команда занимает несколько слов в программной памяти, тогда УУ последовательно считывает все слова кода команды и, только после этого, приступает к её исполнению.
В ранних компьютерах УУ проектировалось и исполнялось в виде « жесткой логики » — комбинационных логических схем , триггеров , регистров, дешифраторов .
В 1951 году М. В. Уилксом было предложено проектировать УУ в виде микропрограммного автомата, то есть формировать последовательности управляющих импульсов с помощью микропрограммного автомата, управляемого микропрограммами, состоящими из микроинструкций, хранимой в постоянной или перезашиваемой (перепрограммируемой) микропрограммной памяти процессора. Такой подход существенно снижает трудозатраты на проектирование конечного автомата УУ и дополнительно позволяет относительно легко его модифицировать. С развитием полупроводниковой техники и появлением на рынке большого числа программируемых контроллеров при создании УУ этот подход стал доминирующим.
Однако в последние годы для некоторых систем АСУ ТП наметилась тенденция возврату (на новом технологическом уровне) к использованию систем основанных на жёсткой логике, в частности потому, что они обладают высокой степенью защищённости от компьютерных атак [ источник не указан 1292 дня ] .