You are on page 1of 20

1. Архітектура комп’ютера. Структурна схема персонального комп’ютера.

Сучасні комп’ютери побудовані за модульним принципом. Це означає, що вони складаються з окремих блоків –
модулів, які певним чином сполучені між собою з метою забезпечення їх взаємодії; кожен з блоків виконує
специфічні функції відповідно до свого функціонального призначення. Ланкою, яка забезпечує взаємодію модулів
комп’ютера, є системна магістраль – сукупність ліній електричного зв’язку, які сполучають однойменні
контакти3 всіх модулів. Кожна лінія магістралі має своє жорстко встановлене функціональне призначення,
сигнали на лініях мають визначені електричні та часові параметри. Електричні параметри сигналів магістралі,
правила їх формування та часова залежність між ними називаються інтерфейсом магістралі. Очевидно, що для
успішної співпраці всіх модулів в комп’ютерній системі, останні повинні функціонувати за правилами магістралі,
тобто мати єдиний інтерфейс.

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

1
2. Характеристика процесорів.
Процесор є модулем, призначенням якого є виконання розміщеної в пам’яті комп’ютера програми та управління
іншими компонентами системи. Схема процесора здатна виконувати обмежену кількість відповідним чином
закодованих команд, що в сукупності становлять його операційний ресурс. Операційний ресурс сучасних
процесорів становить 100 – 400 команд і містить команди обміну даними, команди арифметичних операцій,
команди порозрядних логічних операцій, команди зсувів та ін. Характеристика МП: розрядність (біт); тактова
частота (Гц); кількість ядер; розмір кешу (Мб). Розрядність показує, скільки двійкових розрядів (бітів) інформації
обробляється (або передається) за один такт, а також скільки двійкових розрядів може бути використано у МП для
адресації оперативної пам'яті, передачі даних та ін. Тактова частота вказує, скільки елементарних операцій
(тактів) МП виконує за секунду, вимірюється в мегагерцах (1 МГц = 1000000 Гц). Вона є лише відносним
показником продуктивності МП. Через архітектурні відмінності МП у деяких з них за один такт виконується
робота, на яку інші витрачають кілька тактів. Важливими характеристиками сучасних МП, що впливають на їхню
продуктивність, є об'єм і швидкість функціонування вмонтованої кеш-пам'яті. Річ у тім, що сучасні МП
«обганяють» за тактовою частотою інші елементи комп'ютера. Найпринциповішим є те, що тактова частота МП у
кілька разів вища, ніж частота синхронізації системної шини, по якій відбувається обмін інформацією з відносно
повільним оперативним запам'ятовувальним пристроєм (ОЗП). Без внутрішньої кеш-пам'яті (що має особливо
високу швидкодію) МП часто працював би вхолосту, чекаючи чергової інструкції з ОЗП або закінчення операції
запису в пам'ять. Джерело безперебійного живлення — пристрій, призначений для захисту комп'ютера від
стрибків напруги або відключення електроенергії. Для надійної роботи комп'ютера йому необхідно постійне
енергоживлення.

Мікропроцесор координує роботу всіх пристроїв цифрової системи за допомогою шини керування (ШК). Крім
ШУ є 16-розрядна адресна шина (ША), яка служить для вибору визначеної комірки пам'яті, порту введення або
порту виводу. За 8-розрядної інформаційній шині або шині даних (ШД) здійснюється двунаправленная
пересилання даних до мікропроцесора і від мікропроцесора. Важливо відзначити, що МП може посилати
інформацію в пам'ять мікроЕОМ або до одного з портів виведення, а також отримувати інформацію з пам'яті або
від одного з портів вводу. Постійний запам'ятовуючий пристрій (ПЗУ) в мікроЕОМ містить деяку програму (на
практиці програму ініціалізації ЕОМ). Програми можуть бути завантажені в запам'ятовуючий пристрій з
довільною вибіркою (ЗУПВ) і з зовнішнього запам'ятовуючого пристрою (ВЗУ). Це програми користувача. Під
архітектурою процесора розуміється його програмна модель, тобто властивості, які є доступними програмно. Під
мікроархітектурою розуміється внутрішня реалізація цієї програмної моделі. Для однієї і тієї ж архітектури
(IntelArchitecture 32 bit, IA-32) різними фірмами і у різних поколіннях застосовуються принципово різні
мікроархітектурні реалізації. У мікроархітектурі процесорів 5-го і 6-го поколінь
– Pentium, PentiumPro, PentiumMMX, PentiumII – суттєве значення має реалізація різних способів конвеєризації і
розпаралелювання обчислювальних процесів, а також інших технологій, не притаманних процесорам попередніх
поколінь. Існуючі на даний час процесорні архітектури поділяються на 2 глобальні категорії – RISC і CISC.
Покоління процесорів x86 Сімейство x86 нараховує 7 поколінь процесорів:
Перше покоління (процесори 8086, 8080 і математичний сопроцесор 8087) заклало архітектурну основу – набір
нерівноправних 16-розрядних регістрів, сегментну систему адресації пам’яті у межах 1Мбайт з великим
різноманіттям режимів, систему команд, систему переривань та ін. В процесорах застосовувалась „мала"

2
конвеєризація – поки одні вузли виконували поточну інструкцію, блок попередньої вибірки вибирав з пам’яті
наступну. На виконання інструкції було потрібно в середньому 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-Point Unit), або відсутній
взагалі. Тактова частота досягла 100МГц (Intel) і 133МГц (AMD).
П’яте покоління (IntelPentium, AMDK5) привнесло суперскалярну архітектуру. Після блоків попередньої вибірки і
першої стадії декодування інструкцій є два конвеєра, U-конвеєр і V-конвеєр. Кожен з них має ступіні кінцевого
декодування, виконання інструкцій і буфер запису результатів. На виконання інструкції – в середньому 1 такт.
Застосовується блок передбачення розгалужень. Для швидкого забезпечення конвеєрів інструкціями і даними з
пам’яті шина даних процесорів є 64-розрядною. З’являється розширення MMX (Multimedia Extensions), яке
застосовує принцип SIMD: одна інструкція виконує дії одразу з декількома (2, 4 або 8) комплектами операндів.
Шосте покоління процесорів Intel (мікроархітектура P6: PentiumPro, PentiumII, PentiumIII, Celeron, Xeon).
Характерна риса – динамічне виконання, під котрим розуміється виконання інструкцій не в тому порядку
(out of order), як передбачено програмним кодом, а в тому, як „зручно" процесору. Інструкції, які поступають на
конвеєр, розбиваються на мікрооперації μ-ops, які надалі виконуються суперскалярним процесорним ядром у
порядку, зручному процесору. Результати „невпорядкованого" виконання операції збираються в
упорядкувальному буфері та в коректному порядку записуються в пам’ять (і порти в/в). Застосовується апаратне
перейменування регістрів. Реалізовано виконання по припущенню. Середня кількість тактів на інструкцію
(PentiumPro) скоротилося до 0,5. Введено подвійну незалежну шину (DIB), яка зв’язує процесор із вторинним
кешем, що знаходиться в одній упаковці з процесором. AMD у своїх процесорах 6-го покоління (K6) реалізувала
невпорядковане виконання, а подвійна шина з’явилася лише в K6-III. Шосте покоління отримало потокове
розширення 3DNow! (AMD) і SSE – Streaming SIMD Extension (Intel).
Сьоме покоління (у AMD) почалося з процесора Athlon, в якому суперскалярність і суперконвеєрність охопили
блок FPU. Intel розпочала 7 покоління процесором Pentium4

