Лекция: Побудова модулів оперативного запам'ятовувального пристрою статичного типу
Елементом пам'яті ОЗП статичного типу є тригер. Кожний елемент пам'яті має свою адресу. Для того щоб зчитати інформацію з елемента пам'яті або записати в нього нове значення, його треба обрати поданням на ВІС ОЗП відповідної адреси. Якщо запам'ятовувальний пристрій допускає звернення до будь-якого елемента пам'яті у довільному порядку, його називають ОЗП з довільною вибіркою (RAM — Random Access Memory — пам'ять з довільним доступом), див. розд. 9, кн. 2.
Існують ОЗП з інформаційною ємністю біт (серії К541, К132) і з ємністю (К537, К581). Для введення інформації в ОЗП першого типу використовують вхід D1(Data Input), а для виведення — вихід DО (Data Output). Великі інтегральні схеми ОЗП другого типу мають п інформаційних входів-виходів . Такий ОЗП припускає читаиня-запис 8-розрядного коду. Керування режимами (запису, зчитування, зберігання) здійснюється за допомогою сигналів і . Одиничний стан сигналу визначає режим запису біта інформації в елемент пам'яті, а нульовий — режим зчитування біта інформації з елемента пам'яті.
Розглянемо будову модуля ОЗП статичного типу для МПС з 8-розрядними процесорами, використовуючи ВІС ОЗП з інформаційною ємністю N × 1. Для цього слід нарощувати розрядність даних.
Приклад 4.3.Для МПС з 8-розрядним МП розробити схему модуля ОЗП з інформаційною ємністю 4К × 8 на базі ВІС К537РУ14 з інформаційною ємністю 4К × 1.
Для побудови модуля пам'яті ємністю 4К×8треба вісім ВІС ОЗП К537РУ14, рис. 4.5. Оскільки такі ВІС не мають входу сигналу ОЕ, тобто під час записування інформації вони не переходять у г-стан, слід використовувати шинний формувач. У цьому разі використаємо шинний формувач КР580ВА86, що з'єднує вихід ВІС із шиною даних під час виконання циклу ЧИТАННЯ ПАМ'ЯТІ, = 0 та нульовому рівні сигналів на входах і . Кожну з ВІС ОЗП з'єднано з однією з ліній шини даних D7— D0.
Для мікросхем ОЗП, в яких під час записуваня інформації виходи переходять у високоімпедансний стан, шинний формувач не використовується, і виходи ВІС безпосередньо з'єднуються з шиною даних.
Отже, розрядність нарощується під'єднанням однієї ВІС ОЗП до кожної лінії шини даних. При цьому адресні входи для всіх ВІС ОЗП з'єднуються паралельно. Паралельно також з'єднуються входи керування і вибірки. Нарощування ємності ОЗП здійснюється аналогічно нарощуванню ємності ПЗП. На рис. 4.5 показано один з чотирьох можливих варіантів під'єднання модуля ОЗП — до виходу а дешифратора, інших трьох модулів ОЗП — до виходів b, с, d дешифратора.
Рис. 4.5. Нарощування розрядності модуля статичного ОЗП
Розглянемо будову модуля оперативної пам'яті для МПС на основі 16-розрядних процесорів. Модуль ОЗП, так само, як і ПЗП, виконується у вигляді двох банків, під'єднаних відповідно до молодшої та старшої половин шини даних.
Приклад 4.4.Розробити схему модуля ОЗП інформаційною ємністю 16К × 16 для МПС із 16-розрядним МП.
У схемній реалізації модуля ОЗП має бути забезпечене читання-запис як 8-, так і 16-розрядних даних. Модуль ОЗП складається з двох банків — молодшого і старшого (рис. 4.6).
Адресні розряди A13—A1 з'єднані з адресними входами A12— A0 обох банків. Вибірка банків здійснюється одиничним значенням сигналу на виході дешифратора DC, сигналами A0 для вибірки молодшого банку або (.Bus High Enable — дозвіл старшого байта шини) для вибірки старшого банку. Одиничний рівень сигналу на виході DC з'являється післянадходження на шину адреси АВ відповідної адреси ОЗП. Сигнал або вказує на виконання відповідно циклу ЧИТАННЯ ПАМ'ЯТІ або ЗАПИС У ПАМ'ЯТЬ.
Рис. 4.6. Модуль ОЗП у 16-розрядних МПС
Комбінація значень сигналів A0 і визначає чотири можливих випадки звернення до пам'яті:
• вибірку байта за парною адресою;
• вибірку байта за непарною адресою;
• вибірку слова за парною адресою;
• вибірку слова за непарною адресою.
Під час вибірки байта за парною адресою A0 = 0, = 1. Байт з парною адресою передається по лініях D7— D0, тобто здійснюється зчитування або запис байта. У разі запису байта у молодший банк інформація в старшому банку захищена від стирання, тобто одиничне значення сигналу ВНЕ забороняє звернення до старшого банку.
Під час вибірки байта за непарною адресою A0 = 1, = 0. Наприклад, за командою
MOV BL, BYTE PTR [10001H]
вміст комірки пам'яті з адресою DS:10001H пересилається в молодшу половину 16-розрядного регістра ВХ, тобто у 8-розрядний регістр BL. При цьому вміст комірки пам'яті записується у розряди D15 — D8, тобто старшу половину шини даних, потім, у процесі виконання команди, на молодшу половину внутрішньої 16-розрядної шини МП, а після цього—в регістр BL. Цей процес, який називають маршрутизацією байта, відбувається автоматично і непомітно для програміста.
Під час вибірки слова за парною адресою — 0, A0 = 0. У цьому разі водночас обираються два банки, і 16-розрядне слово передається по лініях D15—D0за один цикл шини.
Якщо слово має непарну адресу, його молодший байт розміщується у старшому банку пам'яті, а старший байт — у молодшому банку. У процесі вибірки слова за непарною адресою спочатку A0= 1, = 0, і по лініях шини D15— D8передається молодший байт. Після цього генеруються сигнали A0=0, = 1, здійснюється інкремент (збільшення на одиницю) повної адреси А19—A0, старший байт слова передається з молодшого банку або в молодший банк по лініях шини D7—D0. Отже, вибірка слова за непарною адресою потребує два цикли шини. Тому слова доцільно розміщувати за парними адресами, особливо під час організації операцій зі стеком.
4.4. Побудова модулів оперативного запам'ятовувального пристрою динамічного типу
У мікросхемах ОЗП динамічного типу елементом пам'яті є конденсатор р-n-переходу МДН-траизистора. Заряджений стан конденсатора вважається станом логічної одиниці, розряджений — станом логічного нуля. Такі елементи пам'яті не можуть тривалий час зберігати свій стан і тому потребують додаткового обладнання для забезпечення періодичного відновлення (регенерації) інформації. Тривалість вибірки для динамічного ОЗП становить 70—200 нc. Порівняно з ОЗП статичного типу ОЗП динамічного типу характеризуються більшою інформаційною ємністю, що зумовлюється меншою кількістю компонент в одному елементі пам'яті, та меншими швидкодією (пов'язано з потребою заряджання і розряджання конденсатора), потужністю споживання і вартістю. Переважно модулі оперативної пам'яті сучасних МПС реалізуються на базі ВІС ОЗП динамічного типу.
Оперативні ЗП динамічного типу (див. розд. 9, кн. 2) працюють у таких режимах: запису, зчитування, зчитування — модифікації—запису, сторінкового запису, сторінкового зчитування, регенерації. Для забезпечення адресування всієї ємності пам'яті використовують мультиплексування адресних сигналів у часі. Спочатку відбувається зчитування або запис даних, адреса яких визначається т молодшими розрядами шини адреси, що супроводжується сигналом строба (Row Address Strobe — строб адреси рядка). Після цього відбувається зчитування або запис даних, адреса яких визначається т старшими розрядами шини адреси, що супроводжується сигналом строба (Column Address Strobe — строб адреси стовпця). Зчитування інформації здійснюється за заднім фронтом сигналу за = 1, запис — за заднім фронтом сигналу за = 0. Режим зчитування—модифікації—запису полягає у зчитуванні інформації з подальшим записом в один і той самий елемент пам'яті. Сторінкові режими запису і зчитування реалізуються зверненням до ВІС за адресою рядка з вибіркою елемента пам'яті цього рядка зміною адрес стовпців. Регенерація інформації здійснюється зверненням до кожного з рядків, при цьому формується адреса рядка і сигнал, а сигнал дорівнює логічній одиниці. Процес регенерації припиняється після звернення МП до ОЗП. У цьому випадку обробляється вимога МП, після чого режим регенерації триває з тієї адреси, на якій він був припинений.
Для керування ОЗП динамічного типу використовують контролери динамічної пам'яті, наприклад, К1810ВТ03, К1810ВТ02,i8207, які формують адресні та керуючі сигнали у режимах роботи і регенерації, а також здійснюють арбітраж, тобто розв'язання конфліктів між запитами на регенерацію і звернення до пам'яті. Контролер формує також сигнал готовності блока динамічної пам'яті до обміну.
Контролер динамічної пам'яті i8207 (рис. 4.7) призначений для керування чотирма ВІС ОЗП динамічного типу по 512 Кбайт кожний. Він складається з адресних буферів В1і В2, лічильника рядків регенерації (ЛРР), двох мультиплексорів М1 і М2та системи керування. Система керування аналізує вхідні сигнали і здійснює керування всіма блоками контролера.
Під час виконання команд читання-запису пам'яті контролер забезпечує з'єднання з виходами АО8—АО0спочатку з молодшою, а потім зі старшою половинами адреси, формування стробувальиих сигналів і для кожної з чотирьох ВІС пам'яті, а також сигналу (Write Enable —дозвіл запису). У режимі регенерації контролер забезпечує з'єднання з виводами АО8—АО0виходів лічильника рядків регенерації і формування сигналу .
Рис. 4.7. Структурна схема контролера динамічної пам'яті i8207
Таблиця 4.2. Вибір ВІС динамічної пам'яті
| Сигнал | Блок пам'яті |
| SS1 | BS0 |
Вибір однієї з чотирьох ВІС пам'яті здійснюється сигналами BS1— BS0 ( табл. 4.2).
Контролер формує сигнал наприкінці циклу читання-запису, вказує на закінченняциклу взаємодії з центральним процесором та сигнал на початку циклу звернення до пам'яті.
Використання цих сигналів показано на прикладі під'єднання контролера i8207 із системною шиною 16-розрядного процесора (рис. 4.8).
На виході формується сигнал логічного нуля тоді, якщо контролер виконує тактирегенерації інформації в динамічному ОЗП. Сигнал використовується як стробувальний сигнал для керування шинними формувачами модуля пам'яті. У цьому прикладі використано два шинних формувачі К580ВА86 (i8286), оскільки шина даних є 16-розрядною.
Рис. 4.8. З'єднання контролера динамічної пам'яті з системною шиною
Рис. 4.9. Система динамічної пам'яті
Схему модуля динамічної пам'яті 16-розрядного процесора зображено на рис. 4.9.
Контролер динамічної пам'яті фактично виконує роль інтерфейсу модуля пам'яті та шини процесора. Динамічну пам'ять організовано у вигляді двох банків, кожний з яких складається з чотирьох блоків ємністю по 512 Кбайт. Загальна ємність пам'яті дорівнює 2 Мбайт. Шина адреси процесора з'єднана з контролером. Лінії А1і А0під'єднуються до входів вибирання банку BS0, BS1, біти A11— A3 є адресою рядка, а біти A20 —A12 — адресою колонки динамічної пам'яті.