Упрощенная структурная схема центрального процессора формальной ЭВМ
Рассмотрим упрощенную структурную схему центрального процессора (ЦП) некоторой формальной ЭВМ (рис.1).
Рисунок 1 – Упрощенная структурная схема ЦП формальной ЭВМ
Назначение основных блоков процессора
Кроме основных блоков ЦП, представленных на упрощенной структурной схеме ЦП некоторой формальной ЭВМ, в состав процессора могут входить и другие блоки: блок прерывания, блок защиты памяти, блок контроля правильности работы и диагностики процессора.
Так, например, блок контроля правильности работы и диагностики процессора предназначен для обнаружения сбоев и отказов узлов ЦП, восстановления работы текущей программы после сбоев и локализации неисправностей при отказах и т.д.
Рассмотрим назначение основных блоков ЦП.
Блок связи с оперативной памятью
Блок связи с ОП и с периферийными устройствами совместно с блоком, осуществляющим защиту оперативной памяти от несанкционированного доступа для текущей программы, образуют интерфейсный блок, который содержит два регистра: регистр адреса памяти (хранит адрес ячейки памяти) и регистр данных памяти (сдержит данные обмена).
Блок «АЛУ»
АЛУ выполняет логические и арифметические операции над данными такие как сложение (вычитание), умножение и деление чисел с фиксированной и плавающей точками, операции над десятичными числами, осуществляет обработку алфавитно-цифровых слов постоянной и переменной длины и др.
АЛУ работает под управлением УУ.
Блок «УУ»
Этот блок вырабатывает последовательность управляющих сигналов, инициирующих выполнение соответствующей последовательности микрокоманд (находящихся в ПЗУ). Наряду с этим УУ координирует функционирование всех устройств компьютера посредством посылки управляющих сигналов.
|
В частности, блок «УУ» координирует обмен данными между ЦП и ОП; хранение и обработку информации; осуществляет интерфейс с пользователем; проводит тестирование и диагностику ЭВМ и др. Хотя блок «УУ» целесообразно рассматривать как отдельный блок ЦП, на практике большинство управляющих схем распределено по всей ЭВМ.
Блок управляющих регистров
Этот блок предназначен для временного хранения управляющей информации. Он содержит регистры и счетчики, участвующие в управлении вычислительным процессом: регистры, хранящие информацию о состоянии процессора; счетчики тактов; счетчик команд; регистр (вектор) прерывания и т.д. Сюда относятся также управляющие триггеры.
Блок регистровой памяти
Этот блок в состав процессора и микропроцессора включают для повышения быстродействия и логических возможностей. Регистровая (по-другому, местная, сверхоперативная) память имеет небольшую емкость, но более высокое по сравнению с ОП быстродействие.
Регистры этого блока (или ячейки местной памяти) указываются в командах программы путем укороченной регистровой адресации (указываются только номера регистров), и служат для хранения операндов в качестве аккумуляторов (регистров результата операций), базовых и индексных регистров, указателя стека.
Основной алгоритм работы процессора
В общем случае основной алгоритм работы процессора ЭВМ можно представить в виде следующей последовательности шагов:
|
l программа загружается в ОП;
l адрес первой команды программы записывается в счетчик команд (СК), который находится в блоке управляющих регистров;
l содержимое СК пересылается в регистр адреса памяти, и в ОПпосылается сигнал управления считыванием;
l в соответствии со временем доступа к ОП адресуемое слово (в данном случае первая команда программы) извлекается из ОП и загружается в регистр данных памяти в интерфейсном блоке;
l содержимое регистра данных памяти пересылается в СК.
На этой стадии команда программы готова для ее декодирования в УУ и выполнения.
Если команда содержит операцию, которая должна быть выполнена в АЛУ, то необходимо получить требуемые операнды. Если операнд находится в ОП (а он также может находиться в управляющем регистре), его необходимо выбрать из памяти. Для этого в регистр адреса памяти пересылается адрес операнда и начинается цикл чтения. Операнд, выбранный из памяти в регистр данных, может быть передан в АЛУ.
Выбрав таким образом один или несколько операндов, АЛУ может выполнить требуемую операцию, сохранив ее результат в одном из регистров общего назначения (в сумматоре). Если результат операции необходимо запомнить в ОП, он должен быть послан в регистр данных памяти. Адрес ячейки, в которую необходимо поместить результат, пересылается в регистр адреса памяти и начинается цикл записи.
Между тем содержимое СК увеличивается, указывая следующую команду, которая должна выполняться. Таким образом, как только завершится выполнение текущей команды, может сразу же начаться выборка на выполнение следующей команды программы.
|
Помимо обмена данными между ОП и ЦП необходимо обеспечить обмен данными с внешними устройствами. Этот обмен осуществляют машинные команды, управляющие вводом/выводом информации.
Естественный порядок выполнения программы может нарушаться при поступлении сигнала прерывания. Прерывание является требованием на обслуживание, которое осуществляется ЦП, выполняющим соответствующую программу обработки прерывания. Так как прерывание и его обработка могут изменить внутреннее состояние ЦП, то оно сохраняется в ОП перед началом работы программы обработки прерывания.
Сохранение состояния достигается пересылкой содержимого регистра команд, управляющих регистров и некоторой управляющей информации в ОП. После завершения программы обработки прерывания состояние ЦП восстанавливается, позволяя продолжить выполнение прерванной программы.
Описанный выше процесс циклически продолжается до тех пор, пока не наступит конец программы или не поступит команда прерывания ее работы.