3
3. Організація пам’яті комп’ютера.
Комп'юютерна паюм'ять (англ. memory, storage) — функціональна частина ЕОМ, призначена для прийому, зберігання
та видачі даних. Комп'ютерна пам'ять — частина ЕОМ, фізичний пристрій або середовище для
зберігання даних протягом певного часу. В основі роботи запам'ятовуючих пристроїв може лежати будь-
який фізичний ефект, що забезпечує приведення системи до двох або кількох стійких станів. У
сучасній комп'ютерній техніці часто використовуються фізичні властивості напівпровідників, коли проходження
струму через напівпровідник або його відсутність трактується як наявність логічних сигналів 0 або 1. Стійкі
стани, що визначаються напрямком намагніченості, дозволяють використовувати для зберігання даних
різноманітні магнітні матеріали. Наявність або відсутність заряду в конденсаторітакож може бути покладена в
основу системи зберігання інформації. Найпоширеніші засоби машинного зберігання даних, використовувані
в персональних комп'ютерах: — це модулі оперативної пам'яті, а також тверді диски (вінчестери), дискети(гнучкі
магнітні диски), cd або DVD диски, а також пристрої флеш-пам'яті. Комп'ютерна пам'ять забезпечує підтримку
однієї з найважливіших функцій сучасного комп'ютера, — здатність тривалого
зберігання інформації. центральним процесором і пристрій, що запам'ятовує, є ключовими ланками так
званої архітектури фон Неймана, — принципу закладеного в основу більшості сучасних комп'ютерів загального
призначення. Перші комп'ютери використовували пристрої, що запам'ятовують, виключно для зберігання
оброблюваних даних. Їхні програми реалізовувалися на апаратному рівні у вигляді жорстких заданих
виконуваних послідовностей. Будь-яке перепрограмування вимагало величезного обсягу ручної роботи з
підготовки нової документації, перекомутації, перебудови блоків і пристроїв і т. п. Використання архітектури фон
Неймана, що передбачає зберігання комп'ютерних програм і даних в загальній пам'яті, корінним чином змінило
ситуацію. Система зберігання інформації в сучасному цифровому комп'ютері заснована на двійковій системі
числення. числа, текстова інформація, зображення, звук, відео та інші форми даних представляються у вигляді
послідовностей бітових рядків або бінарних чисел, кожне з яких складається зі значень 0 і 1. Це дозволяє
комп'ютеру легко маніпулювати ними за умови достатньої ємності системи зберігання. Наприклад, для зберігання
невеликої розповіді досить мати пристрій пам'яті загальним обсягом всього лише близько 8мільйонів бітів
(приблизно 1 Мегабайт). До теперішнього часу створено безліч різноманітних пристроїв, призначених для
зберігання даних, багато з яких засновано на використанні різноманітних фізичних ефектів. Універсального
рішення не існує, кожне має ті або інші недоліки. Тому комп'ютерні системи зазвичай мають кілька видів систем
зберігання, основні властивості яких обумовлюють їх використання і призначення.
Типи запам'ятовувальних пристроїв: Кеш пам'ять, Оперативна пам'ять, Напівпостійна пам'ять, Постійна пам'ять,
Зовнішня пам'ять.
напівпровідникова: EPROM, флеш-пам'ять, NVRAM, RAM ОЗП ЗППВ - пристрій оперативної пам'яті, ROM -
пристрій постійної пам'яті, VRAM, WRAM, FRAM, Кеш-пам'ять.
Пам'ять на лініях затримки: Магнітний барабан, Пам'ять на магнітних сердечниках, Core rope memory, Магнітна
стрічка.
Дискова пам'ять: НГМД, НЖМД вінчестер, Магнітооптична.
Оптична: CD-R, CD-ROM, CD-RW, DVD-RAM, DVD-ROM, DVD-R, Dvd+r, DVD-RW.
Голографічна пам'ять: Пам'ять на ЦМД - ЦМД-ЗП, Магнітний диск, Memory stick, mylar tape, Перфострічка,
Перфокарта, Smartdisk, Thin film memory, Селектронова трубка (пристрій пам'яті на електростатичній трубці)
Трубка Вільямса, пристрій пам'яті ЕПТ

4
4. Простір введення-виведення.
Одна з основних функцій операційної системи - це управління усіма пристроями введення-виведення комп'ютера.
Операційна система має віддавати команди пристроям, перехоплювати переривання та обробляти помилки. Вона
також надає простий у використанні інтерфейс між пристроями та рештою системи. Цей інтерфейс необхідно
зробити якнайбільше схожим для різних типів пристроїв. Код, що виконує введення-виведення складає значну
частину операційної системи. Тому розуміння принципів введення-виведення є необхідною умовою розуміння
операційної системи. Пристрої введення-виведення з деякими припущеннями можуть бути поділені на дві
категорії: блокові пристрої та символьні пристрої. Блоковий пристрій - це пристрій, який зберігає інформацію у
вигляді блоків фіксованого розміру, кожен з яких має адресу. Звичайно розмір блока буває від 512 до 32 768
байтів. Основна властивість блокового пристрою - це можливість прочитати або записати блок незалежно від всіх
інших. Диски - є найбільш поширеним типом блокових пристроїв. Але границя між блоковими та іншими
пристроями не така вже й чітка. Всі дослідники погоджуються, що диски є блоковими пристроями, але
належність магнітної стрічки до блокових пристроїв вже не така очевидна. Стрічка містить набір блоків.
Контролер магнітних стрічок може прочитати блок з визначеною адресою. Ця операція аналогічна пошуку по
диску, але займе набагато більше часу. Але переписати один блок зі стрічки може бути неможливо. Навіть якщо
стрічки дозволяють усі операції довільного блокового доступу, відносити їх до блокових пристроїв буде
перебільшенням, бо вони звичайно не використовуються таким чином. Інший тип пристроїв введення-виведення -
це символьний пристрій. Символьний пристрій передає або приймає потік символів, без жодної блокової
структури. Потік не має адрес і не підлягає операції пошуку. Принтери, мережеві інтерфейси, миші та більшість
інших пристроїв, що не є аналогічними дискам можуть розглядатися як символьні пристрої. Ця схема
класифікації не бездоганна. Вона включає не всі пристрої. Годинники, наприклад, не мають адрес блоків. Вони
також не генерують і не приймаються потоки символів. Все, що вони роблять - це спричиняють переривання
через певні інтервали. Все ж модель ділення на блокові та символьні пристрої досить загальна і може
використовуватися як основа для розробки загальних процедур роботи з пристроями введення-виведення.
Файлова система, наприклад, працює лише з абстрактними блоковими пристроями і лишає всю апаратно-залежну
частину програмному забезпеченню більш низького рівня, яке називається драйверами пристроїв. Пристрої
введення-виведення мають дуже різні швидкості, що накладає значні обмеження на програмне забезпечення.
Таблиця 10.1 показує швидкості передачі даних деяких поширених пристроїв. Більшість цих пристроїв стає
швидше з часом. Таблиця 10.1 - Швидкості передачі даних деяких типових пристроїв, мереж та шини.
Пристрій Швидкість

Клавіатура 10 байт/с

Миша 100 байт/с

56К модем 7 КБ/с

Сканер 400 КБ/с

Цифрова відеокамера 4 МБ/с

52x CD-ROM 8 МБ/с

FireWire (IEEE 1394) 50 МБ/с

USB 2.0 60 МБ/с

Монітор XGA 60 МБ/с

Мережа SONET OC-12 78 МБ/с

Gigabit Ethernet 125 МБ/с

Serial ATA диск 200 МБ/с

SCSI Ultrawide 4 диск 320 МБ/с

PCI шина 528 МБ/с

5
5. Система переривань комп’ютера.
Система переривань будь-якого комп'ютера є його найважливішою частиною, що дозволяє швидко реагувати на
події, обробка яких винна виконаються негайно: сигнали від машинних таймерів, натиснення клавіш клавіатури
або миші, збої пам'яті і ін. Багато користувачів вважають, що переривання — це та частина апаратного
забезпечення, якій краще дати спокій, тому що їхнє використання вимагає чудового знання процесора для
розробки програми обробки переривання. У противному випадку при виникненні переривання система «засинає»
чи «йде вразнос». Таке почуття звичайно з'являється в розробника після досвіду роботи з перериваннями для
персонального комп'ютера, що має ряд особливостей, що ускладнюють створення оброблювача переривань.
Багато з цих проблем не мають місця в устаткуванні, реалізованому на базі мікроконтролерів. Використання в
даному устаткуванні переривань може істотно спростити його розробку і застосування. У комп'ютерній системі
переривання — це запуск спеціальної підпрограми (названої «оброблювачем переривання» чи «програмою
обслуговування переривання»), що викликається сигналом апаратури. На час виконання цієї підпрограми
реалізація поточної програми зупиняється. Термін «запит на переривання» (interrupt request) використовується
тому, що іноді програма відмовляється підтвердити переривання і виконати оброблювач переривання негайно
(рис. 2.19). Переривання - подія, що виникає в комп'ютері і яку треба обробити. Обробити - не що інше, як
викликати певну процедуру, обробник переривання. У MS-DOS існує така класифікація переривань:
Апаратні - пов'язані з сигналом від зовнішнього пристрою;
Внутрішні - переривання, що генеруються самим процесором;
Програмні - генеруються програмою і викликають процедуру обробки переривань.
Переривання в комп'ютерній системі аналогічні перериванням у повсякденному житті. Класичний приклад такого
переривання — телефонний дзвоник під час перегляду телевізійної передачі. Коли дзвонить телефон, у Вас є три
можливості. Перший — проігнорувати дзвоник. Другий - відповісти на дзвоник, але сказати, що Ви передзвоните
пізніше. Третій — відповісти на дзвоник, відклавши всі поточні справи. У комп'ютерній системі також маються
три подібних відповіді, що можуть бути використані як реакція на зовнішній апаратний запит.

Перша можлива відповідь — «не реагувати на переривання, поки не завершиться виконання поточної задачі» —
реалізується шляхом заборони (маскування) обслуговування запиту переривання. Після завершення задачі
можливий один із двох варіантів: скидання маски і дозвіл обслуговування, що приведе до виклику оброблювача
переривання, чи аналіз значення бітів («пуллінг»), що вказують на надходження запитів переривання і
безпосереднє виконання програми обслуговування без виклику оброблювача переривання. Такий метод обробки
переривань використовується, коли потрібно забезпечити заданий час виконання основної програми, тому що
будь-яке переривання може порушити реалізацію необхідного інтерфейсу. Не бажане тривале маскування
переривань, тому що протягом цього часу може відбутися накладення декількох подій, що викликають
переривання, а розпізнаватися буде тільки одне. Припустима тривалість маскування залежить від конкретного
застосування мікроконтролеру, типу і частоти проходження таких подій. Не рекомендується забороняти
переривання на час більше, ніж половина мінімального очікуваного періоду проходження подій, що запитують
переривання. Оброблювач переривання завжди забезпечує наступну послідовність дій:
1. Зберегти вміст регістрів контексту. 2.
Скинути контролер переривань і устаткування, що викликало запит.
3. Обробити дані.
4. Відновити вміст регістрів контексту.
5. Повернутися до перерваної програми.

6
6. Архітектура процесора. Функціональні пристрої процесора та їх призначення.
Процесор, або більш повно — мікропроцесор, який також часто називають ЦПП (CPU — central processing unit) є
центральним компонентом комп'ютера. Це розум, який прямо або опосередковано керує усім, що
відбувається усередині комп'ютера. Коли фон Нейман уперше запропонував зберігати послідовність
інструкцій,так звані програми, у тій самій пам'яті, що й дані, це була дійсно новаторська ідея. Опублікована вона в
«First Draft of a Report on the EDVAC» у 1945 p. Цей звіт описував комп'ютер, що складається з чотирьох основних
частин: центрального арифметичного пристрою, центрального керуючого пристрою, пам'яті й засобів введення-
виведення. Сьогодні майже всі процесори мають фон-нейманівську архітектуру. Кожен мікропроцесор має певну
кількість елементів пам'яті, що називаються регістрами, арифметично-логічний пристрій (АЛП) і пристрій
керування. Регістри використовуються для тимчасового зберігання виконуваної команди, адрес пам'яті,
оброблюваних даних й іншої внутрішньої інформації мікропроцесора. В АЛП здійснюється арифметична й
логічна обробка даних. Пристрій керування реалізує тимчасову діаграму і виробляє необхідні керуючі сигнали
для внутрішньої роботи мікропроцесора й зв'язку його з іншою апаратурою через зовнішні шини мікропроцесора.
Сьогодні існує кілька напрямків у виробництві мікропроцесорів. Вони розрізняються за принципами побудови
архітектури процесора. Найбільш розповсюдженими є архітектури RISC і CISC. Мікропроцесори з архітектурою
RISC (Reduced Instruction Set Computers) використовують порівняно невеликий (скорочений) набір найбільш
вживаних команд, визначений у результаті статистичного аналізу великого числа програм для основних областей
застосування CISC - процесорів вихідної архітектури. Усі команди працюють з операндами і мають однаковий
формат. Звертання до пам'яті виконується за допомогою спеціальних команд завантаження регістра й запису.
Простота структури і невеликий набір команд дозволяють повністю реалізувати їхнє апаратне виконання й
ефективний конвеєр при невеликому обсязі устаткування. Мікропроцесори з архітектурою CISC (Complex
Instruction Set Computers, архітектура обчислень із повною системою команд) реалізують на рівні машинної мови
комплексні набори команд різної складності, від простих, характерних для мікропроцесора першого покоління, до
дуже складних. Більшість сучасних процесорів для персональних комп'ютерів побудована за архітектурою CISC.
Останнім часом з'явилися гібридні процесори, що мають систему команд CISC, однак усередині перетворюють їх
на ланцюжки RISC-команд, які й виконуються ядром процесора.

7
7. Режими роботи процесора. Регістрова модель процесора.
Процесори Intel Як відомо, фірма IBM випустила свій перший персональний комп'ютер серії IBM PC у 1981 р. У
комп'ютерах цієї серії використовувалися процесори фірми Intel: 8086 або 8088. Обидва ці процесори були 16-
розрядними, тобто регістри мали місткість 16 розрядів (2 байти). Обидва процесори були ідентичними за
архітектурою, але мали різні шини даних (16 розрядів для 8086 та 8 розрядів для 8088). Процесор 8088 був більш
дешевим, і це зумовило його більше поширення. Система команд процесорів 8086/8088 стала основою
подальшого розвитку Intel-сумісних процесорів. Був забезпечений принцип зворотної сумісності: практично будь-
яка програма, написана для 8086/8088, могла виконуватися і на більш нових процесорах.
* Можна відмітити такі найважливіші модифікації Intel-сумісних процесорів: збільшення розрядності;
* математичні співпроцесори. Процесори 8086 і 8088 не мали у своєму складі ніяких засобів для операцій з
дробовими числами. Ці операції доводилося спеціально програмувати; до того ж виконання операцій з
плаваючою точкою дуже сповільнювало роботу процесора. Тому невдовзі фірма IBM почала випуск комп'ютерів,
які мали, крім основного процесора, математичний співпроцесор, система команд якого була призначена для
операцій з плаваючою точкою. Починаючи з 486-го процесора, співпроцесор входить до складу основного
процесора; * захищений режим, який з'явився починаючи з 286-го процесора і був стандартизований починаючи з
386-го. Основним призначенням захищеного режиму стала апаратна підтримка багатозадачності; * конвейєри;
* система команд MMX та її подальші модифікації, яка забезпечило можливість одночасного виконання операцій
над декількома числами. Виділяють три режими роботи Intel-сумісних процесорів: * реальний режим - процесор у
реальному режимі працює так, як працював би 8086/88. В реальному режимі, зокрема, працює DOS і програми
під DOS; * захищений режим, який забезпечує підтримку багатозадачності; * режим віртуального 8086/88, який
імітує одночасну роботу декількох процесорів, кожний з яких працює в реальному режимі.
Незважаючи на всі модифікації, система команд реального режиму залишається базовою. Захищений
режим (режим захищеного віртуального адресу) — режим роботи процесора. Розроблений фірмою Digital
Equipment (DEC) для 32-розрядних комп'ютерів VAX-11, а також фірмою Intel для своїх процесорів, починаючи з
32-розрядних процесорів 80386. Хоча захищений режим частково було реалізовано вже у процесорі 80286, але
там істотно відрізнявся спосіб роботи з пам'яттю, бо процесори ще були 16-бітні і не була реалізована сторінкова
організація пам'яті. Використовується в процесорах інших виробників. Цей режим дозволив
створити багатозадачні операційні системи, такі як Microsoft Windows, Unix тощо. Модель процессора должна
определять алгоритм выборки команд из памяти и алгоритмы выполнения каждой операции. Алгоритм выборки
команд — это основной цикл интерпретатора, который представляет собой следующую последовательность
действий: 1) Выбрать из M2[PC] очередные два байта; 2) Определить КОП; 3) Если требуется, выбрать еще 2, 4
или 6 байт; 4) Сформировать полную команду во внутреннем регистре процессора; 5) Выполнить команду;
6) Изменить PC; 7) Перейти на 1;
Во-первых, отметим, что в алгоритме регистр счетчика команды изменяется после выполнения команды. Таким
образом, в нем сохраняется адрес обрабатываемой команды. Это более удобно, так как в этом случае при
аварийной ситуации PC показывает на аварийную команду. Во-вторых, пункт 3 в данной схеме не совсем ясен:
как процессор «узнает», сколько еще байт выбирать из памяти? Это можно однозначно определить по коду
операции. Например, процессор выбирает из памяти два байта 08 0А. Первый байт соответствует коду операции
условного перехода JL. Следовательно, второй байт — это номер регистра. Значит, процессору осталось выбрать
еще 2 байта смещения. Другой пример: выбраны байты 2А 00. Первый байт является кодом операции LDWI,
следовательно, второй — номер регистра $W. Это значит, что процессору осталось выбрать еще 4 байта —
непосредственный операнд. Если процессор выбрал два байта 43 04, то первый байт соответствует коду операции
NOT, а второй — это номер регистра. В этом случае ничего дополнительно выбирать не нужно. Если процессор
выбрал два байта, первый из которых равен специальному коду FF16, он поступает совершенно аналогично,
поскольку и в этом случае длина команды однозначно определяется на основании полного двухбайтного кода
операции. Таким образом, для каждой команды где-то должна храниться ее размер. Кроме того, интерпретатор
должен «собирать» полную команду, выбирая из памяти оставшиеся байты. В реальных компьютерах команда
собирается во внутреннем регистре процессора, недоступном программисту. Этот регистр в интерпретаторе
можно промоделировать восьмибайтным массивом:
uByte rc[8]; // регистр команд
Байт rc[0] содержит код операции для основных команд. Для команд из дополнительного множества код операции
находится в rc[1]. Все составляющие модели процессора удобно собрать в один модуль. Более того, удобно
представить модель компьютера в виде класса, включающего все структуры данных (регистры, память, стек) и
все необходимые алгоритмы в виде методов. Очевидно, что один из методов реализует основной цикл
процессора, другой — начальные установки всех регистров при старте. Теперь подробнее остановимся на шаге 5
— выполнение команды. В интерпретаторе AMS выполнение команд было инкапсулировано в функции run() в
единственном операторе-переключателе. Такое решение было приемлемым, поскольку архитектура AMS проста,

