Обмен данными между шинами

Регистр РХ обеспечивает обмен данными между внутренними шинами: между 48_разрядной шиной РМD и 40_разрядной шиной данных DMD. 48_разрядный регистр PX состоит из двух регистров: 16_разрядного PX1 и 32_разрядного PX2. PX1 и PX2 могут независимо использоваться в командах, а также рассматриваться как объединенный регистр PX. Размещение PX1 и PX2 внутри регистра PX показано ниже на рис. 5.2.

Любой из двух регистров PX1 и PX2 или объединенный регистр PX могут использоваться при передаче данных между универсальными регистрами или между памятью и регистром. Эта передача данных может выполняться по шине РМD или по шине DMD. Регистры PX могут считываться в регистровый файл данных или записываться из него по шине РМD или по шине DMD.

При передаче данных с использованием регистра PX данные выравниваются в

нем так, как показано на рис. 5.3. Когда данные передаются между PX2 и шиной РМD, то используются 32 старших разряда шины. При передаче данных из PX2 16 младших разрядов шины РМD заполняются нулями. Когда данные передаются между PX1 и шиной РМD, то используются 16 средних разрядов шины РМ. При передаче данных из PX1 биты 15_0 и биты 47_32 заполняются нулями. Когда объединенный регистр PX используется для передачи данных по шине РМD, то все 48 разрядов могут считываться из памяти программы или записываться в нее. PX2 содержит 32 старших разряда, а PX1 содержит 16 младших разрядов 48_разрядного слова.

Например, если необходимо записать по шине РМD 48_разрядное слово в область памяти, называемую Port1, то можно использовать следующие команды:

R0=0x9A00; /* загрузка в R0 16 младших бит */

R1=0x12345678; /* загрузка в R1 32 старших бита */

PX1=R0;

PX2=R1;

PM(Port1)=PX; /* запись младших бит, битами 15 - 0

/*и 32старших бита битами 47-16 шины PMD */

Когда данные передаются между PX2 и шиной DMD или регистровым файлом, используются 32 старших бита шины (и регистрового файла). При передаче из PX2 восемь младших разрядов заполняются нулями (см. рис. 5.3). Если данные передаются между PX1 и шиной DMD или регистровым файлом, то используются биты 23_8 шины (и регистрового файла). При передаче из PX1 биты 7_0 и биты 39_24 заполняются нулями. Когда объединенный регистр PX используется для передачи данных по шине DMD, то считываются или записываются 40 старших бит регистра РХ. При передаче во внутреннюю память или из нее младшие 8 бит заполняются нулями.

При передаче во внешнюю память или из нее передаются все 48 бит.

Рис 5.3


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: