logo
AOM / Мельник А

1.3.3. Ненейманівські архітектури комп'ютерів

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

Коротко виділимо основні риси деяких з названих архітектур.

Гарвардська архітектура вперше була реалізована Ховардом Айкеном в комп'ютері Марк-1 в Гарварді. Вона передбачає розділення пам'яті на пам'ять даних і пам'ять ко­манд. Тим самим розділяються шини передачі керуючої і оброблюваної інформації (рис. 1.9). При цьому підвищується продуктивність комп'ютера за рахунок суміщення в часі пере­силання та обробки даних і команд.

Рис. 1.9. Ядро комп'ютера гарвардської архітектури, утворене процесором та пам'яттю команд і даних

32

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

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

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

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

33

сока продуктивність. Принципи машини потоків даних використовуються в багатьох сучасних високопродуктивних комп'ютерах.

Паралельні комп'ютерні системи. Перші паралельні комп'ютерні системи, до скла­ду яких входило лише два процесори, були побудовані в кінці 60-х років минулого сто­ліття. В 70-х роках такі системи мали в своєму складі до 64-х процесорів, в 80-х роках - до 1000, а в кінці 90-х років фірма IBMанонсувала конструкцію суперкомп'ютера з паралельною архітектурою, який включав понад мільйон процесорів і на даний час є найпродуктивнішим у світі. Паралельна обробка інформації є ключовим напрямком побудови високопродуктивних комп'ютерних систем. Однак і паралельні комп'ютерні системи мають обмеження. По-перше, зі збільшенням кількості процесорів ускладню­ється задача розподілу завдань між процесорами. Для її вирішення використовуються додаткові процесори, кількість яких може значно перевищувати кількість процесорів, зайнятих безпосередньо виконанням алгоритму. По-друге, послідовна природа багатьох алгоритмів обмежує прискорення, якого можна досягти, використовуючи багатопроце­сорну організацію.