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