КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Команда умовного переходу
Прикладом команди умовного переходу є команда BNEZ R5, data. Виконуються наступні мікродії: ALUoutput = NPC + Imm; Cond (ition) = (A op 0). Обидві мікродії є сумісними в часі. За допомогою першої мікродії вираховується цільова адреса умовного переходу. При цьому до вже визначеної адреси наступної команди (NPC), тобто такої, яка розташована безпосередньо за командою умовного переходу, додається константа зі службового регістра Imm, (саме він містить значення data). Друга мікродія визначає (істинним чи хибним) є значення умови Condition умовного переходу. Заради цього вміст службового регістра А, що є збіжним із вмістом регістра R5 (у коман- ді-прикладі), порівнюється на основі операції (ор) з нулем. Згідно з семантикою команди BNEZ отримується, що Cond = true, коли вміст регістра R5 ненульовий, або Cond = false, якщо регістр R5 містить нуль. Фізично Cond є однобітним регістром у складі вузла Zero? Звернемо увагу на те, що зараз сформовано лише значення двох необхідних елементів виконання умовного переходу, а саме: однобітний код умови Cond та цільова адреса переходу, яка тимчасово зберігається у службовому вихідному регістрі ALU, тобто в ALUoutput. Безпосереднє виконання умовного переходу, що полягає в природній (за чергою) чи неприродній (коли виконують стрибок до цільової адреси) зміні вмісту програмного лічильника PC, виконується на наступній фазі.
4.2.4.4. Фаза звернення до пам’яті та завершення умовного переходу Звернення до пам’яті. В рамках фази звернення до пам’яті МЕМ виконуються наступні мікродії: LMD = DM [ALUoutput]; DM [ALUoutput] = В. Звернення до пам’яті застосовується в командах завантаження (наприклад, LW R6, 112(R3)) та в командах збереження (наприклад, SW 112(R3),R6). Перша мікродія виконується тільки у випадку команди Load (завантаження). Тут за допомогою попередньо розрахованої адреси пам’яті даних, яка тимчасово зберігається у службовому регістрі ALUoutput, здійснюється доступ до пам’яті, що і позначено записом DM [ALUoutput]. Фізично з пам’яті завжди зчитується 32 біти (або навіть цілі пакети з 32-х бітових структурних одиниць). Отриманий з пам’яті даних бінарний код тимчасово завантажується до ще одного службового регістра LMD (Load Memory Data). І тільки на наступній фазі WB, яка поки що не розглядалася, зчитаний код пересилається з регістра LMD до конкретної комірки (в нашому прикладі - це комірка з адресою R6) регістрового файла. Друга мікродія реалізується лише при виконанні команди Store (збереження). Тут до комірки пам’яті даних за адресою, що зберігається в службовому регістрі ALUoutput = (R3) + 112, засилається вміст службового регістра В. При цьому (в наведеному прикладі) для команди SW має місце тотожність (B)=(R6). Умовний перехід. Виконується наступна мікродія: if (condition) PC = ALUoutput else PC = NPC. Здійснюється природна (cond=0) або неприродна (cond =1) заміна вмісту програмного лічильника PC з метою реалізації наступної за умовним переходом команди. 4.2.4.5. Фаза зворотного запису На цій, вже останній фазі виконання команди, у разі потреби результат, що отримано на попередніх фазах, записується до деякої комірки RX регістрового файла. Наприклад, в R1, якщо поточною є команда ADD R1,R2,R3, або в R6 для команди LW R6,#112(R3). Тому вона і має назву зворотного запису (write/back - WB). Потрібно звернути увагу, що на цій фазі змінюється програмний стан комп’ютера. Після її виконання поновлення попереднього стану є неможливим. Команди виконання операції арифметико-логічного пристрою типу “регістр-ре- гістр”. Виконується наступна мікродія: Regs[IR11…15] = ALUoutput. Мікродія зберігає результат операції ALU в регістрі призначення (наприклад, в регістрі R1 на прикладі команди ADD). Зрозуміло, що біти 16...20 відповідного формату команди містять бінарний номер регістра призначення. Команди виконання операції арифметико-логічного пристрою типу “регістр-без- посередній операнд”. Виконується наступна мікродія: Regs[IR11… 15 ] = ALUoutput. Ця мікродія також зберігає результат операції, наприклад, SUB R5, R4, #1002, в комірці R5 регістрового файла.
Дата добавления: 2014-11-25; Просмотров: 549; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |