Memorijska hijerarhija je hijerarhija memorije i uređaja za pohranu koji se nalaze u računalu. Često vizualiziran kao trokut, dno trokuta predstavlja veće, jeftinije i sporije uređaje za pohranu podataka, dok vrh trokuta predstavlja manje, skuplje i brže uređaje za pohranu podataka. Ovo se često koristi u teoriji i dizajnu računanja, tako da programeri znaju kako upravljati različitim memorijskim sustavima prilikom izrade računala. Znajući kako manipulirati ovom hijerarhijom, programeri mogu izgraditi brža računala.
Trokut memorijske hijerarhije je tehnika vizualizacije koja pomaže potrošačima i programerima razumjeti kako memorija funkcionira. Na dnu se nalaze jeftini uređaji za pohranu s velikom količinom memorije, poput tvrdog diska ili magnetske vrpce. Više se nalazi memorija s slučajnim pristupom (RAM) srednjeg kapaciteta i brzine. Na vrhu se nalazi cache i procesori, koji su vrlo brzi, ali imaju male kapacitete. Trokut je prvenstveno organiziran prema vremenu odziva, ali postoji i korelacija između čimbenika kao što su veličina, kapacitet memorije i cijena.
Prilikom izrade računala, programer mora imati na umu trokut hijerarhije memorije. Dok se dijelovima trokuta može manipulirati, pomicanje dijelova uokolo je strogo protivno pravilima. Na primjer, programer bi mogao prebaciti ulogu tvrdog diska na ulogu RAM-a. Ako se to dogodi, računalo bi bilo vrlo sporo pri učitavanju neposrednih informacija kao što su datoteke i web-mjesta, te bi moglo zadržati malo podataka za dugotrajnu pohranu, što bi računalo učinilo gotovo beskorisnim. Zamjena dijelova trokuta nije ispravan način za maksimiziranje potencijala računala.
Manipuliranje trokutom na pravi način je način na koji programeri povećavaju učinkovitost računala. Na primjer, ako su jedinice za pohranu napravljene tako da budu vrlo jednostavne, manje veličine i složenosti, hijerarhija memorije funkcionira bolje. Također, ako programeri to mogu učiniti tako da se informacije mogu obraditi u višim dijelovima hijerarhije, na primjer, korištenjem procesora umjesto RAM-a, tada se računalo kreće brže. Ovo ne pomiče odjeljke, već ih samo optimizira.
Iako je vizualizacija hijerarhije memorije vrlo jednostavna, a memorijom se može manipulirati da ide u različite odjeljke, teško je točno znati gdje će se memorija pohraniti ili koristiti. Programeri moraju procijeniti ovaj faktor, jer će nekoliko različitih jedinica općenito obraditi memoriju odjednom, ili memorija može ići iz jednog odjeljka u drugi. Dobro napravljeni programi obično će moći predvidjeti gdje će memorija biti pohranjena ili obrađena, ali postoji slučajni čimbenik koji programeri ne mogu uvijek uzeti u obzir, zbog čega je hijerarhija memorije mnogo fluidnija nego što vizualizacija trokuta čini.