Ієрархічна структура пам’яті

Як і більшість пристроїв ЕОМ, пам'ять має ієрархічну структуру. Всі запам'ятовувальні пристрої мають різну швидкодію і ємністю.

Чим вище рівень ієрархії, тим вище швидкодія відповідної пам'яті, але менше її ємність.

До найвищого рівня – зверх оперативного - відносяться регістри керуючих й операційних блоків процесора, зверх оперативну пам’ять, пам'ять керування, буферну пам'ять (кеш-пам'ять).

На другому оперативному рівні знаходиться оперативна пам'ять (ОП), що використовується для зберігання активних на даний час програм і даних.

На наступному більше низькому зовнішньому рівні розміщається зовнішня пам'ять.

Рис. 8.1. Ієрархічна структура пам'яті

Місцева пам'ять або регістрова пам'ять процесора. Входить до складу ЦП (регістри керуючих й операційних блоків процесора) і призначена для тимчасового зберігання інформації. Вона має малу ємність і найбільшу швидкодію. Побудована на базі регістрів загального призначення. РОН конструктивно сполучені із процесором ЕОМ. Цей тип ЗП використовується для зберігання керуючих і службових кодів, а також інформації, до якої найбільш часто звертається процесор при виконанні програми.

Зверх оперативна пам'ять. Іноді в архітектурі ЕОМ регістрова пам'ять організується у вигляді зверх оперативного ЗП із прямою адресацією. Така пам'ять має те ж призначення що і РОН та служить для зберігання операндів, даних і службової інформації що необхідна процесору.

Пам'ять керування призначена для зберігання керуючих мікропрограм процесора. Виконана у вигляді постійного ЗП (ПЗУ) або постійного ЗП, що може програмуватись (ППЗУ). У системах з мікропрограмним способом обробки інформації ПК застосовується для зберігання один раз записаних мікропрограм, керуючих програм, констант і т.п.

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

 Кеш - пам'ять від англійського cashe - схованка. Дана пам’ять не є програмно доступною. Тому вона впливає на продуктивність ЕОМ, але не впливає на програмування прикладних додатків. У сучасних ЕОМ розрізняють кеш першого й другого рівнів.

Кеш першого рівня інтегрована із блоком попередньої вибірки команд і даних ЦП і використовується, як правило, для зберігання найбільше часто використовуваних команд.

Кеш другого рівня використовується в якості буфера між ОП і процесором. У деяких ЕОМ існує кеш пам'ять окремо для команд й окремо для даних.

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

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

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

Ріст продуктивності ЕОМ проявляється в першу чергу в збільшенні швидкості роботи процесора. Швидкодія ОП також росте, але увесь час відстає від швидкодії апаратних засобів процесора тому, що одночасно відбувається випереджальний ріст її ємності, що робить більш важким зменшення часу циклу роботи пам'яті. Внаслідок цього швидкодія ОП є недостатньою для забезпечення необхідної продуктивності ЕОМ. Проявляється це в невідповідності пропускних властивостях процесора й пам'яті. Для вирівнювання їхніх пропускних властивостей і призначена зверх оперативная буферна пам'ять невеликої ємності (як правило, не більше 512 Кбайт) і підвищеної швидкодії.

При звертанні до блоку даних, що знаходиться на оперативному рівні, його копія пересилається у зверх оперативну буферну пам'ять. Наступні звертання до цього блоку даних виконуються з використанням буферної пам'яті. Оскільки час вибору даних із ЗОЗП tзОЗп багато менше часу вибору даних з оперативної пам'яті tОП, то введення в структуру ЕОМ ЗОЗП приводить до зменшення еквівалентного часу обігу tэ в порівнянні із часом звертання до оперативної пам'яті tОП:

tЭ = tСОЗУ + αtОП,

де α = 1- q,

а   q – імовірність влучення, тобто ймовірність того, що блок даних, до якого відбувається звернення, знаходяться в ЗОЗП

Стекова пам’ять

 

Стековая пам'ять, що. реалізуює безадресне завдання операндів, є ефективним елементом архітектури ЕОМ. Стек - це група послідовно пронумерованих регістрів (апаратний стек) або комірок пам'яті, що мають вказівник стека (звичайно регістр), у якому автоматично при запису та зчитуванні встановлюється номер (адреса) першого вільного осередку стека (вершина стека). При операції запису слово, що заносить у стек, заноситься у вільний осередок стека, а при зчитуванні зі стека витягається останнє слово, що надійшло в нього. Таким чином, у стеці реалізується принцип LIFO «останній прийшов - перший пішов».

 

Мал. 3.4. Стековая пам'ять.

Передбачається, що область пам'яті для стека знаходиться в сегменті стека, база якого визначається регістром SS - сегментним регістром стека. При додаванні запису в стек спочатку перевіряється, чи містить вказівник стека (ESP) значення, не менше довжини запису, що поміщає в стек, (2 байти для 16-розрядного й 4 байти для 32-розрядного процесора). Якщо ця умова не задоволена, то генерується особливий випадок порушення стека. Якщо ж ESP містить значення не менше необхідного, виконується декремент вказівника стека на 2(4) і операнд зберігається за адресою SS:SP (SS:ESP) у поточному сегменті стека, на який указує показник стека. (Число 4 - число байт в 32-х розрядному процесорі).

При зчитувані даних зі стека вміст ESP порівнюється з межею SS. Якщо звернення виявляється поза межею, формується особливий випадок порушення стека. Коли звернення виявляється дозволеним, зчитуються дані за адресою SS:[ESP] і здійснюється інкремент ESP на 4. Прочитати дані зі стека можна в регістр або в коміпку пам’яті.

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

Останнім часом ємкість мікросхем динамічної пам'яті збільшувалась в четверо кожні три роки. Але швидкість цих мікросхем за той же період зростала набагато меншими темпами (приблизно 7% у рік). У той час, як продуктивність процесорів, починаючи з 1987р, збільшувалася на 50% у рік.

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

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: