logo
AOM / Мельник А

4.2.4.5. Фаза зворотного запису

На цій, вже останній фазі виконання команди, у разі потреби результат, що отримано на попередніх фазах, записується до деякої комірки RXрегістрового файла. Наприклад, в R1,якщо поточною є команда ADDR1,R2,R3,або в R6для команди LWR6,#112(R3).Тому вона і має назву зворотного запису (write/back- WB).

Потрібно звернути увагу, що на цій фазі змінюється програмний стан комп'ютера. Після її виконання поновлення попереднього стану є неможливим.

Команди виконання операції арифметико-логічного пристрою типу "регістр-ре-гістр".

Виконується наступна мікродія:

Regs[IR16...20] =ALUoutput.

Мікродія зберігає результат операції ALUв регістрі призначення (наприклад, в ре­гістрі R1на прикладі команди ADD).Зрозуміло, що біти 16...20 відповідного формату команди містять бінарний номер регістра призначення.

Команди виконання операції арифметико-логічного пристрою типу "регістр-без-посередній операнд".

Виконується наступна мікродія:

Regs[IR11...15]=ALUoutput.

Ця мікродія також зберігає результат операції, наприклад, SUBR5,R4,#1002, в ко­мірці R5регістрового файла.

Команда завантаження.

Прикладом команди завантаження є команда LWR6,112(R3).Виконується наступна мікродія:

Regs[IR11...15]=LMD.

Наведена мікрокоманда надсилає до комірки R6регістрового файла вміст комірки пам'яті даних за адресою 112 + (R3),яке на попередніх фазах вже було вибране з пам'яті і тимчасово зберігалося в службовому регістрі LMD.На цьому опис мікродій керування роботою комп'ютера DLXзавершено. В табл. 4.1. наведено приклади алгоритмів вико­нання команд в комп'ютері DLX.

151

Пояснимо на прикладі синтаксис запису алгоритмів виконання окремих машинних команд комп'ютера DLX (див. таблицю 4.1). Розглянемо запис:

Regs[R19]16...31=16(DM[Regs[R8]]0)8## DM [ Regs[R8]].

Запис означає наступне. Оновлюють лише 16 молодших (правих) бітів регістра R19. До них пересилається двобайтовий бінарний код, в якому молодший правий байт бе­реться з пам'яті даних DM за адресою, що є збіжною з вмістом регістра R8. Старший лівий байт утворюється восьмиразовим повторюванням нульового (старшого) розряду щойно згаданого правого байта. Парою символів ## позначено операцію конкатенації (зчеплення) двох байтів до двобайтового півслова. Наведеного таблицею 4.1 достатньо, аби синтезувати неподані алгоритми виконання інших команд комп'ютера DLX.