Лекция
Привет, сегодня поговорим про запоминающие устройства , обещаю рассказать все что знаю. Для того чтобы лучше понимать что такое запоминающие устройства , настоятельно рекомендую прочитать все из категории Компьютерная схемотехника и архитектура компьютеров.
Памятью ЭВМ называют совокупность устройств, служащих для запоминания, хранения и выдачи информации. Отдельные устройства, входящие в эту совокупность, называются запоминающими устройствами (ЗУ) или памятями того или иного типа. В настоящее время и ЗУ, и память стали практически синонимами.
Производительность ЭВМ и ее возможности в большой степени зависят от характеристик ЗУ, причем в любой ЭВМ общего назначения используют несколько типов ЗУ.
Основные операции:
- Запись – занесение информации в память;
- Считывание – выборка информации из памяти.
Обе этих операции называются в общем случае обращением к памяти.
При обращении к памяти происходит считывание или запись некоторой единицы данных, различной для устройств разного типа. Такой единицей может быть байт, машинное слово, блок данных.
Коротко рассмотрим важнейшие характеристики ЗУ – емкость, удельную емкость, быстродействие, которые характерны для любых типов ЗУ, а также некоторые методы их классификации.
· Емкость памяти определяется максимальным количеством данных, которые могут в ней храниться одновременно. Емкость измеряется в битах, байтах, машинных словах (об этом говорилось в самом начале курса). Используют обычно более крупные единицы измерения: 1К = 1024 (Кбит, Кбайт, Кслов),
1024 Кбайт = 1 Мбайт, 1024 Мбайт = 1 Гбайт.
· Удельная емкость определяется как отношение емкости ЗУ к его физическому объему и характеризует степень технологического совершенства ЗУ.
· Удельная стоимость определяется как отношение стоимости ЗУ к его емкости и определяет, помимо технологического совершенства конкурентоспособность изделия на рынке.
· Быстродействие памяти определяет продолжительность операции обращения и делится:
- на время обращения при считывании . Это время, необходимое на поиск нужной единицы информации и ее считывание;
- время обращения при записи . Это время, необходимое для поиска места для хранения данной единицы информации и ее запись в память.
В некоторых устройствах памяти считывание информации сопровождается ее разрушением (стиранием). В этом случае цикл обращения к ЗУ при считывании должен содержать операцию регенерации считываемой информации на прежнем месте в памяти. В ряде случаев ЗУ требуют перед началом записи привести запоминающие элементы в некоторое начальное состояние. В этом случае цикл обращения к ЗУ при записи должен содержать операции подготовки запоминающих элементов к самой операции записи.
В общем случае продолжительность цикла обращения к памяти при считывании состоит из следующих компонент:
,
где – время доступа при считывании – интервал времени между началом операции обращения при считывании и моментом, когда доступ к данной единице информации стал возможен;
– продолжительность самого физического процесса считывания, т.е. процесса обнаружения и фиксации состояния соответствующих запоминающих элементов или участков поверхности носителя;
– время на восстановление разрушенной при считывании информации. В ЗУ без разрушения .
Продолжительность цикла обращения к памяти при записи информации в общем случае состоит из следующих компонент:
,
где – время доступа при записи – интервал времени от начала обращения до момента, когда становится возможен доступ к запоминающему элементу или участку поверхности носителя, в который производится запись;
– интервал времени, необходимый для приведения в исходное состояние запоминающих элементов или участков поверхности носителя для записи данной единицы информации;
– продолжительность самого физического процесса записи, т.е. время для изменения физического состояния запоминающих элементов или участка поверхности носителя.
В большинстве случаев
.
В качестве продолжительности цикла обращения к памяти принимается величина
.
Следует иметь в виду, что для хранения информации в ЭВМ используются устройства памяти, построенные на разных принципах действия и имеющие разнообразнейшие технические и конструктивные реализации. Кроме того, все они являются сложнейшими электронными устройствами. Поэтому устройства памяти обладают многочисленными характеристиками, по каждой из которых можно производить классификацию устройств. Ниже будут рассмотрены только основные критерии, по которым принято квалифицировать ЗУ, а именно: по принципу действия, по реализации в памяти операций обращения, по способу доступа к хранимой информации.
1.Принцип действия. По этому признаку основные типы ЗУ, наиболее широко используемые в современных ЭВМ, делятся:
· на электронные, в которых в качестве запоминающих элементов используют полупроводники;
· магнитные с неподвижными запоминающими элементами;
· магнитомеханические с движущимися магнитными носителями информации;
· оптические с движущимся носителем информации;
· магнитооптические с движущимся носителем информации.
В качестве внутренней памяти ЭВМ в абсолютном большинстве случаев используются электронные ЗУ на полупроводниковых элементах. В редких случаях в специализированных управляющих ЭВМ используются ЗУ с неподвижными магнитными запоминающими элементами. Остальные типы устройств используются в качестве внешних памятей ЭВМ.
В настоящее время разрабатываются и исследуются многочисленные "нетрадиционные" ЗУ, а именно: ЗУ на приборах с зарядовой связью, акустоэлектронные ЗУ, пьезоэлектронные ЗУ, магнитоэлектронные ЗУ и т.д.
2. Способ реализации в памяти операций обращения. По этому признаку различают:
· Память с произвольным обращением, допускающую как считывание, так и запись информации (RAM). Это энергозависимые ЗУ (информация в них сохраняется только при наличии питания), которые используются для построения оперативных запоминающих устройств (ОЗУ), кэш, сверхоперативной памяти (СОП) и т.д.
· Память постоянная, допускающая только считывание информации, заложенной в нее в процессе изготовления или настройки (ROM). Это энергонезависимые ЗУ (информация в них сохраняется при отсутствии питания), которые, в свою очередь, делятся на постоянные ЗУ (ПЗУ, EPROM) и перепрограммируемые ЗУ (ППЗУ, EEPROM). Быстродействие RAM и ROM примерно одинаковое.
· Флэш ППЗУ (Flash EEPROM) – энергонезависимые перепрограммируемые ЗУ, информация в которых сохраняется до нескольких лет. Обращения к ним возможно как для записи, так и для чтения. Однако быстродействие этих ЗУ ниже, чем у RAM и ROM. Обычно флэш используются для накопления информации. Число перезаписей флэш ограничено.
3. Способ организации доступа. По этому признаку различают ЗУ с непосредственным (произвольным), с прямым (циклическим) и последовательным доступом.
· Непосредственный (произвольный) доступ. В ЗУ этого типа время доступа, а поэтому и цикл обращения не зависят от места расположения элемента памяти, с которого производится считывание или в который записывается информация. В большинстве случаев это электронные ЗУ, в которых непосредственный доступ реализуется с помощью электронных логических схем. В ЗУ с произвольным доступом цикл обращения составляет от 1-2 мкс до единиц
наносекунд.
Независимость от положения запоминающего элемента в запоминающем массиве имеет место только до определенной частоты обращений процессора к ЗУ. При увеличении частоты обращений до единиц наносекунд начинает сказываться геометрическое положение запоминающего элемента в массиве. Это обусловлено, прежде всего, конечной скоростью распространения электрического сигнала в изолированном проводнике, которая составляет примерно 60 % от скорости света.
Число разрядов, считываемых или записываемых в память с произвольным доступом параллельно во времени за одну операцию обращения, называется шириной выборки.
В других типах ЗУ используют более медленные электромеханические процессы, поэтому и цикл обращения больше.
· Прямой (циклический) доступ. К ЗУ этого типа относятся устройства на магнитных, оптических и магнитооптических дисках, а также на магнитных барабанах (последние в настоящее время используются очень редко). Благодаря непрерывному вращению носителя информации возможность обращения к некоторому участку носителя для считывания или записи циклически повторяется. В таких ЗУ время доступа составляет обычно от долей секунды до единиц миллисекунды.
· Последовательный доступ. К ЗУ этого типа относятся устройства на магнитных лентах. В процессе доступа производится последовательный просмотр участков носителя информации, пока нужный участок не займет некоторое исходное положение. Время доступа в худшем случае составляет минуты, поскольку магнитофон будет вынужден осуществить перемотку всей кассеты.
Классическая пятиблочная структура Неймана, рассмотренная ранее, предполагала наличие только одного устройства памяти – ОП. Однако современные ЭВМ имеют иерархическую структуру памяти, каждый уровень которой характерен различным быстродействием и емкостью. Появление многочисленных иерархически расположенных уровней памяти связано, прежде всего, с постоянным увеличением разрыва в быстродействии процессора и ОП, которое необходимо скомпенсировать для повышения производительности ЭВМ в целом.
Кроме того, развитие программного обеспечения и расширение круга задач, решаемых на ЭВМ, требовали постоянного увеличения объема ОП. Между тем известно, что на всем протяжении развития ЭВМ требования к емкости и быстродействию ЗУ были противоречивы – чем выше быстродействие, тем технически труднее и дороже обходится увеличение емкости. Необходимость поддержания стоимости памяти ЭВМ на приемлемом уровне, а также множество технических проблем, связанных с построением быстродействующих ЗУ большого объема, и привели в процессе эволюции к созданию иерархической структуры памяти современной ЭВМ.
Несмотря на существенные различия в принципах функционирования и технической реализации различных уровней памяти, существуют общие принципы построения всей иерархии:
- чем ближе уровень памяти к процессору, тем выше его быстродействие и меньше емкость;
- алгоритмы взаимодействия всех уровней памяти построены так, что количество обращений верхнего, более быстродействующего уровня к нижележащему, менее быстродействующему, соседнему уровню является минимальным;
- обмен информацией между соседними иерархическими уровнями памяти в большинстве случаев осуществляется блоками фиксированной длины, что позволяет ускорить обмен за счет аппаратной реализации алгоритмов.
В общем случае память современной ЭВМ включает в себя следующие иерархические уровни:
· Сверхоперативная память (СОП), которая называется еще местной памятью.
· Кэш-память, которая обычно отсутствует в простейших процессорных устройствах. В более сложных ЭВМ кэш имеет несколько уровней, причем кэш верхнего уровня всегда находится в кристалле процессора.
· Оперативная (основная) память (ОП) или оперативное запоминающее устройство (ОЗУ), а также системное ПЗУ, объединенное с ОЗУ общим полем адресов.
· Память с прямым доступом на магнитных дисках.
· Память с последовательным доступом на магнитных лентах.
Устройства перечислены в порядке убывания быстродействия и увеличения объема.
Рассмотрим в самых общих чертах функциональное назначение устройств памяти, изображенных на рис. 14.1.
Рис.14.1 Иерархическая структура памяти
Оперативная (основная) память, системное ПЗУ. Название этого устройства памяти (ОП) отражает тот факт, что процессор может работать только с программами, которые загружены в ОП. Этот принцип был положен в основу функционирования первых однозадачных ЭВМ. По этому же принципу функционируют современные многозадачные однопроцессорные системы. При отсутствии кэш ОП служит для хранения информации, непосредственно используемой в вычислительном процессе. Из ОП в процессор поступают операнды и команды, а обратно – результаты выполненных операций.
Характеристики ОП непосредственно влияют на характеристики ЭВМ в целом и прежде всего на производительность (даже при наличии кэш).
Объем ОП зависит от целевого назначения ЭВМ и колеблется в очень широком диапазоне – от десятков Кбайт в простейших контроллерах до сотен Мбайт. В современных ЭВМ ОП всегда выполняется на полупроводниковых ЗУ и имеет длительность цикла обращения не более 1-2 мкс. (В ЭВМ первого поколения ОП строилась сначала на электронных лампах, а затем на ферритовых кольцах).
Системное ПЗУ имеет с ОП (ОЗУ) общее адресное пространство. Его объем и заполнение существенно зависят от целевого назначения ЭВМ.
Системное ПЗУ может хранить ядро операционной системы, утилиты, драйверы, служебные и прикладные программы и т.д. При включении ЭВМ или ее работе программы, записанные в системном ПЗУ, в большинстве случаев загружаются в ОП (ОЗУ) и только после этого обрабатываются процессором.
Сверхоперативная память. Необходимость в СОП возникла уже в первых ЭВМ, когда скорость работы процессора превысила скорость работы ОП. Современные СОП всегда строятся на полупроводниках и представляют собой наборы регистров, находящихся внутри кристалла процессора в непосредственной близости от АЛУ и УУ. Быстродействие СОП должно соответствовать быстродействию АЛУ и УУ процессора. Цикл обращения к СОП составляет 1-2 такта. Объем СОП очень небольшой. Во многих случаях СОП называют также внутренней регистровой памятью процессора. Регистры СОП используют для временного хранения результатов операции в АЛУ, операндов, служебных констант, очень коротких наборов команд обрабатываемой программы и т.д. По своей сути СОП является буферной памятью, которая в какой-то степени сглаживает разрыв в быстродействии процессора и ОП. Однако ее незначительный объем не позволяет получить приемлемое решение проблемы, поэтому в процессе эволюции ЭВМ возник другой иерархический уровень буферной памяти, быстродействие которого несколько ниже СОП, а емкость существенно больше.
Кэш-память. Память этого типа является быстродействующим буфером достаточно большого объема между процессором (его внутренней памятью) и сравнительно медленно действующей ОП. Ее объем (одноуровневая кэш) составляет около 16-256 Кбайт на 4-8 Мбайт ОП. Эта память недоступна программисту (cash в переводе означает тайник). Кэш-память, как уже отмечалось, располагается в непосредственной близости от процессора, а кэш верхних уровней – непосредственно в кристалле процессора. В настоящее время кэш верхнего уровня и СОП стали фактически единым иерархическим уровнем внутренней памяти процессора. В IBM PC БИС нижнего уровня кэш располагается на процессорной шине. Информация в кэш-память закачивается из ОП небольшими блоками, при этом ненужные блоки удаляются из кэш обратно в ОП. Об этом говорит сайт https://intellect.icu . Наличие кэш-памяти позволяет сгладить различие в быстродействии процессора и ОП. Кроме того, кэш-память дает возможность в ряде случаев не прерывать работу процессора при обмене внешних устройств с ОП в режиме прямого доступа (DMA).
Внешняя память. Потребность в памяти, объем которой существенно превосходил бы размер существующих ОП, возникла в процессе эксплуатации уже первых ЭВМ. Такая память могла решить многие проблемы, связанные с вводом в ЭВМ больших программ, которые было невозможно разместить в ОП, и особенно с хранением больших наборов данных. Первоначально в качестве внешней памяти ЭВМ использовались накопители на магнитных барабанах (НМБ) и магнитных лентах (НМЛ). Затем были разработаны и созданы накопители на жестких и гибких магнитных дисках (НМД), которые стали интенсивно вытеснять более медленные НМЛ. Впоследствии были созданы накопители на оптических и магнитооптических дисках.
В настоящее время основным типом устройства внешней памяти является НМД. Внешнюю память на НМД иногда называют оперативным внешним запоминающим устройством (ВЗУ). НМЛ стали использоваться как архивные ВЗУ (стримеры), предназначенные для резервного хранения информации. К этому же классу ВЗУ относятся накопители на оптических и магнитооптических дисках. Все перечисленные ВЗУ имеют быстродействие во много раз меньше, чем ОП, и информация, хранимая на них, не может непосредственно перерабатываться процессором. Перед обработкой в процессоре информация с ВЗУ должна быть обязательно помещена в ОП. Емкость ВЗУ в ряде случаев для конкретной ЭВМ и конкретной задачи можно считать бесконечной.
Ниже рассматриваются принципы построения только внутренней памяти ЭВМ.
Функционально ЗУ любого типа всегда состоят из запоминающего массива, хранящего информацию, и вспомогательных, весьма сложных блоков, служащих для поиска в массиве, записи и считывания (и, если требуется, для регенерации).
Запоминающий массив (ЗМ) состоит из множества одинаковых запоминающих элементов (ЗЭ). Все ЗЭ организованы в ячейки, каждая из которых предназначена для хранения единицы информации в виде двоичного кода, число разрядов которого определяется шириной выборки. Способ организации памяти зависит от методов размещения и поиска информации в ЗМ. По этому признаку различают адресную, ассоциативную и стековую память.
В памяти с адресной организацией размещение и поиск информации в ЗМ основаны на использовании адреса хранения единицы информации, которую в дальнейшем для краткости будем называть словом. Адресом служит номер ячейки ЗМ, в которой это слово размещается. При записи (считывании) слова в ЗМ инициирующая эту операцию команда должна указывать адрес (номер) ячейки, по которому надо произвести запись (считывание).
На рис. 14.2 изображена обобщенная структура адресной памяти.
Цикл обращения к памяти инициализируется поступающим в БУП сигналом "Обращение". Общая часть цикла обращения включает в себя прием в РгА с шины адреса (ША) адреса обращения и прием в БУП управляющего сигнала "Операция", указывающего вид запрашиваемой операции (считывание или запись).
Считывание. БАВ дешифрирует адрес и посылает сигнал, выделяющий заданную адресом ячейку ЗМ. В общем случае БАВ может также посылать в выделенную ячейку памяти сигналы, настраивающие ЗЭ ячейки на запись или считывание. После этого записанное в ячейку слово считывается усилителями БУС и передается в РгИ. Затем в памяти с разрушающим считыванием происходит регенерация информации путем записи слова из РгИ через БУЗ в ту же ячейку ЗМ. Операция считывания завершается выдачей слова из РгИ на выходную информационную шину ШИвых.
Рис.14.2. Обобщенная структура адресного ЗУ
Запись. Помимо указанной выше общей части цикла обращения происходит прием записываемого слова с входной шины ШИвх в РгИ. Сама запись в общем случае состоит из двух операций – очистки ячейки и собственно записи. Для этого БАВ сначала производит выборку и очистку ячейки, заданной адресом в РгА. Очистка ячейки ЗМ (приведение в исходное состояние) может осуществляться по-разному. В частности, в памяти с разрушающим считыванием очистку можно производить сигналом считывания слова в ячейке при блокировке БУС (чтобы в РгИ не поступила информация). Затем в выбранную ячейку записывается новое слово.
Необходимость в операции очистки ячейки перед записью, так же как и в операции регенерации информации при считывании, определяется типом используемых ЗЭ, способами управления, особенностями электронной структуры БИС памяти, поэтому в полупроводниковых памятях эти операции могут отсутствовать.
БУП генерирует необходимые последовательности управляющих сигналов, инициирующих работу отдельных узлов памяти. Следует иметь в виду, что БУП может быть весьма сложным устройством (своеобразным управляющим контроллером, имеющим собственную кэш-память), придающим БИСу памяти в целом специальные потребительские свойства, такие как многопортовость, конвейерная выдача информации и т.п.
В памяти этого типа поиск информации происходит не по адресу, а по ее содержанию. Под содержанием информации в данном случае понимается не смысловая нагрузка лежащего на хранении в ячейке памяти слова, а содержание ЗЭ ячейки памяти, т.е. побитовый состав записанного двоичного слова. При этом ассоциативный запрос (признак) также представляет собой двоичный код с определенным побитовым составом. Поиск по ассоциативному признаку происходит параллельно во времени для всех ячеек ЗМ и представляет собой операцию сравнения содержимого разрядов регистра признака с содержимым соответствующих разрядов ячеек памяти. Для организации такого поиска все ЗЭ ЗМ снабжены однобитовыми процессорами, поэтому в ряде случаев память такого типа рассматривают как многопроцессорную систему.
Полностью ассоциативная память большого объема является очень дорогостоящим устройством, поэтому для ее удешевления уменьшают число однобитовых процессоров до одного на ячейку памяти. В этом случае сравнение ассоциативного запроса с содержимым ячеек памяти идет последовательно для отдельных разрядов, параллельно во времени для всех ячеек ЗМ.
При очень больших объемах памяти на определенных классах задач ассоциативный поиск существенно ускоряет обработку данных и уменьшает вероятность сбоя в ЭВМ. Кроме того, ассоциативные ЗУ с блоками соответствующих комбинационных схем позволяют выполнить в памяти достаточно сложные логические операции: поиск максимального или минимального числа в массиве, поиск слов, заключенных в определенные границы, сортировку массива и т.д.
Следует отметить, что ассоциативный поиск можно реализовать и в компьютере с обычной адресной памятью, последовательно вызывая записанные в ячейки памяти слова в процессор и сравнивая их с некоторым ассоциативным признаком (шаблоном). Однако при больших объемах памяти на это будет затрачено много времени. При использовании ассоциативной памяти можно, не считывая слов из ОП в процессор, за одно обращение определить количество слов, отвечающих тому или иному ассоциативному запросу. Это позволяет в больших базах данных очень оперативно реализовать запрос типа: сколько жителей области не представило декларацию о доходах и т.п.
В некоторых специализированных ЭВМ ОП или его часть строится таким образом, что позволяет реализовать как ассоциативный, так и адресный поиск информации.
Упрощенная структурная схема ассоциативной памяти, в которой все ЗЭ ЗМ снабжены однобитовыми процессорами, приведена на рис. 14.3.
Рис.14.3. Обобщенная структура ассоциативного ЗУ
Первоначально рассмотрим операцию, называющуюся контроль ассоциации. Эта операция является общей для операции считывания и записи, а также имеет самостоятельное значение.
По входной информационной шине в РгАП поступает n-разрядный ассоциативный запрос, т.е. заполняются разряды от 0 до n-1. Одновременно в РгМ поступает код маски поиска, при этом n-й разряд РгМ устанавливается в 0. Ассоциативный поиск производится лишь для совокупности разрядов РгАП, которым соответствуют 1 в РгМ (незамаскированные разряды РгАП). Для слов, в которых цифры в разрядах совпали с незамаскированными разрядами РгАП, КС устанавливает 1 в соответствующие разряды РгСв и 0 в остальные разряды.
Комбинационная схема формирования результата ассоциативного обращения ФС формирует из слова, образовавшегося в РгСв, как минимум три сигнала:
- a0 – отсутствие в ЗМ слов, удовлетворяющих ассоциативному признаку;
- a1 – наличие одного такого слова;
- a2 – наличие более чем одного слова.
Возможны и другие операции над содержимым РгСв, например подсчет количества единиц, т.е. подсчет слов в памяти, удовлетворяющих ассоциативному запросу, и т.п.
Формирование содержимого РгСв и a0, a1, a2 по содержимому РгАП, РгМ, ЗМ и называется операцией контроля ассоциации.
Считывание. Сначала производится контроль ассоциации по признаку в РгАП.
Затем:
- a0 = 1 – считывание отменяется из-за отсутствия искомой информации;
- a1 = 1 – считывается в РгИ найденное слово, после чего выдается на ШИвых;
- a2 = 1 – считывается слово, имеющее, например, наименьший номер среди ячеек, отмеченных 1 в РгСв, после чего выдается на ШИвых.
Запись. Сначала отыскивается свободная ячейка (полагаем, что в разряде занятости свободной ячейки записан 0). Для этого выполняется контроль ассоциации при РгАП=111...10 и РгМ=000...01, т.е. n-й разряд РгАП устанавливается в 0, а n-й разряд РгМ – в 1. При этом свободная ячейка отмечается 1 в РгСв. Для записи выбирают свободную ячейку, например, с наименьшим номером. В нее записывается слово, поступившее с ШИвх в РгИ.
Следует отметить, что на данной схеме не изображены блоки БУП, БУС, БУЗ, которые есть в реальных устройствах. Кроме того, для построения ассоциативной памяти требуются запоминающие элементы, допускающие считывание без разрушения.
Стековая память, так же как и ассоциативная, является безадресной. Стековая память может быть организована как аппаратно, так и на обычном массиве адресной памяти.
В случае аппаратной реализации ячейки стековой памяти образуют одномерный массив, в котором соседние ячейки связаны друг с другом разрядными цепями передачи слов (рис. 14.4). При этом возможны два типа устройств (а, б), принципы функционирования которых различны. Рассмотрим первоначально структуру на рис. 14.4, а.
Рис.14.4. Обобщенная структура аппаратного стека: а) стек LIFO,
б) стек FIFO
Запись нового слова, поступившего с ШИвх, производится в верхнюю (нулевую) ячейку, при этом все ранее записанные слова (включая слово в ячейке 0) сдвигаются вниз, в соседние ячейки, номера которых на единицу больше. Считывание возможно только из верхней (нулевой) ячейки памяти. Основной режим – это считывание с удалением. При этом все остальные слова в памяти сдвигаются вверх, в соседние ячейки с меньшими номерами. В такой памяти реализуется правило: последний пришел – первый ушел. Стеки подобного типа принято называть стеками LIFO (Last In – First Out).
В ряде случаев устройства стековой памяти предусматривают также операцию простого считывания слова из ячейки 0 без его удаления и сдвига остальных слов. При использовании стека для запоминания параметров инициализации контроллеров каких-либо устройств ЭВМ обычно предусматривается возможность считывания содержимого любой ячейки стека без его удаления, т.е. считывание содержимого не только ячейки 0.
О первом слове, посылаемом в стек, говорят, что оно располагается на дне стека. О последнем посланном (по времени) в стек слове говорят, что оно находится в вершине стека. Таким образом, ячейка N-1 – дно стека, а ячейка 0 – вершина.
Обычно аппаратный стек снабжается счетчиком стека СчСт, показывающим общее количество занесенных в память слов (СчСт = 0 – стек пустой). При заполнении стека полностью он запрещает дальнейшие операции записи.
Стековый принцип организации памяти можно реализовать не только в специально предназначенных для этого устройствах. Стековая организация данных возможна и на обычной адресной памяти с произвольным обращением (программный стек). Для организации стека LIFO в этом случае необходима еще одна ячейка памяти (регистр), в которой всегда хранится адрес вершины стека и которая называется указателем стека. Обычно в качестве указателя стека используют один из внутренних регистров процессора. Кроме этого, требуется соответствующее программное обеспечение. Принципы стековой организации данных на обычной адресной памяти иллюстрируются схемой на рис. 14.5.
Рис.14.5. Запись слова в программный стек LIFO
В отличие от аппаратного стека данные, размещенные в программном стеке, при записи нового числа или считывании не перемещаются. Запись каждого нового слова осуществляется в ячейку памяти, следующую по порядку за той, адрес которой содержится в указателе стека. После записи нового слова содержимое указателя стека увеличивается на единицу (см. рис. 14.5). Таким образом, в программном стеке перемещаются не данные, а вершина стека. При считывании слова из стека происходит обратный процесс. Слово считывается из ячейки, адрес которой находится в указателе стека, после чего содержимое указателя стека уменьшается на единицу.
Если вновь загружаемые в стек слова размещаются в ячейках памяти с последовательно увеличивающимися адресами, стек называют прямым. Если адреса последовательно убывают, то – перевернутым. В большинстве случаев используется перевернутый стек, что связано с особенностями аппаратной реализации счетчиков внутри процессора.
Чем удобна такая форма организации памяти? Забегая вперед, можно отметить, что любая команда, выполняемая в процессоре, в общем случае должна содержать код операции (КОП), адрес первого и второго операндов и адрес занесения результата. Для экономии памяти и сокращения времени выполнения машинной команды процессором желательно уменьшить длину команды. Пределом такого уменьшения является длина безадресной команды, т.е. просто КОП. Именно такие команды оказываются возможными при стековой организации памяти, так как при правильном расположении операндов в стеке достаточно последовательно их извлекать и выполнять над ними соответствующие операции.
Помимо рассмотренной выше стековой памяти типа LIFO в ЭВМ используются стековые памяти другого типа, реализующие правило: первый пришел – первый ушел. Стеки подобного типа принято называть стеками FIFO (First In – First Out). Такая стековая память широко используется для организации различного рода очередей (команд, данных, запросов и т.д.). Обобщенная структура аппаратного стека типа FIFO представлена на рис. 14.4, б.
Как и в предыдущем случае, ячейки стековой памяти образуют одномерный массив, в котором соседние ячейки связаны друг с другом разрядными цепями передачи слов. Запись нового слова, поступившего с ШИвх, осуществляется в верхнюю (нулевую) ячейку, после чего оно сразу перемещается вниз и записывается в последнюю по счету незаполненную ячейку. Если стек перед записью был пустой, слово сразу попадает в ячейку с номером N-1, т.е. на дно стека. Считывание возможно только из нижней ячейки с номером N-1 (дно стека). Основной режим – это считывание с удалением.
продолжение следует...
Часть 1 Тема 11. Запоминающие устройства Лекция 14
Часть 2 14.3. Структуры адресных ЗУ - Тема 11. Запоминающие устройства Лекция
Надеюсь, эта статья про запоминающие устройства , была вам полезна, счастья и удачи в ваших начинаниях! Надеюсь, что теперь ты понял что такое запоминающие устройства и для чего все это нужно, а если не понял, или есть замечания, то не стесняйся, пиши или спрашивай в комментариях, с удовольствием отвечу. Для того чтобы глубже понять настоятельно рекомендую изучить всю информацию из категории Компьютерная схемотехника и архитектура компьютеров
Комментарии
Оставить комментарий
Компьютерная схемотехника и архитектура компьютеров
Термины: Компьютерная схемотехника и архитектура компьютеров