Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Архитектура ЭВМ.doc
Скачиваний:
31
Добавлен:
23.11.2019
Размер:
6.47 Mб
Скачать

Адреса основной памяти

Память состоит из ячеек, каждая из которых может хранить некоторую порцию информации. Каждая ячейка имеет номер, который называется адресом. По адре­су программы могут ссылаться на определенную ячейку. Если память содержит n ячеек, они будут иметь адреса от 0 до n-1. Все ячейки памяти содержат одинако­вое число битов. Если ячейка состоит из k битов, она может содержать любую из 2k комбинаций. На Рис. 2 .7 показаны 3 различных способа организации 96-битной памяти. Отметим, что соседние ячейки по определению имеют последовательные адреса.

Рис. 2.7. Три способа организации 96-битной памяти

Ячейка – минимальная единица, к которой можно обращаться. В последние годы практически все производители выпускают компьютеры с 8-битными ячей­ками, которые называются байтами. Байты группируются в слова. Компьютер с 32-битными словами имеет 4 байта на каждое слово, а компьютер с 64-битными словами – 8 байтов на каждое слово. Такая единица, как слово, необходима, по­скольку большинство команд производят операции над целыми словами (напри­мер, складывают два слова). Таким образом, 32-битная машина будет содержать 32-битные регистры и команды для манипуляций с 32-битными словами, тогда как 64-битная машина будет иметь 64-битные регистры и команды для перемеще­ния, сложения, вычитания и других операций над 64-битными словами.

Упорядочение байтов

Байты в слове могут нумероваться слева направо или справа налево. На Рис. 2 .8, а) изображена часть памяти 32-битного компьютера, в котором байты пронумерованы слева на­право (как у компьютеров SPARC или больших IBM). Рис. 2 .8, б) показывает аналогичную репрезентацию 32-битного компьютера с нумерацией байтов справа налево (как у компьютеров Intel).

Рис. 2.8. Память с нумерацией байтов слева направо (а); память с нумерацией байтов справа налево (б)

Подобные различия могут создавать определенные трудности при пересылке (например, по сети) данных с компьютера одной платформы, на компьютер другой платформы. Эту задачу решает протокол обмена данных.

Кэш-память

При выполнении каждого цикла команды процессор, по крайней мере, один раз обращается к памяти, чтобы произвести выборку команды. Часто это проис­ходит повторно, причем возможны случаи нескольких повторных обращений, при которых извлекаются операнды и/или сохраняются результаты. Частота, с которой процессор исполняет команды, ограничена временем обращения к памя­ти. Годами это ограничение было существенной проблемой из-за постоянного несоответствия между скоростью процессора и скоростью доступа к основной памяти – скорость процессора возрастала быстрее, чем скорость доступа к памяти. Постоянно нужно было искать компромисс между скоростью, стоимостью и ем­костью памяти. В идеале основная память должна была бы производиться по той же технологии, что и регистры процессора, чтобы время цикла памяти было срав­нимо со временем цикла процессора. Однако эта стратегия приводит к слишком большим затратам. Решением проблемы стало использование принципа локализации, при котором между процессором и основной памятью помещается память с небольшой емкостью и быстрым временем доступа, а именно – кэш (Рис. 2 .9).

Рис. 2.9. Кэш и основная память

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

На Рис. 2 .10 показана структура основной памяти и кэша. Основная па­мять состоит из 2n адресуемых слов, каждое из которых характеризуется своим уникальным n-битовым адресом. Предполагается, что вся память со­стоит из определенного количества блоков фиксированной длины, в каждый из которых входит К слов. Таким образом, всего имеется М=2n /К блоков. Кэш состоит из С слотов, по К слов в каждом. При этом количество слотов намного меньше количества блоков. Некоторое подмножество блоков основной памяти хранится в слотах кэша. Если нужно прочесть из памяти слово, находящееся в определенном блоке, которого нет в кэше, то этот блок передается в один из слотов кэша. Из-за того, что блоков больше, чем слотов, нельзя за­крепить за каждым блоком свой слот. Поэтому каждый слот должен содер­жать дескриптор (числовой код), идентифицирующий хранящийся в нем блок. В роли дескриптора обычно выступает число, состоящее из старших битов адреса, и по нему происходит обращение ко всем адресам, которые начинаются этой по­следовательностью битов.

Рис. 2.10. Структура кэша (а) и основной памяти (б)

Рассмотрим простой пример, в котором адреса состоят из шести битов, а де­скрипторы – из двух. Дескриптор 01 указывает на то, что в слоте находится блок, в который входят адреса 010000(2)… 011111(2).

Подведем итоги

  • память состоит из байтов, каждый из которых имеет номер, который называется адресом;

  • байты группируются в слова – порядок байтов в слове и длина слова зависит от конкретной реализации компьютера;

  • чтобы приблизить скорость доступа к памяти к максимально возможной, и в то же время обеспечить большой объем памяти по низкой цене используют кэш-память – между процессором и основной памятью помещается память с небольшой емкостью и быстрым временем доступа;

  • конфигурация памяти компьютера определяется тремя пара­метрами: объем, быстродействие, стоимость – на их основе строится идеология иерархии запоминающих устройств, когда к более дорогим устройствам с меньшей емкостью и более высокой производительностью добавляются более емкие, дешевые, но менее производительные.

Вопросы для самоконтроля

  1. Что такое основная память?

  2. Что такое адрес ячейки памяти?

  3. Как Вы думаете, каким ОЗУ является кэш-память – статической или динамической? Объясните почему.

  4. Адреса компьютера состоят из 8 бит, а де­скрипторы кэш-памяти – из 3. Какая длина блока кэш-памяти?

  5. Что такое вспомогательная память?

  6. Объясните принципы организации запоминающих устройств. Приведите пример такой организации.