- •Комп’ютерна схемотехніка. Архітектура комп’ютерів 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
3.4.3. Система захисту пам’яті (сзп)
У зв'язку з тим, що в пам'яті мультипрограмної обчислювальної системи одночасно зберігаються декілька програм, необхідно передбачити спеціальні заходи, що виключають взаємний вплив програм один на одного. В першу чергу захищати одні програми від інших необхідно при записі інформації, оскільки в разі наявності помилок можливе псування інших програм шляхом запису інформації не в ті комірки. В той же час захист програм повинен працювати і при реалізації читання, оскільки одні користувачі можуть скористатися результатами інших. Таку ситуацію треба виявляти.
Принцип роботи будь-якої СЗП заснований на тому, що кожна адреса звернення до ОП аналізується на допустимість звернення по ньому. Якщо ця адреса знаходиться усередині допустимих кордонів, то відбуватиметься звернення до пам'яті, якщо ззовні - переривання, відповідне ситуації «порушення захисту пам'яті».
Природно, що контроль визначення допустимості звернення повинен виконуватися дуже швидко. В даний час відомі наступні види СЗП:
1. СЗП з граничними регістрами.
2. СЗП з використанням маски.
3. СЗП з використанням ключів.
СЗП з граничними регістрами представлена на рис. 3.12.
Рис. 3.12 - СЗП з граничними регістрами.
де:
РГА - регістр адреси.
Рг1,2 - граничні регістри.
СхПр1,2 - схеми порівняння.
СПК - схема передачі коду.
ДСА - дешифратор адреси.
ЗР - звернення дозволене.
НЗП - порушення захисту пам'яті.
Розподіляючи ОП, ОС для кожного користувача програми виділяє свою область ОП. Як тільки відповідна програма стає активною, в граничні регістри заносяться крайні адреси цієї області. В процесі реалізації цієї програми кожна поточна адреса порівнюється із заданими кордонами. Якщо адреса знаходиться усередині кордонів, виробляється сигнал ЗР, який відкриває СПК, і поточна адреса потрапляє на адресний дешифратор. Внаслідок чого відбувається звернення до ОП. Якщо адреса - поза кордонами, то звернення не відбувається, виробляється сигнал НЗП.
Перевага: простота.
Недолік: дана схема дозволяє захистити лише ті програми, які розташовуються в ОП у вигляді одного злитого масиву.
СЗП з використанням маски.
ОП розбивають на ряд ділянок однакової довжини і для кожної призначеної для користувача програми встановлюють свою маску, яка визначає, в яких ділянках ця програма може бути розподілена. Хай пам'ять розбили на 8 ділянок і задали маску, згідно з рис. 3.13.
0 1 2 3 4 5 6 7
-
0
0
1
1
0
1
0
0
Рис. 3.13 - Маска
У нашому прикладі додатковий дешифратор має 3 входи і 8 виходів (рис. 3.14).
Рис. 3.14 – Схеми СЗП з використанням маски.
Розподіляючи ОП для кожної призначеної для користувача програми, ОС встановлює власну маску згідно з рис. 3.15.
Рис.3.15 - Власна маска.
Як тільки така призначена для користувача програма стає активною, її маска заноситься в регістр. Якщо ми задали ділянки 2, 3 або 5 для якоїсь програми, то схема працює так: 3 старших розряди адреси поступає на дешифратор, якщо він їх розпізнає як 2, 3 або 5, то на виході елементу «І-АБО» буде високий потенціал.
СЗП з використанням ключів.
Найсучасніша СЗП. Якщо пам'ять має сторінкову організацію, то найефективніше організувати захист пам'яті по ключах. Ключ - k - розрядний двійковий код, який привласнюється як окремим сторінкам, так і окремим програмам. Поточна програма може звернутися лише до тих сторінок, ключ яких збігається з ключем цієї програми. Неспівпадання ключів викликає переривання.
З метою здобуття вищої гнучкості нульовий ключ вважається порівнянним зі всіма іншими ключами. Наприклад, будь-яка сторінка, що має нульовий ключ доступна для всіх програм; програма з нульовим ключем відкриває будь-яку сторінку. Зазвичай такий ключ привласнюється основним програмам ОС.
Для визначеності, ключ, що відноситься до програми, називатимемо ключем програми, а що відноситься до сторінки - ключем пам'яті. Як приклад розглянемо ключ, який використовується в великих комп’ютерах, згідно з рис. 3.16.
КЗП |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
Рис. 3.16 - Ключ, який використовується в МФ.
Безпосереднє відношення до захисту пам'яті мали лише 4 молодші розряду. Сенс останніх розрядів: 4-ий називався розрядом читання (якщо в нім 0, захист виконувався лише при записі; 1 - і при читанні); 5-й - розрядом звернення (як тільки до якоїсь сторінки відбувалося звернення, він позначався одиницею); 6-й - розрядом запису (при зверненні з метою запису позначався одиницею). 5-й і 6-й розряди використовувалися для оптимізації зв'язку між внутрішньою і зовнішньою пам'яттю.
Хай повний об'єм пам'яті, що захищається, - 220 байт. Виділяючи 8 старших розрядів під номер сторінки можна буде захистити пам'ять, яка містить 256 сторінок. Кожна сторінка матиме 212 = 4096 байт. Основним блоком є пам'ять ключів захисту (ПКЗ). Окрім неї, включається СПК, 2 схеми порівняння, регістр номера сторінки, дешифратор номера сторінки, 2 регістри (рис. 3.17).
Рис. 3.17 - СЗП з використанням ключів.
Хай програма, ключ якої дорівнює 11, може розташовуватися на сторінках 0, 55 і 254 (рис. 3.25.).
Рис. 3.25. - Програма, ключ якої дорівнює 11.
Як тільки програма стає активною, її ключ заноситься в Рг2. Поточна адреса контролюється так: 8 старших розряди через СПК поступають на ДС НС, потім з ПКЗ зчитується інформація і записується в Рг1. Ланцюг СПК - РГНС - СхПр1 - СПК встановлена в схемі з метою зменшення кількості звернень до ПКЗ, які відбуватимуться лише при зверненні до нової сторінки.