Википедия

Иерархия памяти

Иерархия компьютерной памяти — концепция построения взаимосвязи классов разных уровней компьютерной памяти на основе иерархической структуры.

image
Пирамида иерархии памяти. По левой грани обозначены размер и ёмкость, по центру — требование постоянного электропитания и длительность хранения, справа — пример памяти данного уровня, скорость и стоимость.
image
Иерархия памяти (быстродействие и объём)
image
Иерархия оперативной памяти реализуемая в вычислительной системе на базе процессора Intel486
image
Построение дискового массива

Сущность необходимости построения иерархической памяти — необходимость обеспечения вычислительной системы (отдельного компьютера или кластера) достаточным объёмом памяти, как оперативной, так и постоянной.

Учитывая неоднородность периодичности обращения к конкретным записям (внутренним регистрам процессора, кэш-памяти, страницам и файлам) применяются различные технические решения, имеющие отличные характеристики, как технические так ценовые и массо-габаритные. Долговременное хранение в дорогой сверхоперативной и даже оперативной памяти, как правило, не выгодно, поэтому данные такого рода хранятся на накопителях — дисковых, ленточных, флеш и т. д.

Для обеспечения резервирования данных, например с целью сохранности, пользователи могут создавать библиотеки на съёмных носителях (например, виртуальная ленточная библиотека или дисковый массив), наполняя их своими файлами различных форматов. Доступ к этим данным занимает самое большое время, но при этом их ёмкость огромна.

В основном, техническими характеристиками служат временные, то есть каким временным критериям устраивает конкретное решение. Потребность в скоростной памяти, как правило лимитируется либо высокими накладными расходами по обеспечению работы схем, либо высоким энергопотреблением либо высокой стоимостью решения.

Различные виды памяти образуют иерархию, на различных уровнях которой расположены памяти с отличающимися временем доступа, сложностью, стоимостью и объёмом. Возможность построения иерархии памяти вызвана тем, что большинство алгоритмов обращаются в каждый промежуток времени к небольшому набору данных, который может быть помещен в более быструю, но дорогую и поэтому небольшую, память (см. en:locality of reference). Использование более быстрой памяти увеличивает производительность вычислительного комплекса. Под памятью в данном случае подразумевается устройство хранения данных (запоминающее устройство) в вычислительной технике или компьютерная память.

При проектировании высокопроизводительных компьютеров и систем необходимо решить множество компромиссов, например, размеры и технологии для каждого уровня иерархии. Можно рассматривать набор различных памятей (m1,m2,…,mn), находящихся в иерархии, то есть каждый mi уровень является как бы подчиненным для mi-1 уровня иерархии. Для уменьшения времени ожидания на более высоких уровнях, низшие уровни могут подготавливать данные укрупненными частями с буферизацией и, по наполнению буфера, сигнализировать верхнему уровню о возможности получения данных.

Часто выделяют 4 основных (укрупнённых) уровня иерархии:

  1. Внутренняя память процессора (регистры, организованные в регистровый файл и кэш процессора).
  2. ОЗУ системы (RAM) и вспомогательных карт памяти.
  3. Накопители с «горячим» доступом (On-line mass storage) — или вторичная компьютерная память. Жесткие диски и твердотельные накопители, не требующие длительных (секунды и больше) действий для начала получения данных.
  4. Накопители, требующие переключения носителей (Off-line bulk storage) — или третичная память. Сюда относятся магнитные ленты, ленточные и дисковые библиотеки, требующие длительной перемотки либо механического (или ручного) переключения носителей информации.

