Стековая память (магазинная) 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Стековая память (магазинная)



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

 

 

В случае аппаратной реализации ячейки стековой памяти образуют одномерный массив, в котором соседние ячейки связаны друг с другом разрядными цепями передачи слов (рис. 3.4). При этом возможны два типа устройств (а, б), принципы функционирования которых различны. Рассмотрим первоначально структуру на рис. 3.4, а.

Запись нового слова, поступившего с ШИвх, производится в верхнюю (нулевую) ячейку, при этом все ранее записанные слова (включая слово в ячейке 0) сдвигаются вниз, в соседние ячейки, номера которых на единицу больше. Считывание возможно только из верхней (нулевой) ячейки памяти. Основной режим – это считывание с удалением. При этом все остальные слова в памяти сдвигаются вверх, в соседние ячейки с меньшими номерами. В такой памяти реализуется правило: последний пришел – первый ушел. Стеки подобного типа принято называть стеками LIFO (Last In – First Out).

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

О первом слове, посылаемом в стек, говорят, что оно располагается на дне стека. О последнем посланном (по времени) в стек слове говорят, что оно находится в вершине стека. Таким образом, ячейка N-1 – дно стека, а ячейка 0 – вершина.

Обычно аппаратный стек снабжается счетчиком стека СчСт, показывающим общее количество занесенных в память слов (СчСт = 0 – стек пустой). При заполнении стека полностью он запрещает дальнейшие операции записи.

Стековый принцип организации памяти можно реализовать не только в специально предназначенных для этого устройствах. Стековая организация данных возможна и на обычной адресной памяти с произвольным обращением (программный стек). Для организации стека LIFO в этом случае необходима еще одна ячейка памяти (регистр), в которой всегда хранится адрес вершины стека и которая называется указателем стека. Обычно в качестве указателя стека используют один из внутренних регистров процессора. Кроме этого, требуется соответствующее програм­мное обеспечение. Принципы стековой организации данных на обычной адресной памяти иллюстрируются схемой на рис. 3.5.

 

 

В отличие от аппаратного стека данные, размещенные в программном стеке, при записи нового числа или считывании не перемещаются. Запись каждого нового слова осуществляется в ячейку памяти, следующую по порядку за той, адрес которой содержится в указателе стека. После записи нового слова содержимое указателя стека увеличивается на единицу (см. рис. 3.5). Таким образом, в программном стеке перемещаются не данные, а вершина стека. При считывании слова из стека происходит обратный процесс. Слово считывается из ячейки, адрес которой находится в указателе стека, после чего содержимое указателя стека уменьшается на единицу.

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

Чем удобна такая форма организации памяти? Забегая вперед, можно отметить, что любая команда, выполняемая в процессоре, в общем случае должна содержать код операции (КОП), адрес первого и второго операндов и адрес занесения результата. Для экономии памяти и сокращения времени выполнения машинной команды процессором желательно уменьшить длину команды. Пределом такого уменьшения является длина безадресной команды, т.е. просто КОП. Именно такие команды оказываются возможными при стековой организации памяти, т.к. при правильном расположении операндов в стеке их достаточно последовательно извлекать и выполнять над ними соответствующие операции.

Помимо рассмотренной выше стековой памяти типа LIFO, в ЭВМ используются стековые памяти другого типа, реализующие правило: первый пришел – первый ушел. Стеки подобного типа принято называть стеками FIFO (First In – First Out). Такая стековая память широко используется для организации различного рода очередей (команд, данных, запросов и т.д.). Обобщенная структура аппаратного стека типа FIFO представлена на рис. 3.4, б.

Как и в предыдущем случае, ячейки стековой памяти образуют одномерный массив, в котором соседние ячейки связаны друг с другом разрядными цепями передачи слов. Запись нового слова, поступившего с ШИвх, осуществляется в верхнюю (нулевую) ячейку, после чего оно сразу перемещается вниз и записывается в последнюю по счету незаполненную ячейку. Если стек перед записью был пустой, слово сразу попадает в ячейку с номером N-1, т.е. на дно стека. Считывание возможно только из нижней ячейки с номером N-1 (дно стека). Основной режим – это считывание с удалением. При этом все последующие (записанные) слова сдвигаются вниз, в соседние ячейки, номера которых на единицу больше. При заполнении стека счетчик (СчСт) запрещает дальнейшие операции записи в стек.

Таким образом, в отличие от стека LIFO, в стеке FIFO перемещается не дно, а вершина. Записываемые в стек FIFO слова постепенно продвигаются от вершины ко дну, откуда и считываются по мере необходимости, причем темп записи и считывания определяются внешними управляющими сигналами и не связаны друг с другом.

Программная реализация стека FIFO в настоящем разделе не рассматривается, поскольку на практике используется достаточно редко.

СТРУКТУРЫ АДРЕСНЫХ ЗУ

