Керiвництво программиста
Категория реферата: Рефераты по информатике, программированию
Теги реферата: реферат, решебник по алгебре класс
Добавил(а) на сайт: Smotrov.
Предыдущая страница реферата | 1 2 3 4 5 6 7 8 | Следующая страница реферата
По складу і призначенню сигналів системна шина процесорів шостої ґенерації значно відрізняється від шин попередніх процесорів.
Шина REQ[4:0]# під час першого такту фази запитання несе частину
інформації про транзакції, достатню для ініціалізації циклу спостереження.
При транзакції доступу до пам'яті тут же передається інформація про розмір
адресного простору - 4 Гб (32-біта) або 64 Гб (38-біт). Під час другого
такту фази запитання по цим лініям передається додаткова інформація, включаюча довжину поля даних. Можливо завдання довжини 0-8, 16 або 32
байта.
Шина A[35:3]# використовується багатофункціонально. Під час першого такту фази запитання вона містить адреса пам'яті або введення-висновку, а для транзакцій з відкладеною відповіддю - її ідентифікатор. Під час другого такту фази запитання ця шина несе інформацію про атрибути транзакції, її ідентифікатор, і додаткові функції, що беруть участь байтах. По закінченню дії сигналу RESET# процесори з цих ліній одержують інформацію про конфігурацію по включенню.
Сигнали запитання BREQ[3:0]# використовуються для арбітражу симетричних
агентів. Агент “n” запрошує шину, управляючи сигналом BREQn#, а інші лінії
розглядає як вхідні. Симетричні агенти підтримують розподілений механізм
арбітражу на основі циклічної зміни ідентифікатора пріоритету. “Що
обертається” ідентифікатор подає собою внутрішній стан всіх симетричних
агентів для визначення агента з найменшим пріоритетом для наступної події
арбітражу. По включенні живлення що обертається ідентифікатор
встановлюється в значення 3, дозволяючи агенту 0 мати вищий пріоритет з
всіх симетричних агентів. По черговій події арбітражу новий стане рівним
номеру агента - поточного власника шини, в результаті чого, віддавши
керування шиною при наступній події, він отримає найнижчий пріоритет.
Чергова подія трапляється, коли виставляє запитання до вільної шини або
поточний власник знімає своє запитання. За станом ліній BREQ[3:0] і
значенню ідентифікатора, відомого всім агентам, вони водночас (по однаковим
правилам) визначають нового власника шини. Власник шини може відраховувати
керування шиною, зберігаючи активне значення свого сигналу запитання. Однак
виявивши запитання від інших агентів, він по можливості повинен віддати
керування шиною. Для підключення до шини арбітражу BREQ[3:0]#
використовуються сигнали процесора BR0#(i/o) і BR[3:1]# (i). Під час
конфігурування по включенню центральний агент повинен виставити сигнал
BREQ0#. Всі симетричні агенти по сигналам прийнятим зі своїх ліній
BR[3:0]#, визначають свій ідентифікатор агента. Процесор Pentium II
розрахований на застосування не більш ніж в двухпроцесорних симетричних
системах, він має тільки сигнали BR0# і BR1#. Тимчасова діаграма роботи
процесора уявлена на рисунку 1.10.
В сімействі процесорів Pentium Pro використовується архітектура
динамічного виконання, в якій сочетаєтся зміна порядку виконання, предположне виконання інструкцій з апаратним перейменуванням регістрів і
передсказанням ветвлень. Їхньою відокремлювальною рисою є те, що
інструкції, що минають через конвейєр в порядку надходження, розбиваються
на найпростіші мікрооперації, що виконуються суперскалярним процесорним
ядром в порядку, зручному процесору. “Безладне” ядро процесора містить
декілька конвейєрів, до яких підключаються виконавчі прилади. Декілька
виконавчих приладів можуть об'єднуватися на одному конвейєрі. Конвейєр
процесора містить три частини: препроцесор, ядро з неупорядоченим
виконанням, що упорядковує влаштування. Схема конвейєра уявлена на рисунку
1.11.
Конвейєр має наступні східців. Буфер мети галуження ВТВ зберігає
історію і їхніх цільових адрес, що відбувалися ветвлень. Кожний з 512
елементів ВТВ зберігає цільову адресу і чотири біти передісторії, що несуть
інформацію про те, траплялася чи перехід за останні чотири проходу через
інструкції галуження, посилатися на дану адресу. Якщо на підставі аналізу
передісторії завбачується перехід, цільова адреса посилається в блок
предвиборки, не чекаючи виконання інструкції галуження. Окрім BTB, Pentium
Pro має буфер стекових вертаннь, що дозволить коректно завбачувати адресу
повернення з процедур, що викликаються з різноманітних крапок. Таким чином, виклик процедури в лінійній послідовності кодів не наводить до втрати
продуктивності предвиборки. Блок вибірки інструкцій IFU має дві стадії. На
першій стадії інструкції вибираються 16-байтними пакетами, зрівненими по
межам параграфів. На другий стадії інструкції попередно декодуються і
вкладаються в два буферу по 16 байт вже без прив'язки до меж параграфів. На
східці ID процесор має три декодера. Перший декодер за один такт здатний
декодувать одну макроінструкцію, що містить до чотирьох мікрооперацій. Два
інших декодера можуть за такт декодувати тільки інструкцію, що перебує з
однієї мікрооперації. Більш складні інструкції декодуються за декілька
тактів.
В кожному такті декодери можуть виробляти до шести мікрооперацій, що
надходять в спеціальну чергу. З черги до трьох мікрооперацій надходять на
стадію RAT. Тут відбувається перейменування регістрів, а на стадії RS
резервування місця в ROB. ROB організований в вигляді кільцевого буферу на
40 місця. Микрооперации надходять в ROB в порядку черги і удаляються в
порядку черги, а виконуватися мікрооперації можуть поза чергою по мірі
готовності вихідних даних і доступності виконавчих приладів. До трьох
мікрооперації можуть передаватися на виконання в кожному такті. В
залежності від функції ,що виконується мікрооперація спрямовується в один з
п'ятих портів. До кожного порту прикріплені свої виконавчі прилади. Порт 0
може містити цілочисельне АЛУ і FPU, порт 1 - цілочисельне АЛУ, порт 2 -
блок завантаження даних, порт 3 - блок адреси запису, порт 4 - блок даних
запису. В процесорі Pentium II порт 0 містить АЛУ ММХ і умножитель ММХ, а
порт 1 - АЛУ ММХ і зсуватель ММХ. Після виконання мікрооперація вертається
зворотно в ROB, де очікує вилучення. Після того як результат мікрооперації
був записаний в ROB, він (результат) ставає доступним іншим мікроопераціям.
1.3 Програмна модель мікропроцесорів
Регістри
Регістри загального призначення.
Для виконання обчислень і адресація процесори мають 8 регістрів
загального призначення. В процесорах 8086/88 і 80286 ці регістри мають
розрядність 16 біт. Регістри АХ, ВХ, DX і СХ припускають звертання як до
всього регістру, так і до їхніх молодших і старших частин. Регістри SP, BP,
SI і DI припускають звертання тільки до всього регістру. В 32-розрядних
процесорах всі ці регістри мають 32 розряди і містять в молодшій частині
регістри попередніх процесорів. Імена 32-разрядных регістрів починаються з
символу “Е” ((ЕАХ, ЕВХ і т. Д.). Кожний регістр має своє призначення, але
як правило може використовуватися і в інший ролі.
(Е) АХ - аккумулятор;
(Е) СХ - лічильник;
(Е) DX - регістр даних;
(Е) ВХ - регістр базової адреси;
(Е) SP - покажчик стека;
(Е) ВР - додатковий покажчик стека;
(Е) SI - індекс операнда-джерела;
(E) DI - індекс операнда-приймальника;
В 16-разрядных процесорах для адресації застосовуються регістри ВХ, ВР,
SI і DI в різноманітних комбінаціях, причому регістри ВХ і ВР містять
базову адресу, а SI і DI - індекс. В 32-розрядних процесорах в якості
базового або індексного може виступати будь-який регістр.
Сегментні регістри.
Для надання гнучкості програмам в процесорах є сегментні регістри.
Адресація пам'яті завжди виконується відносно якого-небудь сегменту, параметри якого зберігаються в сегментном регістрі. В процесорі 8086/88 є 4
16-разрядных сегментних регістра, що зберігають сегментну адресу. У разі
звертання до операнду в пам'яті формується його лінійна адреса шляхом
підсумовування зміщення операнда в сегменті з сегментною адресою, зсунутою
на 4 розряди ліворуч. В підсумку одержується 20-розрядна лінійна адреса, по
якій процесор виробляє вибірку. В процесорі 8086/88 не застосовується
жодний захист пам'яті, тому до всіх сегментів розв'язаний доступ як по
запису так і по читанню. Сегмент може розташуватися по будь-якій адресі
кратній 16 і має розмір 64 Кб. Кожному сегментному регістру відведена своя
роль.
DS - сегмент даних;
CS - сегмент коду;
SS - сегмент стека;
ES - додатковий сегмент даних.
При адресації даних за замовчанням завжди застосовується регістр DS, однак додавши перед командою відповідний префікс, можна звернутися до будь- якого сегменту.
Процесор 80286 підтримує захист пам'яті, тому його сегментні регістри
були істотно перероблені і доповнені. Тепер сегментний регістр перебує з
двох основних частин:
. Селекторна частина в режимі реальних адрес містить сегментну адресу, а в захищеному режимі - селектор сегменту, індикатор дескрипторнї таблиці і пріоритет запитання. Має 16 розрядів і відповідає сегментному регістру процесора 8086/88 в усіх операціях по завантаженню/вивантаженню;
. Дескрипторна частина містить базову лінійну адресу (24 розряди) початку сегменту, розмір (16 розрядів) і атрибути.
Формування лінійної адреси операнда зводиться до підсумовування зміщення з базовою лінійною адресою сегменту з відповідної дескрипторной частини. В режимі реальних адрес при завантаженні сегментного регістру значення сегментної адреси зсувається ліворуч на 4 розряди і записується в поле базової адреси. Розмір сегменту встановлюється рівним 64 Кб, а атрибути дозволяють використати сегмент як для запису так і для читання. В захищеному режимі вся дескрипторна частина завантажується з таблиці дескрипторів в відповідності з селектором. В будь-якому режимі розмір сегменту не перевищує 64 Кб.
В 32-розрядних процесорах була доопрацьована дескрипторна частина
сегментних регістрів. Поле базової лінійної адреси поширене до 32 розрядів, поле розміру сегменту поширене до 20 розрядів. В атрибутах з'явилося два
нових біти: біт розрядності сегменту і біт дрібності (дрібніше ці біти
будуть описані в розділі, присвяченому захищеному режиму). Крім того
з'явилося два нових сегментних регістра FS і GS. Вони використовуються
наряду з регістрами DS і ES для зберігання параметрів сегментів даних.
Регістр прапорів.
Регістр прапорів використовується для зберігання результатів арифметичних операцій і керування процесором. В процесорах 8086/88 і 80286 регістр прапорів має 16 розрядів.
Призначення прапорів наступне:
. CF - прапор перенесення;
. PF - прапор паритету;
. AF - прапор половинного перенесення;
. ZF - прапор нуля;
. SF - прапор знаку;
. TF - прапор трасировки;
. IF - прапор переривання;
. DF - прапор направлення;
. OF - прапор переповнення.
Прапори CF, PF, AF, ZF, SF і OF відображають результат виконання арифметичної операції і використовуються для організації ветвленнь в програмах шляхом виконання переходу при певному стані якого-або прапора.
Настанова прапора TF наводить до того, що після виконання кожної інструкції процесор буде генерувати переривання 1. Скид прапора IF призведе до забороні обробки апаратних перериваннь, що маскуються. Прапор DF вказує направлення при виконанні строковых команд.
В процесорі 80286 додалися два нових поля, що використовуються в
захищеному режимі.
. Прапор NT (біт 14) задає поведінку команди IRET (повернення з переривання), якщо він скинут, адреса повернення буде вибиратися з стека, а якщо встановлен - відбудеться переключення задачі. Даний прапор встановлюється всякий раз, коли відбувається переключення задачі шляхом виконання команд передачі керування або виклика переривання і скидається при поверненні до попередньої задачі шляхом виконання команди IRET. Все описане вище відноситься тільки до захищеного режиму.
. Поле IOPL (біти 13-12) задає рівень привілей введення-виведення. Команда введення-виведення буде виконана тільки якщо значення в цьому полі чисельно більше значення поточного рівня пріоритету. Дане поле також має сенс тільки в захищеному режимі.
В процесорі 80386 регістр прапорів поширений до 32 розрядів і містить
два нових прапора:
. RF (біт 16) - прапор поновлення, використовується спільно з регістрами крапок останова;
. VM (біт 17) - прапор виртуальної машини. В захищений режим 32-разрядных процесорів введений новий подрежим. Настанова даного прапора наводить до того, що формування лінійної адреси в захищеному режимі здійснюється також, як і в режимі реальних адрес, але при цьому зберігається робота механізму захисту задач і введення-виведення.
В процесор 80486 був доданий тільки один новий прапор - AC (біт 18).
Настанова цього прапора наводить до включення механізму контролю за
вирівнюванням операндів.
В останніх моделях 80486, а також в процесорах Pentium з'явилися три
нових прапора:
. ID (біт 21) - якщо вдається встановити цей прапор, значить процесор підтримує команду CPUID, що закликана повідомляти програмі користувача інформацію про процесор;
. VIP (біт 20) - віртуальне запитання переривання;
. VIF (біт 19) - віртуальний прапор переривання.
Рекомендуем скачать другие рефераты по теме: сочинение сказка, 2 класс изложение.
Предыдущая страница реферата | 1 2 3 4 5 6 7 8 | Следующая страница реферата