ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 24.12.2021

Просмотров: 6694

Скачиваний: 8

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
background image

Основная память

83

Центральный

процессор

Кэш-память

Основная

' память

Шина

Рис. 2.13. Кэш-память по логике вещей должна находиться между процессором и основной

памятью. В действительности существует три возможных варианта расположения кэш-памяти

Мы можем сделать более строгие вычисления. Пусть с — время доступа к кэш-

памяти, m — время доступа к основной памяти и

 h

 —

 коэффициент совпадения,

который показывает соотношение числа ссылок к кэш-памяти и общего числа всех
ссылок. В нашем примере h=(k~l)/k. Таким образом, мы можем вычислить сред-
нее время доступа:

среднее время доступа =с+( 1 -h)m.

Если h—И и все обращения делаются только к кэш-памяти, то время доступа

стремится к с. С другой стороны, если h—»0 и каждый раз нужно обращаться к ос-
новной памяти, то время доступа стремится к с+ш: сначала требуется время с для
проверки кэш-памяти (в данном случае безуспешной), а затем время m для обра-
щения к основной памяти. В некоторых системах обращение к основной памяти

может начинаться параллельно с исследованием кэш-памяти, чтобы в случае не-
удачного поиска цикл обращения к основной памяти уже начался. Однако эта стра-
тегия требует способности останавливать процесс обращения к основной памяти

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

Основная память и кэш-память делятся на блоки фиксированного размера с уче-

том принципа локальности. Блоки внутри кэш-памяти обычно называют

 строка-

ми кэш-памяти (cache lines).

 Если обращение к кэш-памяти нерезультативно, из

основной памяти в кэш-память загружается вся строка, а не только необходимое
слово. Например, если строка состоит из 64 байтов, обращение к адресу 260 повле-
чет за собой загрузку в кэш-память всей строки, то есть с 256-го по 319-й байт.

Возможно, через некоторое время понадобятся другие слова из этой строки. Такой
путь обращения к памяти более эффективен, чем вызов каждого слова по отдель-
ности, потому что вызвать

 к

 слов 1 раз можно гораздо быстрее, чем 1 слово к раз.

Если входные сообщения кэш-памяти содержат более одного слова, это значит,

что будет меньше таких входных сообщений и, следовательно, меньше непроизво-
дительных затрат.

Разработка кэш-памяти очень важна для процессоров с высокой производи-

тельностью. Первый вопрос — размер кэш-памяти. Чем больше размер, тем лучше

работает память, но тем дороже она стоит. Второй вопрос — размер строки кэш-

памяти. Кэш-память объемом 16 Кбайт можно разделить на 1К строк по 16 байтов,
2К строк по 8 байтов и т. д. Третий вопрос — как устроена кэш-память, то есть как
она определяет, какие именно слова содержатся в ней в данный момент. Устрой-
ство кэш-памяти мы рассмотрим подробно в главе 4.


background image

84

Глава 2. Организация компьютерных систем

Четвертый вопрос — должны ли команды и данные находиться вместе в общей

кэш-памяти. Проще разработать

 смежную кэш-память,

 в которой хранятся и дан-

ные, и команды. При этом вызов команд и данных автоматически уравновешива-
ется. Тем не менее в настоящее время существует тенденция к использованию

разделенной кэш-памяти,

 когда команды хранятся в одной кэш-памяти, а данные —

в другой. Такая структура также называется

 Гарвардской (Harvard Architecture),

поскольку идея использования отдельной памяти для команд и отдельной памяти
для данных впервые воплотилась в компьютере Маге III, который был создай Го-

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

данным (операндам). Разделенная кэш-память позволяет осуществлять параллель-

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

записывать обратно в основную память.

Наконец, пятый вопрос — количество блоков кэш-памяти. В настоящее время

очень часто кэш-память первого уровня располагается прямо на микросхеме про-
цессора, кэш-память второго уровня — не на самой микросхеме, но в корпусе про-

цессора, а кэш-память третьего уровня — еще дальше от процессора.

Сборка модулей памяти и их типы