Адресные ЗУ наиболее широко используются в современных ЭВМ для построения самых разнообразных устройств памяти. В процессе эволюции ЭВМ принципы построения и аппаратная реализация данных ЗУ прошли очень большой путь развития от первых ЗУ на электромагнитных реле до современных БИСов памяти емкостью в сотни Мбайт, которые в качестве ЗЭ используют либо разнообразные триггерные схемы на биполярных полупроводниках, либо МОП-структуры. При этом тип используемых ЗЭ влияет на структуру ЗУ. Кроме того, структура ЗУ во многом определяется особенностями его применения в конкретных устройствах ЭВМ. Все это привело к тому, что в процессе развития возникло весьма большое разнообразие структур ЗУ, которые различаются по способу организации, быстродействию, объему, аппаратурным затратам, стоимости.

Ранее отмечалось, что основной частью любой памяти является запоминающий массив (ЗМ), представляющий собой совокупность ЗЭ, соединенных определенным образом. ЗМ называют еще запоминающей матрицей. Каждый ЗЭ хранит бит информации и должен реализовывать следующие режимы работы:

- хранение состояния (0 или 1);

- выдача сигнала состояния (считывание);

- запись информации (0 или 1).

К ЗЭ должны поступать управляющие сигналы для задания режима работы, а также сигналы при записи. При считывании ЗЭ должен выдавать сигнал о своем состоянии. Поэтому любой ЗМ имеет систему адресных и разрядных линий (проводников).

Адресные линии используются для выделения по адресу совокупности ЗЭ, которым устанавливается режим считывания или записи. Число ЗЭ, входящих в эту совокупность, равно ширине выборки. Иными словами, с помощью адресных линий происходит выбор необходимой ячейки памяти. Разрядные линии используются для записи или считывания информации в ЗЭ каждого разряда ячейки памяти.

Адресные и разрядные линии носят общее название линий выборки. В зависимости от числа таких линий, соединенных с одним ЗЭ, различают двух-, трехкоординатные ЗУ и т.д., называемые ЗУ типа 2D, 3D, 2.5D, 2D-M (от слова dimension – размерность), и их разнообразные модификации.

ЗУ ТИПА 2D

Организация ЗУ типа 2D обеспечивает двухкоординатную выборку каждого ЗЭ ячейки памяти. Основу ЗУ составляет плоская матрица из ЗЭ, сгруппированных в 2k ячеек по n разрядов. Обращение к ячейке задается k-разрядным адресом, что дает одну координату. Выделение разрядов производится разрядными линиями записи и считывания, что дает вторую координату. Очень упрощенная структура ЗУ типа 2D представлена на рис. 3.6.

Адрес из k разрядов поступает на блок адресной выборки БАВ (который называют также адресным формирователем), управляемый сигналами Чт и Зап. Основу БАВ составляет дешифратор с 2k выходами, который, при поступлении на его вход адреса, формирует сигнал для выбора линии i. В зависимости от сигнала Чт или Зап БАВ, в общем случае, выдает сигнал, настраивающий ЗЭ i-й ячейки (i-й линии) на чтение либо на запись. Выделение разряда j в i-м слове (ЗУ серого цвета) производится второй координатной линией. При записи по линии j от БУЗ поступает сигнал, устанавливающий выбранный для записи ЗЭi,j в состояние 0 или 1. При считывании на БУС по линии j поступает сигнал о состоянии ЗЭi,j.

Следует иметь в виду, что ЗЭ должны допускать объединение выходов для работы на общую линию с передачей сигналов только от выбранного ЗЭ. Это свойство ЗЭ используется во всех современных ЗУ.

Таким образом, каждая адресная линия выборки ячейки памяти, в общем случае, передает три сигнала:

- выборка при записи;

- выборка при считывании;

- отсутствие выборки.

Однако во многих современных ЗУ достаточно только двух сигналов – выборка и отсутствие выборки.

 

 

Каждая разрядная линия записи передает в ЗЭ записываемый бит информации, а разрядная линия считывания – считываемый из ЗЭ бит информации. Линии записи и считывания могут быть объединены в одну при использовании ЗЭ, допускающих соединение выхода со входом записи. В современных ЗУ широко используются совмещенные функции линий считывания и записи.

ЗУ типа 2D являются быстродействующими и достаточно удобными для реализации. Однако такие ЗУ неэкономичны по объему оборудования из-за наличия дешифратора на 2k выходов. В настоящее время структуры типа 2D используются, в основном, в ЗУ небольшой емкости (не более 1 К).

ЗУ ТИПА 3D

Для построения ЗУ больших объемов используют другую схему и другие типы ЗЭ, которые имеют не один, а два конъюнктивно связанных входа выборки. В этом случае адресная выборка осуществляется только при одновременном появлении двух сигналов. Использование таких ЗЭ позволяет строить ЗУ с трехкоординатным выделением ЗЭ. Итак, ЗУ типа 3D отличается от 2D тем, что к каждому ЗЭ подходят три линии выборки: две координатные и одна разрядная.

