3.4.2. Динамічний розподіл пам'яті
В процесі роботи ЕОМ здійснюється безперервний обмін інформацією між ядром і периферією. ОП має статичну організацію в тому випадку, якщо якась програма при черговому циклі своєї активності потрапляє в ту ж саму ділянку ОП. Якщо ця програма потрапляє в будь-яку іншу вільну в цей час ділянку пам'яті, то, вважається, що ОП має динамічну організацію. Динамічний розподіл найпростіше може бути отриманий, якщо використовувати просту відносну адресацію. Змінюючи базову адресу, ми можемо досить просто організувати переміщення будь-якої програми усередині поля всій ОП. Але цей спосіб здобуття динамічного розподілу пам'яті має такі недоліки: необхідність розміщення будь-якої призначеної для користувача програми у вигляді одного цілого масиву; необхідність завантаження при новій фазі активності всієї програми в ОП в той час, як в кожній фазі активності реалізується невелика її ділянка); досить часто виникає дефрагментація пам'яті - поява в пам'яті вільних ділянок, сумарний об'єм яких більше об'єму ділянки, виділеної для програми.
Динамічний розподіл пам'яті ефективніше, якщо пам'ять має сторінкову організацію. Сторінкова організація передбачає, що вся пам'ять розбита на велике число невеликих ділянок однакової довжини. При цьому адресу пам'яті представимо розділеною на 2 частини: старші розрядів відповідають номеру сторінки, молодші - номеру рядка в даній сторінці. 2 - число сторінок, 2 - число рядків, Nc = 2 - загальне число комірок.
Кожна програма, що реалізовується в ЕОМ, розміщується в ОП. Заздалегідь не можна сказати, з якої сторінки вона розташовуватиметься в ОП. Будь-яку програму записують, починаючи з нульової сторінки, використовуючи математичні адреси. Розподіляючи ОП, відповідна програма ОС для кожного завдання виділяє якісь вільні ділянки, тобто задає фізичні адреси. При цьому для вирішення цього завдання складається таблиця відповідності фізичних і математичних адрес. Для зменшення розмірів таблиці молодші розряди збігаються, відрізняються лише - розряди, звідси з'являються поняття фізичних і математичних адрес.
Таблиця відповідності називається сторінковою таблицею. Сторінкова таблиця може бути організована як звичайна адресна пам'ять з прямим доступом або як асоціативна. У першому випадку математична адреса є адресою входу в сторінкову таблицю, за цією адресою зчитується фізична адреса. У другому випадку - математична адреса є ознакою асоційованого пошуку. Асоціативна пам'ять відповідає на питання, чи є фізична адреса, відповідна даному математичному.
У великих ЕОМ пам'ять ділиться на три частини, виникає поняття сегменту. Сегментна організація пам'яті використовується з метою складання досить складних програм шляхом об'єднання програм в модулі. Схема перетворення адрес сторінок при адресній пам'яті для сторінкових таблиць першого вигляду представлена на рис.3.10.
Рис. 3.10 - Схема перетворення адрес сторінок при адресній пам'яті для сторінкових таблиць першого вигляду.
де:
РгНЗ - регістр номера запису.
СТБ - сторінкова таблиця.
РК - регістр команд (адресне поле).
АР - адресний регістр.
МА- математична адреса.
СТБ - другого вигляду.
Викликаючи до виконання програму, в РгНЗ заноситься номер. У прикладі активне перше завдання, тобто відбувається звернення до першої сторінкової таблиці. Для зберігання всіх сторінкових таблиць або будується спеціальна пам'ять, або виділяється ділянка загального поля ОП. В процесі реалізації цієї програми кожна адреса, яка заноситься в РК має бути перетворена: використовуючи старші розрядів МА поточної команди, із СТБ прочитуємо відповідну йому фізичну адресу і поміщаємо в старші розряди АР, молодші розрядів переписуємо без зміни, відбувається звернення до ОП. Щоб знайти комірку ОП, треба звернеться до ОП 2 рази: для знаходження інформації в СТБ і на сторінці.
Для зменшення часу пошуку інформації краще СТБ зберігати в асоціативній пам'яті невеликого розміру (близько 8 комірок). Сторінкові таблиці зберігаються у виділеній ділянці загальної ОП. Схема має асоціативну пам'ять (8-16 комірок), представлену на рис.3.11.)
Рис. 3.11 – Схема перетворення адрес асоціативної пам'яті.
Кожна комірка має 4 поля МА - i, ФА - f(i,), zi - зайнятості комірки, ti - активності сторінки. Протягом певного інтервалу часу активними є декілька сторінок, інформацію про них краще зберігати в асоціативній пам'яті. Дана схема працює так: при кожному зверненні до ОП робиться спроба отримати інформацію про ФА сторінки шляхом аналізу в асоціативному ЗУ. Якщо в якомусь елементі асоціативної пам'яті є потрібний ФА сторінки, він прочитується в АР, якщо немає - тоді доводиться звертатися в ОП, де розташована інформація всіх СТБ, при зчитуванні інформації з ОП вона дублюється в асоціативній пам'яті, щоб знайти вільну комірку аналізується zi при записі інформації у комірку zi = 1, якщо все zi = 1, то аналізують ti. При першому зчитуванні інформації з АЗУ ti встановлюються в 1. Коли усі zi, ti = 1, то інформація скидається в нуль.
- Комп’ютерна схемотехніка. Архітектура комп’ютерів 2 зміст
- 2.1. Класифікація, призначення та основні характеристики пам'яті
- 2.2. Оперативна пам’ять (оп)
- 2.2.2. Статична пам'ять на біполярних транзисторах
- 2.3. Постійна пам'ять (пп)
- 2.9. Зовнішня оптична пам'ять
- 1. Представлення та обробка інформації
- Класифікація засобів обчислювальної техніки
- 1.2. Класифікація комп’ютерів
- 1.3. Структурна схема компю’терів, що використовують спільну шину
- 1.4. Системи числення
- 1.4.1. Базові параметри та класифікація систем числення
- 1.4.2.Загальні принципи побудови систем з послідовним обчисленням символів
- 1.4.3. Загальні принципи побудови систем числення з паралельним обчисленням символів
- 1.5. Кодування знакозмінної інформації. Коротка характеристика груп кодів, родинних прямому, зворотному, додатковому. Особливості застосування в комп'ютерах
- 1.6. Формати даних і команд сучасних комп’ютерів
- 1.7. Процесори
- 1.7.1. Склад і призначення пристроїв
- 1.7.2. Блок додавання чисел у формі з фіксованою крапкою
- 1.7.3. Особливості виконання складання чисел у формі з плаваючою крапкою
- 1.7.4. Реалізація процесора двійкового множення. Загальні положення
- 1.7.5. Реалізація множення в прямому коді
- I варіант.
- II варіант.
- III варіант.
- IV варіант
- 1.7.6. Реалізація в процесорі операції множення в додатковому коді
- 1.7.7. Реалізація методів прискореного множення в процесорах
- 1.7.8. Схемні методи прискореного множення
- 1.7.9. Особливості виконання множення чисел з плаваючою крапкою
- 1.8. Реалізація двійкового ділення в процесорі
- 1.8.1. Реалізація ділення чисел з фіксованою крапкою в прямому коді
- 1.8.2. Особливості ділення чисел у формі з плаваючою крапкою
- 1.9. Добування квадратного кореня
- Частина 2. Пам'ять комп'ютерів
- 2.1. Класифікація, призначення та основні характеристики пам'яті
- 2.2 Оперативна пам’ять (оп)
- 2.2.1 Внутрішня організація оп
- 2.2.2.Статична пам'ять на біполярних транзисторах
- 2.2.3. Статична пам'ять на езл-інтегральних схемах (іс)
- 2.2.4. Статична пам'ять на уніполярних транзисторах (на мон іс)
- 2.2.5. Динамічна пам’ять (дп) на моп транзисторах
- 2.2.6. Побудова пам’яті необхідної розмірності
- 2.3. Постійна пам'ять (пп)
- 2.3.1. Типи пп
- 2.3.2. Масочні пп (мпп)
- 2.3.3. Однократнопрограмована пам'ять
- 2.3.4. Репрограмована пам'ять
- 2.3.5. Flash-пам'ять
- 2.4. Зп с послідовним доступом(зппд)
- 2.4.1. Зппд на регістрах зсуву
- 2.4.2. Елемент зп з послідовним доступом на мон-транзисторах
- 2.4.3. Буферний зп типу "черга" (бп)
- 2.4.4. Пам'ять типу "список"/"стек"
- 2.5. Асоціативна пам'ять
- 2.6. Зовнішня пам'ять (зп)
- 2.6.1. Типи зп
- 2.6.2. Зовнішня магнітна пам'ять (змп)
- 2.6.3. Способи цифрового магнітного запису
- 2.7. Зовнішня пам'ять з прямим доступом(зпПрД)
- 2.7.1. Накопичувачі на гнучких магнітних дисках(нгмд)
- 2.7.2. Накопичувачі на жорстких магнітних дисках(нжмд)
- 2.7.3. Raid – дискові масиви
- 2.8. Зовнішні зп з послідовним доступом. Накопичувачі на магнітних стрічках(нмс). Стримери
- 2.9. Зовнішня оптична пам'ять
- 2.9.1. Оптичні диски типу cd
- 2.9.2. Оптичні диски типу dvd
- 2.10. Контроль роботи пристроїв пам’яті
- 3.1. Пристрій управління
- 3.1.1 Склад пристрою управління
- 3.1.2. Пу з жорсткою логікою
- 3.1.3. Мікропрограмний пристрій управління (пристрій управління з гнучкою логікою)
- 3.1.4. Мікропрограмний пристрій управління зі змінною тривалістю реалізації мікрокоманд.
- 3.2. Системи переривань
- 3.2.1. Типи і основні характеристики системи переривань
- 3.3. Система управління вводом/виводом
- 3.4. Організація мультипрограмного режиму роботи в сучасних комп’ютерах
- 3.4.1. Форми обслуговування користувачів і види мультипрограмування (мпр)
- 3.4.2. Динамічний розподіл пам'яті
- 3.4.3. Система захисту пам’яті (сзп)
- 0 1 2 3 4 5 6 7
- 3.5. Системи автоматичного контролю
- 3.5.1. Види помилок і способи контролю
- 3.5.2. Контроль передачі кодів
- 3.5.3. Контроль роботи комбінаційних схем
- 3.5.4. Контроль виконання операцій в процесорах
- 3.5.5. Контроль роботи процесорів по модулю 3