Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Ієрархія пам'яті в комп'ютерній системі




Розуміння, якими керується конструктор обчислювальної системи при проектуванні підсистеми пам'яті, можна звести до пошуку відповідей на три питання: "Який обсяг?", "Яка швидкодія?", "Скільки буде коштувати?"

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

Природно, що всі ці параметри підсистеми взаємозалежні. Для нинішнього етапу розвитку технології характерно таке відношення між ними:

•чим вище швидкодія, тим вище відносна вартість ЗП (у перерахуванні на біт збереженої інформації);

•чим більше обсяг пам'яті в системі, тим нижче відносна вартість ЗП;

•чим більше обсяг пам'яті в системі, тим нижче швидкодія.

Я думаю, що суть дилеми, яка стоїть перед конструктором, досить очевидна. З одного боку, бажано використовувати таку технологію збереження інформації, що дозволить включити до складу системи ЗП можливо більшого обсягу, оскільки при цьому знижується відносна вартість збереження. Але, з іншого боку, вимога забезпечити необхідну продуктивність, особливо на стику "процесор-пам'ять", змушує його використовувати блоки щодо невеликого обсягу, що володіють необхідною швидкодією.

Розв’язати цю дилему можна, включивши до складу системи декілька ЗП, у яких використовується різна технологія збереження інформації, і створивши в такий спосіб у системі деяку ієрархію пам'яті. Типова ієрархія схематично представлена на мал. 6.5. У міру переходу від верхнього рівня ієрархії до нижнього спостерігається наступна зміна характеристик ЗП:

• знижується відносна вартість збереження інформації;

• підвищується ємність окремого модуля;

• збільшується час доступу;

• знижується частота звертання до пам'яті з боку процесора.

Таким чином, менш ємні, але більш швидкісні ЗП доповнюються менш швидкодіючими пристроями, але зате мають більшу ємність. Ключовим питанням, рішення якого забезпечує успіх проекту, є організація потоків інформації в системі, що забезпечує по мірі переходу від пристроїв верхніх рівнів ієрархії до пристроїв нижніх рівнів зниження ітенсивності звертань до ЗП з боку процесора.

 

Припустимо, що процесор у системі може звертатися до пам'яті двох рівнів. Пам'ять 1-го рівня містить 1000 слів і має час доступу 0.1 мкс, а пам'ять 2-го рівня — 100 000 слів і час доступу 1 мкс. Припустимо, що якщо потрібне слово знаходиться в пам'яті 1-го рівня, то процесор витягає його безпосередньо, а якщо в пам'яті 2-го рівня, то викликане слово спочатку записується в пам'ять 1-го рівня, а вже відтіля його витягає процесор. Для простоти аналізу не будемо враховувати час, необхідний процесору для того, щоб з'ясувати, де саме знаходиться шукане слово, — у пам'яті 1-го чи 2-го рівня. На мал. 6.6 показаний вид типової залежності між середнім часом доступу і розподілом запитів між пристроями двох рівнів. Параметр Я характеризує частку запитів до пам'яті 1-го рівня (тобто до кеш-пам'яті) у всьому потоці запитів, параметр ti — час доступу до пам'яті 1-го рівня, а Т2 час доступу до пам'яті 2-го рівня. Немає нічого несподіваного в тому, що чим вище значення Я, тобто чим більша частина всіх звертань процесора за даними приходиться на кеш-пам'ять, тим менше середній час звертання до інтегрованої підсистеми пам'яті, тим ближче воно до значення 7.

Припустимо, що 95% усіх звертань приходиться на кеш-пам'ять. Тоді середній час витягу одного слова з підсистеми пам'яті визначиться в такий спосіб:

(0.95 х 0.1 мкс) + (0.05)(0.1 мкс + 1 мкс) = 0.095+0.055 = 0.15 мкс.

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