8
и объем интерпретатора весьма мал. Однако для VM такая реализация представляется не самым лучшим
вариантом по следующим причинам: 1)
количество операций достаточно большое, поэтому оператор-переключатель будет очень длинным; кроме того,
одним переключателем не обойтись, так как код операции может быть либо 1 байт (основное множество
операций), либо 2 байта (дополнительное множество операций);
2) команды имеют разный размер, поэтому необходимо где-то хранить длину команды; эта величина
должна быть известна во время выполнения основного цикла процессора;
3)команды разного формата, поэтому прежде, чем выполнять команду, требуется «разобраться» с ее
аргументами;
4)в дальнейшем предполагаются расширения VM, например, добавление новых команд или регистров;
возможны изменения алгоритмов операций. Все эти соображения наводят на мысль, что лучше выполнение
каждой операции инкапсулировать в отдельной функции, которая вызывается в основном цикле процессора. Так
как функций много, лучше собрать их в отдельный модуль. Таким образом, при изменении-расширении системы
команд виртуальной машины потребуется вносить изменения только в модуль реализации команд, не затрагивая
основной модуль интерпретатора. Однако при отсутствии оператора-переключателя возникает проблема вызова
необходимой функции: по имени функцию вызывать невозможно, поскольку все имена разные. Однако в С++
можно вызывать функцию по указателю, и это позволяет нам применить хорошо известный типичный прием,
который состоит в следующем:
1) имена функций при старте заносятся в массив указателей (на функцию);
2) индексом в массиве указателей является код операции. (В этом же массиве удобно хранить и размер
соответствующей команды.) Поэтому представляется весьма удобным определить для каждой команды структуру
из двух полей:
 имя реализующей функции;
 длина команды.
Массив таких структур должен быть включен в класс-компьютер, и его нужно инициализировать перед запуском
основного цикла.

