Тема 3. Архітектура основної пам’яті комп’ютера
| Сайт: | Навчально-інформаційний портал НУБіП України |
| Курс: | Комп'ютерна схемотехніка та архітектура комп'ютерів (КН). Ч1 ☑️ |
| Книга: | Тема 3. Архітектура основної пам’яті комп’ютера |
| Надруковано: | Гість-користувач |
| Дата: | четвер, 9 квітня 2026, 18:58 |
1. Структура основної пам’яті комп’ютера
Пам’ять комп’ютера призначена для запису, зберігання та читання інформації, яка бере участь в інформаційно-обчислювальному процесі. Пам’ять завжди була критичним ресурсом комп’ютерів. Недаремно, щоб досягти компромісу між ціною і продуктивністю, в обчислювальних системах вбудована ціла ієрархія пам’яті, що розрізняється за швидкодією. Вона включає зовнішню пам’ять - найдешевшу, але і найповільнішу, оперативні запам’ятовуючі пристрої (ОЗП) - вони швидкісні, але дорожчі, кеш (на сьогодні вже є до трьох її рівнів) - найшвидший, але і найдорожчий ресурс. Розглянемо принцип побудови основної пам’яті. Призначення основної пам’яті : зберігання програм початкового завантаження ПК, базової системи введення-виведення (BIOS), програм тестування ПК (ці програми зберігаються в постійному запам’ятовуючому пристрої – ПЗП); оперативний запис, зберігання та читання інформації (програм і даних), безпосередня участь в інформаційно-обчислювальному процесі, який виконується ПК у поточний період часу (ця пам’ять має назву оперативний запам’ятовуючий пристрій – ОЗП). Інформація, яка зберігається на зовнішніх запам’ятовуючих пристроях, стає доступною процесору тільки після того, як буде переписана в ОЗП. ОЗП бувають статичні (надоперативні) і динамічні. Статичні приблизно в 13 разів швидкісніші, ніж динамічні (4,5 нс проти 60 нс), однак сьогодні вони занадто дорогі і споживають занадто багато енергії, щоб використовувати їх в обсягах, які відповідають вимогам сучасних ОЗП. Тому застосування статичної пам’яті, як правило, обмежене щодо невеликої за об’ємом кеш-пам’яттю. Основну пам’ять створюють оперативні запам’ятовуючі пристрої з довільним доступом. Запам’ятовуючий пристрій з довільним доступом, як правило, містить багато запам’ятовуючих елементів, які утворюють запам’ятовуючий масив (ЗМ). Масив розділений на окремі комірки; кожна з них служить для зберігання двійкового коду, число розрядів в якому визначається 3 шириною вибірки пам’яті (іноді це може бути одне, половина або кілька машинних слів). Кожна комірка має унікальну адресу, яка дозволяє звертатися до них для виконання операцій запису та читання. Ємність основної пам’яті сучасних комп’ютерів достатньо велика, щоб її можна було реалізувати на одній інтегральній мікросхемі (ІМС). Необхідність об’єднання декількох ІМС виникає також, коли розрядність комірок в мікросхемі запам’ятовуючого пристрою (ЗП) менше розрядності слів комп’ютера. Збільшення розрядності ЗП реалізується за рахунок об’єднання адресних входів ІМС ЗП, які об’єднуються. Таку об’єднану сукупність мікросхем називають модулем пам’яті. Модулем можна називати і одну мікросхему, якщо вона вже має необхідну розрядність. Один або декілька модулів утворюють банк пам’яті. Для отримання потрібної ємності ЗП потрібно певним чином об’єднати декілька банків пам’яті меншої ємності. В загалі основна пам’ять комп’ютера практично завжди має блочну структуру, тобто містить декілька банків. При використанні блочної пам’яті, яка складається з В банків, адреса комірки А перетворюється в пару ( b, w ), де b - номер банку, w - адреса комірки всередині банка. Відомі три схеми розподілу розрядів адреси А між b і w : блочна; циклічна; блочно-циклічна. Типова структура блочної пам’яті показана на рис. 1. Адресний простір пам’яті розбитий на групи послідовних адрес, і кожна така група забезпечується окремим банком пам’яті. Для звернення до пам’яті використовується 9 - розрядна адреса, сім молодших розрядів якої (А6 – А0) надходять паралельно на усі банки пам’яті і вибирають у кожному з них одну комірку. Два старших розряди адреси (А8, А7) містять номер банку. Вибір банку забезпечується або за допомогою дешифратора номеру банка пам’яті, або шляхом мультиплексування інформації (на рис. 1. показані обидва варіанти). 4 Рис. 1. Структура основної пам’яті блочного типу У функціональному відношенні така пам’ять може розглядатись як єдиний ЗП, ємність якого дорівнює сумі ємностей складових, а швидкодія – швидкодії окремого банку. Блочний принцип побудови оперативної пам’яті має ще одну перевагу – дозволяє зменшити час доступу до інформації. Це стає можливим завдяки потенціальному паралелізму, який є властивим для блочній організації. Більшу швидкість доступу можна досягти за рахунок одночасного доступу до багатьох банків пам’яті. Одна з використовуваних для цього методик називається розшаруванням пам’яті. В її основу покладене так зване чергування адрес (address interleaving – інтерлів), яке полягає в зміні системи розподілу адрес між банками пам’яті. Причому чергування адрес базується на властивості локальності по зверненню, відповідно до якого послідовний доступ у пам’ять звичайно виконується до комірок, які мають суміжні адреси. Іншими словами, якщо в даний момент виконується звернення до комірки з адресою 5, то наступне звернення найвірогідніше буде до комірки з адресою 6, а потім 7 і т.д. Чергування адрес забезпечується за рахунок циклічного розбиття адреси (для вибору банку використовуються два розряди адреси, а інші розряди – для вибору комірки в банку). У пам’яті з інтерлівом кожен наступний рядок Дешифратор номеру банка пам’яті Банк 0 000000 00 Мультиплексор / демультиплексор Банк 1 000000 00 Банк 2 000000 00 Банк 3 000000 00 0 127 • • • 128 • • • 255 383 • • • 256 384 • • • 511 Регістр адреси Блок управління Запит Шина адреси Шина даних А8… А0 А6…А0 А8, А7 Дешифратор номеру банка пам’яті Банк 0 000000 00 Мультиплексор / демультиплексор Банк 1 000000 00 Банк 2 000000 00 Банк 3 000000 00 0 127 • • • 128 • • • 255 383 • • • 256 384 • • • 511 Регістр адреси Блок управління Запит Шина адреси Шина даних А8… А0 А6…А0 А8, А7 Дешифратор номеру банка пам’яті Банк 0 000000 00 Мультиплексор / демультиплексор Банк 1 000000 00 Банк 2 000000 00 Банк 3 000000 00 0 127 • • • 128 • • • 255 383 • • • 256 384 • • • 511 Регістр адреси Блок управління Запит Шина адреси Шина даних А8… А0 А6…А0 А8, А7 5 вибирається в новому банку, що дозволяє запам’ятовуючим елементам рядка з попереднього банку відновлювати свій стан (рис. 2). Рис. 2. Нумерація комірок в банках пам’яті з циклічною адресацією Оскільки в кожному такті на шині адреси може бути присутнім адреса тільки однієї комірки, паралельне звернення до декількох банків неможливе, однак воно може бути організоване зі зсувом на один такт. При великій кількості банків середній час доступу до основної пам’яті скорочується в N разів ( N - кількість банків), але при умові, що комірки, до яких проводиться звернення, відносяться до різних банків. Якщо ж запити до одного й того ж банку слідкують один за одним, то кожний наступний запит повинен очікувати завершення обслуговування попереднього. Така ситуація називається конфліктом по доступу. При частому виникненні конфліктів по доступу метод стає неефективним. У блочно-циклічній схемі розшарування пам’яті кожний банк складається з декількох модулів, що адресуються за круговою схемою (рис. 3). Рис. 3. Блочно-циклічна схема розшарування пам’яті Модуль 0 Модуль 1 Банк 0 Модуль 2 Модуль 3 Банк 1 0 1 2 3 • • • 126 • • • 127 128 129 130 131 254 255 • • • • • • Банк 0 Банк 1 Банк 2 Банк 3 0 1 2 3 508 • • • • • • 509 510 • • • • • • 511 6 Адреси між банками розподілені по блочній схемі. Таким чином, адреса комірки розбивається на три частини. Старші біти визначають номер банку, наступна група розрядів адреси вказує на комірку в модулі, а молодші біти адреси вибирають модуль в банку. В багатопроцесорних системах з загальною пам’яттю, де запити на доступ до пам’яті достатньо незалежні, у систему включають декілька контролерів пам’яті, що дозволяє окремим банкам функціонувати абсолютно автономно.
2. Організація мікросхем пам’яті
Інтегральні мікросхеми (ІМС) пам’яті організовані у вигляді матриці комірок, кожна з яких, в залежності від розрядності ІМС, складається з одного або більш запам’ятовуючих елементів (ЗЕ) і має власну адресу. Кожний ЗЕ здатний зберігати один біт інформації. Популярна сьогодні ІМС пам’яті має об’єм 64 Мбіт – тобто 67108864 запам’ятовуючих елементів (ЗЕ). ЗЕ розміщується на перехрестях сітки з провідників. У цьому випадку кожний ЗЕ є під’єднаним до двох провідників - один з яких використовують для керування читанням (записом), інший для передачі (подачі) даних. В якості основної пам’яті комп’ютера використовують динамічну пам’ять, яка здатна зберігати інформацію тільки протягом достатньо короткого проміжку часу, після якого інформацію необхідно відновлювати, інакше вона буде загублена. Абревіатура динамічної памяті – DRAM (Dynamic Random Access Memory). Динамічна пам’ять здатна запам’ятовувати біти інформації завдяки паразитній ємності (порядку 10-15 Ф). Ця пам’ять сконструйована на базі структури компліментарної технології метал-оксид-напівпровідник (CMOS - Complimentary Metal Oxide Semiconductor). За CMOS-технологією, завдяки її безсумнівним технічним перевагам, будуються сучасні чіпи швидкодіючих електронних елементів з високою щільністю упакування. Структура запам’ятовуючого елемента зображена на рис.4. 7 Компоненти схеми Підсилювач регенерації, буфер даних, шина виводу Схема перезаряду Числова шина Розрядна шина 1 Розрядна шина 2 С Вхід-вихід даних Рис. 4. Структура елементарного динамічного ЗЕ Транзистор у динамічному ЗЕ працює як ключ, який керує передачею заряду. При запису в конденсатор біта інформації ключ відкривається, заряджаючи конденсатор до певної величини. Далі для доступу до мікросхеми пам’яті з контролера ОЗП надходять сигнали керування, які переводять числову шину в активний стан. При цьому на числовій шині ЗЕ також підвищується потенціал, транзистор відкривається і замикає ланцюг: корпус => числова шина 1. Якщо ємність заряджена, вона розряджається на числову шину, підвищуючи її потенціал. Між розрядними шинами 1 і 2 виникає напруга. Струм, що при цьому циркулює, створює на вихідній шині заряд (одиниця). Якщо ємність не була заряджена, то на виході формується струм протилежного напрямку і із шини даних знімається нуль. Процес запису зворотний читанню. Тимчасових характеристик динамічної пам’яті дуже багато, але найважливіших - три: час перезаряджання пам’яті - являє собою затримку, зв’язану з попереднім заряджанням розрядних шин опорною напругою; час доступу до пам’яті - активізація числової шини, у результаті чого на вихідну шину даних пам’яті викладається інформація; час циклу - складається з затримок часу перезаряджання і доступу. Час затримки виведення даних DRAM вимірюється величинами від десятків до сотень наносекунд. 8 Систему пригальмовують не тільки затримки усередині пам’яті. Будь-яке звертання до ОЗП супроводжується передачею у контролер пам’яті великої групи сигналів, що ускладнюють схемотехніку і підвищують латентність підготовчого періоду циклу обміну даними. У DRAM кожен ЗЕ можна відшукати за його адресними координатами, що оформлені у рядки і стовпці (рис. 5). Запам’ятовуючі елементи, які об’єднані керуючим провідником прийнято називати рядком, або row (розташовані в квадратній таблиці горизонтально). Запам’ятовуючі елементи, які об’єднані провідником, що передає значення, називають стовпцем, або column (розташовані по вертикалі). Вибір відповідної адреси рядка і стовпця дозволяє визначити місце ЗЕ. Схема регенерації Схеми підсилення Вентилі стовпців Дешифратор стовпців Дешифратор рядків Буфер даних Дані Рис. 5. Структура динамічного ОЗП Таким чином, при виборі рядка читання здійснюється відразу на всіх ЗЕ, тобто на кожному із провідників стовпців, виникає напруга, обумовлена логічним значенням відповідного ЗЕ обраного рядка. Описану сукупність ЗЕ і логічні елементи, що їх обрамляють і які зв’язані з вибором рядків і стовпців, називають ядром ІМС. 9 Усі ЗЕ виводяться на загальну числову шину. Вміст декількох ЗЕ, об’єднаних на виході, утворює інформаційну групу - байт або слово, - і виводиться на шину даних пам’яті. Розрядність зовнішньої шини даних пам’яті дозволяє підвищити її пропускну здатність.
3. Принцип дії динамічної пам’яті
Адреса пам’яті містить відомості для вибору: байта, банку (банк пам’яті – комплект мікросхем або модулів, які забезпечують розрядність збережуваних даних, що потрібна для даної системи), рядка і стовпця. Вони надходять в один із портів контролера ОЗП, трансформуються в дві адреси - рядка і стовпця, які по шині МА потрапляють у DRAM (рис. 6) з деяким проміжком часу (∆Т1 на рис. 7). Контролер пам’яті оснащений портом для обміну даними з процесором і ще одним портом — для обміну з пристроями введення-виведення на системній шині. Рис. 6. Один з варіантів взаємодії з підсистемою пам’яті Оскільки запитів для обміну багато, на вході підсистеми є арбітр. Він під’єднує до пам’яті пристрої відповідно до пріоритетів. Шина між процесором і контролером ОЗП — FSB (Front Side Bus) — тактується системними синхроімпульсами. Кожний з елементів адресної групи стробується імпульсами сигналів керування RAS# (Row Address Strobe) - адреса рядка і CAS# (Column Address Strobe) – адреса стовпця (рис. 7). Сигнал вибору Центральний процесор КЕШ – пам’ять L2 Шина процесора Контролер управління шинами процесора та PCI, контролер КЕШ– пам’яті та DRAM DRAM Буфер даних Адреса, управління Адреса, управління RAS#, CAS#, MA, WE# КЕШ–пам’ять L2 Дані Дані Пристрої на шині PCI 10 мікросхеми CS# (Crystal Select) дозволяє роботу ІМС і використовується для вибору певної мікросхеми в системах, які складаються з декількох ІМС. Вхід WE# (Write Enable - дозвіл запису) визначає вид операції, яка виконується (зчитування або запис). При відсутності даних у кэш, доступ до ОЗП можна представити так: за час першого і другого тактів синхронізації із шини FSB у контролер ОЗП направляються керуючі й адресні сигнали (# у сигналі свідчить про те, що його активний рівень — низький). Сигнали аналізуються і керують логікою ОЗП. Два-три (залежно від якості DRAM) синхроімпульси витрачаються на запуск схеми дешифрації і вибір відповідного рядка. При доступі до шин рядків активізується числова шина, і всі ЗЕ у даному рядку читаються. На розрядні шини надходять відповідні потенціали від конденсаторів. Т доступу Цикл читання Δ Т1 RAS1# CAS1# рядок 1 стовпчик 1 Цикл читання Δ Т1 RAS2# CAS2# рядок 2 стовпчик 2 RAS# СAS# МА WE# DATA Рис. 7. Часова діаграма циклів доступу до ОЗП На активізацію шин стовпців, під’єднання розрядних шин до буфера даних і витягнення із ЗЕ пам’яті даних також потрібно два-три такти синхронізації. Ще один такт іде на доставку даних у буфер даних DRAM. По такту витрачається на доставку даних у контролер ОЗП і далі — у процесор. Таким чином, за один цикл звертання до пам’яті система генерує взагалі 9—11 тактів синхронізації. 11 При читанні даних варто врахувати ще два такти, що витрачаються на відновлення заряду ЗЕ. Динамічна пам’ять енергозалежна і вимагає періодичного поповнення енергії в паразитних ємностях, що реалізується стандартною процедурою регенерації. Ця апаратна процедура ініціюється інтервальним таймером кожні 15,6 мкс. (рис. 8) і виконується через канал регенерації динамічної пам’яті (РДП). Для регенерації використовуються тільки строби RAS#, а строби CAS# у процесі не беруть участі. Протягом цього часу, який називається кроком регенерації, у DRAM перезаписується цілий рядок ЗЕ. Так, протягом 8—64 мс. обновляються всі рядки пам’яті. Для перезапису ЗЕ ОЗП досить перебирати рядок за рядком і виконувати «фіктивну» (без виведення даних на магістраль даних пам’яті) команду читання. У цьому випадку кожен ЗЕ рядка перезапишеться через схему перезаряджування, а дані не потраплять у буфери виходу даних. SYS CLK Регенерація рядка № 00 Робочий час системи Регенерація рядка № 01 Робочий час системи Регенерація рядка №(N-1) Повний час регенерації рядків, включаючи час DRAM ( 8-64 мс) Крок регенерації 15,6 мкс Рис. 8. Часова діаграма регенерації динамічної пам’яті Шина даних знаходиться у високоімпедансному стані. На модифікацію ЗЕ при читанні витрачається два такти синхронізації. Очевидно, що процедура регенерації пам’яті (у класичному варіанті) «гальмує» роботу системи, оскільки в цей час обмін даними з ОЗП неможливий. Регенерація, заснована на звичайному перебиранні рядків (незалежно від послідовності), у сучасних типах DRAM не застосовується. Існує кілька економічних варіантів цієї процедури — розширений, пакетний, розподілений і ін. 12 Архітектурні і технологічні рішення дозволяють мінімізувати в DRAM тимчасові затримки (латентність). Досягається це використанням сторінкової пам’яті і інтерліву. Сторінка – це логічна категорія, що існує для зручності звертання. Пам’ять розбивається на парну кількість банків, що складаються зі сторінок малого обсягу. При кожному звертанні контролер пам’яті генерує адресні елементи для доступу до рядків і до стовпців. Між цими операціями існує часовий «зазор» (∆Т1), який, накопичуючись, приводить до високої латентності. Доступ до пам’яті в режимі швидкого сторінкового обміну FPM (Fast Page Mode) дозволяє мінімізувати ці втрати. Часовий виграш при доступі до ОЗП в режимі FPM полягає в тому, що затримки (∆Т1) виникають лише при першому доступі до комірок сторінки. Витрати часу на перше звертання до ОЗП не залежать від типу DRAM, — це слабке місце динамічної пам’яті. Усі наступні звертання до стовпців сторінки виконуються на вже обраній адресі рядка (відкритому рядку). Таким чином, адреса рядка активна протягом усіх циклів доступу до рядка пам’яті, а адреси стовпців стробуються імпульсами CAS# щоразу, коли в цьому є необхідність. Інтерлів, або чергування банків — це режим роботи, який використовується всіма модулями динамічної пам’яті. Як відомо, кожне наступне звертання до DRAM можливе лише після завершення перехідних процесів у ЗЕ. У пам’яті з інтерлівом кожен наступний рядок вибирається в новому банку, що дозволяє ЗЕ рядка з попереднього банку відновлювати свої кондиції. Збільшення кількості банків пам’яті, що обираються послідовно, сприяє зниженню тимчасових втрат, зв’язаних з перезаряджанням ємностей.
Шрифти
Розмір шрифта
Колір тексту
Колір тла
Кернінг шрифтів
Видимість картинок
Інтервал між літерами
Висота рядка
Виділити посилання
Вирівнювання тексту
Ширина абзацу