188
Устройство генерации адресов (address generate unit - AGU)
и режимы адресации.
Структура AGU. AGU выполняет вычисление истинных (физи-
ческих) адресов данных в памяти. Это устройство использует три ти-
па адресной арифметики: линейную модификацию адреса, модуль-
ную модификацию адреса, адресацию с реверсивным переносом - и
работает параллельно с остальными устройствами на кристалле, что
сокращает время на генерацию адресов. Структура AGU показана на
рисунке 5.11. Все регистры AGU являются 24-разрядными, в которых
16 младших разрядов являются значащими. Старшие 8 разрядов не-
доступны для записи и при чтении заполняются нулями.
Блок регистров адреса (R0-R3 и R4-R7). Каждый из двух под-
блоков регистров адреса содержит четыре 16-битных регистра, кото-
рые содержат адреса для обращения к памяти. Каждый регистр может
быть прочитан или записан с использованием глобальной шины дан-
ных. При выдаче содержимого регистров на шину данных 16-битные
регистры записываются в два младших значащих байта шины дан-
ных, а старший значащий байт заполняется нулями.
При записи в регистры старший значащий байт шины данных отсека-
ется. Каждый адресный регистр может использоваться как вход АЛУ
адресов для модификации регистров. Регистр из АЛУ нижних адре-
сов и регистр из АЛУ верхних адресов доступны в одной инструкции.
Если параллельно осуществляется пересылка данных из памяти
X и из памяти Y, адресные регистры разделяются на два блока: R0 -
R3, R4 - R7. Содержимое регистров адреса может модифицироваться
соответственно режиму адресации. Тип модификации определяется
содержимым регистров модификации (Мn). Регистры смещения (Nn)
используются для режима адресации «модификация со смещением».
Большинство режимов адресации модифицируют регистры ад-
реса в цикле «чтение - модификация - запись».
Блок регистров смещения (N0-N3 и N4-N7). Каждый из двух
подблоков регистров смещения содержит четыре 16-битных регистра,
которые содержат величину смещения, используемую для модифика-
ции адресных указателей или данных. Каждый регистр может быть
прочитан или записан с использованием глобальной шины данных.
При выдаче содержимого регистров на шину данных 16-битные реги-
стры записываются в два младших значащих байта шины данных, а
старший значащий байт заполняется нулями. При записи в регистры
старший значащий байт шины данных отсекается.