9
8. Формати даних. Формати команд
Формати даних — сукупність регламентованих в архітектурі ЕОМ структур для представлення різних за
специфікою обробки та представлення видів інформації (цілих чисел, дробових чисел, текстових рядків тощо).
В ЕОМ інформація різного характеру представляється двійковими послідовностями з різним числом розрядів.
Окремі частини цих послідовностей мають певні призначення, причому для фон-ноймановских машин ці
призначення набувають сенсу тільки в контексті виконуваних команд. Поза цим контекстом і дані, і команди —
усього лише послідовності двійкових розрядів, зовсім нерозрізнених за формою подання. Однак в якості
операндів при виконанні команди, різні розряди цих послідовностей наділяються певним змістом. Тому говорять,
що у фон-ноймановских машинах типи даних визначаються не самими даними, а операцією, що над ними
виконується. І якщо, наприклад, в регістри-джерела операндів команди арифметичного додавання раптом
виявилися завантажені розряди слова, яке містить якийсь текст, а не числа, то фон-нойманівська ЕОМ просто
проігнорує ту обставину, що навряд чи має сенс додавати два текстові рядки, і поведетьтся з ними як з числами.
Але це зовсім не зменшує важливості форматів даних у фон-нейманівских машинах, адже специфіка виконання
тих чи інших машинних команд визначається тим форматом даних, над яким вони діють (інша справа, що
фактичні операнди можуть не відповідати цьому форматові, але це вже на відповідальності програміста). Вся
безліч операцій, а за ними й формати даних, можна розбити на дві великих групи: цілочисельні
формати й формати для чисел із плаваючою комою.
Цілочисельні формати
Цілочисельні формати використовуються для представлення цілих чисел і інформації, що може бути закодована
такими числами (наприклад, символьні дані, рядки бітів, булеві вирази й ін.).
В першому випадку використовується зазвичай формат з урахуванням знака, що кодується, як правило, в
старшому розряді, в другому випадку — беззнаковий формат. В іншому, номенклатура цілочисельних форматів
різниться лише довжиною основного інформаційного поля. Як одиниця виміру довжини формату
використовується слово, рівне двом або чотирьом байтам (залежно від архітектури)
Формат із плаваючою комою використовується для представлення дробових або дійсних чисел.

Формати команд
Алгоритм, написаний користувачем програми, в кінцевому рахунку реалізується у вигляді машинних команд. Під
командою розуміють сукупність відомостей,представлених у вигляді двійкових кодів, необхідних
процесору для виконання чергового кроку. У ході команди для відомостей про тип операції, адресної
інформації про знаходження оброблюваних даних, а також для інформації про місце зберігання
результатів виділяються певні розряди (поля).
Форматом команди називається заздалегідь обговорену структура полів в їїкодах, що
дозволяє ЕОМ розпізнавати складові частини коду.
Розподіл полів у форматі команди може змінюватися при зміні способу адресації. Довжина команди залежить від
числа адресних полів. За кількістю адрес команди діляться на:
безадресні
одно-, дво-, трехадресние
Довжина коду команди вимірюється в машинних словах. Щоб отримати можливість працювати з мінімальним
числом адресних полів, результат, наприклад, можна розміщувати за місцем зберігання одного з операндів. Або
попередньо розміщують один або кілька операндів у спеціально виділених регістрах процесора.

Безліч реалізованих машинних дій утворює її систему команд. Система команд часто визначає області та
ефективність застосування ЕОМ. Склад і кількість команд повинні бути орієнтовані на стандартний набір
операцій, що використовуються користувачем для вирішення своїх завдань.
За функціональним призначенням у системі команд ЕОМ розрізняють такі групи:

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

10
9. Способи адресації. Режими адресації.
Способи адресації пам'яті — комплекс стандартизованих для певної архітектури системи команд центрального
процесора способів для визначення (обчислення) місця розташування операндів в пам’яті ЕОМ або адреси
наступної команди при виконанні команд переходу. Для того, щоби отримати можливість використовувати дані з
пам'яті в обчислювальних операціях, необхідно однозначно вказати процесору їхнє розташування. В фон-
нейманівських машинах кожна комірка пам'яті має власну адресу й проблема визначення місця розташування
потрібних даних зводиться до визначення цієї адреси. В перших ЕОМ адреса або номер комірки необхідно було
вказувати явно, і такий метод адресації виявлявся дуже незручним. Труднощі в алгоритмізації різних задач, де
була потрібна автоматизація процесу визначення адреси, стали причиною введення згодом широкого спектру
методів адресації. Кожний з них фактично пропонує певну формулу для обчислення ефективної (тобто фактичної)
адреси, зручну в тій або іншій ситуації. Пік винахідництва в цій області припав на час панування CISC-архітектур
«регістр-пам'ять», які дозволяли безпосередньо використовувати в якості одного з операндів комірку
пам'яті. RISC-архітектури типу «регістр-регістр», в яких доступ до пам'яті регламентується значно більш жорстко,
мають у порівнянні з CISC, дуже скромний набір методів адресації, і у найбільш радикальних представниках цієї
ідеології зведений до єдиного. Реєстрова адресація. Команди, які використовують цей режим адресації, найбільш
компактні й виконуються швидше від інших типів команд, оскільки не потрібно звертатися до пам’яті (операнд
перебуває в регістрі). Наприклад:
XOR АН, АН ;очистити старший байт АХ
INC DX ;збільшити вміст DX на 1
Безпосередня адресація IMED. У цьому випадку операнд є частиною самої команди і, отже, не потребує
звернення до пам’яті під час виконання команди, оскільки він утримується вже в черзі команд. Такий спосіб
задання операнда дуже зручний для визначення початкових значень і констант. Наприклад:
Tab EQU 9 ;визначити константу символьним іменем
CMP AL, Tab ;порівняти вміст AL зі значенням константи 9
MOV DL,’D’ ;записати в DL ASCII-код букви D
ADD ВХ, 2000 ;додати до вмісту ВХ константу 2000
MOV DX, OFFSET MSGERR ;завантажити в DX адреси ділянок пам’яті
; з іменем MSG_ERR
TEST AL, OFOH ;перевірити старший півбайт AL
Пряма адресація (EA=DISP). Цей спосіб найбільш природний, оскільки операнд вказується символьним
іменем, для оброблення якого в команді міститься адресне зміщення позначеної цим символьним іменем комірки
пам’яті. За замовчуванням операнд передбачається в сегменті даних (DS), однак за допомогою префікса зміни
сегмента можна вказати будь-який інший сегмент (CS, SS, ES). Цей режим адресації використовується для
доступу до окремих байтів або слів у пам’яті. Наприклад: MOV СХ, Count ;завантажити в СХ уміст комірки
;пам’яті, позначеної в сегменті даних ім’ям Count
MOV AL, CS:Nxt_Byte ;завантажити в АХ уміст комірки
; пам’яті, позначеної в сегменті кодів
; символьним іменем Nxt_Byte
Непряма адресація (EA=BASE або INDEX). За цього режиму адресації виконавча адреса ЕА визначається
вмістом зазначеного в команді регістра ВХ, SI або DI . (Увага: базовий регістр ВР не допускається!). Цей режим
адресації ефективний для оброблення послідовностей з байтів або слів у пам’яті, при цьому вміст регістра (ВХ, SI або
DI) B, змінюючись у програмі, визначає адреси поточного елемента послідовності. За замовчуванням операнд
передбачається в сегменті даних (DS), однак за допомогою префікса заміни сегмента можна вказати будь-який інший
сегмент (СХ, SS, ES). Наприклад: DEC BYTE PTR [ВХ] ;декрементувати байт, зміщення якого в
;поточному сегменті даних задано вмістом ВХ
MOV DX, SS: [Si] ;записати в DX слово, на яке в поточному
;сегменті стека вказує SI
CMP WORD PTR ES:[DI], 0 ;перевірити на нуль уміст слова,
; на яке в поточному додатковому сегменті вказує DI

