Сходинки скалярного конвеєра.

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Інститут комп’ютерних технологій, автоматики та метрології
Факультет:
Не вказано
Кафедра:
Захист інформації

Інформація про роботу

Рік:
2011
Тип роботи:
Державний іспит
Предмет:
Архітектура комп'ютерів
Варіант:
17

Частина тексту файла (без зображень, графіків і формул):

Сходинки скалярного конвеєра. Перелік мікроподій надано мікрокомандою: IF/ID.IR <= Mem[PC]; IF/ID.NPC, PC <= (if EX/MEM.cond {EX/MEM.NPC} else {PC + 4}) Обидві зазначені мікродії мають бути сумісними в часі і виконуються паралельно за один цикл (як правило, один тактовий інтервал). Перша мікродія вибирає нову інструкцію з пам’яті Instruction memory за адресою, що зберігається в PC і записує її до поля IR (Instruction Register) конвеєрного регістра IF/ID. В той самий час друга мікродія змінює вмістиме поля NPC конвеєрного регістра і програмний лічильник за алгоритмом:якщо бітове поле cond(ition – умова) попередньої інструкції , яка пройшла цикл EX, є true, тоді порушується природна черговість і вмістиме IF/ID.NPC та PC отримує значення поля EX/MEM.NPC конвеєрного регістра EX/MEM; iнакше записується природня, наступна адреса (PC+4) з врахуванням байтової логічної структури адреси пам’яті. Мікродії сходинки ID скалярного конвеєра Перелік мікроподій надано мікрокомандою: ID/EX.A<=Regs[IF/ID.IR 8..10 ] ID/EX.B<=Regs[IF/ID.IR 11..15 ] ID/EX.NPC<= IF/ID.NPC ID/EX.IR<= IF/ID.IR ID/EX.Imm<= (IR 16 ) 16 ##IR 16..31 Усі чотири мікродії є сумісними і виконуються в часі паралельно. Перша мікродія вибирає перший операнд з програмно керованого регістра регістрового файла до службового регістра А, що є інтегрованим до конвеєрного регістра ID/EX. При цьому адреса програмно керованого регістра визначається вмістимим підполя (розряди 8..10) поля IR конвеєрного регістра IF/ID. Тут вибирається операнд. Такі ж за призначенням дії виконує друга мікрооперація, але з іншим джерелом і приймачем. Третя і четверта мікродії зберігають контекст інструкції, що знаходиться на поточній сходинці. Це необхідно для її коректного просування конвеєром. Четверта мікродія вибирає (та знаково розширює з 16-ти до 32-ч бітів) до службового регістра Imm(ediate – безпосередній, негайний) операнд, який містився у підполі 16..31 поля IR конвеєрного регістра. Поточний цикл Instruction Decode можна розширити у назві додатковим означенням Operand Fetch (Вибирання Операндів). Мікродії сходинки EX скалярного конвеєра ( АЛП інструкція) Перелік мікроподій надано мікрокомандою: EX/MEM.IR <=ID/EX.IR EX/MEM.cond <= 0 EX/MEM.ALUoutput <=ID/EX.A op ID/EX.B Або EX/MEM.ALUoutput <=ID/EX.A op ID/EX.Imm Усі мікродії є сумісними в часі, виконуються паралельно за один цикл (тактовий інтервал). Перша мікродія зберігає контекст регістра інструкції. Четверта мікродія забороняє АЛП-інструкції впливати на послідовність вибирання інструкцій з пам’яті. Друга і третя мікродії утворюють альтернативу (або). Кожна з них визначає пару операндів для операції ор і при цьому записує результат ор до службового (програмно некерованого) вихідного регістра ALU під назвою ALUoutput. Важливо, що на цьому циклі конвеєра вперше від початку треба визначитися із її типом. Мікродії сходинки EX скалярного конвеєра (load/store інструкції) Перелік мікроподій надано мікрокомандою: EX/MEM.IR <=ID/EX.IR EX/MEM.ALUoutput <=ID/EX.A + ID/EX.Imm EX/MEM.B <=ID/EX.B EX/MEM.cond (ition) <= 0 Усі мікродії є сумісними в часі, виконуються паралельно за один цикл (тактовий інтервал). Перша мікродія зберігає контекст регістра інструкції, друга вираховує виконавчу (ефективну) адресу пам’яті даних на основі бази (Immediate – Безпосередній операнд), третя зберігає контекст службового, програмно некерованого регістра В, четверта забороняє поточній інструкції змінювати природний порядок адресування інструкцій. Важливо, що на цьому циклі конвеєра вперше від початку треба визначитися із типом інструкції. Мікродії сходинки EX скалярного конвеєра (інструкція branch) Перелік мікроподій надано мікрокомандою: EX/MEM.ALUoutput <=ID/EX.NPC + ID/EX.Imm EX/MEM.cond <=(ID/EX.A op 0) Мікродії є сумісними в часі, виконуються паралельно, за один цикл (тактовий інтервал). Перша мікродія вираховує цільову адресу можливого переходу та зберігає її у робочому (некерованому програмістом) вихідному регістрі ALUoutput, детально – у полі ALUoutput конвеєрного регістра EX/MEM. Друга мікродія вираховує істинне або хибне значення логічної умови, що визначається порівнянням в деякому, тобто op розумінні, службового регістра А, визначеного за вмістимим на циклі ID, з нулем ( дорівнює нулю, не дорівнює нулю,тощо). Логічне значення умови записується до поля cond конвеєрного регістра EX/MEM з метою дозволу зміни природнього порядку вибирання інструкцій програми, коли cond=1. Важливо, що на цьому циклі конвеєра вперше від початку виконання інструкції має бути визначеним її тип. Контексти не зберігаються, що неформально свідчить про завершення опрацювання цієї інструкції в конвеєрі. Мікродії сходинки MEM скалярного конвеєра (AЛП інструкція) Перелік мікроподій надано мікрокомандою: MEM/WB.IR <=EX/ MEM.IR MEM/WB.ALUoutput <= IR/MEM.ALUoutput Мікродії є сумісними в часі, виконуються паралельно за один цикл (тактовий інтервал). Активних мікродій обробки інформації немає, що свідчить про транзитний характер опрацювання інструкції на цій сходинці. Обидві мікродії лише зберігають на подальше контексти регістра інструкцій і вихідного регістра АЛП. Мікродії сходинки MEM скалярного конвеєра ( інструкції load/store) Перелік мікроподій надано мікрокомандою: MEM/WB.IR <=EX/ MEM.IR MEM/WB.LMD <= Mem[EX/MEM.ALUoutput] або Mem[EX/MEM.ALUoutput] <= EX/MEM.B Мікродії є сумісними в часі, виконуються паралельно за один цикл (тактовий інтервал). Перша мікродія виконує транзитне пересилання вмістимого коду операції з відповідного поля вхідного конвеєрного регістра до відповідного поля вихідного конвеєрного регістра сходинки. Це свідчить про те, що виконання інструкції (лише – завантаження) має продовжуватися наступної сходинки конвеєра. При завантаженні виконується друга мікродія, а при збереженні – третя. Виконавча (ефективна) адреса пам’яті даних визначається вмістимим службового вихідного регістра АЛП. При завантаженні вмістиме комірки пам’яті даних зберігається в проміжному регістрі LMD (Load Memory Data), а при збереженні вмістиме службового регістра В записується до комірки пам’яті даних. Важливо, що надана мікропрограма ігнорує існування відомого парадоксу пам’яті, що коректно тільки за умови використання кеш-пам’яті даних та системи переривань у випадку “невлучення до кешу” (“покарання” за невлучення надається певною кількістю додаткових тактових інтервалів, аби погодити швидкодію процесора і пам’яті даних за рахунок пригальмування операцій на скалярному процесорі). Мікродії сходинки WB скалярного конвеєра (АЛП інструкції) Перелік мікроподій надано фрагментом мікропрограми: Regs[MEM/WB.IR 16..20 ] <= MEM/WB.ALUoutput Або Regs[MEM/WB.IR 11..15 ] <= MEM/WB.ALUoutput Завжди виконується лише одна мікрооперація з двох зазначених. В кожному випадку результат обробки операндів в АЛП з поля конвеєрного регістра MEM/WB.ALUoutput записують до регістра загального призначення (комірки пам’яті регістрового файла). Використання двох мікро інструкцій замість однієї пояснюється тим, що у форматі інструкцій load DLX повного дотримання правила “фіксоване розташування полів” немає. За рахунок цього адреса призначення у форматі інструкції рухається: може визначатися розрядами 16..20 або розрядами 11..15 формату інструкції. Так чи інакше, але вказана "рухомість” адреси поля призначення ускладнює апаратний пристрій керування і може зменшити його швидкодію. Мікродії сходинки WB скалярного конвеєра (інструкція load) Перелік мікроподій надано мікрокомандою: Regs[MEM/WB.IR 11..15 ] <= MEM/WB.LMD Зазначимо, що інструкція store (збереження) на цій сходинці виконання мікродій не потребує. Тут завершується виконання лише інструкції завантаження операнда з комірки пам’яті даних до регістра загального призначення регістрової пам’яті процесора. Операнд зберігається у полі LMD вхідного конвеєрного регістра MEM/WB, а адреса комірки (регістра) регістрового файла міститься у полі MEM/WB.IR 11..15. Важливо, що регістровий файл повинен реалізувати два порти, а саме, два порти на читання та один порт на запис. При цьому, якщо дві адреси на читання постачає конвеєрний регістр (IF/ID), тоді адресу на запис і дані постачає щойно розглянутий
Антиботан аватар за замовчуванням

01.01.1970 03:01-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!