Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Вопрос 13. Архитектура подсистемы памяти микропроцессорной системы

Память является очень важным структурным компонентом микропроцессорной системы. Подсистема памяти – совокупность устройств, служащих для запоминания, хранения и выдачи информации, представленной в виде цифровых кодов.

Содержимое памяти обычно относится к одной из четырех категорий:

1) коды программы;

2) данные (постоянные);

3) промежуточные результаты обработки (переменные);

4) состояние системы.

Можно выделить три основные функции памяти:

1) хранение программ и данных;

2) запоминание промежуточных результатов, используемых в ходе обработки;

3) работа в качестве элемента устройства обработки.

Отдельные устройства, входящие в подсистему памяти микропроцессорной системы, называют запоминающими устройствами (ЗУ) или памятями того или иного типа. Оба эти термина в настоящее время почти синонимы. ЗУ обычно употребляется, когда речь идет о принципе построения некоторого устройства памяти. Например, полупроводниковое ЗУ, ЗУ на магнитных дисках и т.п. Термин память употребляется, когда хотят подчеркнуть выполняемую устройством памяти логическую функцию или место в составе системы. Например, основная память, кэш-память, внешняя память.

Основные операции в памяти:

· занесение информации в память – запись;

· выборка информации из памяти – считывание или память.

Обе эти операции называют обращением к памяти или обращением при считывании (чтении) и обращением при записи.

Архитектура современных микропроцессорных систем предъявляет к устройствам памяти требования сложного характера.

Основными требованиями, которым должно удовлетворять ЗУ, являются:

· большая емкость;

· высокое быстродействие.

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

· чем меньше время доступа (обращения), тем выше стоимость хранения бита;

· чем больше емкость, тем ниже стоимость хранения бита, но больше время доступа (обращения).

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

Наиболее распространенным подходом является построение системы памяти по иерархическому принципу. Иерархическая память состоит из ЗУ различных типов (рис. 16), которые, в зависимости от характеристик, относят к определенному уровню иерархии, т.е. память микропроцессорной системы имеет многоуровневую структуру.


Рис. 16

Более высокий уровень меньше по емкости, быстрее и имеет большую стоимость в пересчете на бит, чем более низкий уровень. Емкость памяти на каждом из уровней увеличивается в направлении от процессора в следующей последовательности: буферная память, основная память, вспомогательная (внешняя) память. Повышение быстродействия памяти происходит в обратном порядке. Уровни иерархии взаимосвязаны: все данные на одном уровне могут быть также найдены на более низком уровне, и все данные на этом более низком уровне могут быть найдены на следующем нижележащем уровне и т. д.

Распределение ЗУ по уровням варьирует в зависимости от типа микропроцессорной системы (рис 17).

Рис. 17

Самый быстрый, но и минимальный по емкости вид ЗУ – это внутренние регистры процессора, которые иногда объединяют понятием сверхоперативное запоминающее устройство (СОЗУ). Как правило, количество регистров невелико, хотя в архитектурах с сокращенным набором команд их число может доходить до нескольких сотен. Основная память (ОП), значительно большей емкости, располагается несколькими уровнями ниже. С точки зрения программиста основная память рассматривается как ЗУ с произвольной выборкой и одномерной адресацией. Между регистрами ЦП и основной памятью часто размещают буферную память – кэш-память, которая по емкости ощутимо проигрывает ОП, но существенно превосходит последнюю по быстродействию, уступая в то же время СОЗУ. Наличие буферного ЗУ только увеличивает эквивалентную скорость выборки из основного ЗУ, не внося никаких изменений в используемую программой систему адресации, т.е. буферная память является средством повышения быстродействия ЗУ. В большинстве современных микропроцессорных систем имеется несколько уровней кэш-памяти, которые обозначают буквой L и номером уровня кэш-памяти. На рис. 17 показаны два таких уровня. Каждый последующий уровень кэш-памяти имеет большую емкость, но одновременно и меньшее быстродействие по сравнению с предыдущим. Все виды внутренней памяти реализуются на основе полупроводниковых технологий и в основном являются энергозависимыми.

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

Между основным и вспомогательным ЗУ также можно ввести буферное ЗУ. Оно называется дисковым кэшем и предназначено для повышения эквивалентной скорости обращения к ЗУ на магнитных дисках. Этот уровень реализуется в виде самостоятельного ЗУ, включаемого в состав магнитного диска. Дисковая кэш-память существенно улучшает производительность при обмене информацией между дисками и основной памятью.

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

1) уменьшается соотношение стоимость/бит;

2) возрастает емкость;

3) растет время доступа;

4) уменьшается частота обращения к памяти со стороны процессора.

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

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

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

Многоуровневая организация памяти связана с передачей информации между разнотипными ЗУ и обеспечивает одновременно и высокое быстродействие, и большую емкость памяти микропроцессорной системы. На каждом уровне иерархии информация разбивается на блоки, выступающие в качестве наименьшей информационной единицы, пересылаемой между двумя соседними уровнями иерархии. Размер блоков может быть фиксированным либо переменным. При фиксированном размере блока емкость памяти обычно кратна его размеру. Размер блоков на каждом уровне иерархии чаще всего различен и увеличивается от верхних уровней к нижним.

При доступе к командам и данным, например, для их считывания, сначала производится поиск в памяти верхнего уровня. Факт обнаружения нужной информации называют попаданием (hit), в противном случае говорят о промахе (miss). При промахе производится поиск в ЗУ следующего более низкого уровня, где также возможны попадание или промах. После обнаружении необходимой информации выполняется последовательная пересылка блока, содержащего искомую информацию, с нижних уровней на верхние. Независимо от числа уровней иерархии пересылка информации может осуществляться только между двумя соседними уровнями.

При оценке эффективности подобной организации памяти обычно используют следующие характеристики:

· коэффициент попаданий (hit rate) – отношение числа обращений к памяти, при которых произошло попадание, к общему числу обращений к ЗУ данного уровня иерархии;

· коэффициент промахов (miss rate) – отношение числа обращений к памяти, при которых имел место промах, к общему числу обращений к ЗУ данного уровня иерархии;

· время обращения при попадании (hit time) – время, необходимое для поиска нужной информации в памяти верхнего уровня (включая выяснение, является ли обращение попаданием), плюс время на фактическое считывание данных;

· потери на промах (miss penalty) – время, требуемое для замены блока в памяти более высокого уровня на блок с нужными данными, расположенный в ЗУ следующего более низкого уровня. Потери на промах включают в себя: время доступа (access time) – время обращения к первому слову блока при промахе и время пересылки (transfer time) – дополнительное время для пересылки оставшихся слов блока. Время доступа обусловлено задержкой памяти более низкого уровня, в то время как время пересылки связано с полосой пропускания интерфейса между ЗУ двух смежных уровней.

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

· размещения блока – допустимого места расположения блока на примыкающем сверху уровне иерархии;

· идентификации блока – способа нахождения блока на примыкающем сверху уровне;

· замещения блока – выбора блока, заменяемого при промахе с целью освобождения места для нового блока;

· согласования копий (стратегии записи) – обеспечения согласованности копий одних и тех же блоков, расположенных на разных уровнях, при записи новой информации в копию, находящуюся на более высоком уровне.

<== предыдущая лекция | следующая лекция ==>
Вопрос 12. Механизм транзакций при передаче данных по системной магистрали | Вопрос 14. Основные характеристики запоминающих устройств
Поделиться с друзьями:


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


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



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




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