В большинстве современных ПК используется следующая иерархия памяти:

  1. Регистры процессора, организованные в регистровый файл — наиболее быстрый доступ (порядка 1 такта), но размером лишь в несколько сотен или, редко, тысяч байт.
  2. Кэш процессора 1го уровня (L1) — время доступа порядка нескольких тактов, размером в десятки килобайт
  3. Кэш процессора 2го уровня (L2) — большее время доступа (от 2 до 10 раз медленнее L1), около полумегабайта или более
  4. Кэш процессора 3го уровня (L3) — время доступа около сотни тактов, размером от нескольких мегабайт до сотен
  5. Кэш процессора 4го уровня (L4) — время доступа несколько сотен тактов, размером одну-несколько сотен мегабайт. Применялся в процессорах Intel 5го поколения
  6. ОЗУ системы — время доступа от сотен до, возможно, тысячи тактов, но огромные размеры, от нескольких гигабайт до нескольких терабайт. Время доступа к ОЗУ может варьироваться для разных его частей в случае комплексов класса NUMA (с неоднородным доступом в память)
  7. Дисковое хранилище — многие миллионы тактов, если данные не были закэшированны или забуферизованны заранее, размеры до нескольких терабайт
  8. Третичная память — задержки до нескольких секунд или минут, но практически неограниченные объёмы (ленточные библиотеки).

Большинство программистов обычно предполагает, что память делится на два уровня, оперативную память и дисковые накопители, хотя в ассемблерных языках и ассемблерно-совместимых (типа C) существует возможность непосредственной работы с регистрами. Получение преимуществ от иерархии памяти требует совместных действий от программиста, аппаратуры и компиляторов (а также базовая поддержка в операционной системе):

  • Программисты отвечают за организацию передачи данных между дисками и памятью (ОЗУ), используя для этого файловый ввод-вывод; Современные ОС также реализуют это как подкачку страниц.
  • Аппаратное обеспечение отвечает за организацию передачи данных между памятью и кэшами.
  • Оптимизирующие компиляторы отвечают за генерацию кода, при исполнении которого аппаратура эффективно использует регистры и кэш процессора.

Многие программисты не учитывают многоуровневость памяти при программировании. Этот подход работает пока приложение не столкнется с падением производительности из-за нехватки производительности подсистемы памяти. При исправлении кода (рефакторинг) необходимо учесть наличие и особенность работы верхних уровней иерархии памяти для достижения наивысшей производительности.

См. также

Литература

  • Михаил Гук «Аппаратные средства IBM PC» Санкт-Петербург 1998
  • Memory Hierarchy Design — Part 1. Basics of Memory Hierarchies, John L. Hennessy, 2012

Примечания

  1. Ty, Wing; Zee, Benjamin. Computer Hardware/Software Architecture (неопр.). — Bell Telephone Laboratories, Inc, 1986. — С. 30. — ISBN 0-13-163502-6.

Википедия, чтение, книга, библиотека, поиск, нажмите, истории, книги, статьи, wikipedia, учить, информация, история, скачать, скачать бесплатно, mp3, видео, mp4, 3gp, jpg, jpeg, gif, png, картинка, музыка, песня, фильм, игра, игры, мобильный, телефон, Android, iOS, apple, мобильный телефон, Samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Сеть, компьютер, Информация о Иерархия памяти, Что такое Иерархия памяти? Что означает Иерархия памяти?