Со времен появления полупроводниковой памяти и до начала 90-х годов все мик-

росхемы памяти производились, продавались и устанавливались на плату компью-

тера по отдельности. Эти микросхемы вмещали от 1 Кбит до 1 Мбит информа-

ции и выше. В первых персональных компьютерах часто оставлялись пустые

разъемы, чтобы покупатель в случае необходимости мог вставить дополнитель-
ные микросхемы.

В настоящее время распространен другой подход. Группа микросхем (обычно

8 или 16) монтируется на одну крошечную печатную плату и продается как один

блок. Он называется SIMM (Single Inline Memory Module — модуль памяти,
имеющий выводы с одной стороны)

 или

 DIMM (Dual Inline Memory Module —

модуль памяти, у которого выводы расположены с двух сторон).

 У первого из

них контакты расположены только на одной стороне печатной платы (выводы на

второй стороне дублируют первую), а у второго — на обеих сторонах. Схема SIMM
изображена на рис. 2.14.

Основная

*** память

Центральный

процессор

Кэш-память

Шина

Рис. 2.14. Модуль SIMM в 32 Мбайт. Модулем управляют две микросхемы


background image

Вспомогательная память 85

Обычный модуль SIMM содержит 8 микросхем по 32 Мбит (4 Мбайт) каждая.

Таким образом, весь модуль вмещает 32 Мбайт информации. Во многие компью-
теры встраивается 4 модуля, следовательно, при использовании модулей SIMM

по 32 Мбайт общий объем памяти составляет 128 Мбайт. При необходимости дан-

ные модули SIMM можно заменить модулями с большей вместимостью (64 Мбайт
и выше).

У первых модулей SIMM было 30 контактов, и они могли передавать 8 битов

информации за один раз. Остальные контакты использовались для адресации и
контроля. Более поздние модули содержали уже 72 контакта и передавали 32 бита
информации за один раз. Для компьютера Pentium, который требовал одновремен-
ной передачи 64 битов, эти модули соединялись по два, и каждый из них доставлял

половину требуемых битов. В настоящее время стандартным способом сборки яв-

ляется модуль DIMM. У него на каждой стороне платы находится по 84 позоло-

ченных контакта, то есть всего 168. DIMM способен передавать 64 бита данных за
раз. Вместимость DIMM обычно составляет 64 Мбайт и выше. В электронных за-
писных книжках обычно используется модуль DIMM меньшего размера, который
называется

 SO-DIMM (Small Outline DIMM).

 Модули SIMM и DIMM могут со-

держать бит четности или код исправления ошибок, однако, поскольку вероятность

возникновения ошибок в модуле 1 ошибка в 10 лет, в большинстве обычных ком-
пьютеров методы обнаружения и исправления ошибок не применяются.

Вспомогательная память

Не важно, каков объем основной памяти: он все равно всегда будет слишком мал.

Мы всегда хотим хранить в памяти компьютера больше информации, чем она мо-

жет вместить С развитием технологий людям приходят в голову такие вещи, ко-
торые раньше считались совершенно фантастическими. Например, можно вооб-
разить, что Библиотека Конгресса решила представить в цифровой форме и продать

полное содержание всех хранящихся в ней изданий в одной статье («Все челове-

ческие знания всего за $49»). В среднем каждая книга содержит 1 Мбайт текста

и 1 Мбайт сжатых рисунков. Таким образом, для размещения 50 млн книг понадо-

бится 10'

4

байт или 100 Тбайт памяти. Для хранения всех существующих художе-

ственных фильмов (50 000) необходимо примерно столько же места. Такое коли-

чество информации в настоящее время невозможно разместить в основной памяти,
и вряд ли можно будет это сделать в будущем (по крайней мере, в ближайшие не-

сколько десятилетий).

Иерархическая структура памяти

Иерархическая структура памяти является традиционным решением проблемы

хранения большого количества данных Она изображена на рис. 2.15. На самом
верху находятся регистры процессора. Доступ к регистрам осуществляется быст-
рее всего. Дальше идет кэш-память, объем которой сейчас составляет от 32 Кбайт

