Асоціативна пам'ять ЕВМ. Асоціативна організація пам'яті. Дивитись що таке "Асоціативна пам'ять" в інших словниках

Способи організації пам'яті

Найменування параметру Значення
Тема статті: Способи організації пам'яті
Рубрика (тематична категорія) Комп'ютери

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

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

АДРІСНА ПАМ'ЯТЬ

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

На рис. 5.2 зображено узагальнену структуру адресної пам'яті.

Цикл звернення до пам'яті ініціалізується сигналом "Звернення", що надходить у БУП. Загальна частина циклу звернення включає в себе прийом в РГА з шини адреси (ША) адреси звернення і прийом в БУП керуючого сигналу "Операція", що вказує вид операції (зчитування або запис).

Зчитування. БАВ дешифрує адресу та посилає сигнал, що виділяє задану адресою комірку ЗМ. У загальному випадку БАВ може також посилати у виділену комірку пам'яті сигнали, що налаштовують ЗЕ комірки на запис або зчитування. Після цього записане в комірку слово зчитується підсилювачами БУС та передається до РДІ. Далі в пам'яті з руйнівним зчитуванням відбувається регенерація інформації шляхом запису слова з РГІ через БУЗ у той самий осередок ЗМ. Операція зчитування завершується видачею слова з РДІ на вихідну інформаційну шину ШІ вих.

Запис.Крім зазначеної вище загальної частини циклу звернення відбувається прийом записуваного слова з вхідної шини ШІ вх РГІ. Сам запис у випадку складається з двох операцій – очищення осередку і власне записи. Для цього БАВ спочатку здійснює вибірку та очищення осередку, заданої адресою в РгА. Очищення осередку ЗМ (приведення у вихідний стан) може здійснюватися по-різному. Зокрема, у пам'яті з руйнівним зчитуванням очищення можна робити сигналом зчитування слова в осередку при блокуванні БУС (щоб РГІ не надійшла інформація). Далі у вибрану комірку записується нове слово.

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

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

АСОЦІАТИВНА ПАМ'ЯТЬ

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

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

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

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

У деяких спеціалізованих ЕОМ ВП або його частина будується в такий спосіб, що дозволяє реалізувати як асоціативний, і адресний пошук інформації.

Спрощена структурна схема асоціативної пам'яті, у якій все ЗЕ ЗМ забезпечені однобітовими процесорами, наведено на рис. 5.3.

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

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

Комбінаційна схема формування результату асоціативного звернення ФС формує зі слова, що утворилося в РГСВ, як мінімум три сигнали:

A 0 - відсутність у ЗМ слів, що задовольняють асоціативної ознаки;

A 1 – наявність одного такого слова;

A 2 – наявність більш ніж одного слова.

Можливі інші операції над вмістом РгСв, наприклад підрахунок кількості одиниць, тобто. підрахунок слів у пам'яті, які відповідають асоціативному запиту, тощо.

Формування вмісту РгСв та a 0 , a 1 , a 2 за вмістом РгАП, РгМ, ЗМ і прийнято називати операцією контролю асоціації.

Зчитування.Спочатку проводиться контроль асоціації за ознакою РГАП.

A 0 = 1 - зчитування скасовується через відсутність шуканої інформації;

A 1 = 1 – зчитується в РГІ знайдене слово, після чого видається на ШІ вих;

A 2 = 1 – зчитується слово, що має, наприклад, найменший номер серед осередків, зазначених 1 в РгСв, після чого видається на ШІ вих.

Запис.Спочатку знаходиться вільний осередок (думаємо, що в розряді зайнятості вільного осередку записано 0). І тому виконується контроль асоціації при РгАП=111...10 і РгМ=000...01, п.б. n-й розряд РгАП встановлюється в 0, а n-й розряд РгМ - в 1. При цьому вільний осередок відзначається 1 в РгСв. Для запису вибирають вільну комірку, наприклад, з найменшим номером. У неї записується слово, що надійшло з ШІ вх до РгІ.

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

СТЕКОВА ПАМ'ЯТЬ (МАГАЗИННА)

Стьова пам'ять, так само як і асоціативна, є безадресною. Стьова пам'ять має бути організована як апаратно, і на звичайному масиві адресної пам'яті.

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

Запис нового слова, що надійшло з ШІ вх, проводиться у верхню (нульову) комірку, при цьому всі раніше записані слова (включаючи слово в комірці 0) зрушуються вниз, у сусідні комірки, номери яких на одиницю більше. Зчитування можливе лише з верхнього (нульового) осередку пам'яті. Основний режим - це зчитування з видаленням. При цьому всі інші слова в пам'яті зсуваються вгору, в сусідні комірки з меншими номерами. У такій пам'яті реалізується правило: останній прийшов – перший пішов. Стеки такого типу прийнято називати стеками LIFO (Last In – First Out).

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

