25. september 2005 - 16:42Der er
8 kommentarer og 2 løsninger
Forståelse af cpuen
Hej eksperter
Jeg er ved at lære assembler og er i min bog nået til et sted, hvor cpuen gennemgås. Da det hele er på engelsk vil jeg gerne sikre mig at jeg ikke har misforstået noget.
Som jeg forstår det så:
Program Counter: Fortæller cpuen, hvor den næste instruktion samt dertil tilhørende data skal hentes fra. CPuen starter altså her og henter indstruktionen fra den givne adresse hvorefter den går videre til
Instruction Decoder: Finder ud af, hvad den gvine indtruktion betyder, samt hvilke adresser i hukommelsen, der skal deltage i processen.
Data bus: Henter dataet fra de gvine adresser i hukkommelsen
Registers: Her opbevares den data, der bearbejdes pt. Cpuens har selv 2 forskellige former for hukommelse kaldet registers. De 2 er general purpose registers (Det er er den givne udregning foretages eks addition)og special purpose registers. En special purpose register kaldet "the indstruction pointer" peger på de forskellige indstructioner. Det er sådan at computeren kan skille data og indstruktioner ad.
Arithmetic and logic unit: Det er her selve udregningen sker. Når resultaterne er beregnede sendes de ud til hukkommelsen via data-bussen.
Der står at det er en meget skrabet gennemgang, så ovenstående er nok meget mangelfuld, men er der nogen ting, der virker til at jeg har misforstået dem?
jeg mener stadig at det er meget vigigt at skelne mellem den logiske arkitektur som assembler programmøren / compileren ser og så den fysiske arkitektur som elektronik ingeniørerne har implemeneteret den logiske arkitektur med
dit program kører uændret når du skifter fra en P4 uden til en P4 med hyperthreading, fordi du stadig kun ser et EAX register, at der fysisk er 2 EAX registre i CPU'en således at 2 processer kan køre delvist parallelt er kun noget hardware folkene har fundet på for at få performance op
Ja, og fordelen ved en cache er at der typisk er høj båndbredde mellem processor og cache. til L1 cache (som er lille) er der enormt høj båndbredde og processoren kan derfor blive født hurtigt med de data. Til L2 cache er båndbredden en anelse mindre, men altså stadig hurtigere end hvis data skal hentes fra systemets RAM.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.