11
Відносна непряма адресація (EA=BASE + DISP або INDEX + DISP). У цьому випадку виконавча адреса
визначається як сума вмісту регістра бази або регістра індексу зі зміщенням, що задається константою чи
символьним іменем. Цей режим зручний для доступу до окремих елементів у середині масивів, таблиць, вікон та
інших, крім того, символьне ім’я, якщо воно використовується, визначає початок масиву або таблиць, а вміст
регістрів задає зміщення. За замовчуванням для базового регістра ВХ операнд передбачається в сегменті даних (DS), однак за
допомогою префікса заміни сегмента можна вказати будь-який інший сегмент (CS, SS, ES). Якщо ж використовується
базовий регістр ВР, то операнд за замовчуванням передбачається в стековому сегменті (SS), але в разі потреби його
можна замінити на будь-який інший сегмент (CS, DS, ES). Наприклад:
MOV [ВР+10], 0 ;обнулити п’яте слово в стеку,
;якщо припустити, що BP = SP
MOV DX, СХ[ВХ]+10Н ;взяти на DX восьме слово з масиву, початок
;якого визначено вмістом ВХ у кодовому сегменті
MOV Stribg[SI], AL ;записати вміст AL у масив байтів
;на позицію, рівну вмісту SI, рахуючи
;від початку масиву String у сегменті даних
Базово-індексна адресація (EA = BASE + INDEX). Виконавчий індекс при цьому режимі адресації виходить у
результаті підсумовування вмісту зазначених у команді базового й індексного регістрів. Зазвичай за такої адресації
вміст базового регістра вказує на початок деякої ділянки пам’яті, а вміст індексного регістра, змінюючись у
програмі, ідентифікує окремі елементи або частини цієї ділянки. За замовчуванням для базового регістра ВХ
операнд передбачається в сегменті даних (DS), однак за допомогою префікса заміни сегмента можна вказати будь-
який інший сегмент (CS, SS, ES). Якщо ж використовується базовий регістр ВР, то операнд за замовчуванням
передбачається у стековому сегменті (SS), але в разі потреби його можна замінити на будь-який інший сегмент (СХ, DS,
ES). Наприклад: MOV AX, [BX][SI] ;взяти в акумулятор слово з масиву
;у поточному сегменті даних (ВХ = база,
; SI = зміщення)
CMP AX, ES:[BP][SI] ;і порівняти його зі словом у тій же позиції
;масиву в додатковому сегменті даних (ВР = база)
Відносна базово-iндексна адресація (ЕА=BASE+INDEX+DISP). Цей режим адресації найскладніший,
хоча б тому, що у створенні виконавчої адреси беруть участь три компоненти: база, індекс і зміщення. Ефективно
такий режим адресації можна застосовувати, наприклад, для опрацювання таблиць, коли символічним іменем
задається початок таблиці, базовим регістром - початок поля в таблиці, а індексним регістром - окремий елемент
або ділянка в цьому полі. Якщо ж зміщення задано константою, то зазвичай базовий регістр вказує на початок деякої
ділянки пам’яті, індексний регістр - на окремий елемент або частину цієї ділянки, а константа визначає зміщення від
цього елемента або ділянки. За замовчуванням для базового регістра ВХ операнд передбачається в сегменті даних
(DS), однак за допомогою префікса заміни сегмента можна вказати будь-який інший сегмент (CS, SS, ES). Якщо ж
використовується базовий регістр ВР, то операнд за замовчуванням передбачається в стековому сегменті (SS), але
в разі потреби його можна замінити на будь-який інший сегмент (CS, DS, ES). Наприклад:
MOV AX, Data_Table[BX][SI] ;взяти з АХ слово з таблиці,
;визначеної в сегменті даних під
;іменем Data_Table, зміщення слова = = ВХ+SI
CMP ES:Extra_Table[BX][SI], AX ;і порівняти його з елементом у такій самій
;позиції таблиці, яку визначено в
;додатковому сегменті під іменем
;Extra_Table
Адресація стекових операцій. У командах стекових операцій один з операндів може бути в регістрі або в
пам’яті, що задається відповідно до розглянутих вище режимів адресації, а другий операнд завжди перебуває у
стековій пам’яті, яка задається логічною адресою SS:SP, що завжди неявно визначено самою командою стекової
операції. Під час виконання цих команд автоматично змінюється вказівник стека :SP = SP?2 (для команди PUSH
занесення у стек) або SP = SP+2 (для команди POP зчитування зі стека). Унаслідок цього вказівник стека SP
завжди вказує на верхівку стека. Як вказівник елементів стека можна використати й регістр ВР, що дозволяє
12
обробляти їх не за принципом «LIFO -останнім надійшов першим пішов», прямим доступом до потрібного
елемента. Наприклад: PUSH DS ;зберегти в стеку DS
POP CS:DS_Save ;прочитати елемент із верхівки стека
;у змінну DS_Save кодового сегмента
Адресація рядкових даних. У командах оброблення рядкових даних не використовується жоден з
наведених вище режимів адресації. Під час виконання цих команд неявно визначається, що виконавча адреса
операнда-джерела утримується в регістрі SI, а операнд-приймач - у регістрі DI. Причому операнд-приймач завжди
передбачається в додатковому сегменті (ES) і не допускається його перевизначення за допомогою префікса заміни сегмента.
Операнд-джерело за замовчуванням передбачається в поточномусегменті даних, однак у разі потреби його можна
перепризначити на будь-який інший сегмент (CS, ES, SS), використовуючи префікс заміни сегмента. Команди
опрацювання рядкових даних призначені для того, щоб за один раз можна було обробити відразу багато байтів
(або слів), тому в процесі їх виконання відбувається автоматична зміна (збільшення або зменшення) вмісту регістрів-
вказівників SI й (або) DI. У разі використання префікса повторення автоматично змінюється і вміст регістра-
лічильника СХ. Слід зазначити, що, оскільки адресацію в цих командах визначено неявно, вони мають довжину тільки
один байт. Наприклад: REPE CMPSB ;порівняти два ланцюжки байтів (SI й DI вказують
;на порівнювані байти), поки не вичерпається лічильник
;або поки не виявиться розбіжність байтів в операндах
LODSW ;взяти слово із джерела в сегменті даних (SI = адреса слова)
STOSW ;і записати в приймач, розміщений
; у додатковому сегменті (DI = адреса слова)
Слід розрізняти поняття адресний код в команді Ак і виконавська адреса Аї. Адресний код - це інформація про
адресу операнда, що міститься в команді. Виконавська адреса - це номер елементу пам'яті, до якої проводиться
фактичне звернення. У сучасних ЕОМ, адресний код, як правило, не співпадає з виконавською адресою. Вибір
способів адресації, формування виконавської адреси і перетворення адрес є одним з найважливіших питань
розробки ЕОМ. Розглянемо способи адресації, використовувані в сучасних ЕОМ. Операнд, що мається на увазі. У
команді не міститься явні вказівки про адресу операнда; операнд мається на увазі і фактично задається кодом
операції, команди. Даний спосіб використовується не часто, проте є декілька важливих випадків його
застосування. Як приклад можна привести команди підрахунку, в яких деякому числу (вмісту лічильника)
додається фіксований приріст, частіше одиниця молодшого розряду. Один з операндів - число в лічильнику -
зазвичай адресується явним методом, другий операнд - приріст – не адресується, в пам'яті машина не міститься і є
таким, що мається на увазі. Адреса, що мається на увазі. У команді не міститься явні вказівки про адресу
операнда, що бере участь в операції, або адреси, по якій поміщається результат операції, але ця адреса мається на
увазі. Наприклад, команда може містити адреси обох операндів що беруть участь в операції, при цьому мається на
увазі, що результат операції поміщається за адресою одного з операндів, або команда указує тільки адресу одного
операнда, а адреса другого, яким є вміст спеціального регістра (званого регістром результату або акумулятором),
мається на увазі. Безпосередня адресація. У команді міститься не адреса операнда, а безпосередньо сам операнд.
При безпосередній адресації не вимагається звернення до пам'яті для вибірки операнда і осередку для його
зберігання. Це сприяє зменшенню часу виконання програми і займаного нею об'єму пам'яті. Безпосередня
адресація зручна для зберігання різного роду констант; протее слід мати на увазі, що при цьому способі адресації
довжина операнда коротша за коду команди, оскільки частина розрядів команди зайнята під код операції. Пряма
адресація. Виконавська адреса співпадає з адресною частиною команди. Цей спосіб адресації був
загальноприйнятим по-перше обчислювальних машинах і продовжує застосовуватися в даний час в комбінації з
іншими способами. У вказаній формі безпосередня адресація реалізується в ЕОМ з порівняно довгим машинним
словом (32 розряди і більш). Відносна адресація або базування. Виконавська адреса визначається сумою адресної
коди команди Ак і деякого числа Аб, званого базовою адресою: Аї = Ак+ Аб.
Для зберігання базових адрес в машині можуть бути передбачені регістри або спеціально виділені для цієї мети
елементи пам'яті (базові регістри). У команді виділяється поле В для вказівки номера базового регістра.__
Відносна адресація дозволяє при меншій довжині адресної коди команди забезпечити доступ до будь-якого
елементу пам'яті. Для цього число розрядів в базовій адресі вибирають таким, щоб можна було адресувати будь-
який осередок ОП, а адресний код Ак самої команди використовують для уявлення лише порівняно короткого
«зсуву» (позначають буквою D). Зсув D визначає положення операнда відносно початки масиву, що задається
базовою адресою Аб. Відносна адресація забезпечує так звану переміщуваність програм, тобто можливість
пересування програм в пам'яті без змін усередині самої програми. Укорочена адресація. Для зменшення довжини
коди команди часто застосовується так звана укорочена адресація. Суть її зводиться до того, що в команді
задаються тільки молодші розряди адрес, старші розряди при цьому маються на увазі нульовими. Така адресація
дозволяє використовувати тільки невелику групу фіксованих осередків з початковими (короткими) адресами і

