вибрана при поєднанні логічних сигналів 0, 1, 0 на відповідних входах.
Час доступу – затримка появи дійсних даних на виході щодо моменту встановлення адреси – в стандартних мікросхем SRAM складає 12, 15 або 20 наносекунд, що дозволяє процесору виконувати пакетний цикл читання 2-1-1-1 (тобто без тактів очікування) на частоті системної шини до 33 Мгц. На більш високих частотах цикл буде не краще 3-2-2-2.
Рис. 1.. Тимчасові діаграми читання і запису асинхронної статичної пам'яті
Sync Burst SRAM – синхронна статична пам'ять, оптимізована під виконання пакетних (burst) операцій обміну, властивих роботі кеш-пам'яті. В її структуру введений внутрішній двохбітовий лічильник адреси. На додаток до сигналів, що використовуються асинхронною пам'яттю (адреса, дані, CS#, OE# і WE#), пам'ять використовує сигнал CLC (Clock) для синхронізації з системною шиною і сигнали управління пакетним циклом ADSP#, CADS# і ADV#. Сигнали CADS# (Cache ADdress Strobe) і ADSP# (ADdress Status Processor), якими процесор або кеш-контролер відзначає фазу адреси чергового циклу, є стробами запису початкової адреси циклу у внутрішній регістр адреси. Будь-якbй з цих сигналів ініціює цикл звертань, одиночний (single) або пакетний (burst), а сигнал ADV# (ADVance) використовується для переходу до наступної адреси пакетного циклу. Всі сигнали, окрім управління вихідними буферами ОЕ#, синхронізуються по позитивному перепаду сигналу CLK. Це означає, що значення вхідних сигналів повинно встановитися до перепаду і утримуватися після нього ще якийсь час. Вихідні дані при зчитуванні будуть також дійсні під час цього перепаду. На рис. .2 наведені діаграми декількох варіантів циклів читання синхронної статичної пам'яті. Звернемо увагу, що двобітовий лічильник адреси не дозволяє перейти межу чотирьохелементного пакетного циклу. Крім того, порядок рахунку адрес усередині пакетного циклу відповідає специфічному порядку (interleaved), прийнятому в процесорах і486 і старше. Мікросхеми синхронної статичної пам'яті, як і SDRAM, звичайно мають сигнал, що вибирає режим рахунку адреси: чергування (для процесорів Intel) або послідовний рахунок (для Power PC).
Рис. 1.. Тимчасові діаграми читання синхронної статичної пам'яті
Синхронний інтерфейс з таким набором сигналів дозволяє пам'яті дізнаватися про наміри процесора раніше і при затримці даних на виході SRAM щодо синхронізуючого перепаду tkq (Clock-to-Output Access Time) 8,5, 10 і 13,5 не забезпечувати цикл 2-1-1-1 на частотах 66, 60 і 50 Мгц відповідно. Проте на частотах 75 Мгц і вище цикл буде 3-2-2-2, РВ SRAM (Pipelined Burst SRAM) – конвеєрне вдосконалення синхронної пам'яті (слово «синхронна» з її назви скорочено вилучили, але воно обов'язково мається на увазі). Конвеєром є додатковий внутрішній регістр даних, який, вимагаючи додаткового такту в першій пересилці циклу, дозволяє решту даних одержувати без тактів очікування навіть на частотах вище 75 Мгц. Затримка даних щодо синхронізуючого перепаду в сучасних мікросхем РВ SRAM складає 4,5-8 нс. Але, як і у разі Sync Burst SRAM, цей параметр не є часом доступу в чистому вигляді (не слід забувати про два-трьох такти в першій передачі), а відображає появу дійсних даних щодо чергового перепаду сигналу синхронізації. Інтерфейс РВ SRAM аналогічний інтерфейсу Sync Burst SRAM.
Природно, що ціна синхронної пам'яті вище, ніж асинхронної. Ефективні області застосування описаних різновидів статичної пам'яті у вторинному кеші допоможе визначити табл. 1.1.
Таблиця 1.
Параметри пакетних циклів SRAM*
Частота шини, Мгц | Async SRAM | Sync Burst SRAM | PBSRAM
Цикл тас, нс | Цикл tkq, нс | Цикл Ткс, нс
33 | 2-1-1-1 15 | 2-1-1-1 | 3-1-1-1
50 | 3-2-2-2 20 | 2-1-1-1 13,5 | 3-1-1-1
60 | 3-2-2-2 17 | 2-1-1-1 10 | 3-1-1-1
66 | 3-2-2-2 15 | 2-1-1-1 8,5 | 3-1-1-1 15
75 | - | 3-2-2-2 | 3-1-1-1 13
83 | - | 3-2-2-2 | 3-1-1-1 12
100 | - | 3-2-2-2 | 3-1-1-1 10
133 | - | 3-2-2-2 | 3-1-1-1 7,5
* Для різних типів пам'яті швидкодія указується різними способами:
tac – час доступу
tkq – затримка даних щодо синхронізуючого перепаду
Ткс – мінімальний період тактових імпульсів.
1.2. Загальні питання кешування пам'яті
Кеш-пам'ять персональних комп'ютерів є високошвидкісним буфером, побудованим на мікросхемах SRAM (Static RAM – статична оперативна пам'ять), який безпосередньо обмінюється даними з процесором. Така пам'ять наявна у всіх 32-розрядних сучасних процесорах. Засоби кешування пам'яті містять два рівні кеш-інструкцій і даних (L1 Cache і L2 Cache), буфери асоціативної трансляції TLB блока сторінкової переадресації і буфери запису. Вони можуть бути представлені в різних варіаціях, зокрема розміщені на кристалі або картриджі процесора чи на системній платі, починаючи з процесора i486. Процесор I80386 містить тільки буфери TLB. Кеш-пам'ять, що встановлювалась на системній платі, не підтримувалась процесором.
Причиною застосування кеш-пам'яті в процесорах була низька швидкодія DRAM (Dynamic RAM – динамічна оперативна пам'ять), що зумовлювало необхідність кількох тактів очікування і відповідно простоїв процесора.
Максимальної швидкодії при зверненнях процесора до оперативної пам'яті було досягнуто на основі компромісного рішення побудови комп'ютера, що полягає в ієрархічному способі організації цієї пам'яті. Основна пам'ять відносно великої ємності й малої швидкодії DRAM поєднувалась з кеш-пам'яттю SRAM, відносно невеликої ємності і високої швидкодії.
Термін «кеш» (cache) означає «таємне сховище» або «тайник». Таємниця такого сховища полягає в його прозорості щодо програми. Він не є додатковою адресованою ділянкою пам'яті.
Оскільки швидкодія кеш-пам'яті відповідає швидкодії процесора, то контролер кеша може передбачати потребу процесора в даних і наперед завантажувати необхідні дані у високошвидкісну кеш-пам'ять. Тоді при видачі процесором адреси пам'яті дані можуть бути передані з високошвидкісного кеша, а не з оперативної пам'яті, швидкодія якої набагато нижча.
Оскільки