Про перше слово, що посилається в стек, кажуть, що воно розташовується на дні стеку. Про останнє послане (за часом) у стек слові говорять, що воно знаходиться в вершина стеку. Τᴀᴋᴎᴎᴩᴀᴈᴏᴍ, осередок N-1 - дно стеку, а осередок 0 - вершина.

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

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

На відміну від апаратного стеку дані, розміщені в програмному стеку, під час запису нового числа або зчитування не переміщуються. Запис кожного нового слова здійснюється в комірку пам'яті, що йде по порядку за тією, адреса якої міститься в покажчику стека. Після запису нового слова вміст покажчика стека збільшується на одиницю (див. рис. 6.5). Τᴀᴎᴎᴎᴎᴀᴈᴏᴍ, в програмному стеку переміщуються не дані, а вершина стеку. При зчитуванні слова зі стеку відбувається зворотний процес. Слово зчитується з комірки, адреса якої знаходиться в покажчик стека, після чого вміст покажчика стека зменшується на одиницю.

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

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

Крім розглянутої вище стікової пам'яті типу LIFO в ЕОМ використовуються стекові пам'яті іншого типу, що реалізують правило: перший прийшов – перший пішов. Стеки такого типу прийнято називати стеками FIFO (First In – First Out). Така стекова пам'ять широко використовується для організації різноманітних черг (команд, даних, запитів тощо). Узагальнена структура апаратного стеку типу FIFO представлена ​​на рис. 5.4 б.

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

Τᴀᴎᴎᴎᴩᴀᴈᴏᴍ, на відміну від стеку LIFO, в стеку FIFO переміщується не дно, а вершина. Записувані в стек FIFO слова поступово просуваються від вершини до дна, звідки і зчитуються в міру вкрай важливості, причому темп запису та зчитування визначаються зовнішніми керуючими сигналами і не пов'язані один з одним.

Програмна реалізація стека FIFO у цьому розділі не розглядається, оскільки на практиці використовується досить рідко.

Способи організації пам'яті - поняття та види. Класифікація та особливості категорії "Способи організації пам'яті" 2017, 2018.

В асоціативної пам'ятіелементи вибираються за адресою, а, по вмісту. Пояснимо останнє поняття докладніше. Для пам'яті з адресною організацією було запроваджено поняття мінімальної одиниці, що адресується(МАЙ) як порції даних, що має індивідуальну адресу. Введемо аналогічне поняття для асоціативної пам'яті, і будемо цю мінімальну одиницю зберігання асоціативної пам'ятіназивати рядком асоціативної пам'яті(СтрАП). Кожна СТРАП містить два поля: поле тега (англ. tag – ярлик, етикетка, ознака) та поле даних. Запит на читання до асоціативної пам'яті словами можна виразити так: вибрати рядок (рядки), у якого (у яких) тег дорівнює заданому значенню.

Особливо зазначимо, що за такого запиту можливий один із трьох результатів:

  1. є в точності один рядок із заданим тегом;
  2. є кілька рядків із заданим тегом;
  3. немає жодного рядка із заданим тегом.

Пошук записи за ознакою - це дію, типове для звернень до баз даних, і пошук у базі часто чвляется асоціативним пошуком. Для виконання такого пошуку слід переглянути всі записи та порівняти заданий тег із тегом кожного запису. Це можна зробити і при використанні для зберігання записів звичайної пам'яті, що адресується (і зрозуміло, що це потребує досить багато часу - пропорційно кількості записів, що зберігаються!). Про асоціативної пам'ятікажуть тоді, коли асоціативна вибірка даних із пам'яті підтримана апаратно. При записі в асоціативну пам'ять елемент даних міститься в СТРАП разом з властивим цьому елементу тегом. Для цього можна використовувати будь-яку вільну СТРАП. Розглянемо різновиди структурної організації КЕШ-пам'яті чи способи відображення оперативної пам'яті КЭШ .

Повністю асоціативний КЕШ

Схема повністю асоціативного КЕШу представлена ​​малюнку (див. малюнок нижче).

Опишемо алгоритм роботи системи з КЕШ-пам'яттю. На початку роботи кеш-пам'ять порожня. При виконанні першої команди під час вибірки її код, а також ще кілька сусідніх байтів програмного коду, - будуть перенесені (повільно) в один з рядків КЕШу, і одночасно старша частина адреси буде записана у відповідний тег. Так відбувається заповнення КЕШ-рядка.

Якщо наступні вибірки можливі з цієї ділянки, вони будуть зроблені вже з КЕШ (швидко) - "КЕШ-попадання". Якщо ж виявиться, що потрібного елемента в КЕШ немає, - "КЕШ-промахом". І тут звернення відбувається до ОЗУ (повільно), і навіть одночасно заповнюється чергова КЭШ-рядок.

Схема повністю асоціативної КЕШ-пам'яті

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

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

Якщо відбувся КЕШ-промах, а в КЕШі немає вільних рядків, необхідно замінити один рядок КЕШу на інший рядок.

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

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

Серед безлічі можливих алгоритмів заміщення найбільш поширеними є чотири, що розглядаються в порядку зменшення їхньої відносної ефективності. Будь-який з них може бути застосований у повністю асоціативному КЕШ.

