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