Архитектура универсальных процессоров информационных систем
Архитектура однокристального микропроцессора
Микропроцессор (МП) – это устройство для выполнения программно управляемых арифметических и логических операций, содержащее АЛУ, устройство управления, регистры и шины ввода-вывода информации, изготовленное в виде одной или нескольких больших интегральных схем (кристаллов). Компьютер, выполненный на основе микропроцессора, часто называют микро-ЭВМ.
Основная последовательность операций микро-ЭВМ следующая:
1) передача адреса очередной команды из МП в оперативную память (память программы);
2) считывание из памяти и декодирование команды в МП;
3) выполнение команды в МП;
4) формирование адреса следующей команды.
Последовательность этих операций называется циклом команды.
МП является основной частью — ядром микро-ЭВМ. Его архитектура в значительной степени определяет характерные параметры микро-ЭВМ. Типичная структурная схема МП имеет вид, изображенный на рисунке 3.1. В ее состав входят следующие функциональные узлы.
Рисунок 3.1 – Обобщенная структурная схема однокристального микропроцессора |
Аккумулятор – это регистр, в котором содержится операнд, подлежащий обработке в АЛУ. Его можно считать основным рабочим регистром, в котором записываются данные из памяти и результаты операций, заносимых обратно в память или в устройство ввода-вывода. Например, в соответствии с заданной командой в АЛУ подается команда выполнения операции сложения содержимого аккумулятора и другого регистра и записи полученной суммы в Ak.
Счетчик команд (СК). Команды, образующие программу, хранятся в памяти программы в определенной последовательности. В счетчике команды содержится адрес выполняемой в текущий момент команды. Обычно в процессе выполнения команд содержимое СК увеличивается на единицу. Однако в зависимости от вводимых данных либо от результатов выполнения операций может возникнуть необходимость изменения последовательности порядка выполнения команд. Для этого необходим переход к новому адресу команды. С этой целью в СК непосредственно записывается адрес команды, к которой необходим переход. Для того чтобы затем была возможность обратного перехода в последовательности прежде выполнявшихся команд, необходимо запомнить адрес, предшествовавший переходу на новую последовательность команд. Этот адрес сохраняется в регистре стека.
Стек. Стек – это набор регистров или ячеек оперативной памяти, в котором данные или адреса выбираются “сверху” по принципу: “первый – поступивший последним”. При записи в стек очередного слова все ранее записанные слова смещаются на один регистр “вниз”. Например, если идет запись в последовательности A1, A2, A3, A4, то при считывании информация появляется в обратном порядке A4, A3, A2, A1. Т.е. нельзя извлечь раньше A2, чем A3 и т.п. Стек обычно используется в МП для хранения адресов возврата при обращении к подпрограммам, а также для запоминания состояния внутренних регистров при обработке прерываний. Важным параметром является число регистров стека (информационная емкость). При попытке записать в стек большее число слов, чем имеющаяся информационная емкость первое слово будет утеряно. Т.е. происходит переполнение стека. Для указания адреса последнего записанного в стек адреса применяется указатель стека (УС), являющийся специальным регистром.
Регистр команд. Команда, принимаемая МП из памяти, хранится в регистре команд (РК). Длина (формат) команды (т.е. число разрядов) зависит от типа МП. Простые МП имеют 8-разрядный код операции. Таким образом, всего может быть образовано 28=256 различных команд. Для практических целей такое общее число команд более чем достаточно. Несмотря на это, многие МП имеют переменную длину команды, состоящую из одного, двух или трех байтов. С помощью таких команд осуществляется не только идентификация требуемой операции, но и задание кода одного или более адресатов для выбора данных и записи результата.
Дешифратор команд (ДШК) предназначен для определения операции, которую должен выполнить МП. Сигналы, образующиеся на выходах ДШ, управляют передачей информации между отдельными блоками и задают функции, выполняемые этими блоками. Как правило, команды делятся на группы, причем в каждой из групп выполняются аналогичные операции. Эти группы команд, например, “Передача данных”, “Арифметические операции”, “Логические операции” и т.д. различаются по четырем старшим разрядам КОП. Такая группировка значительно упрощает декодирование команд.
Регистры общего назначения (РОН) – сверхоперативная память. Эти регистры применяются в качестве временного запоминающего устройства для различной информации (адресов и данных), которую можно извлечь просто и с большей скоростью, чем из ОЗУ. Поэтому блок памяти РОН называют сверхоперативной памятью. Обращение к РОН – адресное. Эти регистры допускают считывание и запись информации, в связи с чем содержат входную и выходную шины, адресную шину и управляющие входы, информация на которых задает режим работы регистра: запись, чтение или хранение.
Арифметико-логическое устройство – (АЛУ) входит в состав всех процессоров, хотя его принципиальная схема, функции, быстродействие и т.д. могут быть существенно различными. АЛУ, как составная часть МП, должно выполнять по крайней мере следующие операции:
- сложение с переносом;
- вычитание с переносом (заемом);
- сдвиг влево и вправо;
- счет в прямом и обратном направлении;
- логическое умножение и сложение (И, ИЛИ);
- сравнение кодов.
Более сложные АЛУ могут выполнять и другие функции.
Схемы синхронизации и управления – (ССУ) совместно с ДШК называют устройством управления. Устройство управления расшифровывает поступающую команду и в соответствии с ней вырабатывает необходимую последовательность сигналов, управляющих работой всех остальных блоков МП. Следует заметить, что последовательность управляющих сигналов зависит также от характеристик промежуточных состояний (вычислений) и наличия дополнительных сигналов (прерывание, запрос и т.д). В состав микропроцессора входиттакже регистр состояния, не показанный на схеме. Он состоит из одного или нескольких триггеров, называемых “флажками”. Эти триггеры предназначены для хранения информации о состоянии МП и индикации этого состояния. Например, индикация нулевого содержимого аккумулятора, признак наличия единицы переноса при выполнении арифметических операций, знака содержимого аккумулятора и т.д. Данный регистр состояния обеспечивает возможность интерпретации результатов, полученных при вычислениях, и часто используется для реализации условных переходов.