Datamaskinens historie – hurtigbufferminne del 1 av 2

Av | mai 18, 2022

Vi så på det tidlige digitale datamaskinminnet, se History of the computer – Core Memory, og nevnte at dagens standard RAM (Random Access Memory) er brikkeminne. Dette samsvarer med den ofte siterte anvendelsen av Moores lov (Gordon Moore var en av grunnleggerne av Intel). Den sier at komponenttettheten på integrerte kretser, som kan omskrives som ytelse per enhetskostnad, dobles hver 18. måned. Tidlig kjerneminne hadde syklustider i mikrosekunder, i dag snakker vi i nanosekunder.

Du er kanskje kjent med begrepet cache, som brukes på PC-er. Det er en av ytelsesfunksjonene som er nevnt når man snakker om den nyeste CPU, eller harddisk. Du kan ha L1 eller L2 cache på prosessoren, og diskcache i forskjellige størrelser. Noen programmer har også cache, også kjent som buffer, for eksempel når du skriver data til en CD-brenner. Tidlige CD-brennerprogrammer hadde «overskridelser». Sluttresultatet av disse ble en god tilgang på dalbaner!

Mainframe-systemer har brukt cache i mange år. Konseptet ble populært på 1970-tallet som en måte å øke hastigheten på minnetilgang. Dette var tiden da kjerneminne ble faset ut og erstattet med integrerte kretser, eller brikker. Selv om brikkene var mye mer effektive med tanke på fysisk plass, hadde de andre problemer med pålitelighet og varmeutvikling. Chips av en bestemt design var raskere, varmere og dyrere enn chips av en annen design, som var billigere, men tregere. Hastighet har alltid vært en av de viktigste faktorene i datasalg, og designingeniører har alltid vært på utkikk etter måter å forbedre ytelsen på.

Konseptet med hurtigbufferminne er basert på det faktum at en datamaskin i seg selv er en sekvensiell prosesseringsmaskin. Selvfølgelig er en av de store fordelene med dataprogrammet at det kan «forgrenes» eller «hoppe» ut av rekkefølgen – emnet for en annen artikkel i denne serien. Imidlertid er det fortsatt nok ganger når en instruksjon følger en annen til å gjøre en buffer eller cache til et nyttig tillegg til datamaskinen.

Den grunnleggende ideen med cache er å forutsi hvilke data som kreves fra minnet for å bli behandlet i CPU. Tenk på et program som består av en rekke instruksjoner, hver av dem er lagret på et sted i minnet, for eksempel fra adresse 100 og oppover. Instruksjonen på plassering 100 leses ut av minnet og utføres av CPU, deretter leses neste instruksjon fra plassering 101 og utføres, deretter 102, 103 osv.

Hvis det aktuelle minnet er kjerneminne, vil det ta kanskje 1 mikrosekund å lese en instruksjon. Hvis prosessoren bruker for eksempel 100 nanosekunder på å utføre instruksjonen, må den vente 900 nanosekunder på neste instruksjon (1 mikrosekund = 1000 nanosekunder). Den effektive repetisjonshastigheten til CPUen er 1 mikrosekund .. (Tidene og hastighetene som er oppgitt er typiske, men refererer ikke til noen spesifikk maskinvare, gir bare en illustrasjon av prinsippene som er involvert).

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert.