АДРЕСНІ ПРОСТОРИ

Основні області пам'яті

Під адресним простором пам'яті будемо розуміти сукупність адресних кодів, яка забезпечується процесором при зверненні до осередків пам'яті. Доступне адресний простір визначається максимальною кількістю N розрядів адресного коду (або ліній шини адреси) як 2 N. При організації звернення до пам'яті вважають, що в комірці пам'яті зберігається один байт інформації. Тому доступне адресний простір оцінюють в байтах, кілобайтах, мегабайтах, гігабайтах.

У перших персональних комп'ютерах використовувалися процесори 8086/88 з 16-розрядними внутрішніми регістрами і 20-розрядної шиною адреси, що забезпечує доступне адресний простір 220 байт = 1 Майт (від OOOOOh до FFFFFh). Доступне простір пам'яті назвали пам'яттю з довільним доступом (Random Access

Memory - RAM) або оперативною пам'яттю. Формування 20-розрядної адреси здійснювалося за допомогою двох 16-розрядних регістрів на підставі наступної формули:

(1) Addr = 16 х Seg + Offset,

де Seg - номери сегментів від lOOOh до FOOOh, що зберігаються в регістрі сегментів; Offset - вміст регістра зсуву (від OOOOh до FFFFh), при цьому символ "h" (hex) означає, що адреса вказується в шістнадцятковій системі числення.

Принцип формування 20-розрядної адреси проілюстрований на рис. 3.2, а. На рис. 3.2,5 показана його схемна реалізація. У регістрі сегментів зберігається номер сегмента XOOOh, а в регістрі зсуву - зміщення YYYYh поточного адреси, що обчислюється за формулою (1):

Addr = 16 х XOOOh + YYYYh = XYYYYh.

Відзначимо, що для запису адреси часто використовується така конструкція X000h: YYYYh, яка співпадає із записом XYYYYh в шістнадцятковій системі числення.

Доступне простір пам'яті в 1 Мбайт було розділене на д в е області (спочатку по 512 Кбайт):

  • нижню область розміром 640 Кбайт, до торая призначалася для призначених для користувача програм. Її назвали основною пам'яттю (Conventional Memory);
  • верхню область розміром 384 Кбайт, яка була зарезервована для системної пам'яті ROM BIOS, графічних плат та інших адаптерів. Її назвали верхньої пам'яттю (Upper Memory Area -

Принцип формування 20-розрядної адреси (а) і його схемна реалізація (б)

Мал. 3.2. Принцип формування 20-розрядної адреси (а) і його схемна реалізація (б)

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

Розрядність шини адреси наступних поколінь процесорів збільшувалася спочатку до 24 біт (процесори 80286), потім - до 32 біт (386DX, 486 і вище) і у процесорів шостого покоління - до 36 біт. Відповідно до цього розширювалося доступне адресний простір до 16 Мбайт, 4 Гбайт і 64 Гбайт. Область пам'яті вище першого мегабайта (з адресою> 1000001)) зазвичай називають розширеною (додаткової) пам'яттю (Extended Memory).

У реальному режимі сучасного процесора, що використовується для DOS-додатків, застосовується та ж сегментна модель пам'яті і як і раніше формально доступний лише 1 Мбайт пам'яті. Для операційних систем захищеного режиму (Windows 9x / XP / NT, OS / 2) є все адресний простір, яке визначається розрядністю шини адреси.

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

 
< Попер   ЗМІСТ   Наст >