Hvordan fungerer en CPU?
En CPU fungerer ved at udføre instruktioner, der er blevet læst fra hukommelsen - disse instruktioner fortæller CPU'en, hvilke operationer der skal udføres på bestemte dataelementer, der er gemt i hukommelsen eller i registre. Når en instruktion hentes fra hukommelsen, sendes den gennem kontrolenheden, hvor den afkodes, og eventuelle nødvendige adresser/dataelementer bestemmes; disse oplysninger sendes derefter videre til ALU'en, hvor operationerne rent faktisk udføres i henhold til det, der var angivet i instruktionen. Når operationerne er udført, gemmes eventuelle resulterende værdier tilbage i hukommelsen, hvis det er nødvendigt, før der hentes en ny instruktion, og denne proces gentages, indtil alle programmets instruktioner er blevet udført.
Hvad er en CPU?
En CPU ( Central Processing Unit) er hjernen i et computersystem - det er i bund og grund den, der fortæller computeren, hvad den skal gøre, og hvordan den skal gøre det. En CPU er sammensat af kredsløb, som består af tre hovedkomponenter: en kontrolenhed, en aritmetisk/logisk enhed (ALU) og et registersæt. Kontrolenheden henter instruktioner fra hukommelsen, afkoder dem, bestemmer adressen på de data, der er gemt i hukommelsen (hvis det er nødvendigt), og sender derefter data- og instruktionsoplysningerne videre til ALU'en til behandling. ALU'en udfører den beregning eller logik, der kræves af hver instruktion, gemmer mellemresultater i registre, hvis det er nødvendigt, og sender derefter resultatet tilbage til hukommelsen, hvor det kan tilgås af andre programmer eller skrives til disk. Registrene bruges til at opbevare korttidsdata, mens de behandles af CPU'en.
Hvad er kerner?
En kerne er en instans af en udførelsesenhed i en flerkerneprocessor. Hver kerne har sin egen private cache, som gør det muligt for den at udføre opgaver uafhængigt uden at skulle have adgang til hovedhukommelsen så ofte; men flere kerner kan dele ressourcer som f.eks. en L2-cache. Flere kerner giver mulighed for større parallelitet ved udførelse af instruktioner, hvilket betyder, at flere instruktioner kan udføres samtidigt, og at der derfor kan udføres mere arbejde på kortere tid end med en enkeltkerneprocessor. Det gør multicore-processorer ideelle til intensive computeropgaver som videoredigering eller 3D-rendering.
Hvad er tråde?
Tråde er sekvenser af udførelse, der kan udføres samtidigt i en enkelt proces eller applikation på en enkelt processorkerne. Med tråde kan applikationer/programmer se ud, som om de kører hurtigere, end de i virkeligheden gør, fordi de kan udnytte flere kerner på én gang - når flere tråde kører på én gang på forskellige kerner, kan der udføres mere arbejde uden at vente på, at en tråd er færdig med at køre, før en anden tråd kan begynde at køre igen på en anden kerne. Det gør flertrådede programmer meget mere effektive end deres enkelttrådede modstykker, da der ikke er behov for kontekstskift mellem trådene, når der køres flere processer på én gang på separate kerner i modsætning til kun én kerne med mange tråde, der står i kø til behandling efter hinanden i rækkefølge, som man ville finde med et enkelttrådet program.
Hvad er hyper-threading?
Hyper-Threading (HT) er Intels proprietære teknologi, der muliggør flere logiske processorer inden for hver fysisk processorkerne - hvilket i bund og grund giver mulighed for to samtidige strømme af instruktioner pr. fysisk kerne (det ser ud som fire »virtuelle« processorer i stedet for to). Introduktionen af HT i CPU'er har givet Intel-CPU'er bedre multitasking-ydelse på grund af deres øgede processorkapacitet pr. clockcyklus - det giver dem mulighed for at håndtere store arbejdsbyrder hurtigere end tidligere generationer, som var begrænset af clockhastigheder alene (som kun havde begrænsede stigninger i omfanget). Derudover hjælper HT også med at øge gennemstrømningen i nogle tilfælde samt IPC-gevinster takket være bedre planlægningseffektivitet, når der håndteres større antal tråde sammenlignet med uden HT slået fra i de samme scenarier.
Hvad er RISC vs CISC-arkitektur?
RISC står for Reduced Instruction Set Computer - det refererer typisk til arkitekturer, der bruger betydeligt færre komplekse instruktionstyper end CISC-arkitekturer (Complex Instruction Set Computers). CISC-arkitekturer består typisk af meget varierede instruktionssæt, der spænder fra enkle aritmetiske operationer til komplekse, der involverer flere trin som f.eks. strengmanipulation, mens RISC har en tendens til enklere, men hurtigere instruktioner (som optager mindre areal pr. chip på grund af mindre kompleksitet), så de har en tendens til højere ydeevne i betragtning af lignende clockhastigheder på tværs af begge arkitekturer.
Hvad er pipelines?
Pipelines i CPU'er henviser specifikt til arkitekturer, der opdeler forskellige faser, der er involveret i en instruktions udførelse, i diskrete dele, så resultater fra tidligere faser bliver tilgængelige hurtigere i senere faser, hvilket muliggør yderligere optimeringer som f.eks. afsendelse og udførelse uden for rækkefølge - dette gør det muligt for nogle dele at køre hurtigere eller langsommere afhængigt af deres individuelle krav i stedet for at lade alle faser vente på hinanden, hvilket fører til betydelige ydelsesgevinster i forhold til ikke-pipelined designs og dermed muliggør moderne højhastigheds- og flertrådede processorer.
Hvad er cacher?
Cacher er små blokke af relativt hurtigt RAM, der er placeret tæt på enten direkte i eller i nærheden af den centrale processorenhed, og som har to funktioner: For det første aflaster de læsninger og skrivninger i hovedhukommelsen, da cacher arbejder med lavere latenstid, og for det andet øger de hastigheden.
Hvad er en cachelinje?
En cachelinje er den mindste blok af data, der kan overføres fra hovedhukommelsen til CPU-cachen. En cachelinje består typisk af 64 bytes på en processor med 4-bytes instruktioner og 128 bytes for 8-bytes instruktioner. Når CPU'en anmoder om data fra hukommelsen, henter den hele linjen i stedet for kun et stykke data eller en instruktion; det hjælper med at reducere ventetiden ved at sikre, at alle relaterede stykker data også vil være i CPU'ens cache, hvis der er brug for dem i fremtidige operationer.
Hvad er multiprocessing?
Multiprocessing er et paraplybegreb, der bruges til at beskrive flere CPU'er, der arbejder sammen enten som en del af et enkelt computersystem eller distribueret på tværs af flere systemer/enheder. I de fleste moderne computere/servere/netværk kan multiprocessing antage flere former, herunder symmetrisk multiprocessing (SMP), hvor to eller flere CPU'er deler adgangen til RAM og andre ressourcer; asymmetrisk multiprocessing (AMP), hvor en eller flere processorer fungerer som mastere og uddelegerer opgaver til underordnede processorer; og massiv parallelprocessing (MPP), hvor flere processorer samarbejder om at udføre komplekse beregningsopgaver hurtigt over store mængder data.
Hvad er superskalar arkitektur?
Superscalar-arkitektur refererer til højtydende CPU'er, som er i stand til at udføre mere end én instruktion på samme tid - det giver dem mulighed for at øge ydeevnen ved at lade flere instruktioner blive udført samtidigt i stedet for sekventielt, som de ville have gjort i tidligere generationer, og dermed reducere latenstiden og øge gennemstrømningen ved at udnytte inaktive udførelsesenheder, når det er nødvendigt. På den måde gør superskalararkitekturer mere effektiv brug af tilgængelige processorressourcer, hvilket resulterer i hurtigere behandlingshastigheder sammenlignet med forgængere med højere clockfrekvens.
Hvad er mikroprocessorer?
En mikroprocessor er i bund og grund en formindsket version af en processor i fuld størrelse, der er designet til mindre enheder som f.eks. indlejrede systemer, PDA'er, mobiltelefoner osv. hvor strømforbrug og fysisk størrelse er to vigtige faktorer. Mikroprocessorer bruger normalt enklere arkitekturer end deres større modstykker for at reducere omkostninger og kompleksitet, mens de stadig tilbyder sammenlignelig ydeevne til deres tilsigtede formål.
Hvordan fungerer virtualisering?
Virtualiseringsteknologi gør det muligt at opdele et computersystems hardwareressourcer (såsom CPU-kerner, hukommelse osv.) i forskellige »virtuelle« maskiner, som hver især kører deres eget operativsystem uafhængigt af andre VM'er - det gør det muligt for flere brugere/applikationer i en organisation eller husstand at gøre brug af en fysisk maskines ressourcer uden at påvirke hinanden, da hver VM fungerer helt adskilt fra alle andre VM'er, der kører på den samme maskine med sin egen dedikerede delmængde af tilgængelige hardwareressourcer i overensstemmelse hermed. Dette gør virtualisering meget nyttig til at spare både plads og strøm, samtidig med at det giver mulighed for mere effektiv udnyttelse af eksisterende hardware på grund af reduceret duplikering mellem maskiner/enheder.