Найбільш ефективним є алгоритм заміщення на основі найдавнішого використання ( LRU - Least Recently Used ), при якому заміщується той рядок КЕШ-пам'яті, до якого найдовше не було звернення. Дослідження, що проводилися, показали, що алгоритм LRU, який "дивиться" назад, працює досить добре в порівнянні з оптимальним алгоритмом, що "дивиться" вперед.

Найбільш відомі два способи апаратурної реалізації цього алгоритму. У першому з них з кожним рядком КЕШ-пам'яті асоціюють лічильник. До вмісту всіх лічильників через певні проміжки часу додається одиниця. При зверненні до рядка її лічильник обнулюється. Таким чином, найбільше число буде у лічильнику того рядка, до якого найдовше не було звернень і цей рядок – перший кандидат на заміщення.

Другий спосіб реалізується за допомогою черги, куди в порядку заповнення рядків КЕШ-пам'яті заносяться посилання на ці рядки. При кожному зверненні до рядка посилання на неї переміщується до кінця черги. У результаті першої в черзі щоразу виявляється посилання на рядок, до якого найдовше не було звернень. Саме цей рядок насамперед і замінюється.

Інший можливий алгоритм заміщення - алгоритм, що працює за принципом "перший увійшов, перший вийшов" ( FIFO - First In First Out ). Тут замінюється рядок, який найдовше перебував у КЕШ-пам'яті. Алгоритм легко реалізується за допомогою розглянутої раніше черги, з тією різницею, що після звернення до рядка положення відповідного посилання у черзі не змінюється.

Ще один алгоритм - заміна найменш часто використовуваного рядка (LFU - Least Frequently Used). Замінюється той рядок у КЕШ-пам'яті, до якого було найменше звернень. Принцип можна реалізувати практично, зв'язавши кожен рядок з лічильником звернень, до вмісту якого після кожного звернення додається одиниця. Головним претендентом на заміщення є рядок, лічильник якого містить найменшу кількість.

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

Крім тега та байтів даних у КЕШ-рядку можуть утримуватися додаткові службові поля, серед яких насамперед слід зазначити біт достовірності V (від valid – дійсний має силу) та біт модифікації M (від modify – змінювати, модифікувати). При заповненні чергового КЕШ-рядка V встановлюється в стан "достовірно", а M - в стан "не модифіковано". У разі, якщо в ході виконання програми вміст даного рядка було змінено, перемикається біт M, сигналізуючи про те, що при заміні даного рядка його слід переписати в ОЗУ. Якщо з будь-яких причин сталася зміна копії елемента даного рядка, що зберігається в іншому місці (наприклад, в ОЗУ), перемикається біт V. При зверненні до такого рядка буде зафіксовано КЕШ-промах (попри тег, що тег збігається), і звернення відбудеться до основного ОЗУ. Крім того, службове поле може містити біти, що підтримують алгоритм LRU.

Оцінка обсягу обладнання

Типовий обсяг КЕШ-пам'яті у сучасній системі - 8...1024 кбайт, а довжина КЕШ-рядка 4...32 байт. Подальша оцінка робиться для значень обсягу КЕШу 256 кбайт і довжини рядка 32 байт, що притаманно систем із процесорами Pentium і PentiumPro. Довжина тега у своїй дорівнює 27 біт, а кількість рядків у КЭШе становитиме 256К/ 32=8192. Саме стільки цифрових компараторів 27 бітних кодів потрібно реалізації вищеописаної структури.

Приблизна оцінка витрат обладнання для побудови цифрового компаратора дає значення 10 транз/біт, а загальна кількість транзисторів тільки в блоці компараторів буде:

10*27*8192 = 2 211 840,

що приблизно в півтора рази менше від загальної кількості транзисторів на кристалі Pentium. Таким чином, ясно, що описана структура повністю асоціативної КЕШ-пам'яті () реалізується лише за малої кількості рядків у КЕШі, тобто. при малому обсязі КЕШу (майже трохи більше 32…64 рядків). КЕШ більшого обсягу будують за іншою структурою.

Асоціативна пам'ять

Найменування параметру Значення
Тема статті: Асоціативна пам'ять
Рубрика (тематична категорія) Комп'ютери

Таблиця сторінок

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

Отже, віртуальна адреса складається з віртуального номера сторінки (high-order bits) та усунення (low-order bits). Номер віртуальної сторінки використовується як індекс у таблиці сторінок для знаходження запису (entry) про віртуальну сторінку. З цього запису в таблиці сторінок знаходиться номер кадру (page frame number), потім додається зміщення та формується фізична адреса. Крім цього, запис у таблиці сторінок містить інформацію про атрибути сторінки, зокрема біти захисту.