Ierarhiya kompyuternoj pamyati koncepciya postroeniya vzaimosvyazi klassov raznyh urovnej kompyuternoj pamyati na osnove ierarhicheskoj struktury Piramida ierarhii pamyati Po levoj grani oboznacheny razmer i yomkost po centru trebovanie postoyannogo elektropitaniya i dlitelnost hraneniya sprava primer pamyati dannogo urovnya skorost i stoimost Ierarhiya pamyati bystrodejstvie i obyom Ierarhiya operativnoj pamyati realizuemaya v vychislitelnoj sisteme na baze processora Intel486Postroenie diskovogo massiva Sushnost neobhodimosti postroeniya ierarhicheskoj pamyati neobhodimost obespecheniya vychislitelnoj sistemy otdelnogo kompyutera ili klastera dostatochnym obyomom pamyati kak operativnoj tak i postoyannoj Uchityvaya neodnorodnost periodichnosti obrasheniya k konkretnym zapisyam vnutrennim registram processora kesh pamyati stranicam i fajlam primenyayutsya razlichnye tehnicheskie resheniya imeyushie otlichnye harakteristiki kak tehnicheskie tak cenovye i masso gabaritnye Dolgovremennoe hranenie v dorogoj sverhoperativnoj i dazhe operativnoj pamyati kak pravilo ne vygodno poetomu dannye takogo roda hranyatsya na nakopitelyah diskovyh lentochnyh flesh i t d Dlya obespecheniya rezervirovaniya dannyh naprimer s celyu sohrannosti polzovateli mogut sozdavat biblioteki na syomnyh nositelyah naprimer virtualnaya lentochnaya biblioteka ili diskovyj massiv napolnyaya ih svoimi fajlami razlichnyh formatov Dostup k etim dannym zanimaet samoe bolshoe vremya no pri etom ih yomkost ogromna V osnovnom tehnicheskimi harakteristikami sluzhat vremennye to est kakim vremennym kriteriyam ustraivaet konkretnoe reshenie Potrebnost v skorostnoj pamyati kak pravilo limitiruetsya libo vysokimi nakladnymi rashodami po obespecheniyu raboty shem libo vysokim energopotrebleniem libo vysokoj stoimostyu resheniya Razlichnye vidy pamyati obrazuyut ierarhiyu na razlichnyh urovnyah kotoroj raspolozheny pamyati s otlichayushimisya vremenem dostupa slozhnostyu stoimostyu i obyomom Vozmozhnost postroeniya ierarhii pamyati vyzvana tem chto bolshinstvo algoritmov obrashayutsya v kazhdyj promezhutok vremeni k nebolshomu naboru dannyh kotoryj mozhet byt pomeshen v bolee bystruyu no doroguyu i poetomu nebolshuyu pamyat sm en locality of reference Ispolzovanie bolee bystroj pamyati uvelichivaet proizvoditelnost vychislitelnogo kompleksa Pod pamyatyu v dannom sluchae podrazumevaetsya ustrojstvo hraneniya dannyh zapominayushee ustrojstvo v vychislitelnoj tehnike ili kompyuternaya pamyat Pri proektirovanii vysokoproizvoditelnyh kompyuterov i sistem neobhodimo reshit mnozhestvo kompromissov naprimer razmery i tehnologii dlya kazhdogo urovnya ierarhii Mozhno rassmatrivat nabor razlichnyh pamyatej m1 m2 mn nahodyashihsya v ierarhii to est kazhdyj mi uroven yavlyaetsya kak by podchinennym dlya mi 1 urovnya ierarhii Dlya umensheniya vremeni ozhidaniya na bolee vysokih urovnyah nizshie urovni mogut podgotavlivat dannye ukrupnennymi chastyami s buferizaciej i po napolneniyu bufera signalizirovat verhnemu urovnyu o vozmozhnosti polucheniya dannyh Chasto vydelyayut 4 osnovnyh ukrupnyonnyh urovnya ierarhii Vnutrennyaya pamyat processora registry organizovannye v registrovyj fajl i kesh processora OZU sistemy RAM i vspomogatelnyh kart pamyati Nakopiteli s goryachim dostupom On line mass storage ili vtorichnaya kompyuternaya pamyat Zhestkie diski i tverdotelnye nakopiteli ne trebuyushie dlitelnyh sekundy i bolshe dejstvij dlya nachala polucheniya dannyh Nakopiteli trebuyushie pereklyucheniya nositelej Off line bulk storage ili tretichnaya pamyat Syuda otnosyatsya magnitnye lenty lentochnye i diskovye biblioteki trebuyushie dlitelnoj peremotki libo mehanicheskogo ili ruchnogo pereklyucheniya nositelej informacii V bolshinstve sovremennyh PK ispolzuetsya sleduyushaya ierarhiya pamyati Registry processora organizovannye v registrovyj fajl naibolee bystryj dostup poryadka 1 takta no razmerom lish v neskolko soten ili redko tysyach bajt Kesh processora 1go urovnya L1 vremya dostupa poryadka neskolkih taktov razmerom v desyatki kilobajt Kesh processora 2go urovnya L2 bolshee vremya dostupa ot 2 do 10 raz medlennee L1 okolo polumegabajta ili bolee Kesh processora 3go urovnya L3 vremya dostupa okolo sotni taktov razmerom ot neskolkih megabajt do soten Kesh processora 4go urovnya L4 vremya dostupa neskolko soten taktov razmerom odnu neskolko soten megabajt Primenyalsya v processorah Intel 5go pokoleniya OZU sistemy vremya dostupa ot soten do vozmozhno tysyachi taktov no ogromnye razmery ot neskolkih gigabajt do neskolkih terabajt Vremya dostupa k OZU mozhet varirovatsya dlya raznyh ego chastej v sluchae kompleksov klassa NUMA s neodnorodnym dostupom v pamyat Diskovoe hranilishe mnogie milliony taktov esli dannye ne byli zakeshirovanny ili zabuferizovanny zaranee razmery do neskolkih terabajt Tretichnaya pamyat zaderzhki do neskolkih sekund ili minut no prakticheski neogranichennye obyomy lentochnye biblioteki Bolshinstvo programmistov obychno predpolagaet chto pamyat delitsya na dva urovnya operativnuyu pamyat i diskovye nakopiteli hotya v assemblernyh yazykah i assemblerno sovmestimyh tipa C sushestvuet vozmozhnost neposredstvennoj raboty s registrami Poluchenie preimushestv ot ierarhii pamyati trebuet sovmestnyh dejstvij ot programmista apparatury i kompilyatorov a takzhe bazovaya podderzhka v operacionnoj sisteme Programmisty otvechayut za organizaciyu peredachi dannyh mezhdu diskami i pamyatyu OZU ispolzuya dlya etogo fajlovyj vvod vyvod Sovremennye OS takzhe realizuyut eto kak podkachku stranic Apparatnoe obespechenie otvechaet za organizaciyu peredachi dannyh mezhdu pamyatyu i keshami Optimiziruyushie kompilyatory otvechayut za generaciyu koda pri ispolnenii kotorogo apparatura effektivno ispolzuet registry i kesh processora Mnogie programmisty ne uchityvayut mnogourovnevost pamyati pri programmirovanii Etot podhod rabotaet poka prilozhenie ne stolknetsya s padeniem proizvoditelnosti iz za nehvatki proizvoditelnosti podsistemy pamyati Pri ispravlenii koda refaktoring neobhodimo uchest nalichie i osobennost raboty verhnih urovnej ierarhii pamyati dlya dostizheniya naivysshej proizvoditelnosti Sm takzheVirtualnaya pamyat Kompyuternaya pamyat Zapominayushee ustrojstvo Ierarhicheskoe upravlenie nositelyami Registr processora Registrovyj fajl Kesh Kesh processora Operativnaya pamyat Zapominayushee ustrojstvo s proizvolnym dostupom Diskovyj massiv Pryamoj dostup k pamyati Zhyostkij disk Elektronnyj diskLiteraturaMihail Guk Apparatnye sredstva IBM PC Sankt Peterburg 1998 Memory Hierarchy Design Part 1 Basics of Memory Hierarchies John L Hennessy 2012PrimechaniyaTy Wing Zee Benjamin Computer Hardware Software Architecture neopr Bell Telephone Laboratories Inc 1986 S 30 ISBN 0 13 163502 6

NiNa.Az

NiNa.Az - Абсолютно бесплатная система, которая делится для вас информацией и контентом 24 часа в сутки.
Взгляните
Закрыто