Файл: Мельник А. Архітектура комп\'ютера.doc

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 24.12.2021

Просмотров: 6759

Скачиваний: 22

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.


27

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

В двошинній структурі комп'ютера з обміном через пам'ять (рис. 1.7) процесор звіль­нений від організації операцій введення-виведення інформації.

Оскільки основна пам'ять не має засобів керування, для організації введення-виве­дення тут використовується спеціальний процесор введення-виведення (часто його на­зивають каналом або периферійним процесором), який отримує завдання на виконання операцій введення-виведення від процесора (в цьому випадку останній називають цен­тральним процесором), та керує взаємодією пам'яті та пристроїв введення-виведення. Дана структура була використана при побудові багатьох комп'ютерів, зокрема комп'ю­терів серій ІВМ/360 та ІВМ/370 фірми IBM.

В одношинній структурі комп'ютера (рис. 1.8) всі його функціональні вузли з'єднані через одну спільну шину. Шина розподіляється між ними в часі, тому одночасно посила­ти дані на шину може тільки один вузол.

Для узгодження швидкодії повільних і швидких вузлів комп'ютера в одношинній структурі на виході кожного повільного вузла (в даному випадку пристрої введення та ви­ведення) використовують буферну пам'ять, яка дозволяє швидкий обмін блоками даних.

Кожний пристрій введення та виведення складається з двох частин - контролера та самого пристрою, наприклад, накопичувача на диску. Контролер є спеціалізованим комп'ютером, який керує своїм пристроєм та його доступом до спільної шини.

Для керування розподілом шини між підключеними до неї пристроями використо­вується арбітр шини. При одночасному поступленні кількох запитів арбітр шини вирі-


28

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

Наявність спільної шини суттєво спрощує реалізацію комп'ютера та дозволяє легко замінювати його склад. Тому така структура отримала широке розповсюдження. Вона була покладена в основу зокрема комп'ютерів PDP-8 та PDP-11 фірми Digital Equipment Corporation, CM-4 Київського заводу управляючих машин, та знайшла широке застосу­вання в мікропроцесорних системах.

Для забезпечення одночасного обміну інформацією між різними пристроями в су­часних комп'ютерах використовується багатошинна організація.

1.3. Архітектура комп'ютера

1.3.1. Поняття архітектури комп'ютера

Вперше означення терміну "архітектура комп'ютера" було зроблене в 1964 році роз­робниками комп'ютера IBM 360 Г. Амдалем та його колегами. Архітектура комп'ютера з їх точки зору - це його структура і поведінка як їх бачить програміст на асемблерній мові. Вона включає наступне: формати даних і команд, методи адресації, систему ко­манд, а також загальну організацію процесора, основної пам'яті і пристроїв введення-виведення. Пізніше А. Пейджез з тієї ж фірми запропонував розуміти під архітектурою комп'ютера інтерфейс між його апаратним та програмним забезпеченням.

Як відомо, в комп'ютері використовується двійкове представлення команд. При на­писати програми крім двійкової можуть використовуватись і інші форми представлення команд: вісімкова, шістнадцяткова, символьна (мнемонічна). Використання вісімково-го і шістнадцяткового кодування дозволяє скоротити записи і спростити роботу про­граміста. Мнемонічне кодування спрощує процес написання, читання і відлагодження програми. Основний принцип такого кодування - кожна команда представляється 3-х або 4-х буквеним символом, який показує назву команди. Деякі приклади мнемонічно­го кодування: add - додати, sub - відняти, load - зчитати дані з пам'яті, store - записа­ти дані в пам'ять. Операнди також представляються символічно. Наприклад, команда add R, Y означає додавання значення вмісту комірки пам'яті Y до вмісту регістра R. За­уважимо, що операція виконується над вмістом, а не над адресою комірки пам'яті та регістра. Таким чином, з'являється можливість написання машинних програм в сим­волічній формі. Повний набір символічних назв і правила їх використання утворюють мову програмування, відому як асемблерна мова. Запис деякої програми на асемблерній мові представляє собою символічний запис цієї ж програми, написаної на внутрішній мові комп'ютера, тобто в формі послідовності команд, представлених в двійкових кодах. Тому і з'явилось визначення архітектури комп'ютера як інтерфейсу між його апаратним та програмним забезпеченням.


