logo
AOM / Мельник А

9.1.2. Типи пам'яті

В комп'ютері використовуються різні типи пам'яті, які, залежно від способу доступу до інформації, можуть бути класифіковані наступним чином:

309

■ Пам'ять з довільним доступом. До цієї пам'яті в кожному такті може бути запи­сане число або зчитане з неї число за довільною адресою. За принципом пам'яті з довіль­ним доступом побудовано регістровий файл регістрової пам'яті процесора та основна пам'ять.

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

■ Пам'ять з асоціативним доступом. В такій пам'яті дані шукаються за їх змістом або за деякою їх ознакою. За принципом пам'яті з асоціативним доступом побудовано, зокрема, кеш пам'ять.

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

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

Найчастіше в комп'ютері використовується пам'ять з довільним доступом або адрес­на пам'ять. Ця пам'ять ділиться на два типи: оперативний запам'ятовуючий пристрій (ОЗП), англійський термін Random Access Memory (RAM), та постійний запам'ятовую­чий пристрій (ПЗП), англійський термін Read Only Memory (ROM).

Пам'ять із довільним доступом складається з комірок, кожна з яких зберігає одини­цю інформації, яка називається словом. Слова складаються із бітів із значеннями 0 або 1. В слові є п бітів, де п - довжина слова. Кожен біт має свій номер. Нумерація бітів в слові здійснюється справа-наліво, або зліва-направо. Зазвичай слово має довжину п = 2 к, де к = 0,1,2,... біт, наприклад 8 (к = 3), 32 (к = 5) і т. д.

Комірки пам'яті нумеруються, тобто кожна з них має свій номер, або адресу. Ту ж саму адресу має і слово, яке зберігається в даній комірці. Місце розміщення слова в пам'яті називається адресою слова. Якщо пам'ять може зберігати М слів розрядністю п кожне, то в якості адреси використовуються числа від 0 до М-1 (рис. 9.2). М адрес є адресним полем (простором) даного комп'ютера. Використовуючи двійкове кодування, необхідно mбітів для представлення всіх адрес, де m=[log7M].Значення в дужках означає більше ціле. Зазвичай пам'ять комп'ютера будується так, щоб М було кратним ступеню двійки, що дозволяє ефективніше використовувати розрядну сітку адреси, а також спрощує об­робку адрес. Існує поняття "організація пам'яті", яке вказує на розрядність комірок і їх кількість в пам'яті, тобто n*2m. Це значення вказує також ємність пам'яті в бітах.

310

Пам'ять з довільним доступом виконує дві основні операції: вибірку Fetch(або зчиту­вання Read)і запам'ятовування Store(або запис Write).Робота цієї пам'яті організована наступним чином. В режимі запису на адресний вхід пам'яті подається адреса комірки, в яку потрібно записати дане і сигналом запису це дане записується у вказану адресою комірку пам'яті. В режимі зчитування на адресний вхід пам'яті подається адреса комір­ки, з якої потрібно зчитати дане, і сигналом зчитування це дане зчитується з вказаної адресою комірки пам'яті (рис. 9.3).

Інтерфейс адресної пам'яті (рис. 9.3 а) включає m-розрядну шину адреси, п-розрядну шину вхідних даних, n-розрядну шину вихідних даних та однорозрядний вхід задання режиму роботи: запису або зчитування. Зазвичай використовуються також вхід дозволу використання пам'яті та вхід для подачі тактових імпульсів, необхідних для синхроні­зації роботи пам'яті. Слід зауважити, що у варіанті інтерфейсу адресної пам'яті, пред­ставленому на рис. 9.3 а, шини вводу та виводу даних розділені. Часто пам'ять будується з об'єднаними шинами вводу та виводу даних (тобто шина даних тут є двонаправленою) (рис. 9.3 b), що спрощує використання такої пам'яті в комп'ютерах із одношинною та багатошинною структурами.

Пам'ять з довільним доступом може бути реалізована у вигляді оперативної або по­стійної пам'яті, та у вигляді стека програмно-доступних регістрів (регістрового файла). В останньому випадку (рис. 9.4) адреса вказує номер регістра. Тут ДшА - дешифратор

