søndag den 10. februar 2013

Microprocessor og hukommelse

Overordnet

Når du starter en program process på en computer, indlæses programmet i hukommelsen, hvorefter programmet processeres.
Et program består af en masse logiske beregninger der fortages i den centrale processerings enhed, CPU.
Flere processer kan skeduleres til en "time slice" i CPU'en, hvorefter de sættes i kø til de er kørt færdige eller afsluttes.

Hukommelse

I CPU'ens cache holdes de ting som er smartes at have tilgængelig med det samme. Cache hukommelse kommer i to "levels" L1 integreret i selve CPU'en og L2 der sidder lige udenfor. Man kan se det lidt som CPU'ens arbejds hukommelse.
Har CPU'en kigget forgæves i cachen kaldes det "misses" og den må henvende sig i den virtuelle hukommelse, Virtual memory. Det er et abstrakt lag til den reelle program hukommelse i en computer. Man kan se det lidt som CPU'ens data hukommelse.
Dette lag er styret af en "memory manager unit" MMU.

På billedet er den virtuelle hukommelse inddelt i tre typer:
Memory som repræsentere den hurtige RAM i computeren, herfra kan data vidergives fra den virtuelle hukommelse.
SWAP (område) som er en fil eller harddisk forberedt til ind og ud læsning i memory.
Disk eller andet tilsluttet dataudstyr.

MMU'en arbejder med alt hukommelsen inddelt i sider og bruger alt sin tid på at flytte sider ind og ud af memory (paging), så det bedst muligt matcher CPU'ens forespørgsler i den virtuelle hukommelse.
Laves der en forspørgelse på en side der ikke findes i memory kaldes det en "fault", som alt efter om den så findes i SWAP eller på disk kaldes forholdsvis soft eller hard.

Ingen kommentarer:

Send en kommentar

Baggrunden for opslag og artikler her på AOit er mine mere end sidste ti års erfaringer i drift og brug af LAMP platformen til at løse et utal af opgaver. En platform der består af Linux, Apache, MySQL og PHP. Alle fire frit og åben software og til at presentere data som som information bruger jeg HTML til formatering og CSS til layout.