Смекни!
smekni.com

Огляд архітектури IBM PC-сумісного компютера (стр. 1 из 11)

Огляд архітектури IBM PC-сумісного комп’ютера

(курсова робота)


Перелік скорочень

AGP – AcceleratedGraphicPort, прискорений графічний порт;

ATA – AT Attachment for Disk Drives, підключення дискових пристроїв до AT;

BIOS –BasicInput/OutputMemory, базова система введення/виведення;

CD – Compact Disc, компакт-диск;

CMOS – ComplimentaryMetalOxideSemiconductor, компліментарна структура (метал-оксид-напівпровідник (КМОП);

COM – Communications Port, комунікаційний порт;

CPU – CentralProcessor Unit, центральний процесор;

DMA – Direct Memory Access, прямий доступ до пам’яті;

ESCD – Extended System Configuration Data, розширені дані системної конфігурації;

FDC – FloppyDriveController, контролер накопичувачів на гнучких дисках;

FDD – FloppyDiskDrive, накопичувач на гнучких дисках;

FSB – Front Side Bus, системна шина;

HDD – HardDiskDrive, накопичувач на жорстких дисках;

ISA – IndustryStandardArchitecture, стандартна промислова архітектура – шина розширення IBMPC;

KBC – Keyboard Controller, контролер клавіатури;

LPT – LinePrinter, порядковий принтер;

PCI – PeripheralComponentInterconnect, з’єднання периферійних компонентів, шина розширення;

NMI – Non-Maskable Interrupt, немасковане переривання;

PIC – ProgrammableInterruption Controller, програмований контролер переривань;

RAM – RandomAccessMemory, пам’ять з довільним доступом, ОЗП;

ROM - ReadOnlyMemory, постійний запам’ятовуючий пристрій (тільки для читання);

RTC – RealTimeClock, таймер реального часу;

SMI – SystemManagementInterrupt, переривання системного рівня;

USB – UniversalSerial Bus, універсальна послідовна шина.


Вступ

Структурна схема сучасного IBM PC представлена на рисунку:

Ядром комп’ютера є процесор (CPU), ОЗП (RAM); ПЗП з BIOS (ROM BIOS) та інтерфейсні засоби, які зв’язують їх між собою та рештою компонентів. Стандартна архітектура PC визначає набір обов’язкових засобів введення-виведення і підтримки периферії – системи апаратних переривань (PIC 8259A), системи прямого доступу до пам’яті (DMA 8237A), трьох-канальний лічильник (8254), інтерфейс клавіатури і керування (KBC 8042), канал керування звуком, пам’ять і годинник (CMOSRTC). Інтерфейсні засоби разом із засобами введення-виведення і підтримки периферії реалізуються чіпсетом системної плати.

Будь-який PC-сумісний комп’ютер володіє такими характерними рисами:

· процесор, програмно сумісний із сімейством Intel x86;

· специфічна система розподілу простору адрес пам’яті;

· традиційний розподіл адрес простору введення-виведення з фіксованим положення обов’язкових портів і сумісністю їх програмної моделі;

· система апаратних переривань, яка дозволяє периферійним пристроям сигналізувати процесору про необхідність виконання деяких обслуговуючих процедур;

· система прямого доступу до пам’яті, яка дозволяє периферійним пристроям обмінюватися масивами даних з оперативною пам’яттю, не відволікаючи для цього процесор;

· набір системних пристроїв та інтерфейсів введення-виведення;

· уніфіковані по конструктиву та інтерфейсу шини розширення (ISA, EISA, MCA, VLB, PCI, PCCard, CardBus), склад яких може варіюватися в залежності від призначення і моделі комп’ютера;

· базова система введення-виведення (BIOS), що виконує початкове тестування і завантаження операційної системи, а також володіє набором функцій по обслуговуванню системних пристроїв введення-виведення.


1. Процесори

Основні визначення

Під архітектурою процесора розуміється його програмна модель, тобто властивості, які є доступними програмно. Під мікроархітектурою розуміється внутрішня реалізація цієї програмної моделі. Для однієї і тієї ж архітектури (IntelArchitecture 32 bit, IA-32) різними фірмами і у різних поколіннях застосовуються принципово різні мікроархітектурні реалізації.

У мікроархітектурі процесорів 5-го і 6-го поколінь – Pentium, PentiumPro, PentiumMMX, PentiumII – суттєве значення має реалізація різних способів конвеєризації і розпаралелювання обчислювальних процесів, а також інших технологій, не притаманних процесорам попередніх поколінь.

Конвеєризація (pipelining) – передбачає розбиття виконання кожної інструкції на декілька етапів, при цьому кожний етап виконується на своїй ступені конвеєра процесора. Під час виконання інструкція пересувається по конвеєру по мірі звільнення наступних ступіней.

Скалярним називають процесор з єдиним конвеєром (усі процесори Intel до 486 включно). Суперскалярний процесор має більше одного конвеєра (Pentium – 2, PentiumPro – 3), здатних обробляти інструкції паралельно.

Перейменування регістрів (register renaming) дозволяє обійти архітектурне обмеження на можливість паралельного виконання інструкцій (доступно усього 8 загальних регістрів). Процесори з перейменуванням регістрів фактично мають більше 8 загальних регістрів, і при запису проміжних результатів встановлюється відповідність логічних імен і фізичних регістрів.

Переміщення даних (data forwarding) передбачає початок виконання інструкції до готовності усіх операндів.

Передбачення переходів (branch prediction) дозволяє продовжувати вибірку і декодування потоку інструкцій після вибірки інструкції розгалуження (умовного переходу), не чекаючи перевірки умови переходу.

Виконання по припущенню, або спекулятивне виконання (speculative execution) – передбачені після переходу інструкції не тільки декодуються, але й по можливості виконуються до перевірки умови переходу.

Виконання зі зміною послідовності інструкцій (out-of-orderexecution) – змінюється порядок внутрішнього маніпулювання даними, а зовнішні (шинні) операції введення-виведення і запису в пам’ять виконуються, звичайно, у порядку передбаченому програмним кодом.

Існуючі на даний час процесорні архітектури поділяються на 2 глобальні категорії – RISC і CISC.

Покоління процесорів x86

Сімейство x86 нараховує 7 поколінь процесорів:

Перше покоління (процесори 8086, 8080 і математичний сопроцесор 8087) заклало архітектурну основу – набір нерівноправних 16-розрядних регістрів, сегментну систему адресації пам’яті у межах 1Мбайт з великим різноманіттям режимів, систему команд, систему переривань та ін. В процесорах застосовувалась „мала" конвеєризація – поки одні вузли виконували поточну інструкцію, блок попередньої вибірки вибирав з пам’яті наступну. На виконання інструкції було потрібно в середньому 12 тактів процесорного ядра.

Друге покоління (80286 із сопроцесором 80287) принесло захищений режим, що дозволяє задіяти віртуальну пам’ять розміром до 1Гбайт для кожної задачі, користуючись адресованою фізичною пам’яттю у межах 16Мбайт. Захищений режим є основою для побудови багатозадачних операційних систем, в яких жорстко регламентуються взаємовідношення задач з пам’яттю. На виконання інструкції – в середньому 4,5 тактів.

Третє покоління (386/387 DX і SX) – перехід до 32-розрядної архітектури IA-32. Збільшився об’єм адресованої пам’яті (до 4Гбайт реальної, 64Тбайт віртуальної). В систему команд введено можливість переключення розрядності адресації і даних. На виконання інструкції – ті самі 4,5 тактів, але тактова частота досягла 40МГц.

Четверте покоління (486 DX і SX) у видиму архітектурну модель великих змін не внесло, але було прийнято ряд заходів для збільшення продуктивності. Значно ускладнений виконавчий конвеєр – основні операції виконує RISC-ядро, „завдання" для якого готуються з вхідних CISC-інструкцій. На виконання інструкції – в середньому 2 такти. Введено швидкодіючий первинний кеш об’ємом 8-16Кбайт. Відмовились від зовнішнього математичного сопроцесора: тепер він розміщується на одному кристалі з центральним (FPU – Floating-PointUnit), або відсутній взагалі. Тактова частота досягла 100МГц (Intel) і 133МГц (AMD).

П’яте покоління (IntelPentium, AMDK5) привнесло суперскалярну архітектуру. Після блоків попередньої вибірки і першої стадії декодування інструкцій є два конвеєра, U-конвеєр і V-конвеєр. Кожен з них має ступіні кінцевого декодування, виконання інструкцій і буфер запису результатів. На виконання інструкції – в середньому 1 такт. Застосовується блок передбачення розгалужень. Для швидкого забезпечення конвеєрів інструкціями і даними з пам’яті шина даних процесорів є 64-розрядною. З’являється розширення MMX (MultimediaExtensions), яке застосовує принцип SIMD: одна інструкція виконує дії одразу з декількома (2, 4 або 8) комплектами операндів.

Шосте покоління процесорів Intel (мікроархітектура P6: PentiumPro, PentiumII, PentiumIII, Celeron, Xeon). Характерна риса – динамічне виконання, під котрим розуміється виконання інструкцій не в тому порядку (outoforder), як передбачено програмним кодом, а в тому, як „зручно" процесору. Інструкції, які поступають на конвеєр, розбиваються на мікрооперації μ-ops, які надалі виконуються суперскалярним процесорним ядром у порядку, зручному процесору. Результати „невпорядкованого" виконання операції збираються в упорядкувальному буфері та в коректному порядку записуються в пам’ять (і порти в/в). Застосовується апаратне перейменування регістрів. Реалізовано виконання по припущенню. Середня кількість тактів на інструкцію (PentiumPro) скоротилося до 0,5. Введено подвійну незалежну шину (DIB), яка зв’язує процесор із вторинним кешем, що знаходиться в одній упаковці з процесором. AMD у своїх процесорах 6-го покоління (K6) реалізувала невпорядковане виконання, а подвійна шина з’явилася лише в K6-III. Шосте покоління отримало потокове розширення 3DNow! (AMD) і SSE – StreamingSIMDExtension (Intel).

Сьоме покоління (у AMD) почалося з процесора Athlon, в якому суперскалярність і суперконвеєрність охопили блок FPU. Intel розпочала 7 покоління процесором Pentium4.

1.1 Архітектура системи команд. Класифікація процесорів (CISC та RISC)

Термін "архітектура систем" часто вживається як в загальному, так і в конкретному значенні. У конкретному значенні під архітектурою розуміють архітектуру набору команд. Архітектура набору команд служить межею між апаратною та програмною частинами системи та представляє ту частину системи, що є доступною для програміста або розроблювача компіляторів. У загальному значенні термін архітектура охоплює поняття організації системи, включаючи такі високорівневі аспекти розробки комп‘ютера як систему пам‘яті, структуру системної шини, організацію в/в і т.д.