link140 link141 link142 link143 link144 link145 link146 link147 link148 link149 link150 link151 link152 link153 link154 link155 link156 link157 link158 link159 link160 link161 link162 link163 link164 link165 link166 link167 link168 link169 link170 link171 link172 link173 link174 link175 link176 link177 link178 link179 link180 link181 link182 link183 link184 link185 link186 link187 link188 link189 link190 link191 link192 link193 link194 link195 link196 link197 link198 link199 link200 link201 link202 link203 link204 link205 link206 link207 link208 link209 link210 link211 link212 link213 link214 link215 link216 link217 link218 link219 link220 link221 link222 link223 link224 link225 link226 link227 link228 link229 link230 link231 link232 link233 link234 link235 link236 link237 link238 link239 link240 link241 link242 link243 link244 link245 link246 link247 link248 link249 link250 link251 link252 link253 link254 link255 link256 link257 link258 link259 link260 link261 link262 link263 link264 link265 link266 link267 link268 link269 link270 link271 link272 link273 link274 link275 link276 link277 link278 link279

PersCom — Компьютерная Энциклопедия Компьютерная Энциклопедия

Оперативная память

Основные понятия

Оперативная память (введение)

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

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

Оперативную память иногда называют памятью с произвольным доступом (Random Access Memory — RAM). Это означает, что обращение к данным, хранящимся в оперативной памяти, не зависит от порядка их расположения в ней. Однако этот термин вносит некоторую путаницу и является причиной заблуждений. Дело в том, что память, доступная только для чтения (Read#Only Memory — ROM), также имеет произвольный доступ, но отличается от RAM тем, что ее содержимое не пропадает при выключении питания и в нее ничего нельзя записать. Несмотря на то что жесткие диски также могут использоваться в качестве виртуальной памяти с произвольным доступом, их не относят к категории RAM.

За несколько лет определение RAM превратилось из обычной аббревиатуры в термин, означающий основное рабочее пространство памяти, создаваемое микросхемами динамической оперативной памяти (Dynamic RAM — DRAM) и используемое процессором для выполнения программ. Одним из свойств микросхем DRAM (и, следовательно, оперативной памяти в целом) является динамическое хранение данных, что означает, во#первых, возможность многократной записи информации в оперативную память и, во#вторых, необходимость постоянного обновления данных (т.е., в сущности, их перезапись) примерно каждые 15 мс (миллисекунд). Существует и так называемая статическая оперативная память (Static RAM — SRAM), не требующая постоянного обновления данных. Следует заметить, что в любом случае данные сохраняются в оперативной памяти только до выключения питания.

Примечание!

В памяти DRAM и SRAM данные сохраняются только до тех пор, пока подается напряжение. Однако в случае флэш-памяти это не так. Именно поэтому флэш-память нашла широкое применение в цифровых фотоаппаратах, USB-брелоках и других подобных устройствах. В ПК устройство на основе флэш-памяти распознается как дисковый накопитель (а не ОЗУ), доступ к которому осуществляется стандартным образом — по букве диска, как при работе с любым жестким диском или оптическим накопителем.

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

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

Новички часто путают оперативную память с памятью на диске, поскольку емкость устройств памяти обоих типов выражается в одинаковых единицах — мега# или гигабайтах. Попытаемся объяснить связь между оперативной памятью и памятью на диске с помощью следующей простой аналогии.

Представьте себе небольшой офис, в котором некий сотрудник обрабатывает информацию, хранящуюся в картотеке. В нашем примере шкаф с картотекой будет выполнять роль жесткого диска системы, на котором длительное время хранятся программы и данные. Рабочий стол будет представлять оперативную память системы, которую в текущий момент обрабатывает сотрудник, — его действия подобны работе процессора. Он имеет прямой доступ к любым документам, находящимся на столе. Однако, прежде чем конкретный документ окажется на столе, его необходимо отыскать в шкафу. Чем больше в офисе шкафов, тем больше документов можно в них хранить. Если рабочий стол достаточно большой, можно одновременно работать с несколькими документами.

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

Во время выполнения программы в оперативной памяти хранятся ее данные. Микросхемы оперативной памяти (RAM) иногда называют энергозависимой памятью: после выключения компьютера данные, хранимые в них, будут потеряны, если они предварительно не были сохранены на диске или другом устройстве внешней памяти. Чтобы избежать этого, некоторые приложения автоматически создают резервные копии данных.

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

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

Сумма, необходимая для приобретения модулей памяти для ПК, в значительной мере зависит от категории модулей памяти. Стандартные модули DDR и DDR2 DRAM объемом от 256 Мбайт до 1 Гбайт вряд ли окажутся самым дорогостоящим компонентом в вашем компьютере, так как стоимость модуля объемом 1 Гбайт уже опустилась ниже 50 долларов США. Однако стоимость модулей для производительных (а зачастую и разогнанных) систем значительно выше.

До обвального падения цен на память в середине 1996 года в течение многих лет цена одного мегабайта памяти держалась приблизительно на уровне 40 долларов; 16 Мбайт (в то время это была типичная конфигурация) стоили более 600 долларов. Фактически до середины 1996 года память была невероятно дорогой: ее цена превышала цену слитка золота, который весил столько же, сколько и модуль памяти. Высокие цены привлекли внимание преступников, и несколько складов крупных производителей модулей памяти подверглись вооруженным нападениям. Цена модулей была значительной, спрос — ничуть не меньше, поэтому украденные микросхемы было практически невозможно найти. После нескольких нападений складам производителей модулей памяти пришлось нанимать вооруженную охрану, а также прибегать к другим мерам безопасности.

К концу 1996 года цена одного мегабайта памяти снизилась приблизительно до 4 долларов, а в 1997 году опустилась до самой низкой за всю ее историю отметки — 50 центов за 1 Мбайт. Все было неплохо до 1998 года, когда цены на модули памяти подскочили в четыре раза. Основным виновником этого была компания Intel, навязавшая компьютерной индустрии память стандарта Rambus DRAM (RDRAM) и не сумевшая вовремя предоставить соответствующие наборы микросхем системной логики. Производители были вынуждены перейти на изготовление типов памяти, для которых не существовало готовых системных плат и наборов микросхем, что привело к недостаче популярной памяти SDRAM. Землетрясение на Тайване еще больше усугубило ситуацию и привело к дальнейшему росту цен.

Со временем все вернулось на круги своя, и стоимость памяти достигла отметки 6 центов за мегабайт и меньше. 2001 год стал для полупроводниковой промышленности годом катастроф, что выразилось в заметном снижении объема продаж по сравнению с товарооборотом последних лет. Происшедшие события вынудили производителей максимально снизить цены на память и даже привели к объединению или перепрофилированию некоторых компаний.

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

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

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

  • ROM. Постоянное запоминающее устройство (ПЗУ), не способное записывать дан#ные.
  • DRAM. Динамическое запоминающее устройство с произвольным порядком выборки.
  • SRAM. Статическая оперативная память.

Единственным типом памяти, которую приходится приобретать и устанавливать в компьютере, является динамическая (DRAM). Остальные ее типы встроены либо в материнскую плату (ROM), либо в процессор (SRAM), либо в другие компоненты, такие как видеокарты, жесткие диски и т.п.



Память типа ROM

В памяти типа ROM (Read Only Memory), или ПЗУ (постоянное запоминающее устройство), данные можно только хранить; изменять их нельзя. Именно поэтому данная память используется только для чтения данных. ROM также часто называют энергонезависимой памятью, потому что любые записанные в нее данные сохраняются при выключении питания. Поэтому в ROM помещаются команды запуска ПК, т.е. программное обеспечение, которое загружает систему.

Заметьте, что ROM и оперативная память — не противоположные понятия, как думают многие. На самом деле ROM представляет собой часть оперативной памяти системы. Другими словами, часть адресного пространства оперативной памяти отводится для отображения ROM. Это необходимо для ускорения загрузки системы после включения питания.

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

В настоящее время в большинстве систем используется одна из форм флэш-памяти, которая называется электрически стираемой программируемой постоянной памятью (Electrically Erasable Programmable Read-only Memory — EEPROM). Флэш-память действительно является энергонезависимой и перезаписываемой и позволяет пользователям легко модифицировать ROM, программно-аппаратные средства системных плат и других компонентов (таких, как видеоадаптеры, платы SCSI, периферийные устройства и т.п.).



Память типа DRAM

Динамическая оперативная память (Dynamic RAM — DRAM) используется в большинстве систем оперативной памяти современных ПК. Основное преимущество памяти этого типа состоит в том, что ее ячейки очень плотно упакованы, т.е. в небольшую микросхему можно упаковать много битов, а значит, на их основе можно организовать память большой емкости.

Ячейки памяти в микросхеме DRAM — это крошечные конденсаторы, которые удерживают заряды. Именно так (наличием или отсутствием зарядов) и кодируются биты. Проблемы, связанные с памятью этого типа, вызваны тем, что она динамическая, т.е. должна постоянно регенерироваться, так как в противном случае электрические заряды в конденсаторах памяти будут “стекать” и данные будут потеряны. Регенерация происходит, когда контроллер памяти системы берет крошечный перерыв и обращается ко всем строкам данных в микросхемах памяти. Большинство систем имеют контроллер памяти (обычно встраиваемый в набор микросхем системной платы, однако он может быть встроен и в процессор, как в процессорах Athlon 64 и Opteron), который настроен на соответствующую промышленным стандартам частоту регенерации, равную 15 мс. Это означает, что каждые 15 мс прочитываются все строки в памяти для обеспечения регенерации данных.

Регенерация памяти, к сожалению, отнимает время у процессора. Каждый цикл регенерации по длительности занимает несколько тактов центрального процессора. В старых компьютерах циклы регенерации могли занимать до 10% (или больше) процессорного времени, но в современных системах, работающих на частотах, равных сотням мегагерц, эти расходы составляют 1% или меньше. Некоторые системы позволяют изменить параметры регенерации с помощью программы настройки BIOS. Интервал между циклами обновления называется tREF и задается не в миллисекундах, а в тактах (см. рисунок ниже).

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

Произвольная ошибка — это ошибка обработки данных, не связанная с дефектом микросхемы памяти. В большинстве случаев надежнее придерживаться рекомендуемой или заданной по умолчанию частоты регенерации. Поскольку затраты на регенерацию в современных компьютерах составляют менее 1%, изменение частоты регенерации оказывает незначительное влияние на характеристики компьютера. Одним из наиболее приемлемых вариантов является использование для синхронизации памяти значений по умолчанию или автоматических настроек, заданных с помощью программы Setup BIOS. Большинство современных систем не позволяют изменять заданную синхронизацию памяти, постоянно используя автоматически установленные параметры. При автоматической установке системная плата считывает параметры синхронизации из системы определения последовательности в ПЗУ (Serial Presence Detect — SPD) и устанавливает частоту периодической подачи импульсов в соответствии с полученными данными.

В устройствах DRAM для хранения одного бита используются только один транзистор и пара конденсаторов, поэтому они более вместительны, чем микросхемы других типов памяти. В настоящее время уже выпускаются микросхемы динамической оперативной памяти емкостью 2 Гбайт и больше. Это означает, что подобные микросхемы содержат более миллиарда транзисторов! А ведь процессор Core 2 Duo имеет только 230 млн. транзисторов. Откуда такая разница? Дело в том, что в микросхеме памяти все транзисторы и конденсаторы размещаются последовательно, обычно в узлах квадратной решетки, в виде очень простых, периодически повторяющихся структур, в отличие от процессора, представляющего собой более сложную схему различных структур, не имеющую четкой организации.

Транзистор каждого одноразрядного регистра DRAM используется для чтения состояния смежного конденсатора. Если конденсатор заряжен, в ячейке записана единица; если заряда нет — записан нуль. Заряды в крошечных конденсаторах все время стекают, поэтому память должна постоянно регенерироваться. Даже мгновенное прерывание подачи питания или какой-нибудь сбой в циклах регенерации приводит к потере заряда в ячейке DRAM, а следовательно, и к потере данных. В работающей системе это приводит к появлению “синего экрана смерти”, глобальным отказам системы защиты, повреждению файлов или к полному отказу системы.

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



SRAM (Static RAM)

Существует тип памяти, совершенно отличный от других, — статическая оперативная память (Static RAM — SRAM). Она названа так потому, что, в отличие от динамической оперативной памяти (DRAM), для сохранения ее содержимого не требуется периодической регенерации. Но это не единственное ее преимущество. SRAM имеет более высокое быстродействие, чем DRAM, и может работать на той же частоте, что и современные процессоры.

Время доступа в памяти SRAM — не более 2 нс; это означает, что такая память может работать синхронно с процессорами на частоте 500 МГц и выше. Однако для хранения каждого бита в конструкции SRAM используется кластер из шести транзисторов. Использование транзисторов без каких-либо конденсаторов означает, что нет необходимости в регенерации. (Ведь если нет конденсаторов, то и заряды не теряются.) Пока подается питание, SRAM будет помнить то, что сохранено. Почему же тогда микросхемы SRAM не используются для всей системной памяти? Ответ можно найти в таблице.

 

По сравнению с DRAM быстродействие SRAM намного выше, но плотность ее гораздо ниже, а цена довольно высока. Более низкая плотность означает, что микросхемы SRAM имеют большие габариты, хотя их информационная емкость намного меньше. Большое число транзисторов и кластеризованное их размещение не только увеличивает габариты микросхем SRAM, но и значительно повышает стоимость технологического процесса по сравнению с аналогичными параметрами для микросхем DRAM. Например, емкость модуля DRAM может равняться 64 Мбайт или больше, в то время как емкость модуля SRAM приблизительно того же размера составляет только 2 Мбайт, причем их стоимость будет одинаковой. Таким образом, габариты SRAM в среднем в 30 раз превышают размеры DRAM, то же самое можно сказать и о стоимости. Все это не позволяет использовать память типа SRAM в качестве оперативной памяти в персональных компьютерах.

Несмотря на это разработчики все-таки применяют память типа SRAM для повышения эффективности ПК. Но во избежание значительного повышения стоимости устанавливается только небольшой объем высокоскоростной памяти SRAM, которая используется в качестве кэш-памяти. Кэш-память работает на тактовых частотах, близких или даже равных тактовым частотам процессора, причем обычно именно эта память непосредственно используется процессором при чтении и записи. Во время операций чтения данные в высокоскоростную кэш-память предварительно записываются из оперативной памяти с низким быстродействием, т.е. из DRAM. Еще недавно время доступа DRAM было не менее 60 нс (что соответствует тактовой частоте 16 МГц). Для преобразования времени доступа из наносекунд в мегагерцы используется следующая формула:

1/наносекунды × 1000 = МГц.

Обратное вычисление осуществляется с помощью такой формулы:

1/МГц × 1000 = наносекунды.

Сегодня память может работать на частоте 1 ГГц и выше, однако до конца 1990-х годов память DRAM была ограничена быстродействием 16 нс (16 МГц). Когда процессор ПК работал на тактовой частоте 16 МГц и ниже, DRAM могла быть синхронизирована с системной платой и процессором, поэтому кэш был не нужен. Как только тактовая частота процессора поднялась выше 16 МГц, синхронизировать DRAM с процессором стало невозможно, и именно тогда разработчики начали использовать SRAM в персональных компьютерах. Это произошло в 1986 и 1987 годах, когда появились компьютеры с процессором 386, работающим на частотах 16 и 20 МГц. Именно в этих ПК впервые нашла применение так называемая кэшпамять, т.е. высокоскоростной буфер, построенный на микросхемах SRAM, который непосредственно обменивается данными с процессором. Поскольку быстродействие кэша может быть сравнимо с процессорным, контроллер кэша может предугадывать потребности процессора в данных и предварительно загружать необходимые данные в высокоскоростную кэшпамять. Тогда при выдаче процессором адреса памяти данные могут быть переданы из высокоскоростного кэша, а не из оперативной памяти, быстродействие которой намного ниже.

Эффективность кэш-памяти выражается коэффициентом попадания, или коэффициентом успеха. Коэффициент попадания равен отношению количества удачных обращений в кэш к общему количеству обращений. Попадание — это событие, состоящее в том, что необходимые процессору данные уже предварительно считаны в кэш из оперативной памяти; иначе говоря, в случае попадания процессор может считывать данные из кэш-памяти. Неудачным считается такое обращение в кэш, при котором контроллер кэша не предусмотрел потребности в данных, находящихся по указанному абсолютному адресу. В таком случае необходимые данные не были предварительно считаны в кэш-память, поэтому процессор должен отыскать их в более медленной оперативной памяти, а не в быстродействующем кэше. Когда процессор считывает данные из оперативной памяти, ему приходится некоторое время “ожидать”, поскольку тактовая частота оперативной памяти значительно ниже частоты процессора. Если процессор со встроенной в кристалл кэш-памятью работает на частоте 3,6 ГГц на шине 800 МГц, то продолжительность цикла процессора и интегральной кэш-памяти в этом случае достигнет 0,28 нс, в то время как продолжительность цикла оперативной памяти будет в пять раз больше, т.е. примерно 1,25 нс для памяти DDR2. Следовательно, в том случае, когда процессор с тактовой частотой 3,6 ГГц считывает данные из оперативной памяти, его рабочая частота уменьшается в 5 раз, достигая 800 МГц. Это замедление обусловлено периодом ожидания (wait state). Если процессор находится в состоянии ожидания, то на протяжении всего цикла (такта) никакие операции не выполняются; процессор, по существу, ждет, пока необходимые данные поступят из более медленной оперативной памяти. Поэтому именно кэш-память позволяет сократить количество “простоев” и повысить быстродействие компьютера в целом.

Чтобы минимизировать время ожидания при считывании процессором данных из медленной оперативной памяти, в современных ПК обычно предусмотрены три типа кэшпамяти: кэш-память первого уровня (L1), кэш-память второго уровня (L2) и кэш-память третьего уровня (L3). Кэш-память первого уровня также называется встроенным или внутренним кэшем; он непосредственно встроен в процессор и фактически является частью микросхемы процессора. Во всех процессорах 486 и более новых кэш--амять первого уровня интегрирована в микросхему, что значительно повысило их быстродействие по сравнению с предыдущими моделями. Кэш-память второго уровня называется вторичным или внешним кэшем. В момент своего появления он устанавливался вне микросхемы процессора; так было во всех компьютерах на основе процессоров 386, 486 и Pentium. Если кэш-память второго уровня установлена на системной плате, то она работает на ее частоте. В этом случае кэшпамять второго уровня обычно помещалась рядом с разъемом процессора.

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

Кэш-память третьего уровня впервые была представлена в процессорах для рабочих станций и серверов. Первым процессором для настольных ПК, в котором использовался кэш третьего уровня, был представленный в конце 2003 года процессор Pentium 4 Extreme Edition; он был оснащен интегрированным кэшем третьего уровня объемом 2 Мбайт. Хотя на момент представления процессоров Pentium 4 Extreme Edition, оснащенных кэш-памятью третьего уровня, казалось, что это станет стандартным свойством всех последующих процессоров, новые версии Pentium 4 Extreme Edition (а также его наследника, Pentium Extreme Edition) кэшпамятью третьего уровня уже не оснащались. Вместо этого был значительно увеличен объем кэш-памяти второго уровня.

Ключ к пониманию особенностей кэш-памяти и основной памяти состоит в понимании того, как память различных типов влияет на общее быстродействие системы. В таблице ниже приведены параметры кэш-памяти первого и второго уровней в современных компьютерах. Изначально кэш-память проектировалась как асинхронная, т.е. не была синхронизирована с шиной процессора и могла работать на другой тактовой частоте. При внедрении набора микросхем системной логики 430FX в начале 1995 года был разработан новый тип синхронной кэш-памяти. Она работает синхронно с шиной процессора, что повышает ее быстродействие и эффективность. В то же время был добавлен конвейерный монопольный режим (pipeline burst mode), сокращающий общее количество циклов ожидания за счет нескольких операций считывания, выполняемых за один такт, после завершения первой операции. В новых модулях памяти присутствуют оба эти режима (синхронный и конвейерный монопольный), что повышает общую производительность системы примерно на 20%.

В системах на базе процессора Pentium и более ранних контроллер кэш-памяти находился в микросхеме северного моста; во всех новых системах, начиная с Pentium II и Athlon, он встроен в процессор. Возможности этого контроллера предопределяют эффективность и характеристики кэш-памяти. Важно отметить, что контроллеры кэш-памяти большинства старых систем имели ограничение на объем кэшируемой памяти. Часто этот предел мог быть довольно низким, как в случае набора микросхем системной логики 430TX для компьютеров на основе Pentium. Этот набор микросхем мог кэшировать данные только первых 64 Мбайт оперативной памяти системы. Если установлен больший объем памяти, работа компьютера значительно замедляется, потому что все данные вне первых 64 Мбайт никогда не попадут в кэш, и при обращении к ним всегда будут необходимы все состояния ожидания, определяемые более медленной динамической оперативной памятью. Снижение эффективности зависит от программного обеспечения и от адресов, по которым хранятся данные в памяти. Например, 32-разрядные операционные системы Windows загружаются сверху вниз, так что если установлена оперативная память емкостью 96 Мбайт, то и операционная система, и прикладные программы будут загружаться в верхние 32 Мбайт, которые не кэшируются. Это значительно замедлит работу компьютера в целом. В данном случае можно удалить дополнительную память, чтобы уменьшить емкость до 64 Мбайт. Другими словами, неблагоразумно устанавливать большую емкость памяти, чем позволяет кэшировать набор микросхем системной логики. К счастью, это ограничение уже снято в процессорах Pentium III и более новых, которые способны кэшировать весь объем доступной памяти.

Наборы микросхем системной логики для Pentium Pro и более поздних моделей не позволяют управлять кэш-памятью второго уровня, так как она встраивается в процессор. Поэтому при использовании Pentium II и процессоров последующих версий устанавливаются определенные ограничения кэширования памяти. Pentium Pro и первые версии Pentium II могли кэшировать память только в пределах первых 512 Мбайт адресного пространства. В более поздних процессорах появилась возможность кэшировать всю адресуемую память, вплоть до 64 Гбайт, что намного больше того, что могут поддерживать наборы микросхем системной логики.

В таблице ниже представлены эволюционные изменения кэша и памяти всех поколений процессоров, начиная с Pentium. Обратите внимание на то, как кэш второго уровня постепенно был перемещен в микросхему процессора, а затем — в кристалл его ядра, при этом постоянно увеличиваясь в размерах. Наряду с этим происходил рост быстродействия процессора, кэша, памяти и скорости шин.