311

адреси. Розрядність адреси дорівнює m= [log2k], де k - кількість регістрів. Як відомо, регістр - це найшвидший запам'ятовуючий елемент комп'ютера. Він використовується для короткотермінового зберігання одного слова інформації. Регістр будується на осно­ві тригерів, кожен з яких зберігає найменшу одиницю інформації біт, тобто до нього може бути записано 0 або 1. Для зберігання n-розрядного слова регістр повинен мати п тригерів.

В режимі запису інформація записується лише в вибраний дешифратором адреси ДшА регістр. А в режимі зчитування на шину даних поступає лише інформація з вибра­ного дешифратором адреси ДшА регістра. Виходи інших регістрів в цей час знаходяться в стані високого імпедансу.

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

До такої пам'яті належить зокрема пам'ять з послідовним доступом, широко вико­ристовувана в комп'ютерах, з якої дані зчитуються послідовно одне за одним в порядку 'їх запису або в порядку зчитування.

Пам'ять з послідовним доступом будується таким чином, що дані зчитуються або записуються до цієї пам'яті в послідовному порядку одне за одним, утворюючи деяку чергу. Зчитування здійснюється з черги слово за словом в порядку запису або в зво­ротному порядку. Прямий порядок зчитування забезпечується пам'яттю типу FIFO з дисципліною обслуговування "перший прийшов - перший вийшов" (First In, First Out). Обернений порядок зчитування забезпечується пам'яттю типу LIFO з дисципліною об­слуговування "останній прийшов - перший вийшов" (Last In, First Out), або, що є тим же самим, пам'яттю типу FILO з дисципліною обслуговування "перший прийшов - остан­ній вийшов" (First In, Last Out). Пам'ять з послідовним доступом, яка побудована на ре­гістрах, часто називається стеком. Приклад такої пам'яті показано на рис. 9.5, де дані з шини через регістр даних РгД поступають до послідовно з'єднаних регістрів пам'яті РгО, Рг1,... Рг(к-1), по яких рухаються вверх або вниз залежно від значення сигналу режиму роботи.

312

Ця пам'ять є найшвидшою та простою в реалізації. Як видно з рис. 9.6, де показано інтерфейс пам'яті з послідовним доступом з розділеними та об'єднаними входом і ви­ходом, в цій пам'яті відсутній адресний вхід.

Пам'ять з розділеними входом і виходом може одночасно приймати вхідні дані та видавати попередньо прийняті дані, які рухаються з входу до виходу за допомогою так­тових імпульсів ТІ. Коли ж вхід і вихід об'єднані, то дані вводяться в пам'ять тактовими імпульсами, які поступають по входу режиму роботи "вверх", а виводяться з пам'яті так­товими імпульсами, які поступають по входу режиму роботи "вниз".

Недоліком пам'яті з послідовним доступом є значний час доступу до конкретної оди­ниці інформації. В гіршому випадку для такого доступу може виникнути потреба в пе­регляді всього об'єму пам'яті.

Пам'ять з асоціативним доступом (або асоціативна пам'ять) зберігає разом з даними і їх ознаки, в ролі якої може бути і саме дане. Ядро пам'яті з асоціативним доступом по­казане на рис. 9.7. Роль комірок цієї пам'яті виконують регістри. Числа записуються в до­вільні вільні регістри пам'яті. Дані вибираються з такої пам'яті на основі збігу їх ознак з заданою. Для цього ознаки даних з усіх регістрів пам'яті поступають на схему порівнян­ня, де порівнюються з заданою ознакою із регістра ознаки, і на вихід пам'яті поступають дані, ознаки яких збігаються з заданою.

313

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

Пам'ять буває енергозалежною та енергонезалежною. У енергозалежній пам'яті інформація може бути спотворена або втрачена при відключенні джерела живлення. У енергонезалежній пам'яті записана інформація зберігається і при відключенні на­пруги живлення. Магнітна і оптична пам'ять є енергонезалежними. Напівпровідникова пам'ять може бути як енергозалежною, так і енергонезалежною.

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