до нескольких мегабайт. Затем следует основная память, которая в настоящее


background image

86 Глава 2. Организация компьютерных систем

время может вмещать от 16 Мбайт до десятков гигабайтов. Далее идут магнитные
диски и, наконец, накопители на магнитной ленте и оптические диски, которые

используются для хранения архивной информации.

Кэш-память

Основная память

Магнитный диск

Магнитная память

Оптический диск

Рис. 2.15. Пятиуровневая организация памяти

По мере продвижения по структуре сверху вниз возрастают три параметра. Во-

первых, увеличивается время доступа. Доступ к регистрам занимает несколько
наносекунд, доступ к кэш-памяти — немного больше, доступ к основной памяти —
несколько десятков наносекунд. Дальше идет большой разрыв: доступ к дискам

занимает по крайней мере 10 мке, а время доступа к магнитным лентам и оптичес-

ким дискам вообще может измеряться в секундах (поскольку эти накопители ин-

формации еще нужно взять и поместить в соответствующее устройство).

Во-вторых, увеличивается объем памяти. Регистры могут содержать в лучшем

случае 128 байтов, кэш-память — несколько мегабайтов, основная память — десятки
тысяч мегабайтов, магнитные диски — от нескольких гигабайтов до нескольких

десятков гигабайтов. Магнитные ленты и оптические диски хранятся автономно

от компьютера, поэтому их объем ограничивается только финансовыми возмож-
ностями владельца.

В-третьих, увеличивается количество битов, которое вы получаете за 1 доллар.

Стоимость объема основной памяти измеряется в долларах за мегабайт

1

, объем

магнитных дисков — в пенни за мегабайт, а объем магнитной ленты — в долларах

за гигабайт или еще дешевле.

Регистры, кэш-память и основную память мы уже рассмотрели. В следующих

разделах мы расскажем о магнитных дисках, а затем приступим к изучению оп-

тических дисков. Накопители на магнитных лентах мы рассматривать не будем,

поскольку они очень редко используются; к тому же о них практически нечего
сказать.

1

 Заметим, что стоимость памяти постоянно уменьшается, в то время как ее объем — увеличивается. За-

кон Мура применим и здесь. Сегодня 1 Мбайт оперативной памяти стоит около 10 центов.

 —Примеч.

научи, ред.


background image

Вспомогательная память

87

Магнитные диски

Магнитный диск состоит из одного или нескольких алюминиевых дисков

1

 с маг-

нитным слоем. Изначально они были 50 см в диаметре, но сейчас их диаметр со-

ставляет от 3 до 12 см, а у портативных компьютеров — меньше 3 см, причем этот
параметр продолжает уменьшаться. Головка диска, содержащая индукционную
катушку, двигается над поверхностью диска, опираясь на воздушную подушку.

Отметим, что у дискет головка касается поверхности. Когда через головку проходит

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

диска показана на рис. 2.16.

Межсекторный интервал

Направление

движения

привода

/ Ширина 1 бита

/ от 0 1 до 0 2 микрон

Головка

считывания/записи

Привод

Ширина

дорожки

5-10 микрон

Рис.

 2.

16. Кусок дорожки диска (два сектора)

Дорожкой

 называется круговая последовательность битов, записанных на диск

за его полный оборот. Каждая дорожка делится на

 секторы

 фиксированной дли-

ны. Каждый сектор обычно содержит 512 байтов данных. Перед данными распола-
гается

 преамбула (preamble),

 которая позволяет головке синхронизироваться пе-

ред чтением или записью. После данных идет код с исправлением ошибок (код

Хэмминга или чаще

 код Рида—Соломона,

 который может исправлять много оши-

бок, а не только одиночные). Между соседними секторами находится

 межсектор-

ный интервал.

 Многие производители указывают размер неформатированного

диска (как будто каждая дорожка содержит только данные), но более честно было

бы указывать вместимость форматированного диска, когда не учитываются пре-

1

 В настоящее время фирма IBM делает их из стекла. —

 Примеч научи, ред.