05 - Архітектура персонального комп'ютера

Тема 7 - Пам'ять

Стислий конспект


Ключові терміни:

atatic random access memory, dynamic random access memory, random access memory, read only memory, static random memory access, surface mounting technology, асинхронний режим роботи, логічна комірка, лінія адреси, лінія даних, модуль пам'яті, мікросхема пам'яті, непряма адресація, оперативний запам'ятовуючий пристрій, пряма адресація, регенерація, синхронний режим роботи, тригер, фізична комірка

Коли центральний процесор комп'ютера повідомляє іншим компонентам, які завдання слід виконувати, інформація про це повинна бути збережена для подальшого використання. Чим більша кількість пам'яті є у розпорядженні центрального процесора, тим більш складні операції він може виконувати. І чим швидше інформація буде зчитуватися з пам'яті, тим менше доведеться чекати, поки комп'ютер не виконає всю рутинну роботу.

Сам по собі мікропроцесор ПК розпоряджаєтсья дуже малою областю запам'ятовування даних, що використовується для зберігання або обробки інформації, або проміжних результатів обробки. Ця маленька пам'ять не достатня для запуску реальних програм, тому ПК включає різні види пам'яті для розміщення програм і даних, якими маніпулює ПК.

7.1 Класифікація пам'яті

7.1.1. Класифікація за вимогою наявності живлення:

7.1.2. Класифікація за типом запам'ятовуючих комірок.

У комп'ютерних системах робота з пам'яттю грунтується на дуже простій концепції – зберігати один біт інформації так, щоб потім він міг бути витягнутий звідти. З огляду на це існує така класифікація:

7.1.3. Класифікація за типом доступу

Залежно від типу адресації модулі пам'яті діляться на такі:

7.2 Форм-фактор модулів

7.2.1. DIP

(Dual In-line Package). Це типова мікросхема з двома рядами ніжок з боків. Раніше, поки не існувало SIMM, половина поверхні материнської плати була покрита такими мікросхемами, які становили цілий мегабайт оперативної пам'яті. Можливості додавання пам'яті при цьому виявлялися досить обмеженими.

Рисунок 7.4 - Модуль пам'яті DIP

7.2.2. SIMM

Single In-line Memory Module – один з перших модулів пам'яті з однорядним розташуванням мікросхем (рис. 7.2). Це модуль пам'яті використовується також у багатьох адаптерах, принтерах і інших пристроях. SIMM має контакти з двох сторін модуля, але усі вони з'єднані між собою, утворюючи один ряд контактів. Модулі цього типу мають два основних розміру (30 і 72 pin) і підключаються, відповідно, в гнізда різних розмірів. Зараз модулі SIMM є технологією вчорашнього дня, чий час пройшло ще на початку 90-х

Рисунок 7.4 - Модуль пам'яті SIMM

7.2.3. DIMM

Dual In-line Memory Module – подвійний модуль пам'яті, схожий на SIMM, але з роздільними контактами, розташованими з 2-ох сторін (рис. 7.3). Маючи більший обсяг пам'яті, вони коштували дорожче і підключалися до спеціальних гнізд, забезпеченим маленькими затисками. Модуль DIMM створений для задоволення зрослих потреб у додаткових обсягах пам'яті більш потужних процесорів Pentium і AMD. Плата пам'яті, подібна за внутрішньою архітектурою з SIMM, але відрізняється від неї більш широкої шиною, завдяки якій досягається підвищення швидкості обміну даних.

Рисунок 7.3 - Модуль пам'яті DIMM

7.2.4. RIMM

