Регістрова пам’ять
Регістри (англ. Register) являють собою, по суті, кілька D-тригерів (зазвичай від 4 до 16), з'єднаних між собою тим чи іншим способом. Тому принципової різниці між ними та окремими D-тригерами не існує. Правда, тригери, що входять до складу регістрів, не мають такої кількості різноманітних керуючих входів, як поодинокі тригери.
На схемах регістри позначаються буквами RG. У вітчизняних серіях мікросхем регістрів відповідають літери ІР. Всі регістри діляться на дві великі групи (рис. 3):
• Паралельні регістри;
• Регістри зсуву (або послідовні регістри).
Існують регістри й інших типів, але вони застосовуються набагато рідше, ніж паралельні і послідовні, оскільки мають вузькоспеціальне призначення.
У паралельних регістрах (а) кожен з тригерів має свій незалежний інформаційний вхід (D) і свій незалежний інформаційний вихід. Тактові входи (С) всіх тригерів з'єднані між собою. В результаті паралельний регістр являє собою багато розрядний, багато входовий тригер.
Рис. 3. Структура паралельного (а) і зсувного регістру (б)
В регістрах зсуву (б) всі тригери з'єднані в послідовну ланцюжок (вихід кожного попереднього тригера з'єднаний зі входом D наступного тригера). Тактові входи всіх тригерів (С) об'єднані між собою. В результаті такої побудови тригер може розглядатися як лінія затримки, вхідний сигнал якої послідовно перезаписується з тригера в тригер по фронту тактового сигналу С. Інформаційні входи і виходи тригерів можуть бути виведені назовні, а можуть і не виводитися - залежно від функції, що виконується регістром.
Паралельні регістри, в свою чергу, діляться на дві групи:
• Регістри, що спрацьовують по фронту керуючого сигналу С (або тактовані регістри).
• Регістри, що спрацьовують за рівнем керуючого сигналу С (або стробовані регістри).
Найчастіше в цифрових схемах використовуються регістри, керовані фронтом (тобто тактовані), однак і стробовані регістри мають своє коло завдань, в яких їх ніщо не може замінити.
Регістри, що спрацьовують по фронту
Принцип дії регістрів, що спрацьовують по фронту тактового сигналу, нічим не відрізняється від принципу дії D-тригера. По позитивному фронту тактового сигналу С кожен з виходів регістру встановлюється в той рівень, який був у цей момент на відповідному цього виходу вході D, і зберігається таким до приходу наступного позитивного фронту сигналу С. Тобто якщо тригер запам'ятовує один сигнал (один двійковий розряд, один біт), то регістр запам'ятовує відразу кілька (4, 6, 8, 16) сигналів (кілька розрядів, бітів) (рис. 4). Пам'ять регістра зберігається до моменту виключення живлення схеми.
Рис.4. Параллельные регистры, срабатывающие по фронту
У стандартні серії входить кілька типів паралельних регістрів, що спрацьовують по фронту. Розрізняються вони кількістю розрядів, наявністю або відсутністю інверсних виходів, наявністю або відсутністю входу скидання (-R) або дозволу запису (-WE), а також типом вихідних каскадів (2С або 3С) і, відповідно, наявністю або відсутністю входу дозволу - EZ. Іноді на схемах тактовий вхід З позначається WR - сигнал запису в регістр.
Більшість регістрів мають вісім розрядів, тобто запам'ятовують один байт інформації. Регістр ТМ8 в довідниках зазвичай називається зчетвереним D-тригером (він і в найменуванні несе букви ТМ), хоча він цілком може розглядатися і як регістр, так як тактовий вхід С і вхід скидання - R у всіх чотирьох тригерів об'єднані між собою.
Таблиці істинності регістрів дуже прості і не відрізняються принципово від таблиці істинності D-тригерів. Відміну від тригерів з'являється тільки в разі наявності у регістра додаткових керуючих входів дозволу запису -WE і дозволу виходу - EZ. В якості прикладів в табл. 1 наведена таблиця істинності регістра ИР27, а в табл. 2 - регістра ИР37. По переходу тактового сигналу С з 0 в 1 (позитивний фронт) обидва регістра записують в себе вхідну інформацію.
Таблиця 1. Таблиця істинності регістру ИР27 |
|||
Входи |
Виходи |
||
-WE |
C |
D |
Q |
0 |
0
|
0 |
0 |
0 |
0 1 |
1 |
1 |
0 |
0 |
X |
Не міняється |
0 |
1 |
Х |
Не міняється |
1 |
Х |
Х |
Не міняється |
Таблиця 2. Таблиця істинності регістру ИР37 |
|||
Входи |
Виходи |
||
-EZ |
C |
D |
Q |
0 |
0 1 |
0 |
0 |
0 |
0 1 |
1 |
1 |
0 |
0 |
X |
Не міняється |
0 |
1 |
Х |
Не міняється |
1 |
Х |
Х |
Z |
Всі регістри, що мають вихід із трьома станами, забезпечують підвищену навантажувальну здатність. Затримка перемикання регістрів приблизно відповідає затримці перемикання тригерів. Всі часові обмеження, що накладаються на вхідні сигнали у випадку тригерів, справедливі і для вхідних сигналів регістрів. Наприклад, не повинна бути занадто малою тривалість сигналу С, а також не повинна бути занадто малою затримка між встановленням сигналу D і приходом позитивного фронту сигналу С. Інакше робота регістра може бути нестабільною або навіть неправильною.
Одне з основних застосувань регістрів полягає в зберіганні необхідного коду протягом потрібного часу. Якщо для роботи решти схеми необхідно мати вхідний код, який можна легко змінювати, то для цього якраз підходить регістр.
На рис. 5 показана типова схема включення регістра для зберігання коду і часова діаграма його роботи. Код на вході регістру може змінюватися довільним чином, але в той момент, коли цей код приймає необхідне значення, на вхід С тригера подається синхросигнал (стрибок), який записує код в регістр. Цей код буде зберігатися в регістрі до приходу наступного синхросигналу.
Рис. 5. Зберігання коду в паралельному регістрі