Основну проблему ефективної реалізації таблиці сторінок створюють великі розміри віртуальних адресних просторів сучасних комп'ютерів, які зазвичай визначаються розрядністю архітектури процесора. Найпоширенішими на сьогодні є 32-розрядні процесори, що дозволяють створювати віртуальні адресні простори такого розміром 4 Гб (для 64-розрядних комп'ютерів ця величина дорівнює 2**64б).

Підрахуємо зразковий розмір таблиці сторінок. У 32-бітному адресному просторі при розмірі сторінки 4К (Intel) отримуємо 1М сторінок, а в 64-бітному і більше. Т.ч. таблиця повинна мати 1М рядків (entry), причому запис у рядку складається з кількох байт. Зауважимо, що кожен процес потребує своєї таблиці сторінок (а у разі сегментно-сторінкової схеми по одній на кожен сегмент). Отже, у разі таблиця сторінок має бути занадто великий.

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

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

Розглянемо модельний приклад (рис.10.4). Припустимо, що 32-розрядна адреса ділиться на 10-розрядне поле Рtr1, 10-розрядне поле Рtr2 та 12-розрядне зміщення Offset. 12 розрядів зсуву дозволяють локалізувати байт усередині сторінки розміром 4К (2**12), а всього маємо 2**20 сторінок. Як видно із рис. 9.4 1024 рядки в таблиці верхнього рівня за допомогою поля Ptr1 посилаються на 1024 таблиці другого рівня, кожна з яких містить 1024 рядки. За допомогою поля Ptr2, кожен рядок таблиці другого рівня вказує на конкретну сторінку. Сенс такої організації в тому, щоб уникнути підтримки всіх таблиць другого рівня (а їх 1024) у пам'яті постійно. Розглянемо приклад із круглими цифрами. Припустимо, що процесу потрібні 12М пам'яті: 4М у нижній частині пам'яті для коду, 4М у нижній частині для даних та 4М у верхній частині пам'яті для стека. Між дном стека та верхом даних гігантський простір розміром 4Gb-12Mb, ĸᴏᴛᴏᴩᴏᴇ не використовується. Для цього випадку необхідні лише 1 таблиця верхнього рівня та 3 таблиці другого рівня. Такий підхід природно узагальнюється на три і більше рівнів таблиці.

Розглянемо один із записів таблиці сторінок. Її розмір коливається від системи до системи, але 32 біти – найбільш загальний випадок. Найважливіше поле – номер кадру. Мета сторінкового відображення – локалізувати цю величину. Далі біт присутності, біти захисту (наприклад, 0 - read/write, 1 - read only ...), біти модифікації (якщо її писали) і біти посилання, які допомагають виділити мало використовувані сторінки, біти дозволяють кешування. Зауважимо, що адреси сторінок на диску не є частиною таблиці сторінок.

Рисунок 10.4 – Приклад дворівневої таблиці сторінок.

Як наявність кількох рівнів позначається на продуктивності менеджера пам'яті? Якщо припустити, кожен рівень - окрема таблиця в пам'яті, перетворення адреси може вимагати кількох звернень до пам'яті.

Кількість рівнів таблиці сторінок залежить від конкретних особливостей архітектури. Можна навести приклади реалізації однорівневого (DEC PDP-11), дворівневого (Intel, DEC VAX), трирівневого (Sun SPARC, DEC Alpha) paging"а, а також paging"а з кількістю рівнів (Motorola). Функціонування процесора RISC MIPS R2000 здійснюється взагалі без таблиці сторінок. Тут пошук потрібної сторінки, якщо ця сторінка відсутня в асоціативній пам'яті, має взяти на себе ОС (так званий zero level paging).

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

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

Природне рішення - забезпечити комп'ютер апаратним пристроєм для відображення віртуальних сторінок у фізичні без звернення до таблиці сторінок, тобто мати невелику, швидку кеш-пам'ять, що зберігає необхідну на даний момент частину таблиці сторінок. Цей пристрій прийнято називати асоціативною пам'яттю, іноді також вживають термін асоціативні регістри (іноді translation lookaside buffer (TLB)).

Один запис у таблиці в асоціативній пам'яті містить інформацію про одну віртуальну сторінку, її атрибути та кадр, в якому вона знаходиться. Ці поля точно відповідають полям у таблиці сторінок.

Відображення віртуальних сторінок, що зберігаються в асоціативній пам'яті, здійснюється швидко, проте кеш пам'ять є дорогою та має обмежений розмір.
Розміщено на реф.рф
Число записів у TLB від 8 до 2048

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

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

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

Відсоток разів, коли номер сторінки знаходиться в асоціативній пам'яті, прийнято називати hit (збіг) ratio (пропорція, відношення). Τᴀᴎᴎᴎᴀᴀᴈᴈᴏᴍ, hit ratio - частина посилань, яка повинна бути зроблена з використанням асоціативної пам'яті. Звернення до тих самих сторінок підвищує hit ratio.

Наприклад, припустимо, що з доступу до таблиці сторінок дуже важливо 100 нс, а доступу до асоціативної пам'яті 20 нс. З 90% hit ratio середній час доступу – 0.9*20+0.1*100 = 28 нс.

