Вопрос 1.7.4. Структурная схема МП

Общая структура гипотетического иллюстративного микропроцессора редставлена на рис.

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

Входящие в его состав компоненты говорят о том, что он является процессором с программным управлением. Некоторые компоненты, программный счетчик (счетчик команд СК), стек (на схеме не указан), регистр команд (РК), служат для обработки команд. Такие компоненты арифметико-логическое устройство (АЛУ), триггер переноса (на схеме не указан), регистры общего назначения (РОН) и регистр адреса данных (РА), служат для обработки данных. Все остальные компоненты, а именно дешифратор команд (дешифратор кода операции ДКОп) и блок управления и синхронизации (БУ), управляют работой других компонентов. Взаимодействие компонентов осуществляется по внутренней шине данных. Связь МП с другими блоками (ЗУ и устройствами ввода/вывода) происходит по адресной щине, шине данных (внешней) и управляющей шине.

МП работает со словами, состоящими из 8 битов (1 байт). Адрес из 8 бит позволяет адресовать ячеек памяти. Для реальных задач этого, конечно, мало, поэтому для задания адреса памяти обычно используется 16 разрядов (два байта), и это позволяет прямо адресовать ячеек. Адресная шина однонаправленная, 16-ти разрядная.

Рисунок 1.7.2. Структурная схема гипотетического иллюстративного микропроцессора.

Информация к МП и от него передается по шине данных. Шина данных двунаправленная, 8-ми разрядная. Управляющая шина состоит из 5 линий, ведущих к блоку управления и синхронизации, и 8 выходящих из него линий. По этим линиям передаются управляющие и тактирующие сигналы между компонентами МП и МП и другими блоками ПК.

Счетчик команд (СК) состоит из 16 битов и содержит адрес очередного байта команды, считываемого из памяти. Содержимое СК автоматически увеличивается на единицу после чтения каждого байта команды. Существует связь между СК и вершиной стека. Одна из функций стека-сохранение адреса возврата из подпрограммы. В стеке могут сохраняться данные из верхних трех регистров РОН и триггера переноса.

В то время как слово данных состоит из одного байта, команда может состоять из одного, двух и трех байтов. Первый байт любой команды поступает из ОЗУ по шине данных на регистр команд (РК). Этот первый байт подается на вход дешифратора команд (ДКОп-дешифратор кода операции), который определяет вид операции. В частности, дешифратор определяет является ли команда однобайтовой, или она состоит из большего числа байтов. В последнем случае дополнительные байты передаютяс по шинам данных из ОЗУ и принимаются или на регистр адреса данных, или на один из регистров РОН

Регистр адреса данных содержит адрес операнда для команд, обращающихся к памяти, адрес порта для команд ввода/вывода.или адрес следующей команды для команд перехода. Регистры РОН (регистры общего назначения) cодержат операнды для всех команд, работающие с данными. Для указания этих регистров используются 4-битовые коды от 0000 до 1110. Регистр 0000 называетяс аккумулятором (АК) и участвует во всех арифметических и логических операциях. В частности, он содержит один из операндов перед выполнением операции и получает результат после ее завершения. Обычно обращение к РОН осуществляется при помощи R-селектора.

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

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

Рисунок 1.7.3.

· Указатель стека (УС) представляет собой 16-разрядный регистр, служащий для формирования адреса стековой памяти.

· Регистр признаков (РП) используется для фиксации определенных ситуаций, возникающих в результате выполнения операции. Код ситуации называется признаком результата. Признак может принимать значение 0 или 1. Отметим некоторые из возможных признаков.

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

Буфер данных (БД) служит для организации обмена информацией между внутренней и внешней шинами данных.