13
тому може застосовуватися лише спільно з іншими способами адресації. Регістрова адресація - є окремий
випадок укороченим, коли як фіксовані осередки з короткими адресами використовуються регістри (елементи
надоперативної або місцевої пам'яті) процесора. Наприклад, якщо таких регістрів 16, то для адреси досить чотири
двійкові розряди. Регістрова адресація разом з скороченням довжини адрес операндів дозволяє збільшити
швидкість виконання операцій, оскільки зменшується число звернень до ОП. Непряма адресація. Адресний код
команди указує адреса елементупам'яті, в якій знаходиться адреса операнда або команди. Таким чином, непряма
адресація може бути інакше визначена як «адресація адреси». На непряму адресацію указує код операції команди,
а в деяких ЕОМ в команді відводиться спеціальний розряд (покажчик адресації - УА), і цифра 0 або 1 в нім
указує, є адресна частина команди прямою адресою або непрямим. У деяких ЕОМ використовується
багатоступінчата непряма адресація. В цьому випадку елементи пам'яті містять також розряд-покажчик непрямої
адресації (УА). Якщо цей розряд указує на продовження непрямої адресації, то машина послідовно вибирає з
пам'яті адреси до тих пір, поки не буде знайдений осередок, в якому розряд-покажчик визначить пряму адресацію.
Адреса з цього останнього осередку і є шуканою виконавською адресою. Автоінкрементна і автодекрементна
адресації. Оскільки регістрова непряма адресація вимагає попереднього завантаження регістра з ОП непрямою
адресою, що пов'язане з втратою часу, такий тип адресації особливо ефективний при обробці масиву даних, якщо
є механізм автоматичного приросту або зменшення вмісту регістра при кожному зверненні до нього, званий
відповідно автоінкрементною і автодекрементною адресацією. В цьому випадку достатньо 1 раз завантажити в
регістр адресу першого оброблюваного елементу масиву, а потім при кожному зверненні до регістра в нім в
результаті інкрементної (декрементом) процедури формується адреса наступного елементу масиву. При
автоінкрементній адресації по вмісту регістра спочатку вміст регістра використовується як адреса операнда, а
потім отримує приріст, рівний числу байт в елементі масиву. При автодекрементній адресації спочатку вміст
вказаного в команді регістра зменшується на число, рівне числу байт в елементі масиву, а потім використовується
як адреса операнда. Автоінкрементна і автодекрементна адресації можуть розглядатися як спрощений варіант
індексації - вельми важливого механізму перетворення адресних частин команд і організації обчислювальних
циклів, тому їх часто називають автоіндексацією. Адресація слів змінної довжини. Ефективність обчислювальних
систем, призначених для обробки даних (економічних, планових і ін.), підвищується, якщо є можливість
виконувати операції із словами змінної довжини. В цьому випадку в машині повинна бути передбачена адресація
слів змінної довжини, яка зазвичай реалізується шляхом вказівки в команді місцеположення в пам'яті почала
слова і його довжини. Зазвичай в ЕОМ одночасно використовується декілька типів адресації. Тип адресації
указується або неявно кодом операції, або в явній формі із спеціальному полі адресної частини команди

14
10. Операційні пристрої. Арифметико-логічний пристрій з фіксованою крапкою. Співпроцесор.
ОПЕРАЦІЙНА СИСТЕМА ЕОМ — комплекс програм, який постійно знаходиться в пам’яті ЕОМ і організовує
керування пристроями машини та її взаємодію з користувачами. В О.с. зазвичай містяться такі програми:
1) стартова програма, що вико нує запуск ЕОМ та її самоконтроль; 2) контро лери зовнішніх пристроїв,
які керують їх робо тою; 3) диспетчер, який визначає послідовність виконання програм, яку також називають
супервізор; 4) редактори роботи зі структурними об’єктами; 5) завантажувач для введення програм в оперативну
пам’ять; 6) файлова система, яка керує інформацією, що знаходиться в зовнішній пам’яті; 7) адміністративна
система, що веде облік роботи і витрати ресурсів робочого часу процесора та пам’яті, яка використовується;
8) базове програмне забезпечення, що включає системи програмування та системи керування базами даних. О.с.
пок ликана максимально полегшити користувачеві роботу з комп’ютером, тому її доповнює низка системних
утилітів. Арифметико-логічні пристрої (АЛУ) служать для виконання арифметичних і логічних перетворень над
словами, званими в цьому випадку операндами.
Виконувані в АЛУ операції можна розділити на наступні групи:
• операції двійкової арифметики для чисел з фіксованою крапкою;
• операції двійкової (або шістнадцятирічною) арифметики для чисел з
плаваючою крапкою;
• операції десяткової арифметики;
• операції індексної арифметики (при модифікації адрес команд);
• операції спеціальної арифметики;
• операції над логічними кодами (логічні операції);
• операції над алфавітно-цифровими полями.
До арифметичних операцій відносяться складання, віднімання, віднімання модулів («короткі операції») і
множення і ділення («довгі операції»). Групу логічних, операцій складають операції диз'юнкція (логічне АБО) і
кон'юнкція (логічне І) над багато розрядними двійковими словами, порівняння код на рівність. Спеціальні
арифметичні операції включають нормалізацію, арифметичне зрушення (зрушуються тільки цифрові розряди,
знаковий розряд залишається на місці), логічне зрушення (знаковий розряд зрушується разом з цифровими
розрядами). Обширна група операцій редагування алфавітно-цифрової інформації. Можна привести наступну
класифікацію АЛУ. За способом дії над операндами АЛУ діляться: на послідовних і паралельних. У послідовних
АЛУ операнди представляються в послідовному коді, а операції проводяться послідовно в часі над їх окремими
розрядами. У паралельних АЛУ операнди представляються паралельним кодом і операції здійснюються
паралельно в часі над всіма розрядами операндів. За способом представлення чисел розрізняють АЛУ: 1) для
чисел з фіксованою крапкою; 2)для чисел з плаваючою крапкою; 3) для десяткових чисел. По характеру
використання елементів і вузлів АЛУ діляться: на блокових і багатофункціональних. У блоковому АЛУ операції
над числами з фіксованою і плаваючою крапкою, десятковими числами і алфавітно-цифровими полями
виконуються в окремих блоках, при цьому підвищується швидкість роботи, оскільки блоки можуть паралельно
виконувати відповідні операції, але значно зростають витрати устаткування. У багатофункціональних АЛУ
операції для всіх форм представлення чисел виконуються одними і тими ж схемами, які комутуються потрібним
чином залежно від необхідного режиму роботи. По своїх функціях АЛУ є операційним блоком, що виконує
мікрооперації, що забезпечують прийом з інших пристроїв (наприклад, пам'яті) операндів, їх перетворення і
видачу результатів перетворення в інші пристрої. Процес перетворення операндів в АЛУ управляється блоком,
що управляє, генерує сигнали, що управляють, ініціюють виконання в АЛУ певних мікрооперацій. Що
генерується блоком, що управляє, послідовність сигналів визначається кодом операції команди і оповіщаючими
сигналами. Структура АЛУ для складання і віднімання чисел з фіксованою крапкою Зазвичай в АЛУ операція
складання алгебри зводиться до арифметичного складання код чисел шляхом застосування інверсних кодів -
додаткового або зворотного для представлення чисел. Алгоритми виконання в АЛУ арифметичних операцій
залежать від того, в якому вигляді зберігаються в пам'яті ЕОМ числа - в прямому або додатковому. У останньому
випадку скорочується час виконання операції за рахунок виключення операції перетворення отримуваного в АЛУ
додаткового коду негативного результату в прямий код, хоча при цьому декілька ускладнюється операція
множення. Передбачається, що числа зберігаються в пам'яті в додатковому коді. До складу АЛУ входять:
• n-розрядний паралельний комбінаційний суматор См;
• регістр суматора Ргсм;
• вхідні регістри суматора РГВ і РГА;
• вхідний регістр АЛУ Рг1.
Пристрою для виконання логічних операцій
До складу операцій, ЕОМ, що реалізовуються, входять наступні:
• порозрядні логічні операції;
• підсумовування по модулю 2;
15
• логічне множення І;
• логічне складання АБО.
Співпроцесор- спеціальна інтегральна схема, яка працює у співдружності з головним процесором. Зазвичай
Співпроцесор налаштовується виконання який-небудь специфи ческие функції - математичної операції чи
графічного уявлення. І це операцію сопроцесссор може реализо вать в багато разів швидше, ніж головний
процесор. Таким про разом компьютеp з співпроцесором працює набагато проворнее.
Співпроцесор - це звичайне мікропроцесор, але з настільки універсальний. Зазвичай співпроцесор розробляється
як спе циальное пристрій щодо реалізації конкретно певної функції. Так репертуар співпроцесора обмежений,
може ре ализовывать виділені йому функції як про другой. Як людина інший микpопpоцессоp, співпроцесор
робота ет за тими самими принципам. Він просто виконує програми з які тримають послідовність
микpопpоцессоpных команд. Соп роцессор не тримає під керівництвом основну масу ланцюгів компьютеpа. У
звичайному режимі микpопpоцессоp виконує всі функції компьютеpа. І лиш, коли зустрічається завдання з якою
краще впорається співпроцесор, йому передаються дані і команди уп равления, а центральний процесор очікує
результаты. Сопроцессоры, здебільшого які використовуються в PC, яв ляются математичними сопроцессорами.
У математиці вони спеціалізуються по множенню і діленню чисел.Математичні сопроцессоры називають ще
процесорами з плаваючою коми, оскільки вони яскраво виявляють свої можливості у цій галузі
математики. Числа з плаваю щей коми часто використовують у наукових розрахунках і видаються, зазвичай,
мантиссой і ординатой.Перевага, одержуване від установки математичного співпроцесора, залежить від того які
завдання вирішуються за комп'ютером. Відповідно до твердження Intel співпроцесор може зменшити час
виконання математичних операцій, як-от
умножение,деление, спорудження до рівня на 80% і более.Швидкість виконання простих операцій, як-от
складання і віднімання практично не уменьшается.З практичного погляду, продуктивність систе ми, що
стосується підготовки
текстів та проведення бази даних - функцій , які потребують складних математичних розрахунків, може бути
поліпшено математичним сопроцессором. Співпроцесор та головний мікропроцесор можуть працювати різними
тактових частотах
(від власних тактових генерато ров).

16
11. Управляючі пристрої. Принцип мікропрограмного управління.
Принцип мікро програмного управління запропонований у 1951 році професором математичної лабораторії
Кембриджського університету Уілксом М. Мікрооперація уявляє собою елементарне перетворення операндів
(наприклад, передача операнда між регістрами, багато розрядна логічна операція, операція додавання)
Мікрокоманду складають декілька чи навіть одна мікрооперація, які виконуються всіма Блоками процесора
протягом такту.Код мікрокоманди - це двійкова комбінація, яка у той чи інший спосіб вказує перелік блоків
процесора, котрі ініціюються у даному тактові, а також наступну мікро команду.Мікропрограма уявляє собою
упорядковану послідовність мікрокоманд, призначену для реалізації алгоритму виконання певної машинної
операції з системи команд ЕОМ. На відміну від раніш відомого апаратного принципу управління, який оснований
на ініціюванні відповідних логічних схем процесора, з метою реалізації потрібної машинної команди, шляхом
формування у певних тактах одиничних значень сигналів керування, мікропрограмний спосіб управління полягає
у безпосередньому прочитування зі спеціального ПЗП текстів мікропрограм, причому коди мікрокоманд у явний
спосіб вказують блоки процесора, які слід ініціювати і даному тактові. Переваги мікропрограмного способу
управління полягають у тому, що: а) спрощується розробка процесора й збільшується ступінь регулярності його
структури; б) спеціалізовані та проблемно-орієнтовані процесори реалізуються шляхом модифікації системи
команд стандартного універсального процесора; в) підвищується ефективність системного та прикладного
програмного забезпечення завдяки мікропрограмній реалізації часто використовуваних мікропрограм і окремих
стандартних функцій. Розвиток мікроелектронної бази запам'ятовуючих пристроїв дозволило створити пам'ять,
параметри якої суттєво знизили вплив мікропрограммірованія на продуктивність процесора і ЕОМ в цілому.
Розвиток методів паралельної обробки даних та паралельного програмування показало, що складні алгоритми
можуть бути ефективно реалізовані за мікропрограмного керування, що зумовило застосування принципів
мікропрограмного управління в ЕОМ високої продуктивності. Мікропрограмних принцип управління забезпечує
реалізацію однієї машинної команди шляхом виконання мікрокоманд, записаних в постійній пам'яті Мікрокоманд
містить інформацію про мікрооперації, що виконується протягом одного машинного такту, а також інформацію
про формування адреси черговий мікрокоманд. Реалізація принципу мікропрограмного управління передбачає
примусову вибірку мікрокоманд. Принцип мікропрограмного управління передбачає можливість зберігання
мікропрограм системи команд ЕОМ в ЗУ того чи іншого типу, що скорочує апаратний склад ЦУУ. Крім того це
дозволяє оперативно змінювати систему команд конкретної ЕОМ при вирішенні певного класу задач. Загальні
принципи побудови та функціонування універсальних МП: 1. Всі МП працюють у двійковій системі числення. 2.
Будь-який МП складається з двох основних частин: пристрою управління та АЛП. 3. АЛП універсального МП
будується на основі багаторозрядного суматора; операція додавання чисел із знаками - основна операція, що
виконує АЛП. Додавання чисел із знаками звичайно виконується з використанням додаткового коду. 4.
Обчислювальний процес організовується на основі принципу мікропрограмного управління. Будь-який МП має у
своєму складі набір регістрів різного призначення, частина яких доступна для дій, обумовлених безпосередньо
програмістом - збереження операндів, виконання дій над ними і формування адрес і операндів у пам'яті. Ці
регістри називаються регістрами загального призначення. Інша частина регістрів використовується процесором
для службових (системних) цілей, доступ до них може бути обмежений. Є навіть програмно-невидимі регістри.
Поняття архітектури МП визначає його складові частини, звязки та взаємодію між ними. Архітектура містить: 1)
структурну схему МП; 2) програмну модель МП (опис функцій регістрів); 3) організацію памяті (ємність памяті
та способи її адресації); 4) опис організації процедур введення-виведення. Але, як правило, говорячи
про архітектуру МП, звичайно мають на увазі його програмну модель, тобто програмно-видимі властивості.
Під мікроархітектурою МП розуміють внутрішню реалізацію цієї програмної моделі. Тобто, процесори, що
мають ті самі програмно-видимі властивості (архітектуру), можуть істотно розрізнятися мікроархітектурними
реалізаціями цих властивостей, оскільки розроблювачі МП безупинно прагнуть до максимального підвищення
продуктивності, тобто швидкості виконання програм. Спрощена схема мікропроцесора, зображена на рис. 2,
містить у собі наступні складові частини: - арифметико-логічний пристрій, - пристрій керування, - блок
декодування команд, - блок внутрішніх регістрів МП, - пристрій шинного інтерфейсу, що включає в себе блок
випереджальної вибірки, - роздільні блоки буферної пам'яті (кеш-пам'яті) команд і даних. АЛП - це комбінаційна
схема на основі суматора, який сигналами з виходів пристрою керування налагоджується на виконання певної
арифметичної або логічної операції над операндами, які пересилаються з памяті або регістрів МП. Пристрій
керування відповідно до кодів команд та зовнішніх керуючих сигналів і сигналів синхронізації виробляє сигнали
управління для всіх блоків МП. Внутрішні регістри призначенні для зберігання проміжних результатів
обчислень. У складі внутрішніх регістрів виділяється акумулятор - регістр у якому зберігається один з операндів.
Після виконання команди в акумуляторі замість операнда розміщується результат операції. Блок декодування
команд формує сигнали для пристрою керування згідно з дешифрованим кодом команди. Блок випереджальної
вибірки самостійно ініціює випереджаючу вибірку кодів команд з памяті у чергу команд. Кеш команд (даних) -
буферна статична память, звернення до якої відбувається на частоті функціонування процесора.
17
12. Пристрої управління пам’яттю. Сегментна організація пам’яті. Сторінкова організація пам’яті.
Пам’яттю ЕОМ називається сукупність пристроїв, що слугують для запам'ятовування, зберігання і видачі
нформації. Окремі пристрої, що входять в цю сукупність, називають пристроями, що запам'ятовують, або
пам’ятями того або іншого типу. Обидва ці терміну в даний час стали майже синонімами. Проте, термін
«пристрій» (ЗУ), що запам'ятовує, зазвичай вживають, коли мова йде про принципи побудови деякого пристрою
пам'яті (наприклад, напівпровідникові ЗУ, ЗУ на магнітних дисках і так далі), а термін «пам'ять» - коли хочуть
підкреслити виконувану пристроєм пам'яті логічну функцію або місце розташування в складі устаткування ЕОМ
(наприклад, оперативна пам'ять, зовнішня пам'ять і так далі). Продуктивність і обчислювальні можливості ЕОМ в
значній мірі визначаються складом і характеристиками її ЗУ. У складі ЕОМ використовується одночасно декілька
типів ЗУ (декілька типів пам’ятей), що відрізняються принципом дії, характеристиками і призначенням.
Основними операціями в пам'яті в загальному випадку є занесення інформації в пам'ять - запис і вибірка
інформації з пам'яті - зчитування. Обидві ці операції називаються зверненням до пам'яті, або, докладніше,
зверненням при зчитуванні і зверненням при записі. При зверненні до пам'яті проводиться зчитування або запис
деякої одиниці даних - різною для пристроїв різного типу. Такою одиницею може бути, наприклад, байт, машинне
слово або блок даних. Найважливішими характеристиками окремих пристроїв пам'яті (пристроїв, що
запам'ятовують) є ємність пам'яті, питома ємність, швидкодія. Ємність пам'яті визначається максимальною
кількістю даних, які можуть в ній зберігатися. Ємність вимірюється в двійкових одиницях (бітах), машинних
словах, але переважно в байтах (1 байт = 8 біт), при цьому часто ємність пам'яті виражають через число Кбіт
(кілобіт), Кслів (кілослів) або Кбайт (кілобайт), при цьому 1024 Кбайт позначають як 1 Мбайт (мегабайт). Питома
ємність є відношення ємності ЗУ до його фізичного об'єму. Швидкодія пам'яті визначається тривалістю операції
звернення, тобто часом, що витрачається на пошук потрібної одиниці інформації в пам'яті і на її зчитування (час
звернення при зчитуванні), або часом на пошук місця в пам'яті, що призначається для зберігання даної одиниці
інформації, і на її запис в пам'ять (час звернення при записі). За способом організації доступу розрізняють
пристрої пам'яті з безпосереднім (довільним), з прямим (циклічним) і послідовним доступами. Оперативною або
основною пам'яттю (ОП) називають пристрій, який служить для зберігання інформації (даних програм,
проміжних і кінцевих результатів обробки), безпосередньо використовуваної в процесі виконання операцій в
арифметико-логічному пристрої і пристрої управління процесора. В процесі обробки інформації здійснюється
тісна взаємодія процесора і ОП. З ОП в процесор поступають команди програми і операнди, над якими
проводяться передбачені командою операції, а з процесора в ОП прямують для зберігання проміжні і кінцеві
результати обробки. Пристрій будь-якого типу, що запам'ятовує, складається з масиву, що запам'ятовує, зберігає
інформацію, і блоків, службовців для пошуку в масиві, записи і зчитування (а у ряді випадків і для регенерації)
інформації. Одна ділянка може цілком заповнитися, але при цьому залишаться вільні ділянки. Можна звичайно
переміщати ділянки, але це дуже складно. Ці проблеми можна вирішити, якщо дати кожній ділянці незалежний
адресний простір, називана сегментом. Кожен сегмент може чи рости зменшуватися незалежно від інших.
Сегмент - це логічний об'єкт. У цьому випадку адреса має двох частин: 1) номер сегмента, 2) адреса в сегменті, 3)
Переваги сегментації: 1) Сегменти не заважають один одному. 2) Початкова адреса процедури завжди
починається з (n,0). Що спрощує програмування. 3) Полегшує спільне використання процедур і даних. Роздільний
захист кожного сегмента (читання, запис).
Основна думка зводиться до формування таблиць описання пам'яті, які визначають стан її окремих
сегментів/сторінок тощо. У разі нестачі пам'яті операційна система може відвантажити частину даних з
оперативної пам'яті на диск, а до таблиці описів внести зазначення на відсутність цих даних у пам'яті. При спробі
звернення до відсутніх даних процесор сформує виключення (різновид переривання) і віддасть управління
операційній системі, яка поверне дані до пам'яті, а потім поверне управління програмі. Таким чином для програм
процес підкачки даних з дисків відбувається непомітно.