Цілком прийнятна продуктивність сучасних ОС доводить ефективність використання асоціативної пам'яті. Високе значення ймовірності знаходження даних в асоціативній пам'яті пов'язане з наявністю даних об'єктивних властивостей: просторової і тимчасової локальності.

Потрібно звернути увагу на наступний факт. При перемиканні процесів необхідно домогтися, щоб новий процес бачив у асоціативної пам'яті інформацію, що належить до попереднього процесу, наприклад, очищати її. Τᴀᴋᴎᴎᴩᴀᴈᴈᴏᴍ, використання асоціативної пам'яті збільшує час перемикання контекстів.

Асоціативна пам'ять - поняття та види. Класифікація та особливості категорії "Асоціативна пам'ять" 2017, 2018.


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

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


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

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

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

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


  1. Наведіть визначення процесу розпізнавання образів
Розпізнавання образів – процес, у якому одержуваний образ (сигнал) може бути віднесено до одного з визначених класів (категорій). Щоб нейронна сет могла вирішувати завдання розпізнавання образів, її спочатку потрібно навчити.

  1. Охарактеризуйте два типи машин розпізнавання образів.
Перший тип машини.

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

Другий тип машини.

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


  1. Опишіть спосіб розв'язання задач ідентифікації систем.
Нехай формула

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


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

()-бажаний відгук, () – вхідний сигнал (вектори , - змінилися місцями). Векторний сигнал помилки дорівнює різниці бажаного вектора та реального виходу нейронної мережі, отриманий у відповідь на обурення. Тут вектор сигналу помилки використовується для мінімізації суми квадратів різниць між виходами невідомої інверсної системи та нейронної мережі в статичному сенсі (тобто обчислюється на всій кількості прикладів навчання).


  1. Наведіть блок-схему системи керування зі зворотним зв'язком

У цій системі використовується єдиний зворотний зв'язок, що охоплює весь об'єкт управління. Таким чином, вихід об'єкта управління віднімається з еталонного сигналу (), що приймається із зовнішнього джерела. Отриманий таким чином сигнал помилки (e) подається на нейроконтроллер для налаштування вільних параметрів. Основним завданням контролера є підтримка такого вхідного вектора об'єкта, для якого вихідний сигнал (у) відповідав би еталонного значення (d). Іншими словами, завдання контролера входить інвертування відображення вхід-вихід об'єкта управління.


  1. Опишіть операції логічної суми та логічного твору над нечіткими множинами
Нечітка множина - узагальнення звичайних (чітких) множин. Традиційний спосіб представлення елемента множини A полягає у застосуванні характеристичної функції
яка дорівнює 1, якщо елемент належить множині A, або дорівнює 0 в іншому випадку. У нечітких системах елемент може частково належати будь-якій множині. Ступінь приналежності множині A, що є узагальнення характеристичної функції, називається функцією приналежності, причому
, і
означає відсутність приналежності x множині A, а
- Повну належність. Конкретне значення функції власності називається ступенем чи коефіцієнтом власності.

Операція логічної суми:

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

Операція логічного твору над нечіткими множинами:

Нехай
- найбільше нечітке підмножина, яке міститься одночасно в і в , тоді функція приналежності має вигляд:


  1. Опишіть операції заперечення множини та нормалізації множини для нечітких множин
Операція заперечення множини:

Нехай - все те безліч, що не , Тоді елемент, що належить множині , визначається відповідно до функції:

Нормалізація нечітких множин:

СУПРЕМУМ: Sup - точна верхня грань (максимальне значення приналежності, що є у множині).

НОРМАЛІЗАЦІЯ: нечітка множина нормально якщо супремум множини дорівнює одиниці. Для нормалізації перечитують приладдя елементів:

M"a(x) = Ma(x)/(Sup Ma(x))


  1. Опишіть операцію концентрації та розтягування для нечітких множин
Операція концентрації:

Операція розмивання:


  1. Дайте визначення лінгвістичної змінної
Змінна, значеннями якої може бути як числа, і слова та його поєднання. Наприклад, лінгвістична змінна «швидкість» може мати значення «висока», «середня», «дуже низька» тощо. буд. Фрази, значення яких набуває змінна, своєю чергою, є іменами нечітких зміннихта описуються нечітким безліччю.

Математичне визначення лінгвістичної змінної:
, де -ім'я змінної;
- безліч імен лінгвістичних значень змінної , кожне з яких є нечіткою зміною на множині
; - синтаксичне правило для освіти імен значень;
семантичне правило для асоціювання кожної величини значення з її поняттям.


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

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

,

кількість елементів у ,
відстань між множинами та в метриці (яке дорівнює 1 або 2). Метриці Хеммінга відповідає значення


  1. Опишіть метрику Евкліда, що характеризує міру нечіткості множини
Міра Єгера при значенні метрики
називається евклідовою метрикою:
.

  1. Опишіть ентропійну міру нечіткості множини
