logo
AOM / Мельник А

3.3.1. Класифікація архітектури комп'ютера за типом адресованої пам'яті

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

В стековій архітектурі (рис. 3.15) операнд завжди знаходиться в вершині стека - спе­ціальному регістрі пам'яті, з якого загружається в регістр процесора, або через нього результат операції загружається в пам'ять. Стек представляє собою пам'ять з детермі­нованою вибіркою, яка працює за принципом „останній прийшов - перший вийшов" (LIFO - Last In First Out). Стек виконує дві операції: push - вштовхування даних в стек, pop - виштовхування даних з стеку.

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

103

Стекова архітектура була реалізована в наступних комп'ютерах: В5500, В6500 фірми Burroughs,HP2116P,НРЗ 000/70 фірми Hewlett-Packard,JEMl,JEM2 фірми ajileSystems.

В акумуляторній архітектурі (рис. 3.16) операнд завжди знаходиться в акумуляторі - спеціальному регістрі процесора. В цей же регістр записується і результат операції. Оскільки адреса одного із операндів визначена, в команді достатньо вказати лише адре­су другого операнда. Перевага даної архітектури - короткі команди. Вона була реалізо­вана в комп'ютерах IBM7090, DECPDP-8та інших.

Архітектура на основі регістрів загального призначення може мати такі різновид­ності як: архітектура типу пам'ять-пам'ять, регістр-пам'ять та регістр-регістр.

В архітектурі типу пам'ять-пам'ять (рис. 3.17) операнди поступають на вхідні ре­гістри АЛП процесора прямо з пам'яті. Результат операції також записується прямо в пам'ять. Оскільки час звернення до пам'яті є більшим часу звернення до регістрів, ця ар­хітектура характеризується низькою швидкодією. Прикладом таких комп'ютерів є сім'ї IBM System/370 та DEC VAX.

104

Архітектура типу регістр-пам'ять (рис. 3.18) передбачає вибірку та подачу в АЛП одного із операндів з пам'яті, а іншого - з регістра, тому характеризується вищою швид­кодією ніж попередня. Тут в процесорі наявна регістрова пам'ять, причому регістри є програмно доступними.

В архітектурі типу регістр-регістр (рис. 3.19) дані в АЛП поступають лише з регі­стрів процесора, результати виконання операцій також записуються в регістри, а обмін між цими регістрами і пам'яттю здійснюється паралельно з роботою АЛП. Ця архітек­тура характеризується високою швидкодією, оскільки операції виконуються в АЛП з їх читанням-записом до регістрів, які є значно швидшими пам'яті. Крім того, для цієї архітектури характерною є фіксована довжина команд та однакова кількість тактів для виконання всіх команд.

Будь-який із регістрів загального призначення може бути використаний в якості акумулятора, адресного регістра, індексного регістра, стекового регістра, а в деяких ма-

105

шинах навіть в якості програмного лічильника. Більшість сучасних комп'ютерів побу­довані на основі описаної архітектури. Це, зокрема, комп'ютери- Pentium, SPARC, Power PC, ARM та інші.

Разом з тим, за регістрами можуть бути закріплені конкретні функції - один набір служить в якості індексних регістрів, інший призначений для зберігання арифметичних операндів і т. д. Таким чином організовані регістри в комп'ютерах сім'ї CDC 6000/7000.