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