Цей захід, запропонований Б.Коско, заснований на кардинальних числах множин:
Кардинальна кількість множини
сума коефіцієнтів власності всіх елементів цієї множини, тобто.
.

  1. Опишіть систему нечіткого виводу Мамдані-Заде
Елементи теорії нечітких множин, правила імплікації та нечітких міркувань утворюють систему нечіткого висновку. У ній можна назвати:

  • безліч використовуваних нечітких правил;

  • базу даних, що містить описи функцій власності;

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

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

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

У моделі виведення Мамдані-Заде присутні наступні оператори:


Рис 1. Приклад системи виведення Мамдані-Заде

На рис. 1 представлений спосіб агрегування при двох вхідних змінних.


  1. Охарактеризуйте фазифікатор
Виконує перетворення чіткої множини в нечітку множину, що характеризується функцією приналежності.

  1. Охарактеризуйте поняття функції власності
Функція нечіткої власності є безперервним наближенням порогової функції точної власності.

Коефіцієнт приналежності - величина з діапазону, що характеризує ступінь приналежності елемента нечіткої множини.

Дійсно число, що приймає значення в діапазоні (0,1), при цьому 1 означає 100%-ю (безумовну) приналежність a до множини , а 0 - безумовна відсутність . Значення між 0 та 1 характеризують нечітко включені елементи.

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

Функція може бути визначена явно у вигляді, наприклад, виразу алгебри або таблично (дискретно) у вигляді масиву пар


  1. Опишіть узагальнену Гаусівську функцію приладдя
Гауссівська функція приладдя для змінної з центром та параметром ширини має вид:

Також існує узагальнена Гаусова функція:
параметр форми.

Рис 3. Графік узагальненої функції Гауса дляс=1,

Узагальнена функція Гауса також може бути й у раціональній формі:
.


  1. Опишіть поняття дефазифікації нечіткої множини
Процес дефазифікації - перетворення нечіткої множини, заданої функцією власності, в скаляр.

  1. Опишіть дефаззифікацію щодо середнього центру
Дефаззифікація щодо середнього центру:
де
центр -ой одиночної функції власності, що у підсумкової агрегованої функції.

  1. Опишіть дефаззифікацію щодо центру області
Дефаззифікацію щодо центру області:
або ж у дискретній формі
.

  1. Наведіть блок-схему роботи генетичного алгоритму.
Генетичний алгоритм (англ. genetic algorithm) - це евристичний метод, що використовується для вирішення задач оптимізації та моделювання через послідовний підбір та комбінування шуканих параметрів з використанням механізмів, що нагадують біологічну еволюцію. Блок-схема роботи генетичного алгоритму:


  1. Охарактеризуйте поняття цілісного та речового кодування.
Вибір методу кодування одна із найважливіших етапів з використанням еволюційних алгоритмів. Зокрема, має виконуватися така умова: повинна бути можливість закодувати (з припустимою похибкою) в хромосомі будь-яку точку з області пошуку. Невиконання цієї умови може призвести як до збільшення часу еволюційного пошуку, так і неможливості знайти рішення поставленого завдання.

Як правило, у хромосомі кодуються чисельні параметри рішення. Для цього можливе використання цілісного та речового кодування.

Цілочисленне кодування.

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


Речове кодування.

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


  1. Опишіть методи селекції.
Селекція (добір) необхідна, щоб вибрати більш пристосованих особин для схрещування. Існує безліч варіантів селекції, опишемо найвідоміші з них.

Рулеткова селекція.У даному варіанті селекції можливість i-ї особи взяти участь у схрещуванні pi пропорційна значенню її пристосованості fi і дорівнює .

Процес відбору особин для схрещування нагадує гру в рулетку.

Рулетковий круг ділиться на сектори, причому площа i-го сектора пропорційна значенню pi. Після цього n раз «обертається» рулетка, де n – розмір популяції, і з сектору, у якому зупиняється рулетка, визначається особина, обрана для схрещування.

Селекція усіченням.При відборі усіченням після обчислення значень пристосованості для схрещування вибираються Ln кращих особин, де L – поріг відсікання, 0
Як правило, вибирають L в інтервалі від 03 до 07.

Турнірний відбірУ разі використання турнірного відбору для схрещування, як і за рулеткової селекції, відбираються n особин.

І тому з популяції випадково вибираються t особин, і найпристосована їх допускається до схрещування. Кажуть, що формується турнір із t особин, t – розмір турніру. Ця операція повторюється n разів.

Чим більше значення t, тим більший тиск селекції. Варіант турнірного відбору, коли t = 2 називають бінарним турніром. Типові значення розміру турніру t = 2, 3, 4, 5.
28. Охарактеризуйте принцип роботи одноточкового, двоточкового та однорідного операторів кросовера для цілісного кодування.

Для цілісного кодування часто використовуються 1-точковий, 2-точковий та однорідний оператори кросинговера.

1-точковий кросинговер працює аналогічно операції перехреста для хромосом при схрещуванні біологічних організмів. І тому вибирається довільна точка розриву й у створення нащадків виробляється обмін частинами батьківських хромосом.

