ПЕРЕЛІК ДИСЦИПЛІН:
  • Адміністративне право
  • Арбітражний процес
  • Архітектура
  • Астрологія
  • Астрономія
  • Банківська справа
  • Безпека життєдіяльності
  • Біографії
  • Біологія
  • Біологія і хімія
  • Ботаніка та сільське гос-во
  • Бухгалтерський облік і аудит
  • Валютні відносини
  • Ветеринарія
  • Військова кафедра
  • Географія
  • Геодезія
  • Геологія
  • Етика
  • Держава і право
  • Цивільне право і процес
  • Діловодство
  • Гроші та кредит
  • Природничі науки
  • Журналістика
  • Екологія
  • Видавнича справа та поліграфія
  • Інвестиції
  • Іноземна мова
  • Інформатика
  • Інформатика, програмування
  • Юрист по наследству
  • Історичні особистості
  • Історія
  • Історія техніки
  • Кибернетика
  • Комунікації і зв'язок
  • Комп'ютерні науки
  • Косметологія
  • Короткий зміст творів
  • Криміналістика
  • Кримінологія
  • Криптология
  • Кулінарія
  • Культура і мистецтво
  • Культурологія
  • Російська література
  • Література і російська мова
  • Логіка
  • Логістика
  • Маркетинг
  • Математика
  • Медицина, здоров'я
  • Медичні науки
  • Міжнародне публічне право
  • Міжнародне приватне право
  • Міжнародні відносини
  • Менеджмент
  • Металургія
  • Москвоведение
  • Мовознавство
  • Музика
  • Муніципальне право
  • Податки, оподаткування
  •  
    Бесплатные рефераты
     

     

     

     

     

     

         
     
    Керiвництво програміста
         

     

    Інформатика, програмування

    1 АРХІТЕКТУРА процесорів INTEL

    1.1 Історія розвитку процесорів

    Історія мікропроцесорів почалася в 1971 році, коли фірма Intelвипустила перший мікропроцесор i4004. Він мав розрядність 4 біта,спроможність адресувати 640 байт пам'яті, тактова частота 108 кГц іпродуктивність 0.06 MIPS. Такий процесор вже міг працювати в якостіобчислювального ядра калькулятора. Він містив 2300 транзисторів івиконувався по технології з дозволом 10 мкм. Через рік з'явився його 8 --бітний "родич" - i8008, що адресує вже 16 Кб пам'яті.

    У 1974 році з'явився 8-розрядний процесор i8080, що став надтопопулярним влаштуванням. Він вже мав частоту 2 МГц і адресував 64 Кбпам'яті. 6000 транзисторів дозволила розмістити 6-мкм технологіявиготовлення. Процесор вимагав трьох джерел живлення (+5, +12 та -5 В) іскладної двухтактної сінхронізації. На цьому процесорі будувалисярізноманітні термінали, контролери і навіть перший ПК Altair. В нашійкраїні запізнілою місяцем 8080 стали процесори 580ИК80 і КР580ВМ80, на базіяких в початку і середині 80-х років будувалося багато "саморобних" ПК.

    Наступним етапом став процесор i8085 (5 МГц, 0.37 MIPS, 6500транзисторів, 3-мкм технологія). Він зберіг популярну рєгістровуархітектуру 8080 і програмну єдність, але в нього додали порт послідовногоінтерфейсу, скасували спеціальні ІС підтримки (тактового генератора ісистемного контролера) і декілька змінили зовнішній інтерфейс. Головнимподарунком розробникам апаратури стала тільки одна жівлюща напруга +5 В.

    варіацію на тему 8080 і 8085 подає процесор Z80 фірми Zilog. Зберігшипрограмну єдність з 8080, в нього ввели додаткові регістри, що дозволилоістотно підвищити продуктивність. Результат виявився вражаючим - щенещодавно популярні комп'ютери Sinclair, побудовані на Z80, демонструвалина іграх графіку, не гіршу ніж у РС на 16-розрядному процесорі 286.

    Перший 16-розрядний процесор 8086 фірма Intel випустила в 1978 році.
    Частота 5 МГц, продуктивність 0.33 MIPS, але інструкції вже з 16-розряднийоперандами (пізніше з'явилися процесори 8 і 10 МГц). Технологія 3 мкм, 29тис.. транзисторів, що адресує пам'ять 1 Мб. Регістрова архітектура ісистема команд істотно відрізнялися від 8080, але, природно, просліджуютьсязагальні ідеї. Через рік з'явився 8088 - той же процесор, але з 8-бітноїшиною даних. З нього почалася історія IBM PC, що наклала свій відбиток наподальший розвиток цієї лінії процесорів. Масове розповсюдження і відчиненаархітектура РС призвели до лавіноподібній появі програмного забезпечення,що розробляється крупними, середніми і дрібними фірмами і ентузіастами -Одинцов. Технічний прогрес вимагав (і зараз вимагає) розвитку процесорів,але вантаж програмного забезпечення РС, що повинно працювати і на більшнових процесорах, в свою чергу вимагав забезпечення зворотної єдності.
    Таким чином, всі нововведення в архітектурі наступних процесорів повиннібули прібудовуватісь до існуючого ядра. А тут ще і сама архітектура РС
    "Підкинула", наприклад, складнощі з використанням векторів переривання.
    Фірма Intel зарезервував перші 32 вектору "для службового користування",однак на них "наїхали" переривання BIOS. Один з результатів - додатковийзасіб обробки виключень сопроцесора, застосовуваний в старших моделях РС.

    Процесор 80286, що знаменує наступний етап архітектури, з'явився тількив 1982 році. Він вже мав 134 тис.. транзисторів (технологія 1.5 мкм) іадресував до 16 Мб фізичної пам'яті. Його принципові нововведення - захищенийрежим і віртуальна пам'ять розміром до 1 Гб - не знайшли масовогозастосування, процесор більшою частиною використовувався як дуже швидкий
    8086.

    Клас 32-розрядний процесорів був відкритий в 1985 році моделлю 80386
    (275 тис.. Транзисторів, 1.5 мкм). Розрядність шини даних (як і внутрішніхрегістрів) досягла 32 біт, пам'ять, що адресується фізична - 4 Гб.
    З'явилися нові регістри, нові 32-бітні операції, істотно доопрацьованийзахищений режим, з'явився режим V86, сторінкове керування пам'яттю.
    Процесор знайшов широке застосування в РС, і на благодатному грунті йогонових властивостей став розростатісь "самий великий вірус" - MS Windows здодатками. З цього часу стала помітна тенденція "позитивного зворотногозв'язку ": на появу нового процесора виробники ПО реагують випуском новихпривабливих продуктів, наступним версіям якого ставає тісно в рамках цьогопроцесора. З'являється більш продуктивний процесор, але після нетривалогозахоплення і його ресурси "з'їдають" і т. д. Цей "вічний рух", кінцево,природно, але є обгрунтована підозра, що більші ресурси розбещують (або,принаймні, розслаблюються) розробника ПО, не змушуючи його напружуватися впошуках більш ефективних засобів рішення задачі. Прикладом ефективногопрограмування можна лічити іграшки на Sinclair ZX-Spectrum, що реалізуютьсяна "іграшкових" ресурсах - 8-бітном процесорі і 64 (128) Кб ОЗП. Зпротилежними прикладами більшість користувачів РС стикаються регулярно, алез процесором Pentium 200 і 32 Мб ОЗП на них не завжди обертаються увагу.

    Історія процесора 386 нагадує історію 8086: першу модель з 32-бітнойшиною даних (згодом названою 386DX) змінив 386SX з 16-розрядний шиною. Віндосить легко вписувався а архітектуру РС АТ, шо раніше базувалася напроцесорі 286.

    Процесор Intel486DX з'явився в 1989 році. Транзисторів - 1.2 млн.,технологія 1 мкм. Від 386-го істотно відрізняється розміщенням на кристаліпервинного кеша і вбудованого математичного сопроцесора (попередніпроцесори мали можливість використання зовнішніх х87 сопроцесорів). Крімтого, для підвищення продуктивності в цьому СІSC-процесорі (як і внаступних) застосоване RISC-ядро. Далі з'явилися його різновиди, щовідрізняються наявністю або відсутністю сопроцесора, застосуваннямвнутрішнього множення частоти, політикою запису кеша і іншими. Позичилисяенергозбереженням (з'явився режим SMM), що відбилося і в продовженні лінії
    386 процесорів (з'явився процесор Intel386SL).

    У 1993 році з'явилися перші процесори Pentium з частотою 60 і 66 МГц -
    32-розрядний процесори з 64-розрядний шиною даних. Транзисторів 3.1 млн.,технологія 8.0 мкм, живлення 5 В. Від 486-го принципово відрізняєтьсясуперскалярної архітектурою - спроможністю за один такт випускати зконвейєрів до двох інструкцій (що, кінцево, не означає можливостіпроходження інструкції через процесор за півтакта або за такт). Інтерес допроцесора з боку виробників і покупців РС стрімувався його дуже високоюціною. Крім того, з'явився скандал з виявленою помилкою сопроцесора. Хочафірма Intel математично обгрунтували невисоку імовірність її прояви (раз надекілька років), вона все-таки пішла на безкоштовну заміну вже проданихпроцесорів на виправлені.

    Процесори Pentium з частотою 75, 90 і 100 МГц, що з'явилися в 1994році, уявили вже другу ґенерацію процесорів Pentium. При майже того жчислі транзисторів вони виконувалися по технології 0.6 мкм, що дозволилознизити потужність, що споживається. Від першої ґенерації вони відрізнялисявнутрішнім множенням частоти, підтримкою мультіпроцесорніх конфігурацій імали інший тип корпуса. З'явилися версії (75 МГц в мініатюрному корпусі)для мобільних застосування (в блокнотніх ПК). Процесори Pentium другоїґенерації стали надто популярними в РС. У 1995 році з'явилися процесори на
    120 і 133 МГц, вже виконані по технології 0.35 мкм (перші процесори на 120
    МГц робилися ще по технології 0.6 мкм). У 1996-й називають роком Pentium --з'явилися процесори на 150, 166 і 200 МГц, і Pentium став рядовимпроцесором для РС широкого застосування.

    Паралельно з Pentium розвивався і процесор Pentium Pro, що відрізнявсяновинками "динамічного виконання інструкцій", направленими на збільшеннячисла паралельно виконуваних інструкцій. Крім того, в його корпусірозмістили і вторинний кеш, для початку обсягом 256 Кб. Однак на 16-бітнихдодатках, а також в середі Windows 95 його застосування не дасть переваг.
    Процесор містить 5.5 млн. транзисторів ядра і 15.5 млн. транзисторів длявторинного кеша обсягом 256 Кб. Перший процесор з частотою 150 МГц з'явивсяв початку 1995 року (технологія 0.6 мкм), а вже в кінці року з'явилисяпроцесори з частотою 166, 180 і 200 МГц (технологія 0.35 мкм), у яких кешдосягав і 512 Кб.

    Після довгих обіцянок в початку 1997 року з'явилися процесори Pentium
    MMX. Розширення MMX припускає паралельну обробку групи операндів однієюінструкцією. Технологія MMX закликала прискорювати виконання мультимедійнихдодатків, в частковості операції з зображеннями і обробку сигналів. Їїефективність викликає суперечки в середі розробників, оскільки виграш всамих операціях обробки компенсується програшем на додаткових операціяхупаковки-розпакування. Крім Того, обмежена розрядність ставить під сумнівзастосування MMX в декодери MPEG-2, в яких вимагається обробка 80-бітнихоперандів. Окрім розширення MMX ці процесори, у порівнянні з звичайним
    Pentium, мають подвійний обсяг первинного кеша і деякі елементиархітектури, що запозичили у Pentium Pro, що підвищує продуктивністьпроцесора Pentium MMX і на звичайних додатках. Процесори Pentium MMX мають
    4.5 млн. транзисторів і виконані по технології 0.35 мкм. За станом насьогодняшній день є процесори з тактовими частотами 166, 200, 233 і 266
    МГц.

    Технологія MMX була з'єднана з архітектурою Pentium Pro - і в травні
    1997 року з'явився процесор Pentium II. Він подає собою злегка урізанійваріант ядра Pentium Pro з більш високою внутрішньою тактовою частотою, вщо ввели підтримку MMX. Труднощі розміщення вторинного кеша в одномукорпусі з процесором подолали нехитрим засобом - кристал з ядром процесораі набір кристалів статичної пам'яті і додаткових схем, що реалізуютьвторинний кеш, розмістили на невеликій друкарській платі-картриджі. Всікристали закриті загальною кришкою і охолоджують спеціальнимвентилятором. Тактова частота ядра - 233, 266, 300, 333, 366, 400 і 450
    МГц.

    Пізнішє побачив світло спрощений варіант процесора Pentium II, назва
    , що отримала Celeron. В ньому вдвічі зменшений вторинний кеш і, немовби,прибрана підтримка багатопроцесорніх систем. Однак шляхом "хірургічного"втручання підтримку багатопроцесорності можна повернути. Це пояснюєтьсятим, що в Celeron застосоване ядро Pentium II без будь-яких змін.

    У 1999 році з'явився процесор Pentium III. В ньому застосованепокращене ядро процесора Pentium II, в яке додана підтримка технології MMX-
    2. Технологія MMX-2 підрозумує наявність 8 додаткових 128-розряднарегістрів (в попередніх процесорах регістри MMX знаходилися в мантісахрегістрів сопроцесора) і виконання групових інструкцій над 4 числами вформаті короткого речовиною. Перші процесори виготовляються по технології
    0.35 мкм і мають тактовою частотою 400 МГц. В подальшому планується перехідна 0.18 мкм технологію і збільшення частоти до 1 ГГц.

    В даний момент фірма Intel розробляє принципово нову архітектуру IA64,що відкриває клас 64-розрядний процесорів. Першим процесором що є дануархітектуру повинен стати Merced. Цей процесор буде мати 128 64-розряднийрегістрів загального призначення і нову систему команд, покликану істотнопідвищити продуктивність. Однак у зв'язку з величезним обсягом ПО вспеціальному режимі буде вироблятися підтримка системи команд попередніхпроцесорів. Merced також буде підтримувати розширення MMX-2 і додаде донього декілька нових команд. Перші процесори будуть виготовлятися потехнології 0.35 мкм і мати тактовою частотою 400 МГц. В подальшому плануєтьсяперехід на 0.18 мкм технологію і збільшення частоти до 1 ГГц.

    1.2 Опис внутрішніх блоків

    8086/88.

    Найбільш простий інтерфейс мають процесори 8086/88. Вони здатніпрацювати в двох режимах: мінімальному і максимальному.

    У мінімальному режимі процесор сам виробляє сигнали керування длязовнішньої шини. Цей режим передвізначеній для побудови невеликих систем,що не використають сопроцесора, і дозволяє безпосередньо до процесорапідключать периферійні мікросхеми з сімейства 8085.

    В РС застосовується максимальний режим, при якому сигнали керуваннясистемною шиною виробляються контролером шини 8288 по сигналам станупроцесора. Всі сигнали керування активні низьким рівнем, що забезпечуєможливість керування, що розділяється шиною декількома приладами. Цикл шинипозичає 4 такту (не лічівші тактів чекання).

    Будь-який цикл може бути необмежено розтягнутий з допомогою сигналуготовності. Цикли звертання до портів відрізняються від циклів пам'ятівикористанням шини адреси. У разі звертання до портів лінії адреси A [8:
    15] завжди містять нулі. Цикл підтвердження переривання аналогічний циклучитання з порту, але стан шини адреси процесором НЕ управляється. Передачакерування шиною здійснюється по сигналам RQ/GT: влаштування, що запрошуєкерування шиною, генерує імпульс запитання. Процесор, закінчивши черговийцикл, по тій же лінії передає імпульс підтвердження і звільняє шину. Шиноюпочинає керувати влаштування, а по завершенні своїх операцій воно наступнимімпульсом повідомляє процесору про звільнення шини. Типові шіні циклипроцесорів наведені на рисунку 1.1.

    Процесор 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-го. Він оптімізован для двох Банкової організації пам'яті,підрозумуючей чергування банків, що використають в сусідніх передачахпакетного циклу.

    Процесор 486 має чотири внутрішніх буферу для операцій запису. Якщо підчас внутрішнього запитання процесора на запис всі буфер вільні і шина непозичена, запис виконується відразу без буферірування. Якщо шина позичена,запитання спрямовується в буфер, позічаючі для запису тільки одинвнутрішній такт, а з буферу дані вівантажуються в оперативну пам'ять абовлаштування введення-виведення по мірі звільнення зовнішньої шини. Зовнішніоперації запису з буферів будуть вироблятися в тому ж порядку, що ізапитання, що надійшли. Однак якщо за наявності невільних буферів з'явитьсязапитання на читання пам'яті, воно може бути обслуговання і раніше, ніжзадовольнялися йому запитання, що передують на запис. Ця змінапослідовності може відбутися тільки в тому випадку, якщо всі запитаннязапису в буферах зв'язані з кеш-влучення, а запитання на читаннявідноситься до кеш-промаху. Тільки в цьому випадку процесор може сміломіняти порядок операцій, але тільки один раз до тих пір, доки невизволяли всі буфер запису. Більше одного разу міняти порядок взагальному випадку не можна, тому що лічені дані можуть замістити рядок, щомодіфікувався кеша, з якого оновлена інформація якраз і очікує в буферічерги на запис в основну пам'ять. В такому випадку друга спроба змінипослідовності може порушити цілісність даних. Для операцій введення -виведення зміна порядку неможлива. Читання введення-виведення ніколи неможе обганяті запис в пам'ять. Одінкові операції висновки не буферіруютьсяз тим, щоб дати можливість своєчасно (для програми) повідомити з своєїреакції на запис в порт (викликати апаратне переривання або цикл анулюваннярядка). Однак засоби введення програмної затримки між одінковімі операціямивисновку для процесора 486 відрізняються від що передують: тут команда JMP,раніше безумовно що наводить до генерації зовнішнього циклу звертання допам'яті скоріше усього буде обслугована з внутрішнього кеша, і бажаноїзатримки не відбудеться. Надійним засобом введення зовнішнього циклу шиниміж циклами виводу є явна операція читання некешуємої області пам'яті. Цяоперація буде виконана тільки після завершення попереднього циклу висновку,а наступна операція висновку почнеться тільки по завершенні цього читання.
    Операції блочного висновку, викликані інструкцією REP OUTS, будутьвикористати буфер, але порядок не буде порушений.

    Сінхронізація процесора здійснюється зовнішнім сигналом CLK, всітимчасові параметри відраховуються відносно його позитивного перепаду.
    Зовнішня частота процесором вже не ділиться навпіл (як у 386-го), а моженавіть помножать на коефіцієнт, що у різних моделей процесорів можеприймати значення 1, 2, 2.5 і 3. При Цьому інтерфейс зовнішньої шинипроцесора завжди працює на зовнішній частоті, а частота тактуванняобчислювального ядра може підвищуватися в декілька раз. Стандартнимизначеннями зовнішньої частоти є 25, 33.33, 40 і 50 МГц. Коефіцієнт множеннязадається рівнем логічного сигналу на вході CLKMUL.

    Шина адреси дозволяє адресувати 4 Гб фізичної пам'яті в захищеномурежимі і 1 Мб з області молодших адрес в реальному режимі. Сигналом A20M #можна включити примусове обнулення лінії A20 (як для внутрішнього кеша, такі для зовнішніх операцій). Таким чином емулюється ціклічне поверненняадреси процесора 8086/88 (сигнал сприймається тільки в реальному режимі).
    При виконанні інструкцій введення-виведення процесор адресується в 64 Кбпростори введення-виведення. Лінії A [31:2] ідентифікують адресу з точністюдо подвійного слова, а в межах цього слова сигнали BE [3:0] # безпосередньовказують, які байти використовуються в даному циклі. Лінії A [31:4], щовизначають адресу рядка внутрішнього кеша, в циклах анулювання працюють навведення.

    Шина даних D [31:0] припускає як 32-розрядний режим, так і 16 - і 8 --розрядний, в залежності від стану вхідних сигналів BS16 # або BS8 #. Але, ввідзнаку від 386-го, перекомутація байтів не здійснюється. Кожний байт шиниданих має біт паритету DP [3:0]. Схеми паритету генерують коректніконтрольні біти в циклах запису, а в циклах читання в випадку помилкипаритету тільки виробляється сигнал помилки на виході PCHK #, що ніяк невпливає на роботу процесора. Він може використовуватися зовнішніми схемамипо розсуду розробника системної плати.

    Тип циклу локальної шини визначається сигналами M/IO #, D/C #, W/R # і
    LOCK # під час активності сигналу ADS #.

    Сигнали арбітражу локальної шини у порівнянні з попередніми процесорамидоповнені вихідною лінією BREQ, що управляється процесором в будь-якомустані. Цей сигнал вказує зовнішньому арбітру на те, що процесор маєвнутрішнє запитання на використання шини. Сигнал встановлюється водночас зістробі ADS #. Якщо процесор в даний момент не керує шиною, то сигналз'явиться в той момент, коли процесор виставив б сигнал ADS #. Для запитанняпередачі керування локальною шиною іншому влаштуванню використовуєтьсясигнал HOLD. Коли процесор визнає можливим передачу керування, вінвиставить сигнал підтвердження HLDA. Крім того, є сигнал безумовноговідключення процесора від шини - BOFF #. По цьому сигналу процесор віддаєкерування шиною в наступному ж такті, а поточний цикл може бутиперерваний. По закінченню чинності сигналу BOFF # процесор рестартуєперерваний цикл, знову ввівши такт адресації і ідентифікації зі стробі
    ADS #. Для внутрішніх вузлів процесора це бачиться як введення тактівчекання. Сигнал AHOLD передвізначеній для захоплення зовнішнім контролеромтільки шини адреси для анулювання рядків внутрішньої кеш-пам'яті.
    Анулювання рядка виробляється за наявності стробі зовнішньої?? дрес EADS #.

    До інтерфейсу кеш-пам'яті відносяться вхідні сигнали KEN # (дозвілкешування пам'яті по поточній адресі), FLUSH # (анулювання всіх рядківвнутрішнього кеша з попереднім вивантаження рядків, що модіфікуваліся ввипадку застосування зворотного запису) і вихідні сигнали PWT і PCD,керуючі зовнішнім кешування. Процесори, працюючі в режимі зворотногозапису кеша, використають додаткові сигнали INV, HITM #, CASHE # і WB/WT #.
    Перші процесори сімейства 486-х у первинному кеші забезпечували тількиполітику наскрізного запису. Для них не було необхідності в реалізаціїпакетного режиму при записі. Запис зовнішнім контролером в кешуюму пам'ятьнаводить тільки до анулювання рядка кеша, якщо осередок, до якої буде вобігу зовнішній контролер, уявлень і в внутрішньому кеші. Для політикизворотного запису інтерфейс ускладнюється - необхідно забезпеченняможливості вивантаження рядків кеша, що модіфікуваліся в основну пам'ять,якщо до пам'яті, що відображається цими рядками, буде в обігу зовнішнійконтролер шини. З цими відмінностями зв'язані поняття стандартного ірозширеного режиму шини процесора 486. Стандартний режим шинипередвізначеній для роботи первинного кеша з політикою наскрізний запису,що повністю сумісно з інтерфейсом перших процесорів 486 з WT-кешем. Йогоосновні відзнаки наступні: на сигнал FLUSH # процесор не відповідаєспеціальним циклом підтвердження; по сигналу FLUSH # процесор анулює всіхрядки внутрішнього кеша за 15-20 тактів CLK; сигнали, специфічні для WB -кеша, ігноруються; сигнал EADS # сприймається в будь-який момент часу.
    Розширений режим шини передвізначеній для роботи первинного кеша зполітикою зворотного запису, що повністю сумісно з інтерфейсом процесорів
    486 з WB-кешем. Його основні відзнаки наступні: по сигналу FLUSH # процесорвиконує зворотні записи рядків, що модіфікуваліся кеша, після чоговідповідає спеціальним циклом підтвердження; зворотний запис рядків, щомодіфікуваліся кеша, що виконується по сигналу FLUSH # і інструкції WBINVD,може позичати біля 2000 тактів CLK, система повинна спостерігати за шиною,очікуючи спеціального циклу підтвердження; сигнали BLEN #, EWBE #, WB/WT #,
    INV сприймаються процесором; сигнал WB/WT # сприймається в кожному циклізвертання до пам'яті, дозволяючи визначати політику запису для кожногорядка окремо; сигнал EADS # сприймається тільки в стані HOLD, AHOLD або
    BOFF #; сигнал PLOCK # не активний (постійний високий рівень). Вибір режимушини здійснюється процесором за станом лінії WB/WT # в момент закінченнясигналу RESET, низькому рівню відповідає стандартний режим шини. Сигналвсередині процесора резистором підтягується до низького рівня, тому що насистемній платі, не зворотного запису, що підтримує режим, процесор завждибуде працювати в стандартному режимі. На малюнку 1.6 уявлення пакетної циклзаповнення рядка кеш-пам'яті.

    Процесор 486 має RISC-ядро, що зажадало докорінної зміни дешіфраціїкоманд. Черга кодів перебує з двох блоків по 16 байт і заповнюється, або зкеша за 1 такт, або швидкими пакетними циклами по блоках. Запитання напередвіборку має нижчий пріоритет у порівня

         
     
         
    Реферат Банк
     
    Рефераты
     
    Бесплатные рефераты
     

     

     

     

     

     

     

     
     
     
      Все права защищены. Reff.net.ua - українські реферати ! DMCA.com Protection Status