Управление памятью

Тип работы:
Реферат
Предмет:
Информатика, программирование


Узнать стоимость

Детальная информация о работе

Выдержка из работы

Управление пам’яттю

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

Типи адрес

Для ідентифікації змінних і команд використовуються символьні імена (мітки), віртуальні адреси — й фізичні адреси (малюнок 2. 7).

Символьные імена привласнює користувач під час написання програми на алгоритмическом мові чи ассемблері.

Виртуальные адреси виробляє транслятор, переводить програму на машинний мову. Оскільки під час трансляції у випадку невідомо, у який місце оперативної пам’яті завантажать програма, то транслятор привласнює змінним і командам віртуальні (умовні) адреси, зазвичай вважаючи по вмовчанням, що буде розміщена, починаючи з нульового адреси. Сукупність віртуальних адрес процесу називається віртуальним адресним простором. Кожен процес має власний віртуальне адресне простір. Максимальний розмір віртуального адресного простору обмежується розрядністю адреси, властивою даної архітектурі комп’ютера, і, зазвичай, не збігаються з обсягом фізичної пам’яті, наявних у комп’ютері.

Рис. 2.7. Типи адрес

Физические адреси відповідають номерам осередків оперативної пам’яті, де у дійсності розташовані чи розміщуватимуться перемінні і команди. Перехід від віртуальних адрес фізичних може здійснюватися двома шляхами. У першому випадку заміну віртуальних адрес на фізичні робить спеціальна системна програма — перемещающий завантажник. Перемещающий завантажник виходячи з наявних проблем нього вихідних даних про початковому адресі фізичної пам’яті, у якому доведеться завантажувати програму, та інформації, наданої транслятором про адресно-зависимых константи програми, виконує завантаження програми, поєднуючи її заміняючи віртуальних адрес фізичними.

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

В окремих випадках (зазвичай, у спеціалізованих системах), коли заздалегідь достеменно відомо, якій галузі оперативної пам’яті виконуватиметься програма, транслятор видає виконуваний код відразу в фізичних адреси.

Методи розподілу пам’яті без використання дискового простору

Все методи управління пам’яттю можна розділити на два класу: методи, що використовують переміщення процесів між оперативної пам’яттю і диском, і методи, які роблять цього (малюнок 2. 8). Почати з останнього, більш простого класу методів.

Рис. 2.8. Класифікація методів розподілу пам’яті

Розподіл пам’яті фіксованими розділами

Самым у спосіб управління оперативної пам’яттю є поділ в кілька розділів фіксованою величини. Це може бути здійснене вручну оператором під час старту системи чи під час її генерації. Чергова завдання, яка виконання, поміщається або у загальну чергу (малюнок 2. 9, а), або у чергу до певного поділу (малюнок 2. 9, б).

Рис. 2.9. Розподіл пам’яті фіксованими розділами: а — із загальною чергою; б — з окремими чергами

Подсистема управління пам’яттю у разі виконує такі:

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

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

Розподіл пам’яті розділами перемінної величини

В цьому випадку пам’ять машини не ділиться заздалегідь на розділи. Спочатку вся пам’ять вільна. Кожній знову котра надходить завданню виділяються необхідні їй пам’ять. Якщо достатній обсяг пам’яті відсутня, то завдання приймається виконання і слід у черзі. Після закінчення завдання пам’ять звільняється, і цього місце то, можливо завантажена інше завдання. Отже, в довільний час оперативна пам’ять є випадкову послідовність зайнятих і вільних ділянок (розділів) довільного розміру. На малюнку 2. 10 показано стан пам’яті у різні моменти часу під час використання динамічного розподілу. Так було в момент t0 у пам’яті знаходиться лише ОС, а на момент t1 пам’ять розділена між 5 завданнями, причому завдання П4, завершуючи, залишає пам’ять. На звільнене після завдання П4 місце завантажується завдання П6, що надійшла у момент t3.

Рис. 2. 10. Розподіл пам’яті динамічними розділами

Задачами ОС при реалізації цього методу управління пам’яттю є:

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

Программный код не переміщається під час виконання, тобто може бути одноразова настроювання адрес з використання перемещающего завантажника.

Выбор розділу для знову що надійшла завдання може здійснюватися за правилами, таким, наприклад, як «перший-ліпший розділ достатнього розміру », чи «розділ, має найменший достатній розмір », чи «розділ, має найбільший достатній розмір «. Всі ці правила мають переваги та недоліки.

По порівнянню з методом розподілу пам’яті фіксованими розділами даний метод має вищою гнучкістю, але притаманний дуже серйозна недолік — фрагментація пам’яті. Фрагментація — це наявність значної частини несуміжних ділянок вільної пам’яті надзвичайно маленької розміру (фрагментів). Настільки маленького, жодна з знову вступників програм неспроможна поміститися в жодному із дільниць, хоча сумарний обсяг фрагментів може становити значну величину, яка перевищує необхідний обсяг пам’яті.

Переміщувані розділи

Одним з методів боротьби з фрагментацією є переміщення всіх зайнятих ділянок убік старших або у бік молодших адрес, те щоб вся вільна пам’ять утворювала єдину вільну область (малюнок 2. 11). На додачу функцій, що виконує ОС під час розподілу пам’яті перемінними розділами, у разі вона повинна переважно ще раз у раз копіювати вміст розділів вже з місця пам’яті до іншого, коригуючи таблиці вільних і зайнятих областей. Цю процедуру називається «стиском «. Стиснення може виконуватися або за кожному завершенні завдання, або тільки тоді, коли для знову що надійшла завдання немає вільного розділу достатнього розміру. У першому випадку потрібно менше обчислювальної роботи за коригуванні таблиць, тоді як у другому — рідше виконується процедура стискування. Оскільки програми переміщаються по оперативної пам’яті під час свого виконання, то перетворення адрес з віртуальної форми в фізичну мало виконуватися динамічним способом.

Рис. 2. 11. Розподіл пам’яті перемещаемыми розділами

Хотя процедура стискування і призводить до ефективнішого використанню пам’яті, вони можуть зажадати значного часу, що часто переважує переваги цього методу.

Методи розподілу пам’яті з допомогою дискового простору Поняття віртуальної пам’яті

Уже досить давно користувачі зіштовхнулися з проблемою розміщення у пам’яті програм, розмір яких перевищував наявну у наявності вільну пам’ять. Рішенням було розбивка програми на частини, звані оверлеями. 0-ой оверлей починав виконуватися першим. Коли він закінчував своє виконання, він викликав інший оверлей. Усі оверлеи зберігалися на диску й пересувалися між пам’яттю і диском засобами ОС. Проте розбивка програми на частини й планування їх завантаження в оперативну пам’ять мав здійснювати програміст.

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

Таким чином, віртуальна пам’ять — це сукупність програмно-апаратних коштів, дозволяють користувачам писати програми, розмір яких перевершує наявну оперативну пам’ять; при цьому віртуальна пам’ять вирішує такі:

розміщає дані в запам’ятовувальних пристроях різного типу, наприклад, частина програми оперативному пам’яті, а частина на диску; переміщає за необхідності дані між запоминающими пристроями різного типу, наприклад, довантажує потрібну частина програми з диска в оперативну пам’ять; перетворює віртуальні адреси в фізичні.

Все такі дії виконуються автоматично, й без участі програміста, тобто механізм віртуальної пам’яті є прозорим стосовно користувачеві.

Наиболее поширеними реализациями віртуальної пам’яті є страничное, сегментное і странично-сегментное розподіл пам’яті, і навіть свопинг.

Страничное розподіл

На малюнку 2. 12 показано схема сторінкового розподілу пам’яті. Віртуальний адресне простір кожного процесу ділиться на частини однакового, фіксованого для даної системи розміру, звані віртуальними сторінками. У випадку розмір віртуального адресного простору перестав бути кратним розміру сторінки, тому остання сторінка кожного процесу доповнюється фіктивної областю.