Для оператора 2-точкового кросинговера вибираються 2 випадкові точки розриву, після чого для створення нащадків батьківські хромосоми обмінюються ділянками, що лежать між точками розриву. Зазначимо, що для 2-точкового оператора кросинговеру, початок і кінець хромосоми вважаються «склеєними» внаслідок чого одна з точок розриву може потрапити в початок/кінець хромосом і в такому разі результат роботи 2-точкового кросинговера буде співпадати з результатом роботи 1-точкового кросинговера.

З використанням однорідного оператора кросинговера розряди батьківських хромосом успадковуються незалежно друг від друга. І тому визначають можливість p0, що i-й розряд хромосоми 1-го батька потрапить до першого нащадку, а 2-го батька – до другого нащадку. Імовірність протилежної події дорівнює (1 – p0). Кожен розряд батьківських хромосом «розігрується» відповідно до значення p0 між хромосомами нащадків. Найчастіше ймовірність обох подій однакова, тобто. p0 = 0,5.
29. Опишіть принцип роботи двоточкового кросовера для речового кодування.

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

Оператори кросинговеру характеризуються здатністю до руйнування батьківських хромосом.

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

Іншими словами, здатність цілочисленного кросинговеру до руйнування залежить від того, наскільки сильно він «перемішує» (рекомбінує) вміст батьківських хромосом. Так, 1-точковий кросинговер вважається слаборуйнівним, а однорідний кросинговер у більшості випадків є сильно руйнівним оператором. Відповідно, 2-точковий кросинговер з руйнівної здатності займає проміжну позицію по відношенню до 1-точкового та однорідного операторів кросинговера.

У разі кросинговера для речовинного кодування здатність до руйнування визначається тим, наскільки велика відстань у просторі пошуку між точками, що відповідають хромосомам батьків та нащадків. Таким чином, руйнівний ефект 2 точкового кросинговеру залежить від вмісту батьківських хромосом. Руйнівна здатність арифметичного кросинговера залежить від значення параметра l, наприклад, при l >> 1 та l >> 0, здатність до руйнування буде низькою. Для BLX-a кросинговера руйнівна здатність залежить як від значення a, так і від різниці значень відповідних генів батьківських особин.

Відзначимо, що одночасно зі здатністю до руйнування говорять також про здатність до створення (creation, construction) кросинговером нових особин. Тим самим підкреслюється, що, руйнуючи хромосоми батьківських особин, кросинговер може створити абсолютно нові хромосоми, які раніше не зустрічалися в процесі еволюційного пошуку.
31. Охарактеризуйте канонічний генетичний алгоритм.

Канонічний генетичний алгоритм розроблений Джоном Холландом та описаний у його книзі «Адаптація в природних та штучних системах», 1975 . Представляє одну з базових моделей еволюційного пошуку, детально досліджену у 70-80-х роках 20 століття.

Канонічний ГА має такі характеристики:

Цілочисленне кодування;

Усі хромосоми у популяції мають однакову довжину;

Постійний обсяг популяції;

Рулеткова селекція;

Одноточковий оператор кросинговера;

Бітова мутація;

Нове покоління формується лише з особин-нащадків (розрив поколінь Т = 1).
32. Які ви знаєте моделі уявлення знань?

Найбільш поширеними моделями представлення знань в експертних системах є:


  • модель уявлення знань засобами логіки предикатів першого порядку;

  • продукційна модель;

  • фреймова модель;

  • модель представлення знань у вигляді семантичної мережі;

  • модель представлення знань як дошки оголошень;

  • модель представлення знань як сценарію;

  • модель представлення знань на основі нечіткої логіки;

  • нейромережева модель уявлення знань.
33. Що таке логічна модель знань?

Логічна модель представлення знань полягає в логіці предикатів. Предикатом, або логічною функцією, називається функція від будь-якого числа аргументів, що приймає справжнє чи хибне значення. Аргументи функції – значення з довільної, кінцевої або нескінченної множини
, званого предметною областю Предикат від -Аргументів називають -місцевим предикатом. Для моделі уявлення знань використовується логіка предикатів першого порядку, де заснований Пролог.
34. Із чого складається продукційна система?

Продукційна система – система обробки знань, що використовує уявлення знань продукційними правилами. Продукційні правила - це вирази типу "Якщо (умова) то (дія)". “Умова” – пропозиція зразок, яким здійснюється пошук у основі знань; "Дія" - дія, що виконується при успішному результаті пошуку. Висновок на такій основі знань може бути прямим (від даних до пошуку мети) і зворотним (від мети для підтвердження – до даних). Дані – вихідні факти, які у основі фактів, виходячи з яких запускається машина виведення чи інтерпретатор правил, перебирає правила з продукційної бази знань.

