Ієра́рхія па́м'яті — термін, який використовується в обчислювальній техніці при і низькорівневому програмуванні ЕОМ (комп'ютерів).
Означає, що різні види пам'яті утворюють ієрархію, на різних рівнях якої розташовані пам'яті з різними часом доступу, складністю, вартістю та обсягом. Можливість побудови ієрархії пам'яті викликана тим, що більшість алгоритмів звертаються в кожний проміжок часу до невеликого набору даних, який може бути поміщений у швидшу, але дорожчу і тому невелику, пам'ять (див. [en]). Використання швидшої пам'яті збільшує продуктивність обчислювального комплексу. Під пам'яттю в даному разі мається на увазі пристрій (пристрої) зберігання даних в обчислювальній техніці або комп'ютерна пам'ять.
При проектуванні високопродуктивних комп'ютерів і систем необхідно розв'язати багато компромісів, таких як розміри і технології для кожного рівня ієрархії. Можна розглядати набір різних типів пам'яті (m1,m2,…,mn), які знаходяться в ієрархії, тобто кожен mi рівень є підлеглим для mi+1 рівня ієрархії. Для зменшення часу очікування на вищих рівнях, нижчі рівні можуть готувати дані укрупненими частинами з буферизацією і, після наповнення буфера, сигналізувати верхньому рівню про можливість отримання даних.
Часто виділяють 4 основних (укрупнених) рівня ієрархії:
- Внутрішня пам'ять процесора (регістри, організовані в регістровий файл і кеш процесора).
- Основний — оперативна пам'ять системи (англ. RAM) і допоміжних карт пам'яті.
- Накопичувачі з «гарячим» доступом (англ. On-line mass storage) — або вторинна комп'ютерна пам'ять. Жорсткі диски і твердотільні накопичувачі, які не потребують тривалих (секунди і більше) дій для початку отримання даних.
- Накопичувачі, що вимагають переключення носіїв (англ. Off-line bulk storage) — або третинна пам'ять. Сюди відносяться магнітні стрічки, стрічкові і дискові бібліотеки, які потребують тривалого перемотування або механічного (або ручного) перемикання носіїв інформації.
Ієрархія пам'яті в сучасних ПК
У більшості сучасних ПК розглядається наступна ієрархія пам'яті:
- Регістри процесора, організовані в регістровий файл — найбільш швидкий доступ (близько 1 такту), але розміром лише в декілька сотень або, рідко, тисяч байт.
- Кеш процесора 1го рівня (L1) — час доступу порядку декількох тактів, розміром в десятки кілобайт.
- Кеш процесора 2го рівня (L2) — більший час доступу (від 2 до 10 разів повільніше L1), близько половини мегабайта або більше.
- Кеш процесора третього рівня (L3) — час доступу близько сотні тактів, розміром в декілька мегабайт (у масових процесорах використовується з недавнього часу).
- ОЗП системи — час доступу від сотень до, можливо, тисячі тактів, але величезні розміри в кілька гігабайт, аж до десятків. Час доступу до оперативної пам'яті може змінюватись для різних його частин у випадку комплексів класу NUMA (з неоднорідним доступом в пам'ять).
- — багато мільйонів тактів, якщо дані не були розміщені у кеші або буфері заздалегідь, розміри до декількох терабайт.
- Третинна пам'ять — затримки до декількох секунд або хвилин, але практично необмежені обсяги ().
Більшість програмістів звичайно припускає, що пам'ять ділиться на два рівні, оперативну пам'ять і дискові накопичувачі, хоча в ассемблерних мовах і ассемблерно-сумісних (типу C) існує можливість безпосередньої роботи з регістрами. Отримання переваг від ієрархії пам'яті вимагає спільних дій від програміста, апаратури і компіляторів (а також базова підтримка в операційній системі):
- Програмісти відповідають за організацію передачі даних між дисками і оперативною пам'яттю, використовуючи для цього файловий ввід-вивід.
- Апаратне забезпечення відповідає за організацію передачі даних між пам'яттю і кешами.
- Оптимізувальний компілятор відповідає за генерацію коду, при виконанні якого апаратура ефективно використовує регістри і кеш процесора.
Багато програмістів не враховують багаторівневість пам'яті при програмуванні. Цей підхід працює поки застосунок не зіткнеться з падінням продуктивності через насичення підсистеми пам'яті (англ. memory wall). При виправленні коду (рефакторинг) необхідно врахувати наявність і особливість роботи верхніх рівнів ієрархії пам'яті для досягнення найвищої продуктивності.
Джерела
- Михайло Гук. «Апаратні засоби IBM PC». Санкт-Петербург, 1998.
Це незавершена стаття про інформаційні технології. Ви можете проєкту, виправивши або дописавши її. |
Ця стаття має кілька недоліків. Будь ласка, допоможіть удосконалити її або обговоріть ці проблеми на .
|
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Iyera rhiya pa m yati termin yakij vikoristovuyetsya v obchislyuvalnij tehnici pri i nizkorivnevomu programuvanni EOM komp yuteriv Diagrama iyerarhiyi komp yuternoyi pam yati Oznachaye sho rizni vidi pam yati utvoryuyut iyerarhiyu na riznih rivnyah yakoyi roztashovani pam yati z riznimi chasom dostupu skladnistyu vartistyu ta obsyagom Mozhlivist pobudovi iyerarhiyi pam yati viklikana tim sho bilshist algoritmiv zvertayutsya v kozhnij promizhok chasu do nevelikogo naboru danih yakij mozhe buti pomishenij u shvidshu ale dorozhchu i tomu neveliku pam yat div en Vikoristannya shvidshoyi pam yati zbilshuye produktivnist obchislyuvalnogo kompleksu Pid pam yattyu v danomu razi mayetsya na uvazi pristrij pristroyi zberigannya danih v obchislyuvalnij tehnici abo komp yuterna pam yat Pri proektuvanni visokoproduktivnih komp yuteriv i sistem neobhidno rozv yazati bagato kompromisiv takih yak rozmiri i tehnologiyi dlya kozhnogo rivnya iyerarhiyi Mozhna rozglyadati nabir riznih tipiv pam yati m1 m2 mn yaki znahodyatsya v iyerarhiyi tobto kozhen mi riven ye pidleglim dlya mi 1 rivnya iyerarhiyi Dlya zmenshennya chasu ochikuvannya na vishih rivnyah nizhchi rivni mozhut gotuvati dani ukrupnenimi chastinami z buferizaciyeyu i pislya napovnennya bufera signalizuvati verhnomu rivnyu pro mozhlivist otrimannya danih Chasto vidilyayut 4 osnovnih ukrupnenih rivnya iyerarhiyi Vnutrishnya pam yat procesora registri organizovani v registrovij fajl i kesh procesora Osnovnij operativna pam yat sistemi angl RAM i dopomizhnih kart pam yati Nakopichuvachi z garyachim dostupom angl On line mass storage abo vtorinna komp yuterna pam yat Zhorstki diski i tverdotilni nakopichuvachi yaki ne potrebuyut trivalih sekundi i bilshe dij dlya pochatku otrimannya danih Nakopichuvachi sho vimagayut pereklyuchennya nosiyiv angl Off line bulk storage abo tretinna pam yat Syudi vidnosyatsya magnitni strichki strichkovi i diskovi biblioteki yaki potrebuyut trivalogo peremotuvannya abo mehanichnogo abo ruchnogo peremikannya nosiyiv informaciyi Iyerarhiya pam yati v suchasnih PKU bilshosti suchasnih PK rozglyadayetsya nastupna iyerarhiya pam yati Registri procesora organizovani v registrovij fajl najbilsh shvidkij dostup blizko 1 taktu ale rozmirom lishe v dekilka soten abo ridko tisyach bajt Kesh procesora 1go rivnya L1 chas dostupu poryadku dekilkoh taktiv rozmirom v desyatki kilobajt Kesh procesora 2go rivnya L2 bilshij chas dostupu vid 2 do 10 raziv povilnishe L1 blizko polovini megabajta abo bilshe Kesh procesora tretogo rivnya L3 chas dostupu blizko sotni taktiv rozmirom v dekilka megabajt u masovih procesorah vikoristovuyetsya z nedavnogo chasu OZP sistemi chas dostupu vid soten do mozhlivo tisyachi taktiv ale velichezni rozmiri v kilka gigabajt azh do desyatkiv Chas dostupu do operativnoyi pam yati mozhe zminyuvatis dlya riznih jogo chastin u vipadku kompleksiv klasu NUMA z neodnoridnim dostupom v pam yat bagato miljoniv taktiv yaksho dani ne buli rozmisheni u keshi abo buferi zazdalegid rozmiri do dekilkoh terabajt Tretinna pam yat zatrimki do dekilkoh sekund abo hvilin ale praktichno neobmezheni obsyagi Bilshist programistiv zvichajno pripuskaye sho pam yat dilitsya na dva rivni operativnu pam yat i diskovi nakopichuvachi hocha v assemblernih movah i assemblerno sumisnih tipu C isnuye mozhlivist bezposerednoyi roboti z registrami Otrimannya perevag vid iyerarhiyi pam yati vimagaye spilnih dij vid programista aparaturi i kompilyatoriv a takozh bazova pidtrimka v operacijnij sistemi Programisti vidpovidayut za organizaciyu peredachi danih mizh diskami i operativnoyu pam yattyu vikoristovuyuchi dlya cogo fajlovij vvid vivid Aparatne zabezpechennya vidpovidaye za organizaciyu peredachi danih mizh pam yattyu i keshami Optimizuvalnij kompilyator vidpovidaye za generaciyu kodu pri vikonanni yakogo aparatura efektivno vikoristovuye registri i kesh procesora Bagato programistiv ne vrahovuyut bagatorivnevist pam yati pri programuvanni Cej pidhid pracyuye poki zastosunok ne zitknetsya z padinnyam produktivnosti cherez nasichennya pidsistemi pam yati angl memory wall Pri vipravlenni kodu refaktoring neobhidno vrahuvati nayavnist i osoblivist roboti verhnih rivniv iyerarhiyi pam yati dlya dosyagnennya najvishoyi produktivnosti DzherelaMihajlo Guk Aparatni zasobi IBM PC Sankt Peterburg 1998 Ce nezavershena stattya pro informacijni tehnologiyi Vi mozhete dopomogti proyektu vipravivshi abo dopisavshi yiyi Cya stattya maye kilka nedolikiv Bud laska dopomozhit udoskonaliti yiyi abo obgovorit ci problemi na storinci obgovorennya Cya stattya mistit tekst sho ne vidpovidaye enciklopedichnomu stilyu Bud laska dopomozhit udoskonaliti cyu stattyu pogodivshi stil vikladu zi stilistichnimi pravilami Vikipediyi Mozhlivo storinka obgovorennya mistit zauvazhennya shodo potribnih zmin berezen 2018 Cyu stattyu treba vikifikuvati dlya vidpovidnosti standartam yakosti Vikipediyi Bud laska dopomozhit dodavannyam dorechnih vnutrishnih posilan abo vdoskonalennyam rozmitki statti berezen 2018 Cya stattya ne mistit posilan na dzherela Vi mozhete dopomogti polipshiti cyu stattyu dodavshi posilannya na nadijni avtoritetni dzherela Material bez dzherel mozhe buti piddano sumnivu ta vilucheno berezen 2018