Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

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




 

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

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

 




Поделиться с друзьями:


Дата добавления: 2014-11-29; Просмотров: 507; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.009 сек.