|
Тема 2.2. Организация памяти вычислительных машинВ результате изучения данной темы Вы будете:
Конфигурация памяти компьютера в основном определяется тремя параметрами: объемом, быстродействием, стоимостью. Вопрос об объеме решить не так просто. Какой большой ни была бы память, все равно будут разработаны приложения, которым ее не хватит. В отношении быстродействия памяти все ясно: чем быстрее, тем лучше. Для достижения высшей производительности память должна иметь возможность быстро обмениваться данными с процессором. Но в реальной жизни едва ли не главным становится третий параметр. Стоимость памяти должна быть сравнима со стоимостью других компонентов компьютера. Очевидно, можно найти некоторый компромисс между перечисленными характеристиками памяти. На любом этапе развития технологий производства запоминающих устройств действуют следующие, достаточно устойчивые, соотношения:
Теперь ясна дилемма, стоящая перед конструктором. Вследствие возрастания требований к ресурсам конструктор стремится использовать те технологии, которые обеспечивают производство устройств с большой емкостью. Однако чтобы удовлетворить потребности в высокой производительности, конструктор должен использовать дорогую память с меньшей емкостью (зато и с меньшим временем доступа). Чтобы найти выход из сложившейся ситуации, необходимо опираться не на отдельно взятый компонент памяти или технологию, а выстроить иерархию запоминающих устройств. На Рис. 2.3 показана типичная иерархическая пирамида, при спуске к ее основанию происходит следующее: 1. снижается стоимость бита; 2. возрастает емкость памяти; 3. возрастает время доступа к памяти; 4. снижается частота обращений процессора к памяти. Рис. 2.3. Иерархия запоминающих устройств Таким образом, к более дорогим устройствам с меньшей емкостью и более высокой производительностью добавляются более емкие, дешевые, номенеепроизводительные. При такой организации ключом к успеху является снижение частоты обращения к последним. Регистры, кэш и основная память являются обычно временными (при отключении питания находящаяся вних информация исчезает) и производятся на основе полупроводниковой технологии. Наличие этих уровней основано на том, что существуют различные по скорости и стоимости виды полупроводниковой памяти. Постоянными являются внешние устройства хранения большого объема данных, наиболее часто встречающиеся из которых – жесткий диск и такие съемные устройства, как переносные диски, ленты и оптические запоминающие устройства. Внешнюю, постоянную память называют также вторичной или вспомогательной памятью. Такие устройства используются для хранения файлов с программами и данными и доступны программисту чаще всего (но не всегда) только на уровне файлов и записей, а не отдельных слов или байтов. Адреса основной памяти Память состоит изячеек, каждая из которых может хранить некоторую порцию информации. Каждая ячейка имеет номер, который называетсяадресом. По адресу программы могут ссылаться на определенную ячейку. Если память содержит n ячеек, они будут иметь адреса от 0 до n-1. Все ячейки памяти содержат одинаковое число битов. Если ячейка состоит из k битов, она может содержать любую из 2k комбинаций. На Рис. 2.4 показаны 3 различных способа организации 96-битной памяти. Отметим, что соседние ячейки по определению имеют последовательные адреса. Рис. 2.4. Три способа организации 96-битной памяти Ячейка – минимальная единица, к которой можно обращаться. В последние годы практически все производители выпускают компьютеры с 8-битными ячейками, которые называютсябайтами. Байты группируются вслова. Компьютер с 32-битными словами имеет 4 байта на каждое слово, а компьютер с 64-битными словами – 8 байтов на каждое слово. Такая единица, как слово, необходима, поскольку большинство команд производят операции над целыми словами (например, складывают два слова). Таким образом, 32-битная машина будет содержать 32-битные регистры и команды для манипуляций с 32-битными словами, тогда как 64-битная машина будет иметь 64-битные регистры и команды для перемещения, сложения, вычитания и других операций над 64-битными словами. Упорядочение байтов Байты в слове могут нумероваться слева направо или справа налево. На Рис. 2.5, а) изображена часть памяти 32-битного компьютера, в котором байты пронумерованы слева направо (как у компьютеров SPARC или больших IBM). Рис. 2.5, б) показывает аналогичную репрезентацию 32-битного компьютера с нумерацией байтов справа налево (как у компьютеров Intel). Рис. 2.5. Память с нумерацией байтов слева направо (а); память с нумерацией байтов справа налево (б) Подобные различия могут создавать определенные трудности при пересылке (например, по сети) данных с компьютера одной платформы, на компьютер другой платформы. Эту задачу решает протокол обмена данных. Кэш-память При выполнении каждого цикла команды процессор, по крайней мере, один раз обращается к памяти, чтобы произвести выборку команды. Часто это происходит повторно, причем возможны случаи нескольких повторных обращений, при которых извлекаются операнды и/или сохраняются результаты. Частота, с которой процессор исполняет команды, ограничена временем обращения к памяти. Годами это ограничение было существенной проблемой из-за постоянного несоответствия между скоростью процессора и скоростью доступа к основной памяти – скорость процессора возрастала быстрее, чем скорость доступа к памяти. Постоянно нужно было искать компромисс между скоростью, стоимостью и емкостью памяти. В идеале основная память должна была бы производиться по той же технологии, что и регистры процессора, чтобы время цикла памяти было сравнимо со временем цикла процессора. Однако эта стратегия приводит к слишком большим затратам. Решением проблемы стало использование принципа локализации, при котором между процессором и основной памятью помещается память с небольшой емкостью и быстрым временем доступа, а именно – кэш (Рис. 2.6). Рис. 2.6. Кэш и основная память Кэш предназначен для того, чтобы приблизить скорость доступа к памяти к максимально возможной, и в то же время обеспечить большой объем памяти по цене более дешевых типов полупроводниковой памяти. В кэше хранится копия фрагмента основной памяти. Когда процессор пытается прочесть слово из памяти, выполняется проверка на наличие этого слова в кэше. Если оно там есть, слово передается процессору. Если же его там нет, в кэш считывается блок основной памяти, состоящий из слов с определенными адресами. Вследствие локализации обращений при считывании в кэш блока данных, содержащего одно из требуемых слов, последующие обращения к данным с высокой вероятностью тоже будут выполняться к словам из этого блока. На Рис. 2.7 показана структура основной памяти и кэша. Основная память состоитиз 2n адресуемых слов, каждое из которых характеризуется своим уникальным n-битовым адресом. Предполагается, что вся память состоитиз определенного количества блоков фиксированной длины, в каждый из которых входит К слов. Таким образом, всего имеется М=2n / К блоков. Кэш состоит из С слотов, по К слов в каждом. При этом количество слотов намного меньше количества блоков. Некоторое подмножество блоков основной памяти хранится в слотах кэша. Если нужно прочесть из памяти слово, находящееся в определенном блоке, которого нет в кэше, то этот блок передается в один из слотов кэша. Из-за того, что блоков больше, чем слотов, нельзя закрепить за каждым блоком свой слот. Поэтому каждый слот должен содержать дескриптор (числовой код), идентифицирующий хранящийся в нем блок. В роли дескриптора обычно выступает число, состоящее из старших битов адреса, и по нему происходит обращение ко всем адресам, которые начинаются этой последовательностью битов. Рис. 2.7. Структура кэша (а) и основной памяти (б) Рассмотрим простой пример, в котором адреса состоят из шести битов, а дескрипторы – из двух. Дескриптор 01 указывает на то, что в слоте находится блок, в который входят адреса 010000(2)… 011111(2). Подведем итоги
Вопросы для самоконтроля 1. Что такое основная память? 2. Что такое адрес ячейки памяти? 3. Как Вы думаете, каким ОЗУ является кэш-память – статической или динамической? Объясните почему. 4. Адреса компьютера состоят из 8 бит, а дескрипторы кэш-памяти – из 3. Какая длина блока кэш-памяти? 5. Что такое вспомогательная память? 6. Объясните принципы организации запоминающих устройств. Приведите пример такой организации. ЧТО И КАК ПИСАЛИ О МОДЕ В ЖУРНАЛАХ НАЧАЛА XX ВЕКА Первый номер журнала «Аполлон» за 1909 г. начинался, по сути, с программного заявления редакции журнала... ЧТО ПРОИСХОДИТ, КОГДА МЫ ССОРИМСЯ Не понимая различий, существующих между мужчинами и женщинами, очень легко довести дело до ссоры... Система охраняемых территорий в США Изучение особо охраняемых природных территорий(ООПТ) США представляет особый интерес по многим причинам... Что способствует осуществлению желаний? Стопроцентная, непоколебимая уверенность в своем... Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:
|