Головна

Глава 7. Організація персонального комп'ютера

  1. II. Організація діяльності загальноосвітнього закладу
  2. II.6.2.) Організація і правоздатність корпорацій.
  3. VIII. Реорганізація і ліквідація
  4. Адаптація до ринку. Форми власності і організація управління
  5. адміністративна організація
  6. Адміністративна організація румунських держав
  7. Безпечна організація складування матеріалів і виробів
 7.2. Процесори персональних компьютеровНесмотря на те, що перший персональний комп'ютер був випущений фірмою Apple, зараз персональними комп'ютерами називають в основному IBM PC-сумісні комп'ютери. Це пов'язано, перш за все, з тим, що фірма IBM вибрала правильну ринкову політику: вона не приховувала принципів устрою своїх комп'ютерів і не патентувала основних рішень. В результаті багато виробників стали випускати сумісні комп'ютери, і вони швидко стали фактичним стандартом. Через великий обсяг випуску персональні комп'ютери почали швидко дешевшати. До того ж для IBM-сумісних персональних комп'ютерів стали розробляти безліч програмних засобів, що ще більше сприяло їх поширенню. Тому, незважаючи на деякі істотні архітектурні недоліки, IBM-сумісні персональні комп'ютери зараз упевнено займають перше місце на ринке.С самого початку фірма IBM орієнтувалася на процесори Intel. У цих процесорів були дуже потужні конкуренти, наприклад, процесори фірм Motorola або Zilog, які переважали процесори Intel за багатьма параметрами, але саме завдяки персональним комп'ютерам процесори Intel змогли вийти переможцями в конкурентній боротьбі. До того ж ще деякі фірми (наприклад, AMD, VIA, Cyrix) випускають Intel-сумісні процесори. Тому ми розглянемо основні особливості процесорів фірми Intel. Це дозволить нам також простежити основні тенденції в розвитку процесорів за останні десятілетія.Свой перший 16-розрядний процесор i8086 фірма Intel випустила в 1978 році. Він міг адресувати 1 Мбайт пам'яті (тобто мав 20-розрядну шину адреси), продуктивність його при тактовій частоті 5 МГц становила 0,33 MIPS, але незабаром з'явилися процесори з тактовою частотою 8 і 10 МГц. Трохи пізніше (через рік) була випущена спрощена версія процесора i8086 - i8088, який відрізнявся тільки 8-розрядної зовнішньої шиною даних. За рахунок цього він був повільніше, ніж i8086, на 20-60% при тій же тактовій частоті, але зате помітно дешевше. Саме на його основі був зібраний дуже популярний персональний комп'ютер IBM PC XT.16-розрядний процесор i80286, випущений в 1982 році, був використаний в персональних комп'ютерах IBM PC AT. Принципово новим було в ньому те, що він міг адресувати до 16 Мбайт пам'яті і мав крім реального режиму, аналогічного i8086, ще й так званий захищений режим, що дозволяє більш гнучко управляти пам'яттю. Продуктивність цього процесора при тактовій частоті 8 МГц становила 1,2 MIPS.Важним кроком стала поява в 1985 році повністю 32-розрядного процесора i80386, здатного адресувати до 4 Гбайт пам'яті (32-розрядна адресна шина). Він мав ще більш розвинену систему управління пам'яттю MMU (Memory Management Unit). Продуктивність його при тактовій частоті 16 МГц становила 6 MIPS. З появою цього процесора стала бурхливо розвиватися операційна система MS Windows, істотно змінила процес роботи з комп'ютерами типу IBM PC.Еще одним важливим етапом стало створення в 1989 році процесора Intel 486DX, в якому з'явилися вбудований математичний співпроцесор, істотно прискорив виконання арифметичних операцій, і внутрішня кеш-пам'ять, прискорює обмін з оперативною пам'яттю. Максимальний обсяг пам'яті цього процесора - 4 Гбайт. На тактовій частоті 25 МГц продуктивність була 16,5 MIPS. Починаючи з процесора 486, поширився так званий множення тактової частоти, тобто внутрішнє подвоєння і навіть учетверение зовнішньої тактової частоти (позначається 486DX2, 486DX4) .В 1995 році з'явилися перші процесори Pentium, що відкрили новий етап в розвитку сімейства. Вони були 32-розрядними всередині, але мали 64-розрядну зовнішню шину даних. Принциповою відмінністю було використання в них так званої суперскалярной архітектури, наслідком чого стало більш високу швидкодію при тій же тактовій частоті, що і i486DX. При тактовій частоті 66 МГц продуктивність процесора досягала 112 MIPS. У 1996 році тактова частота Pentium була доведена до 200 МГц, а вартість знизилася настільки, що він став рядовим процесором персональних комп'ютерів сімейства IBM PC.В 1997 році Pentium був доповнений технологією MMX, покликаної прискорювати виконання мультимедійних додатків (обробку зображень і звуку). І в цьому ж році з'явився процесор Pentium II, який включає в себе технологію ММХ і має більш високу швидкодію. Можлива тактова частота досягла 400 МГц.В останні роки з'явилися процесори Pentium III і Pentium IV, мають ще більш розвинену архітектуру і тактову частоту, що перевищує 1 ГГц у Pentium III і 3 ГГц у Pentium IV.Такім чином, співдружність компанії Intel і виробників IBM- сумісних персональних комп'ютерів успішно триває. Інші фірми, що випускають процесори, навряд чи істотно потіснять в найближчі роки Intel. Тому розглянемо трохи докладніше характерні риси процесорів для персональних комп'ютерів цієї компаніі.7.2.1. Особливості процесорів 8086 / 8088Опісаніе мікропроцесорів фірми Intel ми почнемо з процесорів i8086 / 8088. Саме закладені в них архітектурні рішення багато в чому визначили архітектуру наступних моделей сімейства Intel, що підтримують сумісність з більш ранніми моделями. У тому числі і з недоліками та обмеженнями попередніх моделей.Процессор i8086 має поєднану (мультиплексированную) 20-розрядну зовнішню шину адреси / даних. Дані передаються по 16 розрядів, адреса - по 20 розрядів. Шина управління має 16 розрядів (зокрема, в неї входять стрибає адреси і строби обміну з пам'яттю і пристроями введення / виводу). Середній час виконання команди займає 12 тактів синхронізації, один цикл обміну по зовнішній шині вимагає 4 тактів (без урахування тактів очікування, що вводяться при асинхронному обміні). У процесора i8088 зовнішня шина даних 8-разрядная.Одна з характерних особливостей процесорів i8086 / 8088 - принцип сегментування пам'яті. Тобто вся пам'ять представляється не у вигляді безперервного простору, а у вигляді декількох шматків - сегментів заданого розміру (по 64 Кбайта), положення яких в просторі пам'яті можна програмно змінювати. Про це вже говорилося в розділі 3.1.2 (див. Рис. 3.5 і 3.6) .Процессор 8086/8088 має 14 регістрів розрядністю по 16 біт. Про їхнє призначення також уже говорилося в розділі 3.2.Для прискорення вибірки команд з пам'яті в процесорі 8086 передбачений внутрішній 6-байтний конвеєр (в процесорі 8088 - 4-байтний). Конвеєр заповнюється читаються з пам'яті командами під час виконання попередньої команди і скидається (вважається порожнім) при виконанні будь-якої команди переходу (навіть якщо це команда переходу на наступну адресу) Система команд процесора включає в себе 133 команди, що підтримують 24 методу адресації операндів. Таке велике число команд може розглядатися як гідність (можна гнучко вибирати команду, що оптимально підходить для кожного конкретного випадку), але воно ж помітно ускладнює структуру процессора.Каждая команда містить 1, 2 або 4 байти коду команди, за якими можуть слідувати 1, 2 або 4 байта операнда.В процесорі передбачені програмні і апаратні переривання, поділ зовнішньої шини з іншими процесорами або з контролером прямого доступу до пам'яті, а також можливість підключення математичного співпроцесора i8087, істотно збільшує продуктивність вичісленій.Прі старті процесора (за зовнішнім сигналом RESET) він переходить на адресу пам'яті FFFF0 і починає виконання програми, яка розміщується починаючи з цього адреса.Процессор може обробляти 256 типів переривань: зовнішніх (апаратних), програмних і внутрішніх. Вектори переривань є подвійне слово (два слова по 16 розрядів), що визначає сегмент і зсув початкового адреси програми обробки переривань. Для векторів переривань відведена область пам'яті з адресами 00000 ... 003FF. Внутрішні переривання виробляються при особливих ситуаціях:
  • переривання 0 відповідає переповнення при діленні на нуль;
  • переривання 1 виробляється після кожної команди при встановленому прапорі трасування TF в регістрі стану процесора (див. розділ 3.2);
  • переривання 4 виробляється за спеціальною командою INTO, якщо встановлений прапор переповнення OF у регістрі стану процесора (це умовне переривання за переповненням).
 Особливе місце займає немаскируемое переривання NMI (Non-Masked Interrupt), яке виробляється під час вступу зовнішнього сигналу NMI і не залежить від стану прапора дозволу апаратних переривань IF. У комп'ютері воно використовується для контролю парності пам'яті, контролю коректності обміну з пам'яттю і пристроями введення / виводу, а також для обробки так званих винятків, тобто особливих умов, що виникають в процесі роботи. Немаскіруемое воно називається саме тому, що його не можна запретіть.Важная відмінна риса процесора - поділ операцій обміну з пристроями введення / виводу і з пам'яттю. Для обміну з пристроями вводу / виводу використовуються як окремі команди введення і виведення, так і спеціальні керуючі сигнали на шині управління. Адреси та дані як при обміні з пам'яттю, так і при обміні з пристроями введення / виводу передаються по одним і тим же шинам. Але якщо для обміну з пам'яттю використовуються всі 20 розрядів шини адреси (адресується 1 Мбайт - адреси 00000 ... FFFFF), то в циклах обміну з пристроями вводу / виводу - тільки 16 розрядів шини адреси (адресується 64 Кбайта - адреси 00000 ... 0FFFF). Такий підхід має як свої переваги (наприклад, спрощення реалізації прямого доступу до пам'яті), так і недоліки (ускладнення системи команд, збільшення кількості керуючих сигналів) .Мікропроцессори i8086 / 8088 виконані у вигляді інтегральної мікросхеми в 40-вивідному корпусі. Відмінність у призначенні висновків мікросхеми між ними тільки одне: адреса в процесорі 8088 НЕ мультиплексированную з даними (передається по окремих лініях), а в процесорі 8086 - мультіплексірован.Процессор працює від одного джерела живлення напругою +5 В і вимагає зовнішнього тактового сигналу з частотою, яка визначається номером моделі (від 4,77 МГц до 10 МГц) .Спеціальна керуючий сигнал MN / MX визначає мінімальний або максимальний режим роботи процесора. У мінімальному режимі процесор сам виробляє сигнали управління для зовнішньої шини. Цей режим використовується для побудови найпростіших систем. Для роботи в складі комп'ютера застосовується максимальний режим, при якому сигнали управління зовнішньою шиною виробляються спеціальною мікросхемою контролера шини i8288.7.2.2. Особливості процесора 80286Несмотря на те, що процесор 80286 залишився 16-розрядних, як і його попередник 8086, він представляв собою нове покоління процесорів, що визначило його високу популярність і забезпечило персонального комп'ютера на його основі (IBM PC AT) досить довге життя. Цей процесор відрізняється тим, що він має спеціальні засоби для роботи в багатокористувацьких і багатозадачних сістемах.Наіболее суттєва відмінність від процесора 8086/8088 - це механізм управління адресацією пам'яті, який забезпечує чотирьохрівневий систему захисту і підтримку віртуальної пам'яті. (Віртуальна пам'ять - це зовнішня пам'ять великого обсягу, з якою процесор може взаємодіяти як зі своєю системною пам'яттю, але з деякими обмеженнями). Спеціальні засоби передбачені також для підтримки механізму перемикання завдань (Task switching). Тобто процесор здатний виконувати кілька завдань одночасно, переключаючись час від часу між ними. У процесорі 80286 також розширена система команд за рахунок додавання команд управління захистом і декількох нових команд загального назначенія.Процессор 80286 може працювати в двох режимах:
  • Реальний режим (8086 Real Address Mode - режим реальної адресації), повністю сумісний з процесором 8086/8088. У цьому режимі можлива адресація тільки в межах 1 Мбайта фізичної пам'яті. Він використовується для забезпечення програмної наступності з процесором 8086/8088.
  • Захищений режим (Protected Virtual Address Mode - захищений режим віртуальної адресації). У цьому режимі можлива адресація в межах 16 Мбайт фізичної пам'яті. Таке рішення пов'язане з необхідністю побудови комп'ютерів з великим об'ємом пам'яті, які забезпечували б підтримку більш складних програм. У захищеному режимі система команд включає набір команд 8086, розширений для забезпечення апаратної підтримки багатозадачного режиму і віртуальної пам'яті.
 Перемикання в захищений режим здійснюється однією командою (з попередньо підготовленими таблицями дескрипторів, що описують параметри режиму). Природно, це досить швидкий процес. Зворотне перемикання в реальний режим набагато складніше: воно можливе тільки через апаратне скидання процесора (за сигналом RESET), що вимагає набагато більше времени.В складі комп'ютера під керуванням операційної системи MS DOS процесор 80286 працює в реальному режимі, а захищений режим використовують операційні системи типу UNIX, OS / 2, NetWare286, а також операційні системи сімейства MS Windows. Детальніше особливості цих режимів будуть розглянуті в наступному разделе.Как і процесор 8086, 80286 має 16-розрядну зовнішню шину даних і 6-байтний конвеєр команд. Однак швидкодія процесора 80286 при тактовій частоті 12,5 МГц приблизно в 6 разів вище, ніж у 8086 з тактовою частотою 5 МГц. Це досягається за рахунок вдосконаленої архітектури і зниження кількості тактів на одну команду. Для прискорення виконання математичних операцій передбачено підключення до процесора 80286 мікросхеми математичного співпроцесора 80287.Назначеніе внутрішніх регістрів процесора 80286 таке ж, як у процесора 8086/8088. Але в слові стану процесора (PSW) додані три використовуваних розряду, і, крім того, з'явився ще один внутрішній регістр - регістр управління зі словом стану машини (MSW - Machine State Word), в якому використовується тільки чотири біта (рис. 7.4).  Мал. 7.4. Формати регістрів ознак (PSW) і управління (MSW) процесора 80286.Дополнітельние біти слова стану процесора PSW мають наступне призначення (докладніше про них - в наступному розділі):
  • IOPL (Input / Output Privilege Level) - два біти, що визначають рівень привілеїв введення / виведення;
  • NT (Nested Task flag) - прапор вкладеної завдання.
 Регістр MSW керує режимом процесора. Для зміни його вмісту і збереження його в пам'яті призначені спеціальні команди. Призначення його бітів наступне:
  • PE (Protection Enable) - дозвіл захисту. Установка цього прапора переводить процесор в захищений режим. Але очищення прапора не переводить в в реальний режим (потрібно апаратне скидання процесора).
  • MP (Monitor Processor extension) - моніторинг зовнішнього математичного співпроцесора.
  • EM (Processor Extension Emulated) - емуляція математичного співпроцесора.
  • TS (Task Switch) - перемикання завдань. Як і два попередніх розряду, цей розряд керує співпроцесором.
 Поєднання MP = 0 EM = 0 TS = 0, яке встановлюється по апаратному скиданню (за сигналом RESET), забезпечує сумісність з 8086/8088. Поєднання MP = 1 EM = 0 використовується при спільному включенні з співпроцесором 80287, а поєднання MP = 0 EM = 1 застосовується в разі програмної емуляції співпроцесора, при якій функції співпроцесора виконуються основним процесором, але набагато медленнее.Остановімся докладніше на організації пам'яті процесора 80286. 24-розрядна зовнішня шина адреси дозволяє адресувати 16 Мбайт фізичної пам'яті, але в реальному режимі доступний тільки 1 Мбайт, що починається з нульового адреси (000000 ... 0FFFFF). Так само, як і в 8086, застосовується сегментація пам'яті, але управління сегментацією в реальному і захищеному режимах разлічно.В реальному режимі процесор 80286, на відміну від 8086, має засоби контролю переходу через кордон сегмента. Наприклад, при спробі звернення до слова, має зсув FFFF (його старший байт виходить за кордон сегмента), або при виконанні команди, все байти якої не вміщаються в даному сегменті, процесор виробляє спеціальне переривання - Segment Overrun Interrupt.В захищеному режимі існують відмінності від 8086, що стосуються визначення сегментів:
  • Сегментні регістри CS, DS, SS і ES зберігають не самі базові (початкові) адреси сегментів, а селектори, що визначають адреси в пам'яті, за якими зберігаються дескриптори (описи) сегментів. Область пам'яті з дескрипторами називається таблицею дескрипторів.
  • Кожен дескриптор сегмента містить базову адресу сегмента, розмір сегмента (від 1 до 64 Кбайт) і його атрибути.
  • Базова адреса сегмента має розрядність 24 біт, що і забезпечує адресацію 16 Мбайт фізичної пам'яті.
  • Селектори, що завантажуються в 16-бітові сегментні регістри, мають три поля: RPL (Requested Privilege Level) - запитуваний рівень привілеїв, TI (Table Indicator) - індикатор використання локальної або глобальної таблиці дескрипторів, INDEX - номер дескриптора в таблиці (формат показаний на рис . 7.5).
 Мал. 7.5. Формат селектора сегмента процесора 80286.О порядку обчислення адреси пам'яті в захищеному режимі процесора 80286 уже говорилося в розділі 3.1.2 (див. Рис.3.7). На суматор, що обчислює фізичну адресу пам'яті, подається не вміст сегментного регістра, а базова адреса сегмента з таблиці дескріпторов.Дескріптори зберігаються в пам'яті і займають по чотири суміжних 16-розрядних слова (тобто 8 байт). При завантаженні нового значення селектора дескриптори зчитуються з пам'яті і зберігаються у внутрішніх програмно недоступних (і невидимих) регістрах процесора. До зміни значення селектора при звертаннях до пам'яті використовуються значення дескрипторів тільки з цих невидимих ??регістрів (їх називають кеш-регістрами) .В захищеному режимі команди введення / виводу процесора є привілейованими. Це означає, що вони можуть виконуватися завданнями тільки з певним рівнем привілеїв, обумовлених полем IOPL регістра ознак. Несанкціонована спроба виконання цих команд викликає переривання по порушенню защіти.Как і 8086, процесор 80286 може обробляти до 256 типів переривань. Переривання підрозділяються на апаратні (масковані або немасковані), що викликаються сигналами на входах процесора, програмні, викликані командою INT, і виключення інструкцій. При цьому апаратні і програмні переривання працюють точно так же, як в 8086 / 8088.Ісключенія інструкцій (Instruction Exceptions) або просто виключення трапляються при виникненні особливих умов при виконанні операцій (в 8086 аналогом винятків були внутрішні переривання процесора). Обробка винятків проводиться аналогічно обробці прериваній.Каждому номеру переривання відповідає свій елемент в таблиці дескрипторів переривань IDT (Interrupt Descriptor Table). У реальному режимі ця таблиця організована так само, як у 8086/8088, тобто містить подвійні слова, що визначають адресу початку процедур обробки переривань. У захищеному режимі таблиця містить 8-байтниє дескриптори переривань. Її розмір може бути від 32 до 256 дескрипторів, і розташовуватися вона може в будь-якому місці памяті.Сістема команд процесора 80286 включає, крім повного набора8086, ряд додаткових команд, наприклад:
  • збереження константи в стеці, збереження в стеці і відновлення зі стека всіх регістрів однією командою;
  • целочисленное множення на константу;
  • зрушення (включаючи циклічні) на задану в константі кількість кроків;
  • вхід і вихід з процедур;
  • команди управління захистом.
 Спроба виконання недійсної команди (чи спроба виконання в реальному режимі команди, призначеної тільки для захищеного режиму) викликає спеціальний ісключеніе.Процессор 80286 випускався в 68-вивідних корпусах. Зовнішні шини адреси і даних були розділені. Напруга живлення процесора становить +5.


Попередня   51   52   53   54   55   56   57   58   59   60   61   62   63   64   65   66   Наступна

Особливості програмування та налагодження | Глава 6. Проектування пристроїв на мікроконтролерах | асемблер MPASM | операнди | Розширення файлів, які використовуються MPASM і утилітами | директиви мови | компоновщик MPLINK | симулятор MPSIM | Опис лабораторного макета | Ініціалізація мікроконтролера макета |

© um.co.ua - учбові матеріали та реферати