18
13. Кеш–пам’ять.
Обмін даними всередині процесора відбувається набагато швидше ніж обмін даними між процесором і
оперативною пам'яттю. Тому, для того щоб зменшити кількість звертань до оперативної пам'яті, всередині
процесора створюють так звану надоперативну або кеш-пам'ять. Коли процесору потрібні дані, він спочатку
звертається до кеш-пам'яті, і тільки якщо там потрібні дані відсутні, відбувається звертання до оперативної
пам'яті. Чим більший розмір кеш-пам'яті, тим більша ймовірність, що необхідні дані знаходяться там. Тому
високопродуктивні процесори оснащуються підвищеними обсягами кеш-пам'яті. Розрізняють кеш-пам'ять
першого рівня (виконується на одному кристалі з процесором і має об'єм порядку декілька десятків Кбайт),
другого рівня (виконується на окремому кристалі, але в межах процесора, з об'ємом в сто і більше Кбайт) та
третього рівня (виконується на окремих швидкодійних мікросхемах із розташуванням на материнській платі і має
обсяг один і більше Мбайт)
Кеш (Cache) — спеціальний вид пам'яті або частина ОЗП, де зберігаються копії часто використовуваних даних.
Забезпечує до них швидкий доступ. Кеш пам'яті зберігає вміст і адресу ділянки ОЗП, до якої часто
звертається процесор. При звертанні процесора до адреси пам'яті, кеш перевіряє наявність у себе цієї адреси.
Якщо він її знаходить, обмін даними виконується між процесором і кешем; якщо ні — між процесором і ОЗП.
Кеш ефективний, коли швидкість роботи пам'яті менша за швидкість роботи процесора.
Кеш — це швидка буферна пам'ять невеликої місткості, що розташована поміж процесором і основною пам'яттю.
Кеш працює на повній швидкості процесора і не пригальмовує його роботу. Кеш (cache в перекладі з англ. —
тайник) лишається прозорим для програміста, тому що система інструкцій процесора, як правило, не містить
команд роботи з кешем. При поясненні роботи кеша можна прийняти, що процесор також не «бачить» кеш і
генерує адреси пам'яті так, ніби кеша немає. Проте кеш, як правило, існує, і на апаратному рівні перехоплює
сигнали процесора читання/запис, а коли треба, то надає процесору швидкі копії інформаційних кодів, які
тимчасово зберігає у власній робочій пам'яті. Якщо кеш спроможний підмінити собою пам'ять (у понад 96-98
відсотків випадків), тоді він за рахунок власних ресурсів задовольняє запит процесора. Процесор не
пригальмовується і залишається працювати на повній швидкості. Коли «підміна» пам'яті неможлива (менше від
двох-чотирьох відсотків випадків), тоді кеш залучає до роботипам'ять, обмін з якою суттєво
пригальмовує процесор.
Усі завдання, пов'язані з перехопленням запитів від процесора на роботу із пам'яттю, вирішує частина апаратури
кешу під назвою контролер кешу. Друга частина апаратури кешу містить невелику робочу пам'ять, де зберігають
вміст копій комірок головної пам'яті, що брали участь в обслуговуванні останніх, тобто «найсвіжіших»
запитів процесора. Важливо, що вміст комірок головної пам'яті копіюється до пам'яті кешу разом зі своїми
адресами. Саме ці копійовані адреси і дозволяють контролеру кешу приймати рішення про спроможність
буферної пам'яті задовольнити конкретний процесорний запит без залучення до обміну повільної
головної пам'яті.

19
14. Системні шини. Зовнішні пристрої. Системна шина представляє з себе сукупність сигнальних ліній,
об'єднаних з їхньої призначенню (дані, адреси, управление). Основний функцією системної шини є передача
інформації між базовим мікропроцесором і іншими електронними компонентами комп'ютера. З цієї шині як і
здійснюється як передача інформації, а й адресація пристроїв, і навіть обмін спеціальними службовими
сигналами. Все сучасні комп'ютери мають комбінованими системними шинами, наприклад, ISA (Industry Standart
Architecture - стандартна промислова архітектура) і PCI чи EISA (Extanded Industry Standart Architecture) і PCI
(Peripheral Component Interconnect). Один із шин називається первинної системної (EISA, ISA), іншу (PCI)
вторинної системной. Системну шину умовно можна розділити на шину даних, адресну і шину управління. Якщо
найважливішої характеристикою двох перших шин є розрядність, то стосовно третьої говорять про кількості ліній
апаратних переривань IRQи ліній вимоги зовнішніми пристроями прямого доступу до пам'яті DMA. Передачею
інформації з системної шині управляє одна з подключённых пристроїв, чи спеціально виділений при цьому вузол,
званий арбітром шини. У комп'ютерах використовують системні шини, відповідні модифікаціям ISA із частотою
8,33 МГц і EISA із частотою 33 МГц, а як і шина PCI із частотою 66 Мгц. Архітектура системної шини тій чи
іншій моделі системної плати залежить від виробника і визначається типом платформи ПК (типом центрального
процесора), застосовуваним набором мікросхем chipset і пишатися кількістю і розрядністю периферійних
пристроїв, подключаемых до цієї системної платі. Так системні шини платформи Pentium, тобто. PCI
забезпечують обмін центрального процесора з оперативної пам'яттю 64-разрядами даних, у своїй адресація даних
здійснюється 32-разрядным адресою. З периферійними пристроями шина ISA підтримує обмін 16-разрядным
кодом даних, і 16-разрядным адресним кодом даних, шина EISA - 32-разрядным кодом даних, і 32-разрядным
адресним кодом. Традиційно в електроніці шиною звався інформаційний канал, до якого приєднувалася низка
пристроїв, які могли читати та передавати дані. Але з розвитком комп'ютерних технологій шинами за аналогією
стали називати з'єднання типу точка-точка (наприклад AGP чи HyperTransport), а також канали зі складною
диспетчеризацією доступу. Існують і спеціалізовані шини, такі як внутрішні шини процесорів або шина для
підключення відеоадаптерів — AGP. Усі стандарти розрізняються як за кількістю й використанням сигналів, так і
за протоколами їхнього обслуговування. Шина входить до складу материнської плати, на якій розташовуються її
провідники і роз'єми (слоти) для підключення плат адаптерів пристроїв (відеокарти, звукові карти, внутрішні
модеми, накопичувачі інформації, пристрої введення/виведення і т. д.) і розширень базової конфігурації (додаткові
пусті роз'єми). Існують 16- і 32-розрядні, високопродуктивні (VESA, VLB, AGP і РСІ із тактовою частотою
більше 16 МГц) і низькопродуктивні (ISA і EISA із тактовою частотою 8 і 16 МГц) системні шини. Також шини,
розроблені за сучасними стандартами (VESA, VLB і РСІ), допускають підключення декількох однакових
пристроїв, наприклад декілька жорстких дисків, а шина РСІ забезпечує самостійну конфігурацію периферійного
(додаткового) устаткування — підтримку стандарту Plug and Play, що виключає ручну конфігурацію апаратних
параметрів периферійного устаткування при його зміні або нарощуванні. Операційна система, яка підтримує цей
стандарт, сама налаштовує устаткування, підключене через шину РСІ, без втручання користувача. Існують як 64-
розрядні розширення шини РСІ, так і 32-розрядні, що працюють на частоті 66 МГц. Все без виключення
прилохсения обчислювальних систем, так або інакше, пов'язані з
використанням зовнішніх або периферійних пристроїв. Навіть чисто обчислювальні завдання потребують
пристроїв для введення вихідних даних і виведення результату. Без перебільшення можна сказати, що процесор,
що не має жодних зовнішніх пристроїв, абсолютно даремний. Біля обчислювальних систем перших поколінь
набір периферійних пристроїв часто вичерпувався згаданими пристроями для введення вихідних даних і
виведення результату обчислень, тому до цих пір модулі ОС, що працюють з периферією,
називають підсистемою введення-виводу (input/output subsystem). У більшості сучасних комп'ютерів набір
зовнішніх пристроїв вельми обширний, і функції багато з них не можуть або лише з певною натяжкою можуть
бути описані як введення і вивід. З функціональної точки зору зовнішні пристрої, що підключаються до сучасних
комп'ютерів, можна розділити на наступні категорії (приведену класифікацію навряд чи можна вважати
вичерпною, а порядок перерахування не є критерієм важливості даного типа пристроїв). Пристрої зовнішньої
пам'яті, які у свою чергу, можна розділити на два класи. Пристрої пам'яті з довільним доступом, головним чином
магнітні диски. До цього ж класу відносяться дискети, магнітооптичні і оптичні диски і практично не вживані в
даний час магнітні барабани. Вдалим універсальним позначенням для цього класу пристроїв є прийняте в
документації фірми IBM скорочення DASD (Direct Access Storage Device — пристрій прямого доступу, що
запам'ятовує). Пристрої пам'яті з послідовним доступом. В основному, це стрічкопротяжні пристрої (стриммеры
і ін.). 1) Мережеві і телекомунікаційні пристрої. 2) Пристрої алфавітно-цифрового введення-виводу: друкуючі
пристрої телетайпи, текстові термінали. 3) Об Пристрої звукового введення-виводу. 4) Пристрої графічного
введення-виводу: сканери або відеодекодери (введення), графічні дисплеї, плоттери, графічні принтери або
відеокодери (вивід). 5) Позиційні пристрої введення: миші, планшеты-дигитайзеры, світлове пір'я і так далі.
6) Сенсорні і старанні пристрої систем, що управляють.

20

You might also like