На рис.3.7 дана структурна схема програматора в складі ЕОМ.
SD ═════════════════════════════════════╦══════
SC ═════════════════════════╦═══════════║══════
SA ═════╦════╦══════════════║═══════════║══════
║ ║ 10 ║ ║
║ ┌─╨─┐AEN# ║ ║
║ │ DC├──────╦═════╣ ║
║ └─╥─┘ │ │ ║ 8
║ А ║CS# │IOR# │IOW# ║ D
┌──╨────╨────────┴─────┴───────────╨──┐
│ Буферні регістри в/в (ВВ55, ИР22) │
└───────╥────────────╥────╥─────╥─────┘
2║ 2║C 8║D 16║A
┌─────╨────┐ U ┌─╨────╨─────╨─┐
│ Прогр.ДЖ ╞═════╡ ППЗП │
└──────────┘ 2 └──────────────┘
|
Рис. 3.7. Программатор ПЗП
Контрольні питання
1. Вкажіть основні області застосування ПЗП.
2. Призначення елементів блоку ROM-BIOS.
3. Які переваги та недоліки табличного методу множення?
4. Приведіть приклади формувачів сигналів на основі ПЗП.
5. Опишіть структурну схему програматора на базі ПЕОМ.
Лекція 4. Застосування статичних та динамічних ОЗП
4.1. Статичні ОЗП
Оперативні запам'ятовувальні пристрої (RAM) дозволяють не тільки читати, але й оперативно записувати інформацію в довільні комірки пам'яті. Однак при знятті напруги живлення інформація в RAM руйнується. В RAM на відміну від ROM відсутня схема програмування, але є додатковий керуючий вхід -W/R для вибору режиму запису або читання комірок пам'яті.
У статичних ОЗП (SRAM) матриця пам'яті складається зі статичних тригерів, які містять у собі, щонайменше, 6 транзисторів. Тому важко забезпечити великий обсяг пам'яті SRAM і ціна статичної ОЗУ в 4-6 разів вище вартості динамічних ОЗП (DRAM), де комірка пам'яті складається з одного конденсатора та одного транзистора. Разом з тим, швидкодія SRAM приблизно в 2 рази вище через немультиплексований доступ до матриці та через те, що не витрачається час на регенерацію. Ще одна позитивна особливість статичних ОЗП - мале енергоспоживання в режимі зберігання, що пов'язане з використанням КМОН-технології.
Достоїнства статичних ОЗП використані в комп'ютерах IBM АT-286 і вище: від годинника реального часу та зберігання SetUp, до так званої кеш-пам'яті (Cache), що є буфером між CPU і основною пам'яттю комп'ютера. Остання має значний обсяг (кілька ГБ), тому будується на DRAM. Тут присутні втрати часу на регенерацію, на гортання сторінок, а також на тактах очікування через обмежену швидкодію (50нс і більше).
4.2. Динамічні ОЗП (DRAM)
У динамічних ОЗП роль елемента пам'яті виконує конденсатор, що зберігає один біт інформації: наявність заряду – логічна 1, відсутність – логічний 0. Доступ до конденсатора забезпечується одним транзистором, як показано на рис.4.1.
│ шина строки i
────────┬───────────────
шина │ │____ VTij
столбця│ ┬ ┬ ┬ Cij
j ├──┘ │ └───┤├───Ucc
│
|
Рис. 4.1. Елемент пам'яті DRAM
Використання конденсатора в пам'яті забезпечує велику її щільність і, разом з тим, мале енергоспоживання DRAM. Крім того, для економії числа виводів і зв'язків на платі застосовується мультиплексування адрес. Однак через витоки в кристалі конденсатор гарантовано утримує заряд не довше 10 мс. Тому необхідна періодична підзарядка ємності (регенерація). Типова структурна схема динамічної ОЗП К565РУ5 зображена на рис.4.2., а її статичні стани наведені у таблиці 4.1.
Таблиця 4.1
RAS#
| CAS#
| W#/R
| A
| DI
| DO
| Режим роботи
|
| X
| X
| X
| X
| Z
| Зберігання
|
|
| X
| A
| X
| Z
| Регенерація
|
|
|
| A
| D
| Z
| Запис
|
|
|
| A
| X
| D
| Зчитування
|
RAS# (Row Address Select) - вибір адреси рядка;
CAS# (Column Address Select) - вибір адреси стовпця.
Динаміка роботи динамічних ОЗП (К565РУ5Г) визначається діаграмою сигналів, наведеною на рис.4.3. Для сигналів керування мають місце наближені співвідношення
tcy = 2*tRAS; tR-C = tRAS /4
┌─────┐ ┌────────┐
│ Деш.│ X0..X127 │ 7 8 │
╔══╡ адр.╞═══════════════>╡ 2 х 2 │
║ │строк│ ┌───────┐ ├────────┤
┌───────┐║ │ X ╞╗ │Селект.├───>┤Оп.стр.1│
А0..А7│Мульти-│║ └──^──┘║ │опорної│ ├────────┤
══════╡плекс. │║ ┌───┴─────>┤строки ├┐┌─>┤Ус.зчит.│
8 │регістр╞╣ │ ║ └─┬───┬─┘││ ├────────┤
│адреси │║ │ ║ │ │ └──>┤Оп.стр.2│
└───^───┘║ │ ║ А7 -А7 │ ├────────┤
│ ║ │ ╚════════════│══╡ 7 8 │
│ ║ │┌─────┐ X128..X255 │ │ 2 х 2 │
RAS#║ │ ║ ││ Деш.│ │ └─┬────┬─┘
────╢ │ ╚══╡ адр.╞══╗ │ Y0..Y255
CAS#║ │ ││стовп│ ║ │ ┌─┴────┴─┐ ┌─────┐
────╢ │ ││ Y │ ╚═════════════╡Кл.стовп╞<>╡ │DO
W/R#║ F1│ F2│└─────┘ F3│ └───^────┘ │схема├───>
────╢ ┌───┴──────┴────────────────────┴────┬─┘F4 │ В/В │DI
╚═╡ Схема управління ├──F5────>┤ ├<───
└────────────────────────────────────┘ └─────┘
|
Рис. 4.2. Структура DRAM
А │ ┌───────╥───────┐
│ │ AR ║ AC │
├────┴───────┬───────┴───────────────────────────
│<────│─────── tcy ─────────────>│ tcy=360
RAS# ├──────┤──40─│ ┌───────────────┤
│ │<──── tRAS ────>│ │ tRAS=200
├──────╘═══════════════╛─────────────────────────
>0┼─┼──45─┤
CAS# ├────────────┴─┤ ┌───────────
│ ├─ tR-C ──┤<── 120 ───>│ tR-C=55
├──────────────╘════════════╛────────────────────
Запис: │
W/R# │ ──┐ ┌─
│ │<──80─>│
├────────────╘═══════╛────────────────────────────
DI │ ┌───────────┐
│ │ │<───80──>│
├────────────┴───────────┴───────────────────────
Читання: │
W/R# │ ┌───────────────────┐
│ │ │
├────────────┴───────────────────┴───────────────
DO │ ┌──────┐
│ │<──<120──>│ │
├─────────────────────────┴──────┴───────────────
|
Рис. 4.3. Діаграма роботи DRAM
4.3. Побудова лінії затримки на елементах пам'яті
Функціональна схема цифрової лінії затримки представлена на рис.4.4. Принцип її роботи заснований на переміщенні адрес, а не даних. Алгоритм роботи наступний:
- вибираємо адресу чергової комірки: Ai = Ai+1 (адреси закільцьовані).
- для обраної комірки спочатку читаємо вихідні (затримані) дані, а потім записуємо вхідні (нові) значення.
Рис. 4.4. Цифрова лінія затримки
4.4. Блоки пам'яті на динамічних ОЗП
Зустрічаються три принципи реалізації блоків пам'яті: із примусовою регенерацією, із прозорою регенерацією та з тіньовою регенерацією. У комп'ютерах IBM/XT використовувалася примусова регенерація за допомогою 0-го каналу прямого доступу до пам’яті (ПДП).
Схема керування CLM в PC/XT, а також у перших моделях AT будувалася на дискретних елементах. В останніх моделях комп'ютерів використовувалися контролери DRAM в інтегральному виконанні (8207/08).
Спрощена структурна схема блоку ОЗП PC/XT наведена на рис.4.5.
Примусова регенерація полягає в тому, що через фіксовані інтервали часу (15мкс) CPU призупиняється і DMA за 4 такти CLK (0.8мкс) здійснює читання одного рядка у всіх банках пам'яті. Кожне нове читання здійснюється для рядка з номером на одиницю менше і, отже, за 2^9=512 циклів забезпечується регенерація всієї пам'яті. Таким чином, регенерація пам'яті займає близько 5% часу роботи комп'ютера та триває близько 2мс або 4мс, відповідно, для МС 4164 (РУ5) або МС 41256 (РУ8).
SDXCXA ┌ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─┐
║ ║ ║ │ А0..А17┌───┐ CDRАM
║ ║ ╠═══════════╡MUX│MА0..MА8 │
║ ║ ║ │ 18 ┌─┤А ╞════════════╦═══════╦═══════╦═══════╗
║ ║ ║ │ └───┘ 9 │ 9║ ┌───┐9║ ┌───┐8║ ┌───┐8║ ┌───┐
║ ║ ║ │ └───────┐ ║ │РУ8│ ║ │РУ8│ ║ │РУ5│ ║ │РУ5│
║ ║ ║ А16..А19┌───┐ │АDDRSEL│ ║ │ x9│ ║ │ x9│ ║ │ x9│ ║ │ x9│
║ ║ ╠═══════════╡CLM├>┘ ╚═╡А │ ╚═╡А │ ╚═╡А │ ╚═╡А │
║ ║ ║ │ 4 │ ├──WE#───────╢─oWE │ ║─oWE │ ║─oWE │ ║─oWE │
║ ╟─────XMEMW#──┤ ╞═-RАS0..3═══╣─oRAS│ ║─oRAS│ ║─oRAS│ ║─oRAS│
║ ╟─────XMEMR#──┤ ╞═-CАS0..3═══╣─oCAS│ ║─oCAS│ ║─oCAS│ ║─oCAS│
║ ╟─────DАCK0#──┤ ├>┐ │ ║ ├───┤ ║ ├───┤ ║ ├───┤ ║ ├───┤
║ ║ │ └───┘ │RAMSEL# ║┌┤DIO├┐║┌┤DIO├┐║┌┤DIO├┐║┌┤DIO├┐
║ ║ ┌───────┘ │ ║│└───┘│║│└───┘│║│└───┘│║│└───┘│
║ ║ │ │ ┌───┐ ╚│═════│╩│═════│╩│═════│╝│ │
║ ║ └─oCE │ │ ╔╩═════╩═╩═════╩═╩═════╩═╩═════╩
║ ╟─────XMEMR#──┤DR │MD0-MD7 ║ ┌────────┐
╠════════D0..D7═╡ <>╞════════════╩══╡ Parity ├──────> NMI
║ │ 8 └───┘ 8 │ └────────┘
└ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─┘
|
Рис. 4.5. Структура блоку пам'яті PC/XT
Прозора регенерація полягає в тому, звертання CPU до пам'яті має вищий пріоритет, ніж регенерація і остання здійснюється в проміжках між звертаннями до пам'яті CPU. Перевага прозорої регенерації складається у відсутності втрат часу на регенерацію. Однак при цьому повинні гарантовано існувати інтервали часу, коли немає звертань CPU до пам'яті. Це мало місце для повільних CPU перших поколінь (8080).
Тіньова регенерація пам'яті характерна для сучасних модулів пам'яті і є подальшим розвитком прозорої регенерації. Суть її полягає в тому, що відновленню підлягають ті блоки пам'яті, які в даний момент не використовуються для читання або запису. Таким чином, в обчислювальному процесі не витрачаються такти на регенерацію.
Контрольні питання
1. На яких принципах заснована робота статичної пам'яті?
2. Як побудовані елементи динамічної пам'яті?
3. Діаграми сигналів динамічної пам'яті.
4. Особливості побудови цифрової лінії затримки.
5. Опишіть роботу блоку пам'яті на динамічних ОЗП.
Лекція 5. Модулі динамічної пам'яті
У мікросхемах пам'яті, що випускались аж до середини дев'яностих, всі три затримки (RAS to CAS Delay, CAS Delay і RAS precharge) у сумі становили близько 200нс, що відповідало двом тактам в 10МГц системі та, відповідно, дванадцяти - в 60МГц. З появою Intel Pentium 60 (1993 рік) та Intel 486 DX4-100 (1994 рік) виникла потреба в удосконалюванні динамічної пам'яті. Були запропоновані модулі пам'яті - закінчені блоки, що містять також елементи управління.
5.1. Характеристики модулів динамічної пам'яті
1. Розрядність.
2. Тактова частота.
3. Діаграми сигналів.
4. Формула пам'яті (тайминги).
Для запису або читання комірки пам’яті спочатку циклу подається сигнал RAS#, щоб прочитати адресу рядка. Потім через інтервал tRCD (затримка RAS-to-CAS) подається сигнал CAS#. Перед сигналом CAS# відсилається команда запису або читання W#/R. Після подачі сигналу CAS# через інтервал CAS Latency видаються або записуються дані. Для пам'яті DDR цей інтервал становить 2, 2.5 або 3 такти. Після одержання даних контролер повинен деактивувати рядок за час tRP (RAS precharge time). Дві наступні один за одним активації сигналу RAS# не можуть бути ближче, ніж tRAS (active-to-precharge delay). Звичайно tRAS становить 5-8 тактів. Є також параметр Command Rate (1T, 2T) - це кількість тактів активізації модуля пам'яті (CS#). Схематично все сказане вище записується як (2T) 6-3-3-3 і називається формулою пам'яті (за табл.5.1 читається зверху донизу)
Таблиця 5.1.
Тип пам'яті
| SDRAM
| DDR SDRAM
|
Частота
| 133МГц
| 166МГц
|
2T – Command Rate
| Затримка команди чип-пам'ять
| 2 clocks
| 2 clocks
|
Cycle Time Tras#
| Тривалість RAS#
| 6 clocks
| 6 clocks
|
RAS Precharge Time
| Пауза RAS-RAS
| 2 clocks
| 3 clocks
|
RAS to CAS Delay
| Затримка RAS-CAS
| 2 clocks
| 3 clocks
|
CAS Latency
| Затримка CAS-Data
| 3 clocks
| 2.5 clocks
|
Існує також поняття максимального часу доступу до довільної комірки пам'яті – латентність, що виміряється в кількості тактів центрального процесора (або просто в нс) і характеризує швидкість роботи системи в цілому. Так, латентність системи на Pentium IV становить близько 150нс, а системи на Athlon64 - менше 50нс.
Пропускна здатність (ПЗ) – максимальна кількість байт інформації, що може пропустити пристрій за одиницю часу. Залежить від здатності читання-запису за один такт (кратність), тактової частоти та ширини шини. У позначенні модулів використовується ПЗ на біт: DDR400 або ПЗ на весь модуль: PC3200 (400*8).
5.2. Методи підвищення пропускної здатності динамічної пам'яті
1. Тіньова регенерація.
2. Збільшення розрядності шини.
3. Пакетна передача (Burst).
4. Багатоканальність.
5.3. Типи модулів пам'яті
FPM DRAM (Fast Page Mode DRAM) - швидка сторінкова пам'ять
FPM-DRAM - Fast-Page Mode DRAM - пам'ять зі швидким чередуванням сторінок, розроблена в 1995 році. Основною відмінністю від пам'яті попереднього покоління стала підтримка скорочених адрес. Якщо чергова запитувана комірка перебуває в тому самому рядку, що й попередня, її адреса однозначно визначається одним лише номером стовпця та передача номера рядка вже не потрібна. Формула: один RAS - багато CAS. При цьому стовпець та дані йдуть по черзі. Регенерація здійснюється в закритій сторінці.
EDO-DRAM (Extended Data Out) - пам'ять із удосконаленим виходом
Даний тип пам'яті з'явився в 1996 році. Містить спеціальний тригер-клямку, що втримує лінії даних після зникнення сигналу CAS. Тому стало можливим зняти сигнал CAS до закінчення читання даних, підготовляючи в цей час мікросхему до прийому номера наступного стовпця.
Тут за рахунок буфера на виході адреса стовпця та дані існують одночасно.
Рис. 5.1. Часові діаграми роботи деяких типів пам'яті