Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Мікродії ярусів конвеєрного процесора.Содержание книги
Поиск на нашем сайте
Відразу зазначимо, що всі мікродії одного ярусу конвеєра мають бути сумісними в часі та виконуються паралельно в рамках однієї фази (як правило, за один тактовий інтервал). Мікродії, що реалізуються в кожному ярусі конвеєра комп’ютера DLХ, зведено в табл. 4.2. Мікродії ярусу IF. Перша мікродія вибирає нову команду з пам’яті команд за адресою, що зберігається в PC, і записує її до поля IR (Instruction Register) конвеєрного регістра IF/ID. В той самий час друга мікродія змінює вміст поля NPC конвеєрного регістра і програмний лічильник за алгоритмом: якщо бітове поле cond (condition - умова) попередньої команди, яка пройшла фазу ЕХ, є одиницею (true), тоді порушується природна черговість і вміст IF/ID.NPC та PC отримує значення поля EX/MEM.NPC конвеєрного регістра ЕХ/МЕМ; інакше записується наступна адреса (РС+4) з врахуванням байтової логічної структури адреси пам’яті. Мікродії ярусу ID. Усі чотири мікродії є сумісними і виконуються в часі паралельно. Перша мікродія вибирає перший операнд з програмно керованого регістра регістрового файла до службового регістра А, що є інтегрованим до конвеєрного регістра ID/ЕХ. При цьому адреса програмно керованого регістра визначається вмістом розрядів 8.. 10 поля IR конвеєрного регістра IF/ID. Тут вибирається операнд. Такі ж за призначенням дії виконує друга мікрооперація, але з іншим джерелом і приймачем. Третя і четверта мікродії зберігають контекст команди, що знаходиться на поточній сходинці. Це необхідно для її коректного просування конвеєром. Четверта мікродія вибирає (та знаково розширює з 16 до 32-х бітів) до службового регістра Imm (immediate - безпосередній) операнд, який містився у розрядах 16...31 поля 1R конвеєрного регістра. Поточну фазу ID можна розширити у назві додатковим означенням Operand Fetch (вибирання операндів). Мікродії ярусу ЕХ (команди арифметико-логічного пристрою). Важливо відзначити, що на фазі ЕХ вперше від початку виконання команди має бути визначеним її тип. Перша мікродія зберігає вміст регістра команди. Четверта мікродія забороняє командам ALU впливати на послідовність вибирання команд з пам’яті. Друга і третя мікродії утворюють альтернативу (або). Кожна з них визначає пару операндів для операції ор і при цьому записує результат ор до службового (програмно-некерованого) вихідного регістра ALU під назвою ALUoutput. Мікродії ярусу ЕХ (команди load/store). Перша мікродія зберігає контекст регістра команди, друга вираховує виконавчу (ефективну) адресу пам’яті даних на основі бази (Immediate - безпосередній операнд), третя зберігає вміст службового, програмно-некерованого регістра В, четверта забороняє поточній команді змінювати природний порядок адресування команд. Мікродії ярусу ЕХ (команда branch). Перша мікродія вираховує цільову адресу можливого переходу та зберігає її у робочому (некерованому програмістом) вихідному регістрі ALUoutput, а конкретно - у полі ALUoutput конвеєрного регістра ЕХ/МЕМ. Друга мікродія вираховує істинне або хибне значення логічної умови, що визначається порівнянням в деякому, тобто ор розумінні, службового регістра А, визначеного за вмістом на фазі ID, з нулем (дорівнює нулю, не дорівнює нулю, тощо). Логічне значення умови записується до поля cond конвеєрного регістра ЕХ/МЕМ з метою дозволу зміни природного порядку вибирання команд програми, коли cond=l. Контексти не зберігаються, що свідчить про неформальне завершення опрацювання цієї команди в конвеєрі. Мікродії ярусу M E M (команди арифметико логічного пристрою). Активних мікродій обробки інформації немає, що свідчить про транзитний характер опрацювання команди на цій сходинці. Обидві мікродії лише зберігають для подальшого користування вміст регістра команд і вихідного регістра ALU. Мікродії ярусу M E M (команди load/store). Перша мікродія виконує транзитне пересилання вмісту коду операції з відповідного поля вхідного конвеєрного регістра до відповідного поля вихідного конвеєрного регістра ярусу. Це свідчить про те, що виконання команди (лише - завантаження) має продовжуватися в наступному ярусі конвеєра. При завантаженні виконується друга мікродія, а при збереженні - третя. Виконавча (ефективна) адреса пам’яті даних визначається вмістом службового вихідного регістра ALU. При завантаженні вміст комірки пам’яті даних зберігається в проміжному регістрі LMD (Load Memory Data), а при збереженні вміст службового регістра В записується до комірки пам’яті даних Важливо, що дана мікропрограма ігнорує існування відомого парадоксу пам’яті, що коректно тільки за умови використання кеш пам’яті даних та системи переривань у випадку «невлучення до кеш» («покарання» за невлучення - це певна кількістю додаткових тактових інтервалів, аби погодити швидкодію процесора і пам’яті даних за рахунок пригальмовування операцій в скалярному процесорі). Мікродії ярусу W B (команди арифметико логічного пристрою). Завжди виконується лише одна мікрооперація з двох зазначених. В кожному випадку результат обробки операндів в ALU з поля конвеєрного регістра MEM/WB.ALUoutput записується до регістра регістрового файла процесора. Використання двох мікрокоманд замість однієї пояснюється тим, що у форматі команд load DLX повного дотримання правила «фіксоване розташування полів» немає. За рахунок цього адреса призначення у форматі команди рухається: може визначатися розрядами 16...20 або розрядами 11... 15 команди. Так чи інакше, але вказана «рухомість» адреси поля призначення ускладнює апаратний пристрій керування і може зменшити його швидкодію Мікродії ярусу W B (команда load). Зазначимо, що команда store (збереження) на цьому ярусі виконання не потребує мікродій. Тут завершується виконання лише команди завантаження операнда з комірки пам’яті даних до регістра регістрового файла процесора Операнд зберігається у полі LMD вхідного конвеєрного регістра МЕМ/WB, а адреса комірки (регістра) регістрового файла міститься у полі MEM/WB.IR 11... 15. Важливо, що регістровий файл повинен реалізувати два порти, а саме, два порти на читання та один порт на запис. При цьому, якщо дві адреси на читання постачає конвеєрний регістр (IF/ID), то адресу на запис і дані постачає щойно розглянутий конвеєрний регістр (MEM/WB). Суперскалярні процесори. Вище була розглянута конвеєрна структура процесора, коли засоби виконання яру- З сів потокового графа алгоритму розділяються конвеєрними регістрами. Щоб підви- З щити продуктивність конвеєрного процесора потрібно далі спрощувати операції його З ярусів та поглиблювати глибину конвеєра. Це і робиться в сучасних процесорах, в яких З глибина конвеєра досягає двадцяти і більше ярусів. Наприклад, процесор комп’ютера: UltraSPARC III має 10 ярусів конвеєра, а процесор комп’ютера Pentium IV - 20 ярусів З конвеєра. Однак процес спрощення операцій ярусів конвеєра має межу, коли операції не з піддаються поділу. Наприклад, фаза вибірки команди з пам’яті не може бути поділеною з на простіші фази. Тоді для підвищення продуктивності процесора необхідно використо- З вувати паралельне включення декількох конвеєрів команд. Такі процесори з декількома: конвеєрами команд дозволяють одночасно виконувати кілька скалярних команд, а тому З дістали назву суперскалярних. З Першу суперскалярну архітектуру розробив Джон Коук (John Cocke, IBM, 1987 рік), З що отримала назву America. Він і запропонував термін “суперскаляр”. Вже потім моди- З фікований варіант архітектури America під назвою POWER-1 (Performance Optimizati-: on With Enhanced RISC) впровадили до серійних систем RISC System/6000 фірми IBM. З Нарешті, підмножину архітектури POWER-1 реалізовано в процесорах Power PC, які є основою комп’ютерів Apple Macintosh. Іншими прикладами суперскалярних процесорів є процесори систем UltraSparc фірми Sun та Alpha фірми DEC. Структура суперскалярного процесора та його зв’язки з кеш пам’яттю даних і кoманд, показані на рис. 4.15.
Тут одночасно вибирається та декодується декілька команд, а блок виконання команд включає кілька функціональних блоків. Для забезпечення одночасного читання та запису кількох операндів кеш пам’ять будується за модульним принципом. Зрозуміло, що підвищення продуктивності такого процесора досягається шляхом його конвеєризації. Діаграма виконання команд в суперскалярному процесорі, який має два конвеєри команд, а) Ь) Рис. 4.16. Діаграма виконання команд в суперскалярному процесорі з двома конвеєрами команд, коли в одному такті виконується одна (а) та дві (Ь) фази команди
|
|||||
Последнее изменение этой страницы: 2016-08-01; просмотров: 250; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.116.24.148 (0.007 с.) |