Запоминающий массив ЗУ типа 3D представляет собой пространственную матрицу, составленную из n плоских матриц. Каждая плоская матрица представляет собой ЗМ для запоминания j-х разрядов всех слов, т.е. запоминающие элементы для одноименных разрядов всех хранимых в ЗУ чисел сгруппированы в квадратную матрицу из рядов по ЗЭ в каждом. Это означает, что к записи или считыванию готов только тот элемент, для которого сигналы адресной выборки по координатам X и Y совпали. Для адресной выборки ЗЭ в плоской матрице необходимо задать две его координаты в ЗМ.

 

Структура матрицы j-го разряда в ЗУ типа 3D представлена на рис. 3.7. Код адреса i-й ячейки памяти разделяется на старшую и младшую части, каждая из которых поступает на свой адресный формирователь. Адресный формирователь БАВ1 выдает сигнал выборки на линию i', а БАВ2 – на линию i''. В результате в ЗМ оказывается выбранным ЗЭ, находящийся на пересечении этих линий (двух координат), т.е. адресуемый кодом i=i' / i'' (ЗЭ серого цвета). Адресные формирователи управляются сигналами Чт и Зап и в зависимости от них выдают сигналы выборки для считывания или для записи. При считывании сигнал о состоянии выбранного ЗЭ поступает по j-линии считывания к БУС (третья координата ЗЭ при считывании). При записи в выбранный ЗЭ будет занесен 0 или 1 в зависимости от сигнала записи в j-й разряд, поступающего по j-й линии от БУЗ (третья координата ЗЭ при записи). Для полупроводниковых ЗУ характерно объединение в одну линию разрядных линий записи и считывания.

Для построения n-разрядной памяти используется n матриц рассмотренного вида. Адресные формирователи при этом могут быть общими для всех разрядных ЗМ.

 


 

Запоминающие устройства типа 3D более экономичны по оборудованию, чем ЗУ типа 2D. Действительно, сложность адресного формирователя с m входами пропорциональна 2m. Поэтому сложность двух адресных формирователей ЗУ типа 3D, пропорциональная , значительно меньше сложности адресного формирователя ЗУ типа 2D, пропорциональной 2k. Поэтому структура типа 3D позволяет строить ЗУ большего объема, чем структура 2D.

Структура типа 3D является наиболее удобной для построения статических ЗУ на многоэмиттерных биполярных транзисторах.

ЗУ ТИПА 2D-М

В ЗУ типа 2D-M ЗМ для записи n-разрядных двоичных чисел состоит из n плоских матриц для одноименных разрядов всех чисел, аналогично тому, что имеет место в ЗУ типа 3D. Однако процесс записи и считывания информации существенно отличается, поскольку в ЗУ типа 2D-M используются другие ЗЭ, к каждому из которых подходят только две координатные линии. ЗЭ таких ЗУ имеют два входа (координатный и записи) и один выход, но обычно их выход объединен со входом записи.

Структура одноразрядного ЗУ типа 2D-M (ЗМ для j-го разряда всех ячеек памяти) приведена на рис. 3.8.

 

 

Как и в ЗУ типа 3D, код адреса i-й ячейки памяти разделяется на две части: одна из которых поступает на БАВ, а другая – на разрядно-адресный коммутатор (РАдрК). РАдрК является не только устройством адресной выборки j-го разряда i-й ячейки памяти, но также устройством записи и считывания информации, хранимой в ЗЭ. Если на БАВ и РАдрК не приходит сигнал обращения к памяти Обр, то на их выходных линиях не возникают действующие на ЗЭ сигналы, и все ЗЭ находятся в режиме хранения. При наличии сигнала Обр выполняется считывание или запись в зависимости от сигнала Чт/Зап. При считывании БАВ выдает по линии i¢ сигнал выборки для считывания, по которому со всех ЗЭ линии i¢ сигналы их состояний поступают на РАдрК. Коммутатор РАдрК мультиплексирует эти сигналы и передает на выход (Вых. инф.) сигнал только с линии i². При записи БАВ выдает по линии i¢ сигнал выборки для записи. Коммутатор РАдрК в зависимости от значения сигнала Вх. инф. выдает сигнал записи 0 или 1 на линию i² и сигналы, не воздействующие на ЗЭ, в остальные линии. В результате запись производится только в ЗЭ, лежащий на пересечении координатных линий i¢и i², причем i¢/i² = i (ЗЭ серого цвета).

Структура типа 2D-M является наиболее удобной для построения полупроводниковых ЗУ на МОП структурах и широко используется в настоящее время как в динамических оперативных, так и в постоянных ЗУ.

Структура ЗУ типа 2,5D специально не рассматривается. По схеме 2,5D строят ЗУ на магнитных сердечниках. Некоторые особенности организации ЗУ такого типа более подробно рассмотрены в пп. 3.4.1.



Поделиться:


Последнее изменение этой страницы: 2016-12-09; просмотров: 704; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.217.194.39 (0.022 с.)