Rambus Dynamic Random Access Memory – модуль, що використовує чіп динамічної пам'яті Rambus (рис. 7.4). Компанія Rambus, Inc. в кінці 90-х створила надшвидкі і супердорогі модулі оперативної пам'яті, які були покриті захисними пластиковими пластинами. Вимоги до модуля описані дуже жорстко і детально (наприклад, число установок модуля в один і той же роз'єм обмежена 20). Для модуля передбачений власний тепловідвід.

Рисунок 7.4 - Модуль пам'яті RIMM

7.3 ОПЕРАТИВНА ПАМ'ЯТЬ

Для забезпечення нормальної роботи будь-якого ПК потрібне спеціальне програмне забезпечення, здатне організувати введеня, обробку і вивід різної інформації. Після включення живлення машини і закінчення ініціалізації пристроїв ці програми повинні стати доступними для взаємодії з процесором, який, керуючись закладеними в них алгоритмами, зможе забезпечити обмін даними між різним устаткуванням ПК, реагувати на дії користувача, організувати вивід результатів роботи на монітор або принтер. Всі ці програми зчитуються з носіїв інформації в спеціальний апаратний модуль, який називається оперативним запам'ятовуючим пристроєм (ОЗП).

7.3.1. Мікросхеми і модулі.

Мікросхеми пам'яті являють собою прямокутний шматок кераміки (або пластику), який з двох (рідше - з чотирьох) сторін має безліч ніжок. Однак, в той час як центральні процесори класифікуються в залежності від їх потужності і швидкодії, чіпи пам'яті характеризуються обсягом і швидкодією. Вибір типу пам'яті необхідної для конкретного ПК залежить від типу материнської плати.

Основною характеристикою мікросхеми пам'яті є режими роботи:

7.3.2. Модуль пам'яті

Модуль пам'яті являє собою друковану плату зі встановленими на ній сумісними мікросхемами пам'яті, що має один ряд двосторонніх виводів і вставляється в пристрій як єдиний модуль по так званій SMT-технології (Surface Mounting Technology – технологія поверхневого монтажу). Модулі підключаються до роз'ємів різної величини, тому необхідно встановлювати саме такий модуль, який може бути підключений до даної материнської плати.

7.3.3. Швидкодія

Швидкодія ОЗП залежить не тільки від архітектурних і конструктивних особливостей модулів пам'яті, але також і від режимів обміну, показників центрального процесора, чіпсета та інших системних пристроїв, що впливають на синхронізм обміну і латентність. Швидкодія ОЗП підвищується, якщо чіпсет працює з ОЗП і процесором синхронно й злагоджено. Синхронізм між шинами пам'яті і процесора забезпечує оптимальний, швидкісний режим роботи системи.

7.3.4. Sram - статична оперативна пам'ять

SRAM (Statically RAM, Static Random Access Memory) – статична оперативна пам'ять. Цей тип пам'яті названий таким чином, тому що ця пам'ять не вимагає регенерації. Незважаючи на явну перевагу перед DRAM, вона має велику вартість і, як результат, використовується для виконання спеціальних завдань, в основному, в якості кеш-пам'яті. На SRAM також знаходяться значення змінюваних налаштувань BIOS.

Основним поняттям в архітектурі пам'яті є фізична комірка, яка: з одного боку є елементом пам'яті, здатним зберігати один біт даних, але відомо, що за один раз зчитується не один біт, а декілька. Тому, з іншого боку, логічна комірка – це елемент пам'яті, при зверненні до якого зчитується кілька бітів, які мають одну адресу.

7.3.4.1. Тригери SRAM

Ядро мікросхеми SRAM являє собою сукупність тригерів.

Тригер – перемикач, логічний пристрій, що використовується для зберігання інформації, який як завгодно довго зберігає один з двох станів стійкої рівноваги (одне з яких умовно відповідає логічному нулю, а інше – логічній одиниці) і стрибкоподібно переключається по сигналу ззовні з одного стану в інший. Зазвичай тригер пам'яті SRAM складається з 6 транзисторів і 2 резисторів, і комірки SRAM зберігають дані не шляхом ємнісної зарядки (як комірки DRAM), а шляхом перемикання транзисторів в потрібний стан, подібно транзисторам в CPU. Читання комірки SRAM не деструктивно і отже в оновленні комірка SRAM не потребує.

7.3.4.2. Матриці SRAM

Тригери об'єднуються в єдину матрицю, що складається з рядків (row) і стовпців (column), останні з яких так само називаються бітами (bit).

Тригер, на відміну від конденсатора, має роздільні входи для запису логічного нуля і одиниці відповідно. Таким чином, на комірку статичної пам'яті витрачається цілих вісім транзисторів – чотири йдуть, власне, на сам тригер і ще два – на керуючі «засувки».

SRAM може працювати на більш високих частотах, ніж DRAM, але найбільш важливою її перевагою є набагато нижча латентність – затримка за часом – при отриманні перших 8 байт (машинне слово) даних. SRAM необхідно близько 2-3 циклів для отримання необхідних даних, в той час як DRAM вимагає від 3 до 9 циклів для накопичення необхідних даних у вихідних буферах. Але так як SRAM вимагає в 4 рази більшої кількості транзисторів, ніж DRAM, то має значно більш дорогу собівартість при виробництві. Так що з одного боку модулі SRAM мають вкрай низьку латентність і можуть працювати при високих частотах, а з іншого вони приблизно в 8 разів дорожче, ніж DRAM. Тобто в 2-3 рази дорожче, ніж RAMBUS (з розрахунку ціни за 1Mb).

7.3.4.4. Типи статичної пам'яті

Існує три типи статичної пам'яті: асинхронна, синхронна і конвеєрна. Всі вони практично нічим не відрізняються від відповідних їм типів динамічної пам'яті.

• Async SRAM (Asynchronous Static Random Access Memory) – асинхронна статична пам'ять. SRAM працює незалежно від контролера й тому, контролер не може бути впевнений, що закінчення циклу обміну збіжиться з початком чергового тактового імпульсу.

• SyncBurst SRAM (Synchronous Burst Random Access Memory) – синхронна пакетна статична пам'ять з довільним порядком вибірки. Цей тип пам'яті синхронізований з системною шиною і найкраще підходить для виконання пакетних операцій.

• PipBurst SRAM (Pipelined Burst Random Access Memory) – конвеєрна пакетна статична пам'ять з довільним порядком вибірки. Являє собою синхронну пам'ять, оснащену спеціальними «клямками», які утримують лінії даних, що дозволяє читати/записувати вміст однієї комірки паралельно з передачею адреси інший. Так само, конвеєрна пам'ять може обробляти декілька суміжних комірок за один робочий цикл.

7.3.5. DRAM - динамічна оперативна пам'ять

DRAM (Dynamically RAM, Dynamic Random Access Memory) – динамічний запам'ятовуючий пристрій створений на базі технології метал-оксид-напівпровідник (CMOS, Complimentary Metal Oxide Semiconductor). В більшості випадків DRAM використовується в якості оперативної пам'яті і відеопам'яті.

Фізично в архітектурі ПК динамічна оперативна пам'ять представлена у вигляді невеликої плати або декількох плат, що містять набір спеціальних мікросхем, і розташовуються поряд з центральним процесором.

7.3.5.1. Організація DRAM

Ядро мікросхеми динамічної пам'яті складається з безлічі елементарних комірок, кожна з яких зберігає всього один біт інформації. Кожен біт може бути в двох станах: включено (так, 1) або виключений (ні, 0). Будь-який обсяг інформації в кінцевому підсумку складається з включених і виключених бітів. Таким чином, щоб зберегти або передати будь-якої обсяг даних, необхідно зберегти або передати кожен біт цих даних. Якщо конденсатор комірки заряджений, то це означає, що біт включений, якщо розряджений – вимкнений. Байт – найменша адресуєма частина пам'яті. Якщо необхідно запам'ятати один байт даних, то знадобиться 8 комірок (1 байт = 8 бітам), що дозволяє представити 256 можливих комбінацій.

На фізичному рівні весь простір пам'яті можна представити, як прямокутну матрицю, що складається з комірок. Горизонтальні лінійки матриці називаються рядки (row), а вертикальні – стовпці (column) або сторінки (page). Одна матриця складається з певної кількості рядків і стовпців називається сторінка, сторінка – це логічна категорія, існуюча для зручності звернення до матриці пам’яті. Сукупність сторінок малого об'єму називається банком – пам'ять розбивається на парну кількість банків.

Стовпці і рядки матриці пам'яті поєднуються в єдиних адресних лініях:

Транзистор в динамічній комірці працює як ключ, керуючий передачею заряду. При записі в конденсатор біта інформації ключ відкривається, заряджаючи конденсатор до певної величини.

Контролер перетворює фізичну адресу комірки в пару чисел – номер рядка та номер стовпця, а потім посилає перший з них на адресні лінії. У спокійному стані транзистор закритий, але, варто подати на відповідний рядок матриці електричний сигнал, як через мить (конкретний час залежить від конструктивних особливостей і якості виготовлення мікросхеми) він відкриється, з'єднуючи обкладку конденсатора з відповідним їй стовпцем.

В зв'язку з тим, що напруга на конденсаторах досить мала, то для перетворення до логічного нуля і одиниці необхідно посилювати напругу. У кожному банку пам'яті є, чутливий підсилювач sense amp (amps = amplifiers, підсилювач), перетворювач рядків row decoder і стовпців column decoder. Чутливий підсилювач, підключений до кожного з стовпців матриці, реагуючи на слабкий потік електронів, що спрямувалися через відкриті транзистори з обкладок конденсаторів, декодує всю сторінку цілком відповідно до переданим адресою, перетворюючи її в послідовність нулів і одиниць, і зберігає отриману інформацію в спеціальному буфері.

Саме сторінка є мінімальною порцією обміну з ядром динамічної пам'яті. Читання/запис окремо взятій комірки неможливий, оскільки відкриття одного рядка приводить до відкриття всіх, підключених до нього транзисторів, а, отже, – розряду закріплених за цими транзисторами конденсаторів. Транзисторний підсилювач вносить основну затримку при видачі даних.

Розташування матриці з комірками забезпечує зчитування за один раз декількох бітів. Якщо паралельно розташовано 8 матриць, то відразу зчитуваться буде один байт. Це називається розрядністю. Кількість ліній, по яких будуть передаватися дані від/на паралельних матриць, визначається розрядністю шини вводу/виводу мікросхеми.

На відміну від SRAM, динамічна пам'ять енергозалежна і вимагає періодичного поповнення енергії в паразитних ємностях. Процес заряджання конденсаторів, щоб уникнути їх розрядження і втрати збережених даних через досить малі проміжки часу називається регенерацією. Регенерація (refresh, рефреш) – процес періодичного прочитування комірок з подальшим перезаписом. Протягом часу, який називається кроком регенерації, в DRAM перезаписується цілий рядок комірок.

7.3.5.2 Основні типи dram

FPM DRAM (Fast Page Memory Mode DRAM) – пам'ять з прискореним сторінковим режимом.

EDO DRAM (Extended Data Output DRAM) – пам'ять з розширеним виведенням даних. 

BURST EDO (BEDO, Burst Extended Data Out Dynamic Random Access Memory – пакетна EDO RAM). В принципі BEDO мало, чим відрізняється від EDO. Після звернення до довільної комірки мікросхема BEDO автоматично, без вказівок з боку контролера, збільшує номер стовпця на одиницю, не вимагаючи його явної передачі.

SDRAM – динамічна синхронізована пам'ять. Частіше використовується в якості основної системної пам'яті. По суті, це пам'ять DRAM, яка готує до передачі більше інформації, ніж потрібно в розрахунку на те, що саме ці дані центральний процесор запросить наступними.

DDR SDRAM (DDR, Double Data Rate SDRAM) – це синхронна пам'ять з подвоєною швидкістю передачі даних. Ці модулі можуть суміщати пряму і зворотну передачі пакетів даних, в результаті чого їх швидкодія різко зростає.

DDR2 – головна перевага другої версії полягає в більш високій частоті роботи інтерфейсу і, відповідно, подвоєній пропускній здатності.

RDRAM (Rambus DRAM) – запатентована динамічна пам'ять Rambus. Основа архітектури Rambus – банки пам'яті, «пронизані» швидкісним каналом. Канал являє собою електричну шину, підключати елементи пам'яті до контролера і роз'ємів. Канал входить в модуль на одному його кінці, проходить через всі чіпи і виходить на іншому кінці модуля.

ESDRAM (Enhanced SDRAM) – більш швидкий варіант архітектури SDRAM. Відрізняється значно меншим часом доступу до основному масиву пам'яті і наявністю вбудованого блоку кеш-регістрів SRAM. ESDRAM повністю сумісна з SDRAM.

CDRAM (Cached DRAM) – цей тип пам'яті ідеально пристосований бути основою для текстурної пам'яті, і може бути органічним доповненням пам'яті типу 3D RAM з її високою пропускною здатністю.

3D RAM – застосовується у вбудованих обчислювальних засобах і кеш-пам'яті, реалізованих на рівні чіпа. Це технологія робочих станцій для обробки 3D графіки, яка забезпечує додаткове збільшення продуктивності. Відрізняється високою оптимізацією для використання при виконанні тривимірних операцій.

NVRAM (Non Volatile RAM, постійна пам'ять) – енергонезалежна пам'ять, що зберігає інформацію тривалий час при повній відсутності живлення, виконана за технологією flash, розробленої компанією Intel.

RD RAM – можливий претендент на широке поширення і прийняття в якості стандарту на пам'ять з високою продуктивністю. 

SGRAM –  ідеально підходить для графічних адаптерів з одним недорогим банком пам'яті, що використовується для 2D/3D графіки та цифрового відео.

VRAM – технологія двопортової пам'яті, яка все ще залишається кращим рішенням для створення буферів кадру з високою продуктивністю.


© 2016 СумГУ
created with Lectur'EDbeta