Справочник по настройке BIOS
efcd5b7a

Cache


Как правило, кэш-память (Cache Memory) ассоциируется всегда с центральным процессором. Кэш-память представляет собой статическое ОЗУ, обладающее значительно более высоким быстродействием, нежели динамическое. Фактически, кэш-память предназначена для согласования (компенсации) скорости работы сравнительно медленных устройств с относительно быстрым центральным процессором, т.е. она играет роль быстродействующего буфера между процессором и относительно медленной динамической памятью. Для кэш-памяти характерно значительно меньшее время доступа (Access time). Время доступа - это характеристика, показывающая, сколько времени необходимо для того, чтобы получить доступ к той или иной ячейке памяти.

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

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

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


Сейчас под термином "Write Back" в основном понимается отложенная запись, однако это может означать и буферизованную сквозную.
Память для кэша состоит из собственно области данных, разбитой на блоки (строки), которые являются элементарными единицами информации при работе кэша, и области признаков (tag), описывающей состояние строк (свободна, занята, помечена для дозаписи и т.п.). В основном используются две схемы организации кэша: с прямым отображением (direct mapped), когда каждый адрес памяти может кэшироваться только одной строкой (в этом случае номер строки определяется младшими разрядами адреса динамической памяти), и n-связный ассоциативный (n-way associative), когда каждый адрес может кэшироваться несколькими строками. Ассоциативный кэш более сложен, однако позволяет более гибко кэшировать данные.
Основные типы кэш-памяти:
Asynchronous SRAM,
Synchronous Burst SRAM,
Pipelined Burst SRAM.
Эти три типа памяти построены по статической схеме и выпускаются для организации кэш-памяти 2-го уровня. Два последних типа обеспечивают пакетный режим доступа к данным.
  • Asynchronous SRAM (асинхронная статическая память) используется еще со времен 386-х процессоров. Принцип работы простейший! Процессор посылает адрес необходимой ячейки памяти, контроллер ищет данные и в случае успеха передает их процессору. При этом в оптимальном варианте работает схема 3-2-2-2 (3 такта на считывание первого сегмента данных и по два такта на считывание 3-х последующих).



  • 2. Synchronous Burst SRAM (синхронная потоковая статическая память) позволяет получить наиболее быстрый доступ в системах с тактовой частотой шины до 66 МГц. Являясь пакетной, эта кэш-память позволяет реализовать схему 2-1-1-1. В системах с частотой системной шины более 66 МГц эта схема ухудшается до 3-2-2-2.

  • 3. Pipelined Burst SRAM (статическая память с блочным конвейерным доступом) приобрела к 1997 году наибольшее распространение, обеспечивая схему доступа 3-1-1-1, которая не ухудшается с ростом тактовой частоты. "Конвейерность" заключается в том, что при считывании нескольких последовательных ячеек памяти они буферизируются, и это позволяет уменьшить время, которое затрачивает процессор на такую процедуру.



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

  • 640KB to 1MB Cacheability
    опция через установку в "Enabled" позволяет кэшировать последние 384 КБ из первого мегабайта ОЗУ.
    В предыдущей главе и в опциях, представленных далее, достаточно полно изложены всевозможные варианты "затенения" и кэширования фрагментов памяти, расположенных в верхних 384-х килобайтах первого мегабайта системной памяти. Несколько "особняком" от них выделяются предложенные опции. Не по их виду, а по тем значениям, которые возможны для них. Вот эти опции:
    Video BIOS C000-C3FF
    Video BIOS C400-C7FF
    C800-CBFF Memory
    CC00-CFFF Memory
    D000-D3FF Memory
    D000-D7FF Memory
    D800-DBFF Memory
    DC00-DFFF Memory
    Ext BIOS E000-E3FF
    Ext BIOS E400-E7FF
    Ext BIOS E800-EBFF
    Ext BIOS EC00-EFFF
    Довольно внушительно. А вот и значения этих опций:
    "PCI Device" - выбранный диапазон отдается под потребности PCI-устройства,
    "Shadowed" - выбранный диапазон "затеняется",
    "Write Prot." - выбранный диапазон защищен от записи. При загрузке системы в этот адресный диапазон копируется некое ПЗУ и в процессе работы эти адреса доступны только для чтения,
    "Uncached DRAM" - некэшируемый регион памяти,
    "PCI/Cached" - выбранный диапазон принадлежит PCI-устройству и кэшируется,
    "Shadowed/Cached" - выбранный диапазон "затеняется" и кэшируется,
    "Write/Cached" - по адресам выбранного фрагмента может производиться запись и этот фрагмент кешируется,
    "Cached DRAM" - кэшируемая область памяти.
    Cache Base 0-512k
    Cache Base 512-640k
    Cache Extended Memory Area


    для использования этих опций, предложенных "Phoenix BIOS", предварительно должно быть включено кэширование в системе, для чего может быть предназначена интегрированная опция "Cache". Понятно, что механизм кэширования может быть включен для двух областей: основной памяти и расширенной (типа XMS). А данные опции дают возможность выбрать метод кэширования для каждой из областей. Итак:
    "Write Back" - данные сначала записываются в кэш, в основную же память по необходимости либо "при удобном случае". Наиболее быстрый метод. Более подробно см. ниже,
    "Write Through" - данные записываются в кэш и в основную память одновременно,
    "Write Protect" - выбранная область кэшируется, но при этом защищена от записи,
    "Uncached" (или "Disabled") - запрещено кэширование для выбранной области.
    Следующая "пачка" опций "Phoenix BIOS" выглядит уже привычно, хотя присутствуют важные особенности.
    Cache A000-AFFF
    Cache B000-BFFF
    Cache C800-CBFF
    Значения опций: "Write Back", "Write Through", "Write Protect", "Disabled", а также
    "USWC Caching" (Uncacheable Speculative Write Combining) - режим некэшируемой объединенной записи. Применяется для отображаемых в памяти устройств ввода-вывода и отображаемого кадра видеопамяти.
    "Cache Memory" - так называется внушительное меню "Phoenix BIOS" со следующими опциями:
    Cache System BIOS Area
    Cache Video BIOS Area
    Cache DRAM Memory Area
    - в данных опциях выбираются либо разрешение/запрет кэширования, либо метод кэширования (см. выше). Следующая опция-меню "Cache Memory Regions" может быть использована, если в опции (см. ниже) "Cache" выбрано любое из двух значений: "Intern only" или "Intern and Extern". Вот эти опции, надеюсь, уже понятные пользователю:
    C800 – CBFF
    CC00 – CFFF
    D000 - D3FF
    D400 - D7FF
    D800 – DBFF
    DC00 – DFFF
    Значения этих опций стандартны: "Enabled" и "Disabled". Включение какой-либо опции приводит к кэшированию выбранной адресной области. Если в системе используется ISA-карта с двухпортовой памятью, отображаемой в системной памяти в ROM-области, то для такой адресной области кэширование должно быть запрещено.


    Cache Rd+CPU Wt Pipeline
    - разрешение опции ("Enabled") позволяет включить конвейеризацию для циклов чтения из кэш-памяти и циклов записи из CPU, что значительно повышает производительность системы.
    Cache Timing
    - если в системе установлен только один модуль асинхронной кэш-памяти, то необходимо выбрать значение "Fast". Значение "Fastest" устанавливается при наличии в системе двух банков вторичного кэша. В некоторых случаях вместо "Fast" может быть и значение "Faster". Тогда надо внимательнее ознакомиться с имеющимся в системе кэшем, дабы действовать наверняка (см. ниже опцию "Pipeline Cache Timing").
    Пользователь должен быть готов и к встрече с опцией "Cache Performance", благодаря которой также устанавливаются скоростные характеристики. Но при этом необходимо учитывать и характеристики основной памяти. Если система использует EDO-память, то значение "Standard" окажется оптимальным, для SDRAM-модулей подойдет "Default" (!), значение "Fast" также окажется оптимальным для SDRAM-памяти, но и позволит эффективнее эксплуатировать кэш.
    CPU External Cache
    - (внешний кэш процессора). Этой опцией разрешается/запрещается использование внешнего кэша процессора (кэша второго уровня, или "L2"). Запрещать какой-либо вид кэш-памяти следует только в случае необходимости искусственного замедления работы системы, например, при установке какой либо старой платы расширения, или первичного тестирования компьютера. Запрет возможен и для старого программного обеспечения, а также для самых первых версий "OS/2". Во всех случаях возможно потребуется отключить как все виды кэширования, так и "затенения". Может принимать значения:
    "Enabled" - разрешено,
    "Disabled" - запрещено.
    Если вспомнить былое, да и не такое уж далекое, то необходимо отметить, что при отсутствии кэша второго уровня или его неисправности разрешение использования внешнего кэша могло привести к сбоям системы.


    Поскольку речь идет лишь о включении или отключении кэш-памяти, то в данном случае, казалось бы, нет смысла рассматривать специфику отдельных процессоров или чипсетов. Однако! Вспомним первые процессоры Celeron с отсутствующим кэшем L2, и тогда сказанное чуть выше оказывается вполне актуальным. Определенные сложности могут возникнуть и при разгоне процессоров. Стоит напомнить, что у архитектуры P5 (Pentium, Pentium MMX) кэш работает на частоте шины, а для архитектуры P6 частота кэш-памяти "привязана" к частоте ядра. При этом она может быть половинной (Pentium II) либо равной ей (Pentium Pro).
    Опция может называться "External Cache Memory", "External Cache", "CPU Level 2 Cache", "L2 Cache Enable", "L2 Cache".
    CPU Internal Cache
    - (внутренний кэш процессора). Этой опцией разрешается/запрещается использование внутреннего кэша процессора (кэша первого уровня, или "L1"). Стоит напомнить, что внутренний кэш стал принадлежностью процессоров, начиная лишь с 386-х. Может принимать значения:
    "Enabled" - разрешено,
    "Disabled" - запрещено.
    В некоторых случаях опции по управлению внутренним и внешним кэшем могут быть объединены в одну опцию - "Cache Memory", со значениями "Disabled", "Internal" и "Both". В других же, как это предложил "Phoenix BIOS", может быть предложено небольшое меню "Cache" с дальнейшим выбором параметров:
    "Enabled" - включено кэширование, но требуется дальнейшее уточнение,
    "Intern Only" - используется только внутренний кэш,
    "Intern and Extern" - внутренний и внешний кэш включены,
    "Disabled".
    Опция может называться "Internal Cache Memory", "CPU Level 1 Cache".
    А вот опции "

    Содержание раздела