Для взаимодействия с шиной АВ/DB используются буферные регистры.
Буферные регистры имеют динамический вход тактирования, вход разрешения тактирования (загрузки) и тристабильный выход. По фронту 0,1 происходит захват данных (при активном сигнале разрешения загрузки) и удержание их в течение цикла. Если разрешена загрузка или вывод содержимого регистра адреса, то загрузка или вывод содержимого регистра данных запрещена, и, наоборот.
Адресный сопроцессор
Адресный сопроцессор служит для вычисления адреса. Его использование позволяет сократить количество тактов, необходимых для выполнения команды. В отличие от основного процессора, адресный работает только с целочисленными данными (адресами).
Адресный сопроцессор работает параллельно основному, т. е. основной процессор выбирает и выполняет свои команды, адресный — свои (реально работа происходит несколько по-другому: команда, поступившая в регистр команд обрабатывается сразу обоими процессорами, но по-разному, например, при выполнении команд пересылки регистр-регистр основной процессор занимается непосредственно пересылкой, а для адресного эта команда означает вычислить следующий адрес). Такая работа возможна, если адресный процессор содержит свое МУУ и ОБ.
В принципе, МУУ основного процессора может содержать и команды для адресного сопроцессора, тогда структура основного процессора будет несколько другой: общее МУУ, ОБ основного процессора, ОБ адресного сопроцессора. Однако в этом случае объем МПП должен быть больше.
Работой адресного сопроцессора управляет МУУ основного процессора. Это необходимо, например, в случаях команд условного перехода, когда адресный сопроцессор вынужден ждать появления истинных флагов.
Основные режимы работы адресного сопроцессора это вычисление адреса следующей команды и генерация адресов при пакетном чтении (записи), например, при обновлении КЭШа. Если нужно вычислить адрес следующей команды, то сопроцессор прибавляет к содержимому счетчика команд длину текущей команды, если имеет место быть безусловный переход, то адрес перехода заносится в счетчик команд, если нужно вычислить адрес операнда, то работает микропрограмма вычисления в зависимости от способа адресации и т. д.
Код операции с регистра команд основного процессора попадает на преобразователь начального адреса. Адрес микропрограммы поступает на секвенсер микрокоманд и далее на микропрограммную память. Микрокоманда содержит инструкцию для микропроцессорной секции, инструкцию для секвенсера микрокоманд, адрес перехода, код условия. МПС занимается вычислением адреса.
Мультиплексор кода условия выбирает источник основной/сопроцессор условия и управляется из микрокоманды.
Пример работы адресного сопроцессора и процессора.
Команда S2=R1*S1.
S1, S2-относительные адреса операндов;
Рис. 5 Пример работы адресного сопроцессора и процессора.