Поняття про адресну організацію запам’ятовуючих пристроїв.

 

Весь адресний простір пам'яті комп'ютера розділяється на кілька областей, що зв'язано, у першу чергу, з необхідністю забезпечення сумісності з першими комп'ютерами сімейства. У комп'ютері IBM PC XT на процесорі і8088 процесор міг адресувати 1 Мбайт пам'яті (20 адресних розрядів). Але всі програмні й апаратні засоби будувалися виходячи з припущення, що доступний адресний простір - тільки молодші 640 Кбайт (тоді це здавалося цілком достатнім). Дана область пам'яті одержала назву стандартної пам'яті (Conventional memory). Саме в межах цих 640 Кбайт (адреси 0...9FFFF) працює операційна система MS DOS і всі її прикладні програми.

Перші 1024 байта (адреси 0...3FF) зберігають таблицю векторів переривання (Interrupt Vectors) об'ємом 256 подвійних слів, формовану на етапі початкового завантаження. Однак якщо процесор працює в захищеному режимі, таблиця векторів може розташовуватися в будь-якім іншім місці пам'яті.

Адреси 400…4FF виділяються під область змінних BIOS (BIOS Data Area). Докладніше про BIOS буде розказано в наступному розділі.

Адреси 500…9FFFF містять у собі область операційної системи DOS (DOS Area) і пам'ять користувача (User RAM).

Залишилися від 1 Мбайта пам'яті 384 Кбайта (адреси A0000…FFFFF), зарезервовані під інші системні потреби, називаються UMA (Upper Memory Area) - область верхньої пам'яті чи UMB (Upper Memory Blocks) - блоки верхньої пам'яті чи High DOS Memory.

Простір відеопам'яті (адреси A0000…BFFFF) містить області для збереження текстової і графічної інформації відеоадаптера.

Простір пам'яті з адресами E0000…FFFFF відведено під системну постійну пам'ять комп'ютера ROM BIOS.

У цій же області виділене вікно розміром у 64 Кбайти (page frame) з адресами D0000…DFFFF, через яке програми могли одержувати доступ до додаткової (відображуваної) пам'яті (Expanded memory) об'ємом до 32 Мбайт, залишаючись у межах того ж 1 Мбайта адресованої пам'яті. Це досягається шляхом почергового відображення чотирьох сторінок по 16 Кбайт із додаткової пам'яті у виділене вікно. При цьому положення сторінок у додатковій пам'яті можна змінювати програмним шляхом. Зрозуміло, що працювати з додатковою пам'яттю менш зручно, ніж з основною, тому що в кожен момент комп'ютер "бачить" тільки вікно в 64 Кбайт. Тому зараз вона застосовується досить рідко.

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

У результаті логічна організація адресного простору в межах 1 Мбайт вийшла досить складною (Рис. ). І таку ж організацію повинні підтримувати всі персональні комп'ютери сімейства IBM PC для забезпечення сумісності з попередніми моделями.

 

Рисунок 7.3

При подальшому розширенні адресованого простору пам'яті в наступних моделях комп'ютерів уся пам'ять об'ємом понад 1 Мбайт одержала назву розширеної пам'яті (Extended memory). Для доступу до неї мікропроцесор повинен переходити з реального режиму в захищений і назад. Загальний об'єм пам'яті персонального комп'ютера (верхня межа розширеної пам'яті) може доходити до 16 Мбайт (24 розряди адреси) чи до 4 Гбайт (32 розряди адреси).

Особливого згадування заслуговує так звана тіньова пам'ять (Shadow RAM), що представляє собою частину оперативної пам'яті, у яку при запуску комп'ютера переписується вміст постійної пам'яті, і яка заміняє цю постійну пам'ять на час роботи комп'ютера. Необхідність даної процедури викликана тим, що навіть порівняно повільна динамічна оперативна пам'ять виявляється усе-таки швидшою, ніж постійна пам'ять. Постійна пам'ять часто помітно стримує швидкодію комп'ютера. Тому було запропоновано виділяти частину оперативної пам'яті для виконання обов'язків як системної постійної пам'яті ROM BIOS, так і постійної пам'яті, що входить до складу додаткових адаптерів, які підключаються до комп'ютера. Переписування інформації звичайно передбачено в програмі початкового пуску.

У зв'язку з особливостями роботи динамічної пам'яті для скорочення часу доступу до неї застосовуються спеціальні режими роботи оперативної пам'яті: режим розшарування (інтерлівінг) і сторінковий режим.

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

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

Тут же відзначимо, що при заміні пам'яті чи комп'ютера при установці додаткових банків пам'яті треба строго слідувати рекомендаціям виготовлювачів системних плат, тому що порядок заповнення банків може бути далеко не очевидний.