3. Кеш-пам'ять – SRАМ
Існує тип пам'яті, абсолютно відмінний від інших, - статична оперативна пам'ять (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).