Керiвництво программиста
Категория реферата: Рефераты по информатике, программированию
Теги реферата: реферат, решебник по алгебре класс
Добавил(а) на сайт: Smotrov.
Предыдущая страница реферата | 1 2 3 4 5 6 7 8 | Следующая страница реферата
Процесор 8086 має 6-байтну внутрішню чергу інструкцій (іменно таку довжину має найдовша інструкція). Блок передвиборки за наявності двох вільних байт в черзі намагається її заповнити в той час, коли зовнішня шина процесора не позичена операціями обміну. Черга у процесора 8088 скорочена до 4 байт, а передвиборка виконується вже за наявності одного вільного байта. Ці відзнаки оптимизують конвейєр з урахуванням розрядності шини даних. Черга обнуляється при виконанні будь-якої команди передачі керування, навіть при переході на наступну адресу. Цією властивістю часто користуються при програмуванні керування приладами введення-виведення, що вимагають затримки між сусідніми операціями обміну. Дешифратор в даних процесорах по суті є і влаштуванням керування.
Процесор має 8 16-разрядных регістрів загального призначення і 4 16-
розрядних сегментних регістра. Влаштування обчислення виконавчої адреси має
двухвходовий суматор, тому при адресації зі зміщенням або, якщо відносна
адреса перебує з трьох частин, вимагаються зайві такти для обчислення
адреси.
80286.
Процесори 80286 випускалися в 68-виводних корпусах. Їхній інтерфейс відрізняється від 8086 застосуванням роздільних шин адреси і даних, конвейєрною адресацією, а також складом і призначенням керуючих сигналів.
Шина адреси дозволяє адресувати 16 Мб фізичної пам'яті в захищеному
режимі і 1 Мб з області молодших адрес - в реальному режимі. При адресації
введення-виведення процесор використає тільки біти A [0: 15] шини адреси
(при цьому інші біти рівні 0). Як і в процесорі 8086, обмін по шині даних
можливий байтами або словами. При побайтном обміні байт з парною адресою
передається по лініям D [0: 7], з непарним - по лініям D [8-15]. Обмін
словами з парною адресою відбувається по лініям D [0-15]. При адресації
слова з непарною адресою процесор автоматично виконує два послідовних шиних
циклу: перший по лініям D [8-15], другий - по D [0-7]. Байти шини, що
беруть участь в обміні, як і для процесора 8086, визначаються сигналами A0
і BHE#.
Синхронизація процесора здійснюється зовнішнім сигналом, частота якого
ділиться навпіл внутрішнім дільником для одержання сигналу внутрішньої
синхронизації. На зовнішні виводи процесора цей сигнал не надходить, але
його виробляє спеціальна мікросхема 82284 - генератор синхронизації для
80286. Максимальна пропускна спроможність локальної шини процесора - одне
слово за кожні два цикла внутрішньої частоти.
Конвейєрна адресація, застосовувана в процесорі, передбачає можливість початку нового циклу, не чекаючи завершення фізичного обміну даними попереднього циклу. Це дозволяє скоротити число тактів чекання, необхідних для погодження з відносно повільною пам'яттю і портами, за рахунок більш раннього початку виконання дешифрації адреси влаштуванням пам'яті або введення-виведення. Конвейєрний режим дозволяє контролерам пам'яті ефективно використати швидкий сторінковий режим динамічної пам'яті і чергування банків.
Процесор 80286 не тримає на шині адреси, відповідно поточному циклу шиши на всьому його протязі. Для єдності з шиною ISA, потребуючей дійсність адреси на весь час циклу, сигнали шини адреси процесора заклацуються на регістрах.
Формування керуючих сигналів системної шини виконує зовнішня микросхема
82288 або її функціональний аналог з чипсета системної плати на підставі
сигналів стану і типу циклу.
Керування тимчасовою діаграмою підрозумує затримку і розтяжку командних
циклів. Розтяжка при необхідності подовжує командний цикл звертання для
відносно повільних зовнішніх приладів введення-виведення і пам'яті.
Зовнішні схеми з допомогою затримки сигналу готовності можуть розтягувати
цикл на будь-який час. При цьому вводяться такти чекання процесора.
Затримка передвизначена для зрушення початку командного імпульса системної
шини відносно відповідної йому фази адресації і ідентифікації. Затримка
команд здійснюється мікросхемой 82288 по сигналу CMDLY, що перевіряється по
кожному спаду CLK. Необхідність затримки і розтяжки команд з'явилася в
зв'язку з істотним підвищенням продуктивності (відносно 8086) локальної
шини процесора. 80286 здатний генерувати шинні цикли з мінімальним періодом
в два такти внутрішньої частоти. Так при частоті процесора 16 МГц шинні
цикли підуть з періодом 250 нс. В повній мірі цією продуктивністю може
скористуватися лише пам'ять, підключена до локальної шини. Прилади на шині
ISA такого темпу не витримують. Крім того, вони звичайно вимагають певного
часу відновлення - пасивного стану керуючих сигналів шини між їм командами
,що адресувалися. Керування затримкою і розтяжкой циклів в залежності від
типу і адреси звертання покладається на мікросхеми чипсета системної плати, а для завдання числа тактів чекання і часу відновлення для різноманітних
операцій в машинах класу AT ввели відповідні опції BIOS SETUP. Шини цикли
процесора уявлені на рисунках 1.2 і 1.3.
При проектуванні процесора 80286 була поставлена задача значно
підвищити продуктивність. Буфер передвиборки залишився колишнім, але
влаштування передвиборки піддалося значній переробці. Коли черга команд
порожня, а це трапляється після кожної інструкції передачі керування, нові
байти минають через чергу не затримуючись. Крім того, при передвиборці в
захищеному режимі здійснюється контроль меж сегменту кодів. Дешифратор вже
подає собою окреме влаштування, що вибирає дані з черги команд і
“розгортає” кожну інструкцію в 69 біт, що включають всю інформацію, необхідну процесору для виконання команди, за винятком резидентних
операндів. Ці мікроинструкції розміщуються в спеціальний буфер (на 3
команди), що також здатний пропускати команди без затримки в випадку
передачі керування. В дешифраторі передбачений спеціальний засіб, що
дозволить попереджати шиний інтерфейс про те, що в наступному такті
знадобиться цикл вибірки даних з пам'яті. В цьому випадку шиний інтерфейс
не дасть почати передвиборку, виключаючи завдяки цьому втрати в
продуктивності.
Блок формування адреси має два суматора: суматор зміщення і суматор фізичної адреси. Обчислення повної адреси позичає два такту і доповнюється ще одним тактом, якщо зміщення перебує з трьох елементів.
Влаштування сегментації заазнало істотних змін. Сегментні регістри
тепер перебують з двох частин: 16-разрядного селектора і програмно
недосяжної дескрипторної частини, що містить базову адресу, розмір і права
доступу сегменту.
80386.
Синхронизація процесора 80386 в точності відповідає синхронизації
80286.
Інтерфейс процесора 80386 в значному ступені схожий на інтерфейс 80286 хоча
і зазнав ряду змін.
Шина даних припускає як 16-ти, так і 32-разрядный режим обміну, в залежності від стану вхідного сигналу BS16#. При читанні в 16-розрядному режимі дані на лініях D [16-31] ігноруються, при записі процесор керує всією шиною даних незалежно від сигналу BS16#/.
Шина адреси дозволяє адресувати 4 Гб фізичної пам'яті в захищеному
режимі і 1 Мб з області молодших адрес в реальному режимі. При виконанні
інструкцій введення-висновку процесор адресується до області 64 Кб простори
введення-виведення (00000000-0000FFFFh). При обміні з сопроцесором в циклах
введення-виведення процесор виставляє адреси 800000F8-8000000FFh, що
спрощує дешифрацію адреси зовнішніми схемами. Лінії A [31: 2] ідентифікують
адресу з точністю до подвійного слова, а в межах цього слова сигнали BE[0:
3]# безпосередно вказують, що байти використовуються в даному циклі. Якщо в
поточному циклі запису обидва сигнали BE0# і BE1# неактивні, виводимі дані
старших байт автоматично дублюються на лініях молодших. Якщо слово ,що
адресувалося перетинає межу подвійного слова, процесор після пересилки
молодшої частини, що помістилася, автоматично генерує додатковий цикл
обміну з іншими значеннями A [31: 2] і BE [3: 0] #.
Сигнал BS16# вводиться зовнішньою схемою, якщо поточний цикл адресується до 16-битному влаштування, підключеному до молодшої половини шини даних. Якщо в даному циклі припускалася передача і двох старших байт, процесор автоматично вводить додатковий цикл для передачі цих байт по молодшій половині шини даних.
Тип циклу локальної шини визначається сигналами M/IO#, D/C#, W/R# і
LOCK#, комбінація яких дійсна під час активності сигналу ADS# (строб
адреси). Сигнали керування шиною ADS#, READY# і NA# задають тимчасові межі
циклів і керують конвейєрною адресацією. Сигнал ADS# відзначає початок
кожного циклу, під час його чинності виробляється ідентифікація типу циклу
і фіксується відповідна йому адреса. Сигнал READY# повинен вводитися
зовнішньою схемою в кожному циклі, відзначаючи готовність до завершення
поточного циклу. Сигнал NA# використовується для запитання наступної адреси
при конвейєрній адресації, коли зовнішні схеми вже готові сприйняти нову
адресу і сигнали ідентифікації. Якщо процесор вже має внутрішнє запитання
на наступний шини цикл, він видасть адресу і ідентифікатори наступного
циклу до завершення поточного.
Сигнали арбітражу локальної шини передвизначені для передачі керування
локальною шиною іншому влаштуванню по його запитанню - переходу в стан лог.
“1” лінії HOLD. Коли процесор визнає можливим передачу керування (в
незаблокованих циклах відразу по завершенні поточного шиного циклу), він
виставить сигнал підтвердження HLDA. В такому стані процесор переводить в
високоімпедансний стан всі двунаправлені і вихідні лінії. Цим станом можна
користуватися і для отладки апаратних засобів. Шині цикли процесора уявлені
на рисунках 1.4 і 1.5.
В процесорі 80386 збільшився буфер передвиборки до 16 байт, що заповнюється тепер подвійними словами. Всі основні регістри поширені до 32 розрядів. Суматори лінійної адреси замінені однім трьохвходовим.
В блок обчислення адреси додане нове влаштування - блок трансляції сторінок. Дане влаштування транслює лінійну адресу в фізичну і перебує з трьох основних блоків: ПЛМ керування, суматор фізичної адреси і кеш-пам'яті сторінок (TLB).
Блок TLB подає собою чотирьохвходову асоціативну пам'ять, що містить 20- розрядні базові адреси 32 сторінок. В якості тега використовуються старші розряди лінійної адреси. Блок перебує з двох модулей пам'яті, основної і додаткової, і логіки обслуговування. Основний модуль пам'яті містить 8 блоків, кожний з яких забезпечує входи в кадр, для 4 сторінок. Вхід в кадр певної сторінки реалізується з допомогою розміщеної в модулі рядка бітів, що містить інформацію про що вибирається сторінку (базова адреса, атрибути) і інформацію, необхідну для її вибору.
Робота TLB відбувається слідуючим чином. Після формування лінійної адреси 3 молодших розряди поля (біти 14-12 лінійної адреси) визначають номер одного з восьмих блоків. Старші 17 розрядів (біти 31-15) порівнюються з 17 бітами тегів, що містяться в чотирьох рядках вибраного блоку. При їхньому збігу означена в стоці базова адреса заміщає 20 старших розрядів лінійної адреси.
Таким чином, кеш-пам'ять сторінок покриває 32*4Кб=128Кб адресного
простору, що для більшості додатків забезпечує кеш-попадания з імовірністю
98%.
80486.
Інтерфейс процесора 80486 є тієї архітектурною компонентою, що в найбільшому ступені відрізняє його від попередника, 80386. Зміни, внесені в набір сигналів і протоколи обміну, мали метою реалізувати в вигляді збільшеної продуктивності 80486 ті переваги в швидкодії і функціональної потужності набору внутрішніх блоків, що з'явилися за рахунок використання більш досконалої мікроэлектронної технології.
На зміну конвейєрної адресації попередніх процесорів, починаючи з
процесора 80486, введений режим пакетної передачі. Цей режим
передвизначений для швидких операцій зі рядками кеша. Рядок кеша процесора
80486 має довжину 16 байт, отже, для її пересилки вимагається чотири 32-
розрядных шиних циклу. Оскільки використання кеша припускає, що рядок
повинен в ньому бути присутнім цілком, ввели пакетний цикл оптимизований
для операцій обміну внутрішнього кеша з оперативною пам'яттю. В цьому циклі
адреса і сигнали ідентифікації типу шин циклу видаються тільки в першому
такті пакету, а в кожному з наступних тактів можуть передаватися дані, адреса яких вже не передається по шині, а вираховується з першого по
правилам, відомим і процесору, і зовнішньому влаштуванню. В пакетний цикл
процесор може перетворити будь-яке внутрішнє запитання на множествену
передачу, але при читанні його розмір обмежений одним рядком кеша, а при
записі в стандартному режимі шини в пакет може збиратися не більш 32 біт.
Більш пізні моделі процесорів при роботі з WB-кешем при записі рядків в
пам'ять збирають в пакет чотири 32-битных циклу, але це вже робота в
розширеному режимі шини 486-го процесора. Пакетний цикл починається
процесором так же, як і звичайний: на зовнішній шині встановлюється адреса, сигнали ідентифікації типу циклу і формується строб ADS#. В наступному
такті передається перша порція даних, і, якщо вона не єдина, сигнал BLAST#
має пасивне значення. Якщо влаштування ,що адресувалося підтримує пакетний
режим, воно повинно відповісти сигналом BRDY# замість сигналу RDY# по
готовності даних в першій же передачі даних циклу. В цьому випадку процесор
продовжить цикл як пакетний, не вводячи такту адресації-ідентифікації (з
сигналом ADS#), а відразу перейде до передачі наступної порції даних.
Нормально про завершення пакетного циклу повідомляє влаштуванню сигналом
BLAST#, що видається в такті останньої передачі пакету. Якщо у процесора є
наміру зібрати пакет, а влаштування відповідає сигналом RDY#, дані будуть
передаватися звичайними циклами. Введенням сигналу RDY# замість BRDY#
зовнішнє влаштування може в будь-який момент перервати пакетну передачу, і
процесор її продовжить звичайними циклами. В ідеальному варіанті (без
тактів чекання) для передачі 16 байт в пакетному режимі вимагається усього
п'ять тактів шини замість восьми, що зажадалося б при звичайному режимі
обміну. Пакетний режим припускає додержання одніх і тих же правил
формування наступних адрес як процесором, так і зовнішнім влаштуванням. Під
час пакетного циклу процесора 486 старші біти адреси A[31:4] залишаються
незмінними. Змінюватися можуть тільки біти A [3: 2] і сигнали BE[3:4]#.
Таким чином, один пакетний цикл не може перетинати межу рядка кеша. Крім
того, є специфічний порядок чергування адрес в пакетному циклі, що
визначається початковою адресою пакету і розрядністю передач. Якщо під час
пакетного циклу процесор виявить активність сигналів BS16# або BS8# до
того, як перейти до наступної адреси, будуть завершені поточні 32-бітні
цикли. Оскільки пакетний режим підтримується звичайно тільки оперативною
пам'яттю (разом зі вторинним кешем), розрядність якої намагаються не
усікати, на практиці перетворення послідовності адрес в 8 - або 16-битные
передачі вряд чи де використовується. Порядок чергування адрес в пакетному
циклі характерний для всіх процесорів Intel і сумісних із ними, починаючи з
486-го. Він оптимизован для двох банкової організації пам'яті, підрозумуючей чергування банків, що використаються в сусідніх передачах
пакетного циклу.
Рекомендуем скачать другие рефераты по теме: сочинение сказка, 2 класс изложение.
Предыдущая страница реферата | 1 2 3 4 5 6 7 8 | Следующая страница реферата