Паметта: дъска от клетки
Паметта е матрица от клетки по един бит. Адресът се разделя на две: старшите битове избират реда (дешифратор на редовете, тема 18), а младшите – колоната. Матрица 512 × 512 с 18 адресни линии пази 256 Kbit. Управляват я три сигнала: CE (чипът е избран), WE (запис) и OE (изходът е разрешен, иначе е в трето състояние – тема 16). Данните минават през буфери към общата шина.
Параметрите на паметта са:
- обем и организация, например 64K × 8: 2¹⁶ думи по L = 8 бита;
- време за достъп t_ac (за колко ns дава данните) – днес 5–70 ns;
- цикъл t_cycle ≈ 2·t_ac;
- консумация.
Тук адресът е ред 2 и колона 5, т.е. A5…A0 = 010101.
A5A4A3 \ A2A1A0000001010011100101110111
000
001
010
011
100
101
110
111
Избраният ред и колона светят. Само клетката на пресичането им се чете или пише. Смени данните, натисни WE и пиксел от картинката се сменя. „Изключи и включи“ при SRAM превръща картинката в шум: всеки тригер застава в каквото му дойде. При Flash нищо не се губи. ↺ връща усмивката.
SRAM: бит в тригер
Статичната памет пази бита в тригер: два кръстосани CMOS инвертора (тема 16) и два транзистора за достъп – 6T клетката. При четене шината се предварително зарежда до ½Ucc и клетката я дърпа нагоре или надолу. Четенето е недеструктивно: клетката си остава същата. Докато има захранване, битът стои, без да се опреснява. Шината за данни е диференциална (бит и обратното му), а усилвателят на заряд (sense amp) хваща разлика от ~200 mV. Затова SRAM е бърза, но всяка клетка заема място. Ползва се за кеша на процесора, до няколко Mbit.
DRAM: бит в кофичка, която тече
Динамичната памет пази бита като заряд в мъничък кондензатор Cs (десетки фемтофаради) зад един транзистор: 1T клетката. Клетката е много малка, затова DRAM е евтина и огромна (RAM-ът на компютъра). Има обаче две особености:
- деструктивно четене – при четене зарядът се разлива в шината, която е много по-голяма. Усилвателят на заряд решава 0 или 1 и записва клетката наново. При 3T клетката има отделни линии за четене (RWL) и запис (WWL), а четенето не е деструктивно;
- изтичане – утечките бавно изпразват кондензатора. Затова на всеки 64 ms всички редове се прочитат и записват наново. Това е регенерация.
Утечката се удвоява с всеки 10 °C. Тук чипът е на 85 °C: времеконстантата е 156 ms, а клетката още се чете като 1 до 108 ms след запис. Регенерацията е на 64 ms – битът оцелява.
Зарядът на кондензатора
напрежение на кондензатора праг на усилвателя на заряд
Жълтото изтича по експонента. При всяка регенерация клетката се прочита и, ако е над прага, се връща до пълно. При 85 °C 64 ms стигат. При 95 °C клетката пада под прага преди първата регенерация и тя записва 0: битът е изгубен. Затова над 85 °C DDR паметите регенерират два пъти по-често, на 32 ms. Пробвай.
SRAM срещу DRAM
| SRAM | DRAM | |
|---|---|---|
| Клетка | 6T – тригер + 2 транзистора за достъп | 1T – транзистор + кондензатор (3T – с отделно четене) |
| Четене | недеструктивно | деструктивно (1T) – трябва презапис |
| Опресняване | не трябва | регенерация – заради утечките |
| Скорост, площ, цена | бърза, но голяма клетка – до няколко Mbit | малка клетка, евтин бит – големи обеми |
| Шина за данни | диференциална | 1T – единична (по-лоша шумоустойчивост) |
Памети, които помнят без ток
RAM паметите са енергозависими: без ток забравят. Енергонезависимите (NVM) помнят:
- ROM (маскова) – записва се при производството;
- PROM – програмира се еднократно, с прегаряне на стопяеми връзки;
- EPROM – транзистор с плаващ гейт, „капан за електрони“. Зарядът в него пази бита с години, а се изтрива с ултравиолетова светлина през прозорче на корпуса;
- EEPROM – изтрива се електрически, байт по байт;
- Flash – също електрически, но на цели блокове. Затова е бърза и плътна и е в USB флашките, SSD дисковете и микроконтролерите.
Самопроверка
1. Колко адресни линии и линии за данни има памет 64K × 8?
64K = 2¹⁶ → 16 адресни линии; 8 линии за данни.
2. Защо DRAM трябва да се регенерира, а SRAM – не?
DRAM пази бита като заряд в кондензатор, който изтича през утечките; SRAM го пази в тригер, който се държи сам, докато има захранване.
3. Какво значи деструктивно четене?
При четене на 1T DRAM клетка зарядът се разлива в шината – клетката губи стойността си и след четенето трябва да се запише наново.
4. Защо при висока температура DRAM се регенерира по-често?
Утечките растат приблизително двойно на всеки 10 °C – кондензаторът стига прага по-бързо. Над 85 °C DDR преминава от 64 на 32 ms.
5. Каква е разликата между EEPROM и Flash?
И двете се изтриват електрически, но EEPROM – байт по байт, а Flash – на цели блокове (по-бързо и по-плътно).