Hvad er hukommelseshierarki?
Hukommelseshierarki er hierarkiet af hukommelse og lagerenheder, der findes på en computer. Ofte visualiseret som en trekant, repræsenterer bunden af trekanten større, billigere og langsommere lagerenheder, mens toppen af trekanten repræsenterer mindre, dyrere og hurtigere lagerenheder. Dette bruges ofte i beregningsteori og design, så programmerere ved, hvordan de styrer de forskellige hukommelsessystemer, når de bygger en computer. Ved at vide, hvordan man manipulerer hukommelseshierarkiet, kan programmerere bygge hurtigere computere.
Hukommelseshierarkitrekanten er en visualiseringsteknik, der hjælper forbrugere og programmerere med at forstå, hvordan hukommelsen fungerer. I bunden er der billige lagringsenheder med store mængder hukommelse, f.eks. Harddisken eller magnetbånd. Højere op er der RAM-hukommelse (random access) (RAM), der har medium kapacitet og hastighed. Øverst hviler cache og processorer, som begge er meget hurtige, men har små kapaciteter. Trekanten er primært organiseret efter responstid, men der er også en sammenhæng mellem faktorer som størrelse, hukommelseskapacitet og pris.
Når man bygger en computer, skal programmereren have hukommelseshierarkitrekanten i tankerne. Mens dele af trekanten kan manipuleres, er bevægelse af sektioner strengt imod reglerne. For eksempel kan en programmerer skifte harddiskens rolle til RAM-rollen. Hvis dette sker, vil computeren være meget langsom, når der indlæses øjeblikkelige oplysninger, såsom filer og websteder, og ville være i stand til at indeholde lidt data til langtidsopbevaring, hvilket gør computeren næsten ubrugelig. Det er ikke den rigtige måde at maksimere en computers potentiale ved at skifte dele af trekanten.
Manipulering af trekanten på den rigtige måde er, hvordan programmerere øger en computers effektivitet. For eksempel, hvis lagringsenhederne er lavet til at være meget enkle med mindre størrelse og kompleksitet, fungerer hukommelseshierarkiet bedre. Hvis programmerere også kan gøre det, så information kan behandles i højere sektioner i hukommelseshierarkiet, f.eks. Ved hjælp af processoren i stedet for RAM, bevæger computeren sig hurtigere. Dette flytter ikke sektionerne rundt, det optimerer dem kun.
Selvom visualisering af hukommelseshierarkiet er meget enkelt, og hukommelsen kan manipuleres til at gå i forskellige sektioner, er det vanskeligt at vide nøjagtigt, hvor hukommelsen vil blive gemt eller brugt. Programmerere skal estimere denne faktor, fordi flere forskellige enheder generelt vil behandle hukommelsen på én gang, eller hukommelsen kan gå fra et afsnit til et andet. Vellavede programmer vil typisk være i stand til at forudse, hvor hukommelsen vil blive gemt eller behandlet, men der er en tilfældig faktor, som programmerere ikke altid kan redegøre for, hvilket er grunden til, at hukommelseshierarkiet er meget mere flydende end visualisering af trekanten får det til at se ud.