ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 24.12.2021
Просмотров: 6822
Скачиваний: 22
Розділ 9
Багаторівнева пам'ять комп'ютера
Пам'ять є одним із основних вузлів комп'ютера, що призначений для зберігання інформації, тобто програм і даних. Функції пам'яті забезпечуються запам'ятовуючими пристроями, які здійснюють приймання, зберігання і видачу інформації в процесі роботи комп'ютера. Процес приймання інформації в запам'ятовуючий пристрій називають записом, процес видачі інформації - зчитуванням, а спільно їх визначають як процеси звернення до пам'яті.
В даному розділі будуть розглянуті питання побудови пам'яті з довільним, впорядкованим та асоціативним доступом. Кожний тип пам'яті має свої переваги та недоліки, які визначають місце його використання в комп'ютері. Буде розглянута структура багаторівневої пам'яті та її типи, які входять до складу внутрішньої та зовнішньої пам'яті комп'ютера а також основні характеристики пам'яті: ємність, організація, швидкодія, час доступу, період звернення, вартість. Зокрема буде проведено аналіз можливих варіантів організації регістрових файлів процесорів та обмежень, які спричиняє використання ба-гатопортового регістрового файла, а також розглянуто ряд нових структур регістрового файла: інтегрованого, розподіленого кластерного, з керованою комутацією, з віконною організацією, ієрархічного. Буде розглянута динамічна та статична організація даних в регістрових файлах та описана робота регістрового файла на базі черги з програмованою затримкою.
Будуть також розглянуті принципи роботи пам'яті з асоціативним доступом та описано чотири основні елементи її організації: з повним паралельним асоціативним доступом, з неповним паралельним асоціативним доступом, з послідовним асоціативним доступом, з частково асоціативним доступом.
Буде наведено опис варіантів побудови основної пам'яті та можливості по скороченню часу доступу до інформації. Зокрема буде розглянута блокова структура пам'яті, принципи розшарування пам'яті та нарощування її розрядності. Буде описано роботу різних типів постійного запам'ятовуючого пристрою.
При розгляді зовнішньої пам'яті буде наведений порядок розміщення інформації на магнітному диску, типи сучасних дискових систем, в тому числі масиви магнітних дисків з надлишковістю, оптична пам'ять та пам'ять на магнітних стрічках.
308
9.1. Типи та характеристики пам'яті комп'ютера
9.1.1. Багаторівнева структура пам'яті комп'ютера
Пам'ять комп'ютера є багаторівневою. На різних рівнях в комп'ютері використовуються різні типи пам'яті (рис. 9.1). Практично кожен функціональний вузол комп'ютера має у своєму складі пам'ять. Так, в процесорі знаходиться регістрова надоперативна пам'ять, а також постійна пам'ять для зберігання мікропрограм, яка є складовою частиною пристрою керування, та постійна пам'ять констант, яка використовується в АЛП, наприклад, у складі табличних або таблично-алгоритмічних операційних пристроїв. Між процесором і основною пам'яттю може бути включено кілька рівнів кеш пам'яті. Крім основної пам'яті, в комп'ютері є ще пам'ять процесорів введення-виведення та зовнішня пам'ять великого об'єму, реалізована на магнітних дисках, стрічках та барабанах, а також оптична та флеш. Як видно з рисунку, за місцем розташування пам'ять поділяють на внутрішню і зовнішню. Найбільш швидкісну пам'ять, тобто кеш-пам'ять першого рівня, зазвичай розміщують на одному кристалі з центральним процесором, в якому є своя регістрова пам'ять. До внутрішньої пам'яті належать також основна пам'ять, пам'ять процесора введення-виведення та кеш пам'ять другого і подальших рівнів (кеш пам'ять другого рівня може також розміщуватися на кристалі процесора). Повільну пам'ять великої ємності (магнітні й оптичні диски, магнітні стрічки та барабани) називають зовнішньою пам'яттю, оскільки до ядра комп'ютера ці пристрої підключаються аналогічно до пристроїв введення-виведення.
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), по яких рухаються вверх або вниз залежно від значення сигналу режиму роботи.