З наведених вище означень можна зробити висновок про існування множини мож­ливих варіантів архітектури комп'ютера. Розглянемо детальніше складові поняття архі­тектури з тим, щоб визначити ступінь зміни їх характеристик.

Під даними розуміються числа, представлені в деякій системі числення. В сучасних комп'ютерах дані в більшості випадків представлені в позиційній двійковій системі чис-


29

kення, яка практично витіснила інші способи представлення чисел, наприклад, пред­ставлення в позиційній десятковій системі числення, в системі залишкових класів тощо. В комп'ютерах є три класи даних: вхідні, проміжні та вихідні, які можна охарактеризу­вати наступною множиною параметрів: кількістю N даних, їх розрядністю n (n=1,2,3,...), способом кодування М (прямий, обернений чи доповняльний код), формою представ­лення S (фіксована чи рухома кома), форматом Т (місце розміщення знаку, ціле чи дро­бове число, місце розміщення коми, розрядність порядку, основа порядку, використан­ня знаку порядку чи зміщення, розрядність мантиси, чи використовується нормалізація мантиси). Таким чином, залежно від значення параметрів n, M, S, Т можна виділити від­повідну архітектуру комп'ютера. Наприклад, це може бути комп'ютер для виконання операцій над 16-розрядними дробовими двійковими даними в форматі з фіксованою комою в доповняльному коді, або це може бути комп'ютер для виконання операцій над 32-розрядними двійковими даними в форматі з рухомою комою.

Команда в комп'ютері зберігається в двійковій формі. Вона вказує тип операції, яка має бути виконаною, адреси операндів, над якими виконується операція, та адреси роз­міщення результатів виконання операції. Відповідно до цього команда складається з двох частин: коду операції та адресної частини. Поле коду операції займає k розрядів. Ним може бути закодовано до N = 2k різних операцій. Поле адреси (адресна частина) займає m розрядів. В ньому знаходяться адреси операндів. Кожна адреса займає m розрядів, де і - номер адреси (і = 1, 2....l), l - кількість адресних полів. Кожною адресою можна адресувати пам'ять ємністю 2mi слів. Таким чином, залежно від форматy команди комп'ютери можна поділити на: комп'ютери з постійним та змінним форматом команди, комп'ютери з одноадресними, двоадресними та триадресними командами, комп'ютери з вузьким та широким форматом команди (залежно від кількості полів коду операції та адресних полів) і т. д.

Як вказано вище, крім коду операції до складу команди входить адресна частина. Цією частиною визначається місце знаходження даних, над якими виконується опера­ція, задана кодом операції. Даних може бути декілька, і, крім того, вони можуть знахо­дитися в основній пам'яті, в регістрах процесора чи в запам'ятовуючих елементах інших вузлів комп'ютера. Тому і формати команд в цих випадках будуть різними. Можна здій­снити класифікацію архітектури комп'ютера за типом адресованої пам'яті. Залежно від того, який тип пам'яті адресується, розрізняють наступні типи архітектур комп'ютера: стекова, акумуляторна, на основі регістрів загального користування.

При розробці комп'ютера необхідно враховувати багато особливостей вибору систе­ми команд. З одного боку, система команд повинна бути функціонально повною, тобто комп'ютер повинен забезпечувати виконання всіх заданих функцій. З іншого боку, сис­тема команд має бути ортогональною, тобто не повинна бути надлишковою. Для нового комп'ютера, який є розширенням відповідної серії, першочерговою є сумісність - програми, які виконуються на одному комп'ютері, повинні виконуватись і на іншому комп'ютері. Є багато рівнів повноти системи команд. Теоретично система команд комп'ютера може включати лише одну команду. Однак програми на базі простих операцій є дуже складни­ми. Існує фундаментальний зв'язок між простотою комп'ютера і складністю програми. В геальних комп'ютерах застосовується система команд, до складу якої входить широкий спектр команд обробки даних, переміщення даних, передачі керування та введення-