ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 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 команди комп'ютери можна поділити на: комп'ютери з постійним та змінним форматом команди, комп'ютери з одноадресними, двоадресними та триадресними командами, комп'ютери з вузьким та широким форматом команди (залежно від кількості полів коду операції та адресних полів) і т. д.
Як вказано вище, крім коду операції до складу команди входить адресна частина. Цією частиною визначається місце знаходження даних, над якими виконується операція, задана кодом операції. Даних може бути декілька, і, крім того, вони можуть знаходитися в основній пам'яті, в регістрах процесора чи в запам'ятовуючих елементах інших вузлів комп'ютера. Тому і формати команд в цих випадках будуть різними. Можна здійснити класифікацію архітектури комп'ютера за типом адресованої пам'яті. Залежно від того, який тип пам'яті адресується, розрізняють наступні типи архітектур комп'ютера: стекова, акумуляторна, на основі регістрів загального користування.
При розробці комп'ютера необхідно враховувати багато особливостей вибору системи команд. З одного боку, система команд повинна бути функціонально повною, тобто комп'ютер повинен забезпечувати виконання всіх заданих функцій. З іншого боку, система команд має бути ортогональною, тобто не повинна бути надлишковою. Для нового комп'ютера, який є розширенням відповідної серії, першочерговою є сумісність - програми, які виконуються на одному комп'ютері, повинні виконуватись і на іншому комп'ютері. Є багато рівнів повноти системи команд. Теоретично система команд комп'ютера може включати лише одну команду. Однак програми на базі простих операцій є дуже складними. Існує фундаментальний зв'язок між простотою комп'ютера і складністю програми. В геальних комп'ютерах застосовується система команд, до складу якої входить широкий спектр команд обробки даних, переміщення даних, передачі керування та введення-