Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Запам'ятовуючі пристрої (ЗП) призначені для фіксації, зберігання і видачі інформації. Основними операціями з ЗП є занесення інформації і її читання, які називають зверненням до пам'яті.
Основними параметрами ЗП є:
До другорядних параметрів ЗП (які при певних умовах можуть стати головними) відносять надійність, вагогабаритні показники, споживчу потужність, механічні і кліматичні характеристики, стійкість проти впливу зовнішніх факторів, вартість (питому вартість) та ін. Окрім цього існує ряд так званих режимних параметрів, забезпечення яких необхідно для нормального функціонування ЗП, і які визначають тривалості і обмеження по взаємному положенню керуючих сигналів в часі.
В ієрархічній структурі ЗП в складі ЕОМ розрізняють оперативну або основну пам'ять ОП, надоперативну пам'ять НОП (інакше буферну або кеш-пам'ять), зовнішні запам'ятовуючі пристрої ЗЗП, постійні запам'ятовуючі пристрої ПЗП.
Оперативна пам'ять призначена для зберігання програм і даних в процесі вирішення задачі. ОП має відносно велику ємність і є зовнішньою по відношенню до процесора. За швидкодією займає проміжне значення між НОП та ЗЗП.
Кеш-пам'ять складається з відносно невеликого швидкодіючого запамятовуючого пристрою, який вміщує частину інформації ОП. Такою інформацією можуть бути адреси, команди або дані, які найбільш інтенсивно використовуються на поточному етапі вирішення задачі.
Зовнішні запамятовуючі пристрої призначені для зберігання великих масивів інформації. Порівняно з ОП вони є менш швидкодіючими, але звичайно мають значно більшу ємність.
Постійні запам'ятовуючі пристрої використовуються для енергонезалежного збереження системної інформації і в робочому режимі допускають тільки операцію читання.
В залежності від способу організації доступу розрізняють пристрої памяті з безпосереднім (довільним), прямим (циклічним) та послідовним доступами. В памяті з безпосереднім доступом час доступу, а тому і цикл звернення не залежать від місця розміщення ділянки памяті, звідки зчитується або куди записується інформація. В пристроях памяті з прямим доступом, до яких належать пристрої з магнітними дисками, завдяки безперервному обертанню носія інформації можливість звернення до деякої ділянки носія циклічно повторюється. В памяті з послідовним доступом здійснюється послідовний прохід ділянок носія інформації, поки потрібна ділянка носія не займе деяке початкове положення. Типовим прикладом такої памяті є ЗП на магнітній стрічці.
В адресних ЗП звертання до пам'яті здійснюється за адресою, яка визначає номер комірки, де зберігається одне слово пам'яті. Найбільш поширеними структурами адресних ЗП є структури типу 2D, 3D та 2DM (від англійського dimension розмірність).
Запамятовуючий пристрій любого типу складається з масиву запамятовуючих елементів, який називають накопичувачем, і блоків, що призначені для пошуку в масиві, занесенню і читанню інформації.
Структура ЗП типу 2D приведена на рис. 2.1. m-розрядна адреса А
Рис. 2.1. Структура ЗП типу 2D
дешифрується дешифратором адреси DCA, вихідні сигнали якого підсилювачем-формувачем ПФА перетворюються в сигнали адресної шини АШ накопичувача Н для активізації відповідної комірки пам'яті. Інформація, яку потрібно записати в пам'ять, поступає на n-розрядну вхідну шину даних DI, звідки проходить через підсилювачі-формувачі запису ПФЗп на розрядні шини запису накопичувача. Прочитана інформація з розрядних шин читання накопичувача через підсилювачі-формувачі читання ПФЧт поступає на вихідну шину даних DO. Підсилювачі-формувачі служать для узгодження параметрів елементів накопичувача з параметрами блоків, зовнішніх по відношенню до нього. Структура накопичувача типу 2D приведена справа на рис. 2.1. Тут крапками показані запамятовуючі елементи. Умовно вважають, що накопичувач ЗП типу 2D являє собою вузьку довгу стрічку, де вертикальних шин (розрядів) відносно мало (десятки), а горизонтальних (адресних) шин відносно багато (сотні, тисячі, десятки тисяч). В звязку з тим, що запамятовуючих елементів на адресній шині відносно небагато і ємність шини невелика, ЗП типу 2D характеризуються високою швидкодією. Однак необхідність в використанні великої кількості підсилювачів-формувачів адресних шин та складність дешифратора адреси значно обмежують ємність ЗП типу 2D.
Структура ЗП типу 3D приведена на рис. 2.2. В таких ЗП адреса розділяється на дві частини, які незалежно дешифруються, а остання ступінь
Рис. 2.2. Структура ЗП типу 3D
дешифрації адреси реалізується безпосередньо в накопичувачі. При цьому
дещо ускладнюється сам накопичувач, але різко скорочується складність дешифраторів адреси і кількість адресних підсилювачів-формувачів, що дає змогу реалізувати ЗП великої ємності. Накопичувач в ЗП типу 3D можна представити в вигляді набору матриць, кожна з яких відноситься до одного розряду. Горизонтальні і вертикальні адресні шини АШХ та АШY пронизують всі матриці. В зв'язку з цим кількість запам'ятовуючих елементів на адресній шині порівняно з ЗП типу 2D значно зростає. Це призводить до підвищення вимог щодо навантажувальної здатності адресних підсилювачів-формувачів і дещо знижує швидкодію.
В ЗП типу 2DM (рис. 2.3) порівняно з ЗП типу 2D кількість горизонтальних (адресних) шин менша в К раз, а кількість вертикальних (які тут називаються адресно-розрядними АРШ) в стільки ж раз більша. Формування сигналів на АРШ здійснюється за допомогою комутатора КОМ, який вибирає одну з К вертикальних шин в кожному розряді. Структура ЗП типу 2DM найбільш зручна для побудови напівпровідникових ЗП і широко використовується як в оперативних, так і в постійних ЗП.
В структурному відношенні стосовно організації ОП розрізняють багатоблокову память, память з багатоканальним доступом та память з розшаруванням звернень.
Багатоблокова память складається, як правило, з 2К блоків. Адреса такої памяті складається з двох частин, одна з яких визначає К-розрядну адресу блока, а інша адресу комірки в межах блока. Організація керування памяттю передбачає дешифрацію К-розрядної адреси блока і, в відповідності до цього, вибір відповідного блока для звертання, формування сигналів читання/запису, обєднання відповідно вхідних і вихідних шин даних блоків, адресної шини блоків. При використанні в якості блоків мікросхем памяті вибір блока здійснюється по входу вибору кристалу (CS), а виходи даних обєднуються за схемою третього стану. Багатоблокова пам'ять має ємність, яка дорівнює сумарній ємності всіх блоків, а швидкодія наближується до швидкодії одного блоку.
В памяті з багатоканальним доступом каналами називають споживачів ресурсів пам'яті. Відносно до ОП такими споживачами є процесор, контролер прямого доступу до пам'яті, периферійні процесори, периферійні пристрої. При необхідності звертання до ОП канали виставляють активними сигнали запитів. Найбільш поширена дисципліна обслуговування каналів згідно з їх пріоритетами. Канал отримує доступ до ресурсів пам'яті, якщо нема запитів від каналів з вищими пріоритетами, є запит від даного каналу і не почате обслуговування каналів з нижчими пріоритетами.
Рис.2.3. Структура ЗП типу 2D-M
Пам'ять з розшаруванням звернень є багатоблоковою. Вона допускає одночасне звернення декількох каналів до різних блоків. Основною складністю при організації такої пам'яті є забезпечення відповідної комутації багаторозрядних шин між каналами та блоками. Для ефективного використання ресурсів пам'яті з розшаруванням звернень потрібна відповідна організація обчислювального процесу, яка повинна забезпечувати такий розподіл інформації між блоками, щоб при вирішенні задачі одночасно була задіяна максимальна кількість блоків. Середня кількість звернень до пам'яті, які можуть бути прийняті на обслуговування одночасно, характеризується коефіцієнтом розшарування. Мінімальне значення цього коефіцієнта дорівнює одиниці, а максимальне кількості блоків пам'яті. Експериментальним шляхом встановлено, що в середньому для універсальних ЕОМ коефіцієнт розшарування приблизно дорівнює половині кількості блоків пам'яті.
В стекових ЗП комірки утворюють одномірний масив, в якому сусідні комірки зв'язані одна з одною розрядними шинами передачі слів.
Стекова пам'ять є безадресною по відношенню до користувача її ресурсів і має жорстко регламентований порядок звертання. В залежності від цього порядку розрізняють два типи стеку: стек FIFO та стек LIFO.
Для стеку FIFO (First In - First Out) порядок зчитування підлягає правилу: "перший поступив перший вийшов", а для стеку LIFO (Last In - First Out): "останній поступив перший вийшов".
В структурі стекових ЗП окрім взаємопов'язаних комірок передбачають також лічильник-вказівник стеку ЛВС, який формує ознаки порожнього стеку (коли в пам'ять не записано ні одного слова) і заповненого стеку (коли всі комірки пам'яті заповнені). Ці ознаки використовуються при керуванні роботою стекових ЗП. З порожнього стеку не можна прочитати, а в заповнений стек не можна записати. Узагальнені структури стекових ЗП приведені на рис. 2.4.
Рис. 2.4. Узагальнені структури стекових ЗП
Стекова пам'ять широко використовується в ЕОМ для апаратної реалізації різноманітних черг (стек FIFO), а також є досить ефективною при обробці вкладених структур даних (стек LIFO).
В асоціативних ЗП (АЗП) пошук необхідної інформації здійснюється не за адресою, а за її змістом (за асоціативною ознакою АО). При цьому пошук за АО (або за окремими розрядами цієї АО) здійснюється одночасно для всіх комірок запам'ятовуючого масиву ЗМ, який в кожній комірці містить схему порівняння.
Типова структура АЗП приведена на рис. 2.5. Вона включає ЗМ, регістр асоціативної ознаки РгАО, регістр маски РгМ, регістр інформації РгІ, комбінаційну схему КС, регістр результатів порівняння РгРП та формувач ознак порівняння ФО.
Рис. 2.5. Типова структура асоціативного запам'ятовуючого пристрою
В ЗМ в n-му розряді зберігаються ознаки зайнятості комірок (0 комірка вільна, 1 зайнята). З вхідної інформаційної шини DI в РгАО (розряди 0 : n-1) записують n-розрядний асоціативний запит, а в РгМ код маски пошуку, при цьому n-й розряд РгМ встановлюють в 0. Асоціативний пошук здійснюється тільки для тих розрядів РгАО, яким відповідають 1 в РгМ (незамасковані розряди РгАО). Для слів ЗМ, в яких значення в розрядах однакові з незамаскованими розрядами РгАО, КС встановлює 1 в відповідні розряди РгРП і 0 в решту розрядів. ФО в залежності від стану РгРП формує сигнали а0, а1, і а2, які відповідають випадкам відсутності слів в ЗМ, що задовольняють асоціативну ознаку, наявності одного або більш ніж одного такого слова. Операцію формування ознак а0, а1, і а2 називають операцією контролю асоціації. Вона є складовою операцій читання і запису та має також самостійне значення.
При читанні спочатку здійснюють контроль асоціації за асоціативною ознакою в РгАО. При а0=1 читання відміняється в зв'язку з відсутністю потрібної інформації в ЗМ. При а1=1 розшукане слово записується в РгІ і поступає на вихідну шину даних DO, а при а2=1 слово читається із комірки, яка має найменший номер з тих, що відмічені 1 в РгРП.
При запису спочатку розшукується вільна комірка. Для цього здійснюють контроль асоціації при РгАО=111…10 і РгМ=000…01. Для запису вибирається вільна комірка з найменшим номером, куди заноситься слово, яке поступило з DI в РгІ.
За допомогою операції контролю асоціації можна, не читаючи слів із пам'яті, визначити по вмісту РгРП кількість слів, які задовольняють асоціативну ознаку. При використанні відповідних комбінаційних схем в АЗП можна ефективно виконувати не тільки операції пошуку, а й досить складні логічні операції [6, 11, 19]. В сучасних ЕОМ АЗП широко використовуються для реалізації кеш-пам'яті.
Автоматичне планування передач інформації в багаторівневій пам'яті базується на побудові віртуальної (фіктивної, уявної) однорівневої пам'яті. Віртуальна пам'ять являє собою єдиний адресний простір, в якому фізична обмеженість ємності ОП схована від програміста. Таким чином, для програміста створюється видимість довільної адресації з відсутністю обмежень на ємність пам'яті, що значно полегшує програмування. Окрім цього, використання віртуальної організації пам'яті сприяє підвищенню взаємозамінюваності програм між обчислювальними системами.
Реально існуючу пам'ять називають фізичною, а її адреси фізичними, логічну пам'ять віртуальною, а її адреси віртуальними (логічними). Відповідність між фізичними і віртуальними адресами встановлюється сумісно апаратними засобами ЕОМ і її операційною системою. Звичайно віртуальний адресний простір розміщується в зовнішній пам'яті, наприклад, на магнітних дисках. Частина цього простору, необхідна для виконання програм в даний момент, копіюється в ОП.
Для реалізації віртуальної пам'яті необхідно розділити весь адресний простір пам'яті на частини і організувати відповідний обмін між основною і зовнішньою пам'яттю. При цьому адресний простір пам'яті розбивається на сторінки і сегменти.
Сторінками називають частини віртуального і реального адресного простору фіксованої довжини. Адресі кожної сторінки віртуального простору ставиться в відповідність адреса сторінки фізичного адресного простору. Взаємозв'язок між адресами обох типів встановлюється таблицею перетворення адрес, яку називають таблицею сторінок (рис. 2.6). Перенесення сторінки віртуального простору в основну пам'ять називають завантаженням сторінки (підкачкою сторінки в ОП), а обернену дію видаленням сторінки (відкачкою сторінки з ОП). Обмін сторінками інакше називають свопінгом.
Рис. 2.6. Сторінкова організація пам'яті
Сегментацією називають розподіл адресного простору пам'яті на частини (сегменти) за логічними ознаками, які встановлюються програмістом. Звичайно сегменти відповідають програмі або підпрограмі і мають, на відміну від сторінки, змінну довжину. Віртуальна адреса в цьому випадку складається з номера сегмента і відносної адреси в межах сегмента. Вона перетворюється в фізичну адресу за таблицею сегментів. Оскільки сегмент є логічною одиницею, можна організовувати захист інформації і керування для колективного використання сегментованої інформації. Для кращого керування сегментованою пам'яттю сегменти додатково розбивають на сторінки.
Розширення віртуального простору призводить до збільшення таблиці сторінок. Цього можна уникнути при розподілі віртуального простору на два рівня сегментів і сторінок, а перетворення віртуальної адреси здійснюється за дворівневою таблицею. Це дає можливість обійтись без ведення таблиці сторінок, що не використовуються, і економить обєм памяті, який виділяється для таблиці сторінок.
Мультипрограмування орієнтовано на паралельну обробку декількох задач і реалізується через віртуальну память такими двома методами. Перший метод оснований на розподілі віртуального простору між декількома задачами. За другим методом для кожної задачі створюється окремий віртуальний простір адрес. Таку память називають мультиплексною віртуальною памяттю.
Для керування мультиплексним віртуальним адресним простором організується декілька таблиць перетворення адрес, які переключаються при переході від задачі до задачі. Для цього в один з регістрів пристрою керування процесора вводиться вказівник, за яким вибирається відповідна таблиця перетворення адрес. Переваги цієї системи полягають в тому, що простір памяті, який використовується кожною задачею, повністю заповнює рамки віртуального простору. Одночасно забезпечується високоефективний захист памяті завдяки тому, що ніяка задача не може сформувати адресу, яка відноситься до іншої задачі.
Для реалізації віртуальної адресації використовується механізм динамічного перетворення адрес, процедура заміни сторінок та керування розподілом основної памяті.
Механізм динамічного перетворення адрес розроблений для прискорення процедури визначення фізичної адреси, оскільки використання таблиці сторінок для цього займає відносно багато часу. Суть цього механізму полягає в тому, що в асоціативній памяті попередньо записуються номера сторінок, які найбільш часто використовуються в даний час, і номера блоків, які відповідають цим сторінкам в основній памяті. В ході перетворення адрес в першу чергу перевіряється ця асоціативна память, і якщо вона містить відомості про необхідні сторінки, ці відомості можуть бути зразу ж використані, тобто скорочується тривалість процедури перетворення адрес (рис. 2.7). Такий асоціативний буфер називають буфером динамічної трансляції адрес віртуальної памяті (TLB).
Процедура заміни сторінок полягає втому, що коли потрібна сторінка відсутня в основній памяті, вона переписується сюди з зовнішньої памяті,
Рис. 2.7. Механізм динамічного перетворення адрес
і якщо в основній памяті відсутній вільний блок для завантаження сторінки, необхідно видалити одну з сторінок з основної памяті в зовнішню. Відомі такі стратегії видалення сторінок:
Стратегії LPU і WS основані на припущенні, що сторінки, які використовуються останнім часом, будуть використовуватись і в майбутньому. Порівняно з ними стратегія FIFO простіша, але ефективність її відносно нижча. На практиці звичайно використовуються стратегії LPU і WS і їх модифікації.
Керування розподілом основної памяті між програмами, які приймають участь в паралельній обробці, полягає в перерозподілі блоків ОП для забезпечення кожної з програм, які паралельно виконуються, певним обємом основної памяті. Чим більший обєм ОП, тим рідше потрібно виконувати її перерозподіл. При надмірному збільшенні рівня мультиплексування програм зменшується обєм памяті кожної з них і підвищується частота обміну сторінками, що призводить до зниження ефективності всієї системи мультипрограмної обробки. Виникає так зване подрібнення памяті. Для усунення цього явища керівництво заміною сторінок здійснюється з врахуванням забезпечення найвищої ефективності використання центрального процесора. Хоч реалізація цього керування займає час, в цілому ситуація поліпшується завдяки своєчасному скороченню степені мультиплексування.
Метод віртуального представлення може бути розповсюджений не тільки на віртуальну память обчислювальної системи, але й на системи введення-виведення і архітектуру самих ЕОМ. Узагальнюючи, можна сказати, що віртуальне представлення використовується, коли в процесі логічного аналізу яких-небудь обєктів не беруться до уваги технічні особливості їх побудови.
Концепція кеш-пам'яті знайшла практичне використання завдяки двом аспектам: програмному і економічному. Програмний аспект полягає в тому, що більшість стандартних програм користувача створюється в відповідності з "принципом районування", який означає, що в любий момент часу частина програми, що адресується, розміщується в деякій обмеженій частині свого адресного простору. Економічний аспект обумовлений відсутністю більш дешевої порівняно з кешем технології, яка б дозволила досягти аналогічних експлуатаційних характеристик. Кеш забезпечує обмін невеликої кількості інформації між основною пам'яттю і процесором з високою швидкістю і тим самим складає враження, що велика основна пам'ять працює зі швидкістю кеша. До тих пір, поки елементна база повільної пам'яті буде значно дешевша, ніж швидкої, кеш-пам'ять буде залишатись економічно ефективною.
Кеш-пам'ять по суті складається з невеликого швидкодіючого ЗП, який вміщує частину інформації ОП. Такою інформацією можуть бути адреси, команди або дані. В відповідності з цим кеш може мути адресним, програмним або кешем даних. Швидкодія цього невеликого ЗП звичайно на порядок вища, а ємність на один-два порядки нижча, ніж у ОП.
В системі з кеш-пам'яттю потрібен ідентифікатор, або "ознакова пам'ять", для того, щоб визначити, які частини інформації ОП були скопійовані в кеш-пам'ять. В залежності від організації обміну ці частини можуть бути словами, блоками або сторінками. Спеціальну память, яка є асоціативною і вміщує імена частин або адреси, найчастіше називають ознаковою пам'яттю (память тегів tag RAM), або довідником.
В кеш-пам'яті повинна бути логічна схема, яка визначає порядок видалення слів або блоків із кеша при необхідності занесення в нього нової інформації із ОП. Її називають пріоритетним списком обновлення даних.
Для синхронізації різноманітних дій, наприклад звернення в ознакову пам'ять, вибору і переміщення даних, в систему кеш-пам'яті вводиться пристрій керування.
Алгоритми свопінгу, які визначають порядок і спосіб пересилання даних між кеш-пам'яттю і ОП, повинні забезпечувати або отримання інформації за вимогою (правило вибірки за запитами), або попередній розподіл інформації (правило вибірки з упередженням). Стосовно до різних систем пам'яті з буфером найпоширенішими є такі типи алгоритмів свопінгу:
Алгоритм наскрізного запису WT є самим простим. В відповідності до нього кожен раз при появі запиту на запис за деякою адресою обновлюється вміст області за цією адресою як в швидкій, так і в основній пам'яті, навіть якщо копія вмісту за цією адресою знаходиться в буфері. Таке постійне обновлення вмісту основної пам'яті, як і буфера, при кожному запиті на запис дозволяє постійно підтримувати інформацію в ОП в обновленому стані. Хоч цей алгоритм і простий, але в ньому не закладена тенденція до мінімізації кількості звернень до ОП.
Алгоритм простого свопінгу SS полягає в тому, що звернення до ОП мають місце в тих, і тільки в тих випадках, коли в швидкому буфері не знаходиться потрібне слово. Ця схема свопінгу підвищує продуктивність системи памяті за рахунок того, що в ній звернення до ОП не здійснюються при кожному запиті на запис, що має місце при використанні алгоритму наскрізного запису. Однак в звязку з тим, що вміст ОП не підтримується в постійно обновленому стані, якщо необхідного слова в швидкому буфері нема, із буфера в ОП потрібно передати застарілі дані для звільнення місця для нових. Таким чином здійснюється дві пересилки між швидким буфером і ОП. При використанні алгоритму WT дані із буфера в ОП не передаються. Суттєвою перевагою алгоритму SS перед алгоритмом WT є те, що доля звернень до ОП в загальній кількості звернень асимптотично наближується до долі звернень до памяті, при яких змінюється склад кеша, а не до долі звернень, коли здійснюється запис в память. Окрім цього, якщо має місце сумісність дій, центральний процесор може починати виконання операцій зразу ж після отримання нового слова.
Алгоритм свопінгу з ознаками FS передбачає супроводження кожного слова буфера додатковим бітом, значення якого змінюється при зміні слова буфера відносно того моменту, як воно попало в буфер із ОП. Згідно цього алгоритму в ОП передаються тільки ті слова, в яких додатковий біт знаходиться в установленому стані. Це дає змогу ще більше знизити кількість звернень до ОП.
Алгоритм регістрового свопінгу з ознаками FRS передбачає використання регістра (регістрів) тимчасового зберігання між буфером і ОП. Тепер, якщо дані повинні бути передані із швидкого буфера в ОП, вони спочатку пересилаються в регістр (регістри) тимчасового зберігання. Нове слово зразу ж пересилається в буфер із ОП, а вже потім слово, яке тимчасово зберігалось в регістрі, записується в ОП. Це забезпечує ще більше підвищення продуктивності порівняно з алгоритмом FS.
В повністю асоціативній кеш-памяті FACM (Fully Associated Cache Memory) кожна комірка зберігає дані, а в полі "тег" повну фізичну адресу інформації, копія якої записана. Фізична адреса потрібної інформації порівнюється з полями "тег" всіх комірок. За результатами порівняння встановлюється сигнал Hit (Hit=1 - кеш-попадання; Hit=0 - кеш-промах). При читанні, коли Hit=1, дані видаються на шину даних, а коли Hit=0 інформація читається із основної пам'яті і дані разом з адресою розміщуються також в вільній комірці кеш-памяті, або в тій, що давно не використовувалась. При запису дані разом з адресою спочатку, як правило, розміщуються в кеш-памяті, а копіювання їх в основну пам'ять виконуються тоді, коли нема звернень до пам'яті. Пам'ять типу FACM є досить складним пристроєм і використовується тільки при малих ємностях, але вона забезпечує найбільшу функціональну гнучкість і безконфліктність адрес, тому що будь-яку одиницю інформації можна завантажити в будь-яку комірку кеш-памяті.
В кеш-памяті з прямим розміщенням (з прямим відображенням) декілька сторінок основної пам'яті відповідають одному рядку кеша. В зв'язку з тим, що займати рядок в один і той же час може тільки одна сторінка, потрібна спеціальна ознака тег. Адреса від процесора розділяється на три частини. ЇЇ молодші розряди (зміщення) визначають положення слова в рядку, середні дозволяють вибрати один із рядків кеш-памяті, а старші утворюють тег. За адресою рядка здійснюється зчитування. Поле адрес зчитаного рядка порівнюється з теговою адресою, і, якщо вони збіглися, формується сигнал Hit видачі інформації, а мультиплексуванням із рядка вибирається слово. При завантаженні із основної памяті замінюється весь рядок. Тег для памяті з прямим розміщенням значно скорочується по розрядності. Такий кеш є економічним за апаратурними витратами, але він має обмеження на розміщення сторінок, що може не дозволити сформувати в ньому оптимальний набір сторінок.
Набірно-асоціативний кеш є проміжним за складністю і ефективністю варіантом між структурою FACM і з прямим розміщенням. В цьому варіанті декілька рядків кеша обєднуються в набори, а середні розряди адреси визначають уже не один рядок, а набір. Кількість наборів невелика і кратна степені двійки. Сторінку основної памяті можна розмістити тільки в тому наборі, номер якого дорівнює адресі сторінки по модулю. Місце сторінки в наборі може бути довільним. Порівняння тегів зі старшими розрядами адреси здійснюється тільки для рядків, які входять в набір.
В сучасних мікропроцесорних системах кеш першого рівня L1 (від Level внутрішній), який реалізований всередині процесора, звичайно має набірно-асоціативну структуру, а кеш другого рівня L2 (зовнішній) структуру з прямим розміщенням.
Адресні напівпровідникові запам'ятовуючі пристрої поділяються на оперативні RAM (Random Access Memory) і постійні ROM (Read-Only Memory). Оперативні ЗП допускають зміну даних в довільний момент часу, а в постійних вміст або взагалі не змінюється, або змінюється рідко і в спеціальному режимі.
RAM поділяються на статичні і динамічні. В статичних ЗП SRAM (Static RAM) запамятовуючими елементами є тригери, а в динамічних DRAM (Dynamic RAM) дані зберігаються в вигляді зарядів конденсаторів, які утворені елементами МОН-структур. Саморозряд конденсаторів веде до руйнування даних, тому вони повинні періодично (кожних декілька мілісекунд) регенеруватися. В той же час щільність розміщення динамічних елементів памяті в декілька раз перевищує щільність розміщення елементів в статичних ЗП. Регенерація даних в динамічних ЗП здійснюється за допомогою спеціальних контролерів. Розроблені також ЗП, які мають внутрішню вмонтовану систему регенерації, у яких зовнішня поведінка відносно керуючих сигналів аналогічна поведінці статичних ЗП. Такі ЗП називають квазістатичними.
Статичні ЗП найчастіше будуються за структурою 2DM, але при невеликій ємності використовується структура 2D. Для їх реалізації використовуються різноманітні технології: ТТЛ(Ш), І2Л, ЕПЛ, n-МОН, КМОН та інші. Останнім часом інтенсивно розвиваються статичні ЗП за технологією КМОН. Статичні ЗП в 4-5 раз дорожчі динамічних і приблизно в стільки ж раз менші по ємності. Їх перевагою є висока швидкодія, а типова область використання схеми кеш-памяті.
Особливістю динамічних ЗП є мультиплексування адресної шини, що призводить до зменшення кількості виводів мікросхеми памяті. Адреса розділяється на дві напівадреси, одна з яких являє собою адресу рядка, а інша адресу стовпця матриці запамятовуючих елементів. Напівадреси подаються на одні і ті ж виводи інтегральної мікросхеми памяті по черзі. Подача адреси рядка супроводжується відповідним стробом RAS (Row Address Strobe), а адреса стовпця - стробом CAS (Column Address Strobe). Динамічні ЗП характеризуються великою інформаційною ємністю і невисокою вартістю, тому вони використовуються при побудові ОП ЕОМ.
Останнім часом поширюються динамічні ЗП підвищеної швидкодії, в яких використовуються методи, основані на припущенні купчастості адрес при зверненні до памяті. Варіант FPM (Fast Page Mode) є ефективним, коли наступне звернення здійснюється до тієї ж строки запамятовуючих елементів. В цьому випадку виконується тільки цикл сторінкового режиму, а не звичайний (повний) цикл.
Структури EDORAM (Extended Data Out RAM пам'ять з розширеним виводом даних) подібні до структур FPM і відрізняються від них модифікацією процесу виведення даних. В EDORAM дані в підсилювачах-регенераторах не знімаються по закінченню стробу CAS. При цьому на кристалі як би зявляється статичний регістр, де зберігається рядок. При зверненнях в межах цього рядка використовується читання даних з регістра.
В структурі типу BEDORAM (Burst EDORAM, тобто з пакетним розширеним доступом) є додатково лічильник адрес стовпців. При звертанні до групи слів (пакету) адреса стовпця формується звичайним способом тільки на початку пакетного циклу. Для подальших передач вона визначається за допомогою лічильника. Память BEDORAM не набула широкого розповсюдження завдяки появі сильного конкуренту - синхронних DRAM (SDRAM).
В структурах MDRAM (Multibank DRAM багатобанкові ОЗП) пам'ять поділяється на частини (банки). Звернення до банків здійснюється по черзі, що виключає очікування перезаряду шин. Поки зчитуються дані з одного банку, інші мають час на підготовку, після якої зявляється можливість звернення до них без додаткового очікування. Чим більше банків, тим менше повторних послідовних звернень в один і той же банк з повним циклом.
Память типу SDRAM (Synchronous DRAM) займає важливе місце в якості швидкодіючої памяті з високою пропускною здатністю. В SDRAM синхросигнали памяті тісно повязані з тактовою частотою системи, в них використовується конвеєризація тракту проходження інформації, може використовуватись багатобанкова структура. Тут вхідні сигнали фіксуються фронтами тактових імпульсів, які жорстко задають моменти їх появи та зникнення. До переваг SDRAM відносять відсутність великих проблем по узгодженню взаємного положення в часі вхідних сигналів, що в деяких випадках може бути складним.
Структури типу RDRAM (Rambus DRAM) названі по імені фірми- розроблювача і являють собою байт-послідовну память з дуже високим темпом передачі байтів. Принципово новими в архітектурному плані є синхронізація обома фронтами тактових імпульсів і спеціальний новий інтерфейс Rambus Channel, який має всього 13 сигнальних ліній, що значно менше ніж у традиційних мікросхем памяті. В інтерфейсі відсутні спеціалізовані адресні лінії. Замість звичайної адресації по інтерфейсу посилаються пакети, які включають команди і адреси. Спочатку посилається пакет запитів, на які память відповідає пакетом підтвердження, після чого іде пакет даних. Перший доступ до даних має велике запізнення. Тому при читанні окремих слів RDRAM неефективна. Вона ідеально підходить для графічних і мультимедійних застосувань з типовим для них процесом швидкою видачею довгої послідовності слів для формування зображення на екрані або подібних задач.
В памяті DRDRAM (Direct RDRAM) усунений фактор запізнення при першому доступі до даних, що розширило область застосування DRDRAM. DRDRAM з 16-розрядним інтерфейсом при роботі на тактовій частоті 400МГц і схемотехніці DDR (Double Data Rate), яка передбачає тактування процесів обома фронтами імпульсів, забезпечують пропускну здатність всередині пакету 1,6 Гбайт/с.
В структурах СDRAM (Cached DRAM) на одному кристалі з DRAM розміщена статична кеш-память (кеш першого рівня). При цьому кеш забезпечує швидкий обмін з процесором, якщо інформація знаходиться в кеші, а також швидке обновлення свого вмісту за рахунок того, що розміщення кеша і DRAM на одному кристалі робить звязки між ними внутрішніми, тому розрядність шин може бути великою (наприклад 2048) і обмін може здійснюватися великими блоками даних. Як синонім позначення СDRAM іноді використовується позначення EDRAM (Enhanced DRAM).
Постійна память типу ROM програмується при виготовленні методами інтегральної технології за допомогою масок. Елементами звязку в маскових ЗП можуть бути діоди, біполярні та МОН- транзистори та інші елементи. Це дійсно постійна память, вміст якої споживач змінити не може.
Постійні ЗП, вміст яких може програмуватися користувачем, позначаються PROM (від Programmable). В ЗП типу PROM програмування здійснюється створенням або руйнуванням спеціальних перемичок. В початковій заготовці відсутні (або присутні) всі перемички. Після програмування виникають або залишаються тільки необхідні. Найбільш поширеними є елементи з плавкими перемичками і діодними парами. В PROM вміст може програмуватися однократно.
В EPROM (Electrically Programmable ROM) інформація може стиратися шляхом опромінення кристалу ультрафіолетовими променями, а в EEPROM або E2PROM (Electrically Erasable Programmable ROM) електричними сигналами. Програмування PROM і репрограмування EPROM та EEPROM проводиться в звичайних лабораторних умовах за допомогою або спеціальних програматорів, або спеціальних режимів без спеціальних приладів (для EEPROM). Занесення даних в EPROM та EEPROM здійснюється електричними сигналами.
Флеш-память (Flash-Memory) подібна до EEPROM, але має свої особливості. Тут стирання інформації здійснюється або для всієї памяті одночасно, або для достатньо великих блоків. Вона є технологічною і має хороші параметри. В сучасних компютерах широко використовується як носій BIOS.
Енергонезалежність всіх ROM, які зберігають інформацію при відключенні живлення, відкривають можливості економії живлення при їх експлуатації і, відповідно, покращання теплового режиму, що підвищує надійність схем. В режимі імпульсного живлення за допомогою ключів, які керуються від виходів адресного дешифратора (старші розряди адреси), живлення підключається тільки до вибраної мікросхеми. Це дозволяє суттєво зменшити споживчу потужність, але і збільшує час звертання до ЗП при поодиноких довільних зверненнях завдяки тому, що після включення живлення потрібен час для встановлення режиму мікросхеми.
Конкретна характеристики типів пам'яті, які використовуються в сучасних комп'ютерах, і відповідних модулів пам'яті (SIP, SIMM, DIMM, RIMM) приведена в [4, 7, 18].
Один з можливих типових наборів сигналів адресних напівпровідникових ЗП (рис. 2.8) включає [18]:
CS (Chip Select) або CE (Chip Enable) сигнал, який дозволяє або забороняє роботу даної мікросхеми;
Рис. 2.8. Типові сигнали адресних напівпровідникових ЗП
Для ЗП характерна така послідовність сигналів. Перш за все подається адреса, щоб наступні операції не зачіпили іншої комірки, окрім вибраної. Потім дозволяється робота мікросхеми сигналом CS і подається строб читання/запису R/W (взаємне розташування сигналів CS і R/W для різних ЗП може бути іншим). Якщо задана, наприклад, операція читання, то після подачі вказаних сигналів ЗП готовить дані для читання, що вимагає певного часу. Задній фронт сигналу R/W, положення якого в часі повинне забезпечувати встановлення правильних даних на виході ЗП, зчитує дані. На рис. 2.8 прийняті такі позначення:
Окрім вказаних параметрів використовується також параметр tH(A-B) час утримання, який визначає інтервал між початком сигналу А і закінченням сигналу В.
До ЗЗП відносяться пристрої, які дозволяють автономно зберігати інформацію незалежно від стану (ввімкнутий чи вимкнутий) компютера. В ЗЗП використовуються методи прямого (дискові накопичувачі) і послідовного (накопичувачі на магнітній стрічці) доступу до інформації. Характерною особливістю ЗЗП є те, що вони виконують операції над блоками інформації, а не окремими байтами або словами, як це дозволяє ОП. Ці блоки звичайно мають фіксований розмір, кратний степені двійки, але в деяких випадках у пристроїв з послідовним доступом розмір блоку може бути змінним.
В дискових накопичувачах шар носія інформації магнітний, оптичний або інший нанесений на робочі поверхні дисків. Диски обертаються за допомогою двигуна шпинделя, який забезпечує потрібну частоту обертання в робочому режимі. На диску є індексний маркер, який, проходячи повз спеціальний датчик, відмічає початок кожного оберту диску. Інформація на диску розміщується на концентричних доріжках (треках), нумерація яких починається з зовнішнього треку. Кожен трек розбитий на сектори фіксованого розміру. Сектор і є мінімальним блоком інформації, яка може бути записана на диск, або прочитана з нього. Нумерація секторів починається з одиниці і привязується до індексного маркеру. Кожен сектор має службову область, яка вміщує адресну інформацію, контрольні коди і деяку іншу інформацію, і область даних, розмір якої традиційно складає 512 байт. Якщо накопичувач має декілька робочих поверхонь, то сукупність всіх треків з однаковими номерами складає циліндр. Для кожної робочої поверхні в накопичувачі є своя головка, яка забезпечує запис або читання інформації. Для того, щоб здійснити елементарну операцію обміну, шпиндель повинен обертатися з заданою швидкістю, блок головок повинен бути підведений до потрібного циліндра, і тільки коли потрібний сектор підійде до вибраної головки, почнеться фізична операція обміну даними між головкою і електронним блоком накопичувача. Для запису інформації використовуються різноманітні методи частотної або фазової модуляції, які дозволяють кодувати і декодувати двійкову інформацію в відповідності до природи носія інформації. Контролер накопичувача збирає і розбирає блоки інформації, включаючи формування і перевірку контрольних кодів, здійснює модуляцію і демодуляцію сигналів головок і керує всіма механізмами накопичувача.
Низькорівневе форматування дисків LLF (Low Level Formatting) це процедура створення структури секторів диску, яка для кожного накопичувача повинна бути виконана перед його використанням. Процедура зводиться до того, що кожен трек диску розмічається і верифікується. При розмітці треку на ньому створюються заголовки секторів, а в поля даних записується який-небудь код-заповнювач. Відформатувати трек можна тільки цілком за одну операцію повинні бути записані всі його сектори. В процесі верифікації робиться спроба зчитування кожного сектора, і якщо при зчитуванні виявляється стійка помилка, сектор в заголовку помічається як дефектний. Для гнучких дисків низькорівневе форматування є складовою частиною процесу форматування, який виконується утилітою FORMAT або подібними до неї. Під час форматування жорстких дисків формується структура пакету дисків зі всіма чередуваннями, зміщеннями та іншими тонкощами. Для покращання звернень до файлів і впорядкування використання простору секторів диску в склад операційної системи входить і файлова система, яка визначає і логічну структуру диску.
Найбільш поширеними в даний час є накопичувачі на гнучких магнітних дисках FDD (Floppy Disk Drive) з дискетами діаметром 3,5 дюйма і форматованою ємністю 1,44 Мбайт, та накопичувачі на жорстких магнітних дисках НDD (Hard Disk Drive), ємність яких вже досягає десятків Гбайт.
Магнітооптичні диски MOD (Magneto-Optical Drives) використовують оптику в процесі магнітного запису. В цих дисках суттєво зменшені розміри зон, які перемагнічуються, завдяки тому, що магнітна головка при запису діє тільки на мікроскопічну зону носія, що розігрівається лазерним променем. Такі диски стійкі до сильних зовнішніх магнітних полів.
В оптичних дисках CD-ROM (Compact Disk-Read Only Memory) для зберігання інформації використовується зміна оптичних властивостей (в основному степені відбивання) поверхні носія. В процесі зчитування при освітленні треку лазерним променем виникає модуляція інтенсивності відбитого променя, який сприймається фотоприймачем. Запис дисків може здійснюватись як друком з матриці, так і безпосереднім записом на носій в спеціальному пристрої. Оптичний диск замість концентричних треків має одну спіральну доріжку. Практично всі пристрої CD-ROM дозволяють відтворювати і аудіо-диски, для чого вони мають вмонтовані цифроаналогові перетворювачі і аналоговий інтерфейс з лінійним виходом стереосигналу рівня 0,2 В. Існує ряд стандартів на компакт-диски, які визначають їх фізичний формат.