Серед існуючих на сьогоднішній день типів ЗП, створених на основі різних технологій, не так вже складно підібрати ряд, що володіє першими трьома властивостями. Що стосується четвертої властивості, зниження частоти звертання з боку процесора до пам'яті нижнього рівня, то конструктор також може реалізувати його в системі, не звертаючись до великих хитрувань. Потрібно лише при структурному синтезі системи враховувати властивість локалізації посилань. У процесі виконання фрагментів програми посилання на комірки пам'яті, у яких зберігаються команди і дані, мають тенденцію "скопичуватися" у визначених підпросторах адрес — кластерах. У програмі, як правило, мається безліч ітераційних процедур і підпрограм. Після входу в таку ітераційну процедуру, чи підпрограму починає виконуватися повторювана послідовність команд, компактно розміщених у пам'яті. Точно так само обробка масивів чи таблиць сполучена зі звертанням до комірок пам'яті, компактно розміщених у загальному адресованому просторі. Перехід же від одного кластера до іншого відбувається відносно рідко, тобто рідше, ніж звертання до осередків з того самого кластера.

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

Цей же принцип можна застосувати й у системі, що має не два, а три або більше ЗП різних рівнів. Найшвидшою, але і самою маленькою по обсязі, а також самою дорогою (стосовно обсягу збереженої інформації) буде пам'ять, що складається з внутрішніх регістрів процесора. Як правило, кількість таких регістрів обмежується декількома десятками, хоча існують і процесори, що включають сотні регістрів. Двома рівнями нижче знаходиться оперативна (чи основна) пам'ять комп'ютерної системи. Кожен осередок оперативної пам'яті має унікальний атрибут — адресу, причому в машинних командах для ідентифікації значної більшості оброблюваних даних використовується саме адреса відповідного елемента в оперативній пам'яті. У сучасних комп'ютерах вище оперативної пам'яті в ієрархії розміщається кеш-пам'ять, що має значно меншу ємність, чим оперативна (і значно більшу, ніж набір внутрішніх регістрів процесора), але володіє на порядок більшою швидкодією. Кеш-пам'ять звичайно схована від програміста, тобто він ніяк не керує з програми розміщенням даних у кеш-пам’яті або звертанням до неї. Цей проміжний ЗП "тримає напоготові" дані і команди програми, що, швидше за все, можуть найближчим часом знадобитися процесору, і в такий спосіб "згладжує" потік інформації між регістрами процесора й оперативною пам'яттю.

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

Ми перелічили далеко не всі типи ЗП, використовувані в сучасних системах для організації багаторівневої підсистеми пам'яті. У великих машинах фірми IBM мається внутрішня пам'ять, що у документації названа розширеною пам'яттю (expanded storage). Таку розширену пам'ять використовують модулі напівпровідникової пам'яті, щоправда, менш швидкодіючі і, відповідно, менш дорогі, ніж в оперативному ЗП. Строго говорячи, це не окремий рівень ієрархії, а "бічна галузь", оскільки дані з розширеної пам'яті можуть передаватися в оперативну і навпаки, але не можуть передаватися в зовнішню пам'ять.

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

1. Записи на дисках мають чітко виражену кластерну структуру. Буферизація дозволяє передавати дані великими порціями, приблизно рівними кластеру, замість того, щоб відправляти їх дрібними порціями, "смикаючи" щораз механізм приводу диска.

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

Контрольні питання:

1. Фізичний принцип запису на магнітний диск

2. Організація даних на магнітному диску.

3. Характеристики пристроїв зовнішньої пам’яті на магнітних дисках.

4. Формат доріжки диску.

5. Конструкція магнітному диску.

6. Функціональні характеристики запам’ятовуючих пристроїв.

7. Ієрархія пам’яті в комп’ютерній системі.

8. Методи доступу до пам’яті. Їх характеристики.




Поделиться с друзьями:


Дата добавления: 2015-04-24; Просмотров: 823; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.02 сек.