5. ТИПИ СТРУКТУР ОБЧИСЛЮВАЛЬНИХ МАШИН І СИСТЕМ
5. ТИПИ СТРУКТУР ОБЧИСЛЮВАЛЬНИХ МАШИН І СИСТЕМ
Переваги і недоліки архітектури обчислювальних машин і систем залежать від способу з'єднання компонентів.
В даний час приблизно однакове розповсюдження отримали два способи побудови обчислювальних машин: з безпосередніми зв'язками і на основі шини.
Типовим представником першого способу може служити класична фон-нейманівська ОМ (див. рис. 2.2). В ній між взаємодіючими пристроями (процесор, пам'ять, пристрій вводу/виводу) є безпосередні зв'язки. Особливості зв'язків (число ліній в шинах, пропускна здатність і т. п.) визначаються видом інформації, характером та інтенсивністю обміну. Перевагою архітектури з безпосередніми зв'язками можна вважати можливість розв'язки «вузьких місць» шляхом покращення структури і характеристик тільки певних зв'язків, що економічно може бути найбільш вигідним рішенням. У фон-нейманівських ОМ таким «вузьким місцем» є канал пересилки даних між ЦП і пам'яттю, і «розв'язати» його досить непросто. Крім того, ОМ з безпосередніми зв'язками погано піддаються реконфігурації.
У варіанті із загальною шиною всі пристрої обчислювальної машини підключені до магістральної шини, яка служить єдиним трактом для потоків команд, даних і управління (рис. 5.1).
Наявність загальної шини істотно спрощує реалізацію ОМ, дозволяє легко міняти склад і конфігурацію машини. Завдяки цим властивостям шинна архітектура набула широкого поширення в міні- і мікро-ЕОМ. Разом з тим, саме з шиною зв’язаний і основний недолік архітектури: у кожен момент передавати інформацію по шині може тільки один пристрій. Основне навантаження на шину створюють обміни між процесором і пам'яттю, пов'язані з витягуванням із пам'яті команд і даних і записом в пам'ять результатів обчислень. На операції вводу/виводу залишається лише частина пропускної здатності шини.
В цілому слід визнати, що при збереженні фон-нейманівської концепції послідовного виконання команд програми шинна архітектура в чистому її вигляді виявляється недостатньо ефективною. Більш поширеною є архітектура з ієрархією шин, де крім магістральної шини є ще декілька додаткових шин. Вони можуть забезпечувати безпосередній зв'язок між пристроями з найбільш інтенсивним обміном, наприклад процесором і кеш-пам'яттю. Інший варіант використання додаткових шин - об'єднання однотипних пристроїв вводу/виводу з подальшим виходом з додаткової шини на магістральну. Всі ці заходи дозволяють понизити навантаження на загальну шину і ефективніше витрачати її пропускну здатність.
Рисунок 5.1 – Структура обчислювальної машини на базі загальної шини
Поняття «обчислювальна система» допускає наявність багатьох процесорів або закінчених обчислювальних машин, під час об'єднання яких використовується один з двох підходів.
В обчислювальних системах із загальною (спільною) пам'яттю (рис. 5.2) є загальна основна пам'ять, спільно використовувана всіма процесорами системи. Зв'язок процесорів з пам'яттю забезпечується за допомогою комунікаційної мережі, найчастіше вироджуваною в загальну шину.
Таким чином, структура ОС із загальною пам'яттю аналогічна розглянутій вище архітектурі із загальною шиною, через що їй властиві ті ж недоліки. Стосовно обчислювальних систем дана схема має додаткову перевагу: обмін інформацією між процесорами не пов'язаний з додатковими операціями і забезпечується за рахунок доступу до загальних областей пам'яті.
Рисунок 5.2 – Структура обчислювальної системи із загальною пам'яттю
Альтернативний варіант організації - розподілена система, де загальна пам'ять взагалі відсутня, а кожен процесор володіє власною локальною пам'яттю (рис. 5.3).
Рисунок 5.3 – Структура розподіленої обчислювальної системи
Часто такі системи об'єднують окремі ОМ. Обмін інформацією між складовими системи забезпечується за допомогою комунікаційної мережі шляхом обміну повідомленнями.
Подібна побудова ОС знімає обмеження, властиві для загальної шини, але приводить до додаткових витрат на пересилку повідомлень між процесорами або машинами.
Обчислювальні системи бувають однорідні і неоднорідні.
Однорідна обчислювальна система будується на базі однотипних комп'ютерів або процесорів. Однорідні системи дозволяють використовувати стандартні набори технічних, програмних засобів, стандартні протоколи поєднання пристроїв. Тому їх організація значно простіша, полегшується обслуговування систем та їх модернізація.
Неоднорідна обчислювальна система включає у свій склад різні типи комп'ютерів або процесорів. Під час побудови системи доводиться враховувати їх різні технічні і функціональні характеристики, що значно ускладнює створення та обслуговування неоднорідних систем.
Розрізняють обчислювальні системи з централізованим і децентралізованим управлінням. У першому випадку управління виконує виділений комп'ютер або процесор, в другому - ці компоненти рівноправні і можуть брати управління на себе.
Крім того, обчислювальні системи можуть бути:
- територіально-зосередженими (усі компоненти розташовуються у безпосередній близькості один від одного);
- розподіленими (компоненти розташовуються на значній відстані, наприклад, обчислювальні мережі);
- структурно-однорівневими (є тільки один загальний рівень обробки даних);
- багаторівневими (ієрархічними) структурами. В ієрархічних обчислювальних системах комп'ютери або процесори розподілені по різних рівнях обробки інформації, деякі з них можуть бути орієнтовані на виконання певних функцій.
Нарешті, як уже відмічалося, обчислювальні системи діляться на такі: одномашинні, багатомашинні, багатопроцесорні.
Слід відзначити, що архітектура обчислювальних систем постійно вдосконалюється. Еволюцію архітектур визначають різні фактори, головні з яких показані на рис. 5.4.
Кожна зміна в архітектурі спрямована на абсолютне підвищення продуктивності або принаймні на більш ефективне розв'язання задач певного класу. Не зменшуючи ролі жодного з них, слід визнати, що найбільш очевидні успіхи в галузі засобів обчислювальної техніки зв'язані з технологічними досягненнями.
Рисунок 5.4 – Фактори, які визначають розвиток архітектури обчислювальних систем
Основні напрямки досліджень у галузі архітектури обчислювальних систем можна умовно розділити на дві групи: еволюційні і революційні.
До першої групи слід віднести дослідження, метою яких є вдосконалення методів реалізації вже досягнутих відомих ідей. В основному вони зв'язані з вдосконаленням архітектури мікропроцесорів (МП). Найбільш значимі із змін в архітектурі МП зв'язані з підвищенням рівня паралелізму на рівні команд (можливості одночасного виконання декількох команд). Тут у першу чергу слід відзначити конвеєризацію, суперскалярну обробку і архітектуру з командними словами надвеликої довжини (VLIW).
Друга група досліджень спрямована на створення абсолютно нових архітектур, які принципово відрізняються від традиційної фон-нейманівської архітектури (нетрадиційні архітектури).