Головна

ОЗУ магазинного типу (стековая пам'ять)

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

Магазинні (стековая) пам'ять організовується за принципом "Останній прийшов, перший вийшов" (LIFO- Last In First Out), Або "Перший прийшов, першим вийшов" (FIFO- First In First Out). Принцип організації стековой пам'яті показаний на малюнку 3.8.1.

Малюнок 3.8.1- Організації стековой пам'яті

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

У разі організації типу FIFO нове слово заноситься в верхній осередок, раніше записані слова виштовхуються вниз.

Для адресації стека використовується спеціальний регістр адреси, який називають покажчиком стека УС (Steak Pointer- SP). Найчастіше використовують пам'ять типу "останній прийшов, перший вийшов". Організовується в такий спосіб (див. Рисунок 3.8.2):

Малюнок 3.8.2- Адресация стека типу LIFO за допомогою УС

Перед початком роботи в покажчик стека заноситься адреса комірки ОП, в яку буде записуватися перше слово (або байт). Подальша адресація здійснюється автоматично шляхом збільшення або зменшення адреси на одиницю при виконанні операцій запису стека (команда PUSH) Або його читання (команда POP). Фізичний же процес запису і зчитування даних відбувається точно так само, як у звичайній пам'яті з довільним доступом.

Можливі зміни стану УС стековой пам'яті типу LIFO при запісі- читанні показані на наступному малюнку:

Малюнок 3.8.3- Зміна стану УС при записі і читанні стековой пам'яті типу LIFO

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

 




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

© um.co.ua - учбові матеріали та реферати