DevioLabавтоматичне керування капіталом
ПРАЦЮЄ 24/7
КРИПТОВАЛЮТИ · АКЦІЇ · 10 БІРЖ

Портфель, який керується автоматично

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

10підключених біржCrypto + Stocksв одному портфелі24/7автоматичний контроль

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

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

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

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

Рік:
2015
Тип роботи:
Конспект лекцій
Предмет:
Архітектура комп'ютерів
Група:
К
Варіант:
17
Коротко про документ

Про що ця робота

У документі описано мікроподії та виконання мікрокоманд на різних сходинках скалярного конвеєра. Розглянуто особливості обробки інструкцій у процесорі.

У роботі розглядаються

  • Архітектура комп'ютерів
  • Мікрокоманди
  • Тактові інтервали
  • Арифметико-логічний пристрій
  • Регістровий файл
  • Операції load і store

Зміст і розділи

  1. Сходинки скалярного конвеєра
  2. Мікродії сходинки id
  3. Мікродії сходинки ex (алп інструкція)
  4. Мікродії сходинки ex (load/store інструкції)
  5. Мікродії сходинки ex (інструкція branch)
  6. Мікродії сходинки mem
  7. Мікродії сходинки wb
Для кого:Студенти технічних спеціальностей, які вивчають архітектуру комп'ютерів та будову процесорів.
Викладачі:Викладач кафедри

Ключові поняття

мікрокомандатактовий інтервалалпінструкціяоперандпам'ятьдекодування

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

Сходинки скалярного конвеєра. Перелік мікроподій надано мікрокомандою: 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), тоді адресу на запис і дані постачає щойно розглянутий
Допоможи студентському архіву

Ми допомогли тобі — допоможи наступному студенту

Файл ще не обрано

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

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

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

Admin

26.02.2023 12:38

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