До складу продукційної системи входять база правил, база даних та інтерпретатор правил. База правил – це область пам'яті, що містить основу знань – сукупність знань, представлених у формі правил виду ЯКЩО … ТО; база даних – це область пам'яті, що містить фактичні дані (факти). Інтерпретатор – механізм виведення, це компонент системи, який формує висновок, використовуючи базу правил і базу даних.
35. Охарактеризуйте модель уявлення знань як фреймів

У фреймовій системі одиницею уявлення знань є об'єкт, званий фреймом. Фрейм – форма уявлення певної ситуації, яку можна описувати деякою сукупністю понять та сутностей. Як ідентифікатор кадру присвоюється ім'я. Це ім'я має бути єдиним у всій фреймовій системі. Фрейм має певну внутрішню структуру, що складається з безлічі елементів, які називаються слотами, яким також надаються імена. Кожен слот, своєю чергою, представляється певної структурою даних. Іноді слот включає компонент, званий фасетом, який визначає діапазон або перелік його можливих значень. Фасет вказує також граничні значення заповнювача слота (наприклад, максимально допустима кількість братів


36. Як здійснюється уявлення знань у семантичній мережі?

Семантична мережа представляє знання як графа, вузли якого відповідають фактам чи поняттям, а дуги – відносини між поняттями. Граф є безліч вершин і безліч дуг, що з'єднують деякі пари вершин. Розмічений граф кожної вершини містить дескриптори (мітки), завдяки яким вершини графа відрізняються між собою. Для графа простору станів дескриптори ідентифікують стан у процесі розв'язання задачі. Мітки дуг у семантичних мережах використовуються завдання іменованих відносин.
37. Опишіть архітектуру експертних систем

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

Інформація, що міститься в базі знань, обробляється за допомогою машини виводу, яка використовує емпіричні асоціації або правила «ЯКЩО … ТО» для формування та перевірки можливих рішень. Інтерфейс користувача у доступній формі передає отримані результати оператору.

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

38. Опишіть функції машини (механізму) виводу

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


    • порівнює інформацію, що міститься у запиті користувача, з інформацією бази знань;

    • шукає певних цілей або причинних зв'язків;

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

На етапі ідентифікації визначаються завдання, що підлягають вирішенню, виявляються цілі розробки, ресурси, експерти та категорії користувачів.

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

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

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

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

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

Процес створення ЕС не зводиться до дотримання суворої послідовності перерахованих вище етапів. У результаті розробки доводиться неодноразово повертатися більш ранні етапи і переглядати прийняті рішення.


сторінка 1

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

Асоціативна теорія пам'яті

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

У той самий час, з своїх принципів, кожна з теорій пам'яті по-своєму пояснює суть і закономірності цього процесу.

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

Було виявлено деякі закономірності, на основі яких утворюються асоціації:

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

— За схожістю. Помічали, що, наприклад, деякі люди нагадують когось? Може, Вам траплялося, глянувши на незнайому людину, знайти в ньому якийсь «типаж» або виявити, що її риси (особа, манера поведінки, постави тощо) Вам запам'ятаються, оскільки вона схожа на…? Наприклад, незграбний, кудлатий, з ходою, що перевалюється, - як ведмідь; маленька, непоказна, полохлива і беззахисна на вигляд - як горобець; яскравий, важливий, з розправленими плечима та повільними важливими рухами – як павич.

- За контрастом. Нам дуже легко асоціювати «біле – чорне», «добрий – злий», «товстий – худий». Їх теж виробляє наша асоціативна пам'ять та використовує для закріплення образу. І тут сприймаються образи витягують із свідомості протилежні уявлення. Так, зіткнувшись із роздратованою сусідкою, Ви згадуєте, якою спокійною здається її сестра.

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

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

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

1. Підготуйте 2 аркуші паперу та ручку. На 1 аркуші в стовпчик по вертикалі впишіть усі натуральні числа від 1 до 100.

2. Виберіть будь-які 10-15 з них, з якими у Вас пов'язані стійкі асоціації, та випишіть їх у довільному порядку на 2 аркуші. Наприклад, 8 – сніговик, 17 – номер Вашої улюбленої маршрутки, 18 – вік повноліття у країні, де Ви живете (якщо це), тощо. Після того, як закінчите роботу, зачекайте 5-7 хвилин, візьміть 1 листок з числами та запишіть усі події, які запам'ятали, навпроти відповідного числа.

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

4. Коли весь список чисел буде заповнено, перевірте себе, вказавши усі асоціації, пов'язані з числами від 1 до 100.

Крім того, що потренували пам'ять, Ви створили додаткові асоціації, які допоможуть за необхідності запам'ятовувати коди, номери телефонів тощо. Просто намагайтеся використовувати свої особисті асоціації, не боячись залучати образи. Наприклад, 40 можна запам'ятати, представивши 4 як квадрат, «телевізор» та 0 як вписаний у нього коло, «колобок». Вийде смішна асоціація «колобок у телевізорі». Придумайте свої асоціації, прийнятні для Вас.

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

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

Бажаємо Вам успіхів у саморозвитку!

Фото: Laurelville - Camp & Retreat Center