Centrux Skrevet 14. januar 2017 Del Skrevet 14. januar 2017 Lurer på om noen kan forklare meg hva L1, L2, L3 minne (cache?) i forbindelse med CPU er og hvilken oppgave det har?Hva betyr det at en PC har f.eks 4 kjerner? Betyr det at den har 4 ulike sockets for CPUer?Er det slik at absolutt ingenting skjer uten først en binærstrøm til RAM? Altså for å aksessere noe i HDD, f.eks en tekstfil, så må først en kopi av tekstfilen sendes til RAM, som så sender binærinformasjon til CPU, som så til slutt får filen til å åpne seg?Hva er det som ligger i virtuelt minne? Lenke til kommentar
myhken Skrevet 14. januar 2017 Del Skrevet 14. januar 2017 Flyttet tråden din da den ikke har noe med bærbare pcer å gjøre. Her finner du litt lesestoff ang de ulike Lx minne funksjonen (på engelsk) Hva betyr det at en PC har f.eks 4 kjerner? Betyr det at den har 4 ulike sockets for CPUer? Det betyr jo det som det beskriver. En prosessor kan ha flere kjerner. Dette kan igjen brytes ned til fysiske kjerner, som er jo fysiske, altså et "kakestykke" på selve prosessoren. Så har du logiske kjerner, som ofte er Hyper Thread, som ikke er fysiske, men som emuleres slik at operativsystemet ser den som en ekstra kjerne. Dette er ikke det samme som sockets, som er ekstra fysiske prosessorer. (som igjen har sine kjerner). Resten får andre svare på Lenke til kommentar
Gavekort Skrevet 14. januar 2017 Del Skrevet 14. januar 2017 (endret) Lurer på om noen kan forklare meg hva L1, L2, L3 minne (cache?) i forbindelse med CPU er og hvilken oppgave det har? Hva betyr det at en PC har f.eks 4 kjerner? Betyr det at den har 4 ulike sockets for CPUer? Er det slik at absolutt ingenting skjer uten først en binærstrøm til RAM? Altså for å aksessere noe i HDD, f.eks en tekstfil, så må først en kopi av tekstfilen sendes til RAM, som så sender binærinformasjon til CPU, som så til slutt får filen til å åpne seg? Hva er det som ligger i virtuelt minne? For å forklare dette kort og enkelt så fungerer en datamaskin slik: På harddisken din så har du lagret binær data i form av tekst (ASCII), eller i form av instruksjoner. Men for å forenkle dette så sier vi at programmet ditt ligger i RAM. Det første prosessoren din vil gjøre er å lese toppen av minnet ditt, altså adresse 00000000 (For 8-bit systemer, for å forenkle ting litt), her så finner du dataen 11000011 som lastes inn i prosessoren, før den går til de neste 8 bitene av RAM som man finner på 00000001 (1), der du har f.eks 11110000, og på 00000010 (2) Nå har du 11000011, og 11110000, og dette er vår første maskininstruksjon, nemlig 11000011 (JP i assembly) 11110000 som betyr at prosessoren har fått beskjed om å jumpe til 11110000, slik at vår neste plass vi leter etter instruksjoner i RAM vil være på 11110000. Slik som dette kan du programmere alle datamaskiner. ld a, %00101010 ;last 42 inn i register a add a, %00000001 ; pluss på 1 jp $0000 ; hopp tilbake til start $ betyr hexadecimal Dette kompileres til binært slik som over, eller oversettes til maskinspråk. ~ > bindump a.bin Minnelokasjon: instruks (Det er kun binærtallene i midten som datamaskinen vil se, alt annet er for deg) 00000000: 00111110 ;LD A <----------------------------- 00000001: 00101010 ;42 (Last 42 i A) | 00000002: 11000110 ;ADD A | 00000003: 00000001 ;1 (ADD 1 til A) | 00000004: 11000011 ;JP | 00000005: 00000000 ;16-bit del 1 minnelokasjon | 00000006: 00000000 ;16-bit del 2 minnelokasjon (JP til $0000)-- Denne vil lese fra toppen og nedover, og vil med andre ord bare plusse på 1 til 42 i evig tid. Nå som du vet det så kan vi gå over til den lette delen, nemlig spørsmålene dine: Cache er hva vi på norsk kaller en mellomlagring, og er der fordi minnet der dataen over er lagret er relativt tregt i forhold til prosessoren din, så prosessoren din henter noen av disse instruksene fra minnet ditt om den har ledig tid. Hvis du har fire kjerner, så har du fire forskjellige enheter som henter slike instrukser og regner de ut. Etter det så legger de det tilbake på RAM slik at de kan dele på arbeidet mellom seg. Moderne datamaskiner har stort sett alle kjernene i samme prosessorsokkel, men det er mer eller mindre det samme som fire forskjellige prosessorer, om man fordummer det veldig. Virtuelt minne er når du når 11111111 11111111 i minnelokasjon. Da kan prosessoren tyvlåne harddisken og dumpe den gamle koden som du ikke kommer til å bruke på en god stund. Edit: Dette er forresten ekte Z80 maskinkode. Jeg bruker Z80 som er en gammel prosessor fordi det er enkelt, og fordi det er den prosessoren jeg kan best. Endret 14. januar 2017 av Gavekort Lenke til kommentar
siDDis Skrevet 15. januar 2017 Del Skrevet 15. januar 2017 L1, L2 og L3 cache har også veldig mykje lavare latency enn vanlig RAM, som er perfekt om du skal cache intruksjoner. Ein lookup på 8 bytes er betydelig kjappare enn i RAM. For å sjå forskjellen så anbefaler jeg denne videoen https://youtu.be/WDIkqP4JbkE?t=1139 Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå