|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Скорочення втрат часу при використанні сегментно-сторінкової організації пам'яті в персональної ЕОМ
Перетворення логічної адреси у фізичний при сегментно-сторінкової організації пам'яті вимагає, як мінімум, трьох звертань до системних таблиць, розташованим в оперативній пам'яті (таблиці дескрипторів, КТС і ТС). Це може привести до істотного зниження продуктивності комп'ютера. Механізм скорочення втрат часу на таке перетворення ґрунтується на тім факті, що зміна стану сегментних регістрів виробляється відносно рідко, наприклад, при перемиканні ЕОМ на нове завдання, а нове сторінкове перетворення потрібно лише при виході програми за межі завантаженої в оперативну пам'ять сторінки. При сегментному перетворенні адреси після першого зчитування дескриптора з таблиці дескрипторів, розташованої в оперативній пам'яті (наприклад, після зміни стану сегментного регістра при перемиканні на нове завдання), воно запам'ятовується в програмно-недоступні ("тіньових") регістрах мікропроцесора (рис. 16.4).При наступних звертаннях до даного сегмента використовується дескриптор з "тіньового" регістра без звертання до ОП. Тому на його виклик потрібне мінімальний час. Тому що стан сегментних регістрів міняється відносно рідко, те такий підхід приводить до значної економії часу при сегментному перетворенні адреси. При сторінковому перетворенні номера віртуальної сторінки в номер фізичної сторінки використовується кэш-буфер асоціативної трансляції (TLB), що містить фізичні адреси 32-х найбільше активно використовуваних сторінок (рис. 16.5)і розташований безпосередньо в мікропроцесорі. Номер віртуальної сторінки являє собою старші 20 розрядів лінійної адреси, отриманого при сегментному перетворенні (А31 - А12). По молодших розрядах (А14 - А12) цього номера вибирається блок у буфері асоціативної трансляції. Уміст поля тэгов кожної із чотирьох рядків цього блоку асоціативним образом (одночасно) рівняється з розрядами (А31 - А15) лінійної адреси. Якщо значення для одного з рядків обраного блоку збіглися, виходить, номер цієї віртуальної сторінки вже перетворювався в номер фізичної сторінки й результат цього перетворення перебуває в знайденому рядку TLB. Якщо порівняння не було успішним, то перетворення номера віртуальної сторінки в номер фізичної проходить звичайним образом через звертання до каталогу таблиць сторінок і до таблиці сторінок, а отримане значення заноситься в TLB. При цьому в поле тэгов заносяться старші 17 розрядів лінійної адреси цієї сторінки (A 31-A15). Якщо немає вільного рядка в блоці, обумовленому розрядами А14 - А12 лінійної адреси, то із блоку витісняється рядок, інформація в якій довше всього не використовувалася (механізм LRU).
Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.003 сек.) |