Вся оперативна пам’ять машини також ділиться на частини такої ж розміру, звані фізичними сторінками (чи блоками).

Размер сторінки зазвичай вибирається рівним ступеня двійки: 512, 1024 тощо., це дозволяє спростити механізм перетворення адрес.

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

Рис. 2. 12. Страничное розподіл пам’яті

При активізації чергового процесу у спеціальний регістр процесора завантажується адресу таблиці сторінок цього процесу.

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

В цій ситуації можна використовувати багато різних критеріїв вибору, найпопулярніші їх такі:

найбільше не вдавалися сторінка, перша попавшаяся сторінка, сторінка, до якої останній час було найменше звернень.

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

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

Рассмотрим механізм перетворення віртуального адреси в фізичний при страничной організації пам’яті (малюнок 2. 13).

Виртуальный адресу при страничном розподілі то, можливо подано у вигляді пари (p, p. s), де p — номер віртуальної сторінки процесу (пагінація починається з 0), а p. s — усунення не більше віртуальної сторінки. З огляду на, що розмір сторінки дорівнює 2 певною мірою до, усунення p. s то, можливо отримано простим відділенням k молодших розрядів в двоичной записи віртуального адреси. Решта старші розряди є двійкову запис номери сторінки p.

Рис. 2. 13. Механізм перетворення віртуального адреси в фізичний при страничной організації пам’яті

При кожному зверненні до оперативної пам’яті апаратними засобами виконуються такі дії:

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

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

На продуктивність системи з страничной організацією пам’яті впливають тимчасові витрати, пов’язані з обробкою страничных переривань і перетворенням віртуального адреси в фізичний. При часто виникаючих страничных прерываниях система може витрачати багато часу даремно, на свопинг сторінок. Щоб зменшити частоту страничных переривань, було б збільшувати розмір сторінки. З іншого боку, підвищення розміру сторінки зменшує розмір таблиці сторінок, отже зменшує витрати пам’яті. З іншого боку, якщо сторінка велика, отже великою і фіктивна область у вищій віртуальної сторінці кожної програми. У середньому становив кожної програмі втрачається половина обсягу сторінки, що сумарно за великої сторінці може становити істотну величину. Час перетворення віртуального адреси в фізичний значною мірою визначається часом доступу до таблиці сторінок. У зв’язку з цим таблицю сторінок прагнуть безкоштовно розміщувати у «швидких «запам'ятовувальних пристроях. Це то, можливо, наприклад, набір спеціальних регістрів чи пам’ять, яка використовує для зменшення часу доступу асоціативний пошук і освоєння кэширование даних.

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

Сегментное розподіл

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

Рассмотрим, як сегментное розподіл пам’яті реалізує ці можливості так (малюнок 2. 14). Віртуальний адресне простір процесу ділиться на сегменти, розмір яких визначається програмістом з урахуванням смислового значення котра міститься у яких інформації. Окремий сегмент може становити собою підпрограму, масив даних, і т.п. Іноді сегментація програми виконується за умовчанням компілятором.

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

Рис. 2. 14. Розподіл пам’яті сегментами

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

Виртуальный адресу при сегментной організації пам’яті то, можливо представлений парою (g, p. s), де g — номер сегмента, а p. s — усунення у сегменті. Фізичний адресу виходить шляхом складання початкового фізичного адреси сегмента, знайденого таблиці сегментів за безплатним номером g, і усунення p. s.

Недостатком цього методу розподілу пам’яті є фрагментація лише на рівні сегментів і більше повільне порівняно з страничной організацією перетворення адреси.

Странично-сегментное розподіл

