Citat:
Ursprungligen inskrivet av -Boris-
Min kompis fick denna förklaringen av sin lärare. Hon måste läsa på till ett prov nämligen:
Centralenheten (cpu) processorn och cpu är samma sak, men dock är inte centralenheten samma sak som processorn. Centralenheten är samma som processorn och arbetsminnet, som är ram minnet.
Eller det var rättare sagt det han skrivit i papprerna som dom ska läsa på.
Jag måste ge din kompis lärare rätt vad centralenhet beträffar, men inte vad CPU beträffar. Att vi kallar processorn för CPU är av praktiska skäl. Egentligen är centralenhet och CPU det innersta systemet i datorn som sköter alla beräkningar. I detta innefattas även minnet. Vi kan dock godtyckligt välja vilken minnerhiearki som helst. Att bara inkludera L1-cache är ett sätt, och "kompatibelt" med hur vi ser på processorer. Vi kan också välja att inkludera hela primärminneshiearkin, dvs register, alla cachenivåer och primärminnet.
Vi kan också välja att bara strikt se till register och ALU (eller diverse exekveringsenheter). I sådant fall är centralenhet eller CPU något som finns inne i chippet, ja inte ens hela kärnan utgör CPU. Moderna datorer har ju allsköns icke-beräkningsviktiga funktioner i kärnan, som t.ex. minneskontroller o.dyl.
Det är således inte helt enkelt att definiera CPU, processor och centralenhet. Därför kan lärarens tolkning inte strikt vara fel. Den är inte helt korrekt i PC-kontext heller.
Men, PC är bara en typ av dator. Det finns kluster, superdatorer, griddar och tunna klienter. Vad är CPU i dessa? Om vi vill, kan vi göra oss omaket att definiera CPU utefter vad för applikationer vi avser köra. I en minnesintenvis kontext är hela primärminnet en del av centralenheten. I en distribuerad, bandbreddskritisk applikation, kanske det är rimligt att betrakta även TCP-IP-kopplingar som en central buss.
Citat:
Ursprungligen inskrivet av Vicotnik
Skulle vara kul att ge läraren en "karta" över layouten hos ett modernt system, en sån bild som ofta finns med i chipset-artiklar på t.ex. Anandtech, och be läraren ringa in det som är 'Centralenheten'.
edit: Som denna bild från Xbitlabs på VIA KT880
http://www.xbitlabs.com/images/chipsets/via-kt880/scheme.png
Sydbryggan magistern, är den en del av Centralenheten?
Om man vill så. Varför inte?
Vad är då inte centralenhet? Klassiskt sett är det alla asynkrona organ som inte deltar i, påverkas av, eller är beroende av, ett viss programflöde. Tangentbord tillhör inte centralenheten. Ej heller hela moderkortet, men kanske godtyckliga delar.
Det finns mig veterligen ingen strikt, allmängiltig, definition av vad en centralenhet/CPU är, men jag skulle nog formulera det något i stil med detta: "Centralenheten utgör den del av datorn som krävs för att ett program ska kunna - högst hypotetiskt - ha 'den och den' beräkningsteoretiska egenskapen". 'Den och den' kan vara allt från addition till turingkompletthet.
Dessutom, det är inte en nödvändig förutsättning att alla delar i CPU är i omedelbar fysisk närhet. Det torde vara fullkomligt legitimt att kalla kärnans logik och primärminnet som CPU, men exkludera kärnans minneskontroller. Och samtidigt ta med granndatorns primärminne. Vi väljer då att betrakta CPU - centralenhet - som något mer abstrakt och väljer bort delar som ändå är transparenta för användaren (applikationen). Minneskontroller och registerfönster kanske är helt oväsentliga, medans GPU och sekundärminne inte är det (klassiskt sett är sekundärminne ej en del av CPU).
Citat:
Ursprungligen inskrivet av xphaze
"Centralenheten" används oftast i gamla datorböcker som beskrivning på själva datorlådan med innehåll.
Nej. Kanske i "Totte klockar", men inte i någon riktig datorbok. I synnerhet inte i någon gammal sådan. Min äldsta datorbok är från 1957. Aldrig att någon som på den tiden ägde kompetensen att skriva en datorbok skulle sammanblanda chassi med centralenhet!
Chassi<>CPU är något som återfinns i IKEA-kataloger o.dyl. Helt dumt är det förstås inte - alla normala icke beräkningsnödvändiga organ är utanför chassit (tangentbord, skrivare...).
Edit: Vad beträffar den klassiska synen, så har houze en bra beskrivning. Dock håller jag inte med om att "centralenhet" skulle vara en gammalmodig term. Det är helt enkelt svenska för CPU. Även i en del moderna datorböcker på vårt språk förkortas det "CE".
Slutsats: Det är inte helt självklart...
Edit2: Vi har inte heller berört olika arkitekturer. En annan, lite kufisk, definition jag funderar på förr är om man inte kan betrakta centralenheten som det som avgränsas av harvardarkitektur. De flesta en- eller fåprocessorsystem idag har en "lokal" harvardarkitektur, dvs instruktions- och dataminne är separerat. Ju längre ner vi kommer i hiearkin, desto mindre skillnad blir det på instruktioner och data. En vanlig PC har logiskt sett von Neumann-arkitektur, medans de högre cacheminnena är separerade. Det roliga här är att gränserna vi sätter för centralenheten här också påverkar vilken modell av datorn vi har att göra med.
För en normal användare, såväl som för ett normalt program (vi exkluderar OS-fascism och NX) är datorn uppbyggd enligt 'stored program concept' och med von Neumann-arkitektur. Om vi låter detta i stället avgöra, ja då inkluderas alla primärminnesnivåer i CPU/centralenhet.