Согласование пропускных способностей процессора и памяти ЭВМ

Кэш-память

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

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

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

Такого рода запоминающие устройства получили название кэш-памятъ (от англ, cache — «тайник»). Дело в том, что ячейки такой буферной памяти являются скрытыми от программиста; скрытыми в том смысле, что их невозможно адресовать или обращаться к ним из программы. Чтение и запись при работе с ними выполняются автоматически соответствующими аппаратными средствами. Программист может даже не знать о существовании такого буфера между процессором и оперативной памятью.

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

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

Обычно используют два типа кэш-памяти:

• кэш-память с запоминанием новой информации одновременно в кэш и в оперативную память («сквозное запоминание» — store-through);

• кэш-память с запоминанием новой информации только в кэш и копированием ее в оперативную память только при передаче в другие устройства или при вытеснении из кэш-памяти (store-in-cache).

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

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

Контрольные вопросы

  • 1. В чем состоит проблема согласования пропускной способности процессора и памяти?
  • 2. Что такое кэш-память?
  • 3. На чем основан эффект от использования кэш-памяти?

Глава 15

 
Посмотреть оригинал
< Пред   СОДЕРЖАНИЕ   ОРИГИНАЛ     След >