Как це випливає з назви, даний метод є комбінацію сторінкового і сегментного розподілу пам’яті і, як наслідок, поєднує в собі гідності обох підходів. Віртуальний простір процесу ділиться на сегменти, а кожен сегмент своєю чергою ділиться на віртуальні сторінки, які нумеруються не більше сегмента. Оперативна пам’ять ділиться на фізичні сторінки. Завантаження процесу виконується операційній системою посторінково, при цьому частину сторінок розміщається оперативному пам’яті, а частина на диску. До кожного сегмента створюється своя таблиця сторінок, структура якої повністю збігається з структурою таблиці сторінок, використовуваної при страничном розподілі. До кожного процесу створюється таблиця сегментів, у якій вказуються адреси таблиць сторінок всім сегментів цього процесу. Адреса таблиці сегментів завантажується у спеціальний регістр процесора, коли активізується відповідний процес. На малюнку 2. 15 показано схема перетворення віртуального адреси в фізичний для цього методу.

Рис. 2. 15. Схема перетворення віртуального адреси в фізичний для сегментно-страничной організації пам’яті

Свопинг

Разновидностью віртуальної пам’яті є свопинг.

На малюнку 2. 16 показаний графік залежності коефіцієнта завантаження процесора залежно від кількості одночасно виконуваних процесів і частки часу, проведеного цими процесами може очікування виводу-введення-висновку.

Рис. 2. 16. Залежність завантаження процесора від кількості завдань і інтенсивності виводу-введення-висновку

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

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

Ієрархія запам’ятовувальних пристроїв. Принцип кэширования даних

Память обчислювальної машини є ієрархію запам’ятовувальних пристроїв (внутрішні регістри процесора, різні типи сверхоперативной і оперативної пам’яті, диски, стрічки), відмінних середнім часом доступу та вартістю зберігання даних для один біт (малюнок 2. 17). Користувачу хотілося хотів би мати і недорогу і швидку пам’ять. Кеш-пам'ять представляє деяке компромісне розв’язання проблеми.

Рис. 2. 17. Ієрархія ЗУ

Кэш-память — це спосіб організації спільного функціонування двох типів запам’ятовувальних пристроїв, відмінних часом доступу та вартістю зберігання даних, що дозволяє зменшити середнє час доступу до даних з допомогою динамічного копіювання в «швидке «ЗУ найчастіше використовуваної інформації з «повільного «ЗУ.

Кэш-памятью часто називають як спосіб роботи двох типів запам’ятовувальних пристроїв, а й одна з пристроїв — «швидке «ЗУ. Воно вартий більше від і, зазвичай, має порівняно невеличкий обсяг. Важливо, що механізм кеш-пам'яті є прозорим для користувача, який повинен повідомляти немає інформації про інтенсивності використання даних, і ні ніяк брати участь у переміщенні даних із ЗУ одного типу в ЗУ іншого типу, все це автоматично системними засобами.

Рассмотрим окреме питання використання кеш-пам'яті зменшення середнього часу доступу до даних, що зберігається у оперативної пам’яті. І тому між процесором і оперативної пам’яттю поміщається швидке ЗУ, зване просто кэш-памятью (малюнок 2. 18). У ролі такої можна використовувати, наприклад, асоціативна пам’ять. Вміст кеш-пам'яті є сукупність записів про завантажених у ній елементах даних. Кожна запис про елемент даних включає у собі адресу, який цю елемент даних має у оперативної пам’яті, і управляючу інформацію: ознака модифікації і ознака звернення до даних за певний останній період.

Рис. 2. 18. Кеш-пам'ять

В системах, оснащених кэш-памятью, кожен запит до оперативної пам’яті виконується відповідно до наступним алгоритмом:

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

На практиці в кеш-пам'ять зчитується чимало елемент даних, якого сталося звернення, а цілий блок даних, це збільшує ймовірність так званого «влучення в кеш », тобто перебування потрібних даних в кеш-пам'яті.

Покажем, як середнє час доступу до даних залежить від можливості влучення в кеш. Нехай є основне запам’ятовуючі пристрій із середнім часом доступу до даних t1 і кеш-пам'ять, має час доступу t2, очевидно, що t2

ПоказатьСвернуть
Заполнить форму текущей работой