Här är en bra länk som visar precis vad en CPU minimum måste innehålla och då en CPU i dag egentligen är flera CPUer men vi valt att kalla dom kärnor bara för att det blir mindre förvirrande än att säga att jag köpte mig 6st processorer till min dator när man menar en CPU förpackning med 6st processorer på en bit kisel.
https://courses.cs.vt.edu/csonline/MachineArchitecture/Lesson...
Gör så att du kollar vad för beståndsdelar en CPU behöver för att ens fungera. För att en CPU ska fungera som en generel processor behöver den ett antal register, ACC (ackumulatorn, ansluten efter ALU'n, IR (Instruktionsregistret, håll instruktionen under tiden den avkodas ), PC (Program Countern håller koll på vilken address i ram processorn jobbar med). utöver Register behöver du något att hämta instruktionen med, Fetch kallas den delen, nåt att avkoda den med och den heter Decoder, du behöver en ALU för logiska, och i övrigt matematiska oprationer (addera, subrtrahera) men även för att jämföra data så processorn faktiskt kan ta olika förgreningar (branches) beroende på utfall. Kan ha glömt något men Ett grundläggande sett register är minimum, en ALU, Fetch och Decoder detta är MINIMUM för en CPU ska kunna fungera, tex en ALU är bara en enhet som kan matas med ett eller flera inputs och ge ett outpu beroende på vad för opration man efterfrågar, lågisk opration eller addera, subtrahera etc etc. EN ALU är lika korkad som en miniräknare, den gör INGET själv. Sedan är en FPU inget krav för en CPU, flesta PC processorer hade ingen i början och orsaken är att det var dyrt att implementera då det tog mycket transistorer sedan kan man emulera detta i mjukvara alltså låta processorn via sina övriga instruktioner och ALU'n emulera flytal så även en CPU utan FPU kan emulera flytal i oprativsystem som har ett biblotek för detta.
Problemet med AMD's FEJK kärnor är att om man försöker dela den på mitten så har bulldozer EN "fetch", EN "decoder" (skit samma att dom är 4 breda det är inte relevant), vad den har dubbelt av är register och ALU's och ja är ni en ALU en "kärna" alltså en fullfjädrad processor så antar jag att min sketna miniräknare här är det med även om den inte gör nåt utan mitt sammtycke.
An ALU kräver som sagt att något ger den ett eller flera inputs och ställer in den rätt för att den ska spotta ur sig något och fetch och decoder och involverade i att mata ALU's, FPU's etc.
Sedan har ju dom flesa processorer två eller fler ALU's också per kärna så varför är det då inte kärnor får man fråga? Jo för att en kära är en individuell CPU och en ALU blir aldrig mer än en dum miniräknare som behöver något som styr den. FPU'n är inget krav för det är som att säga att en 386SX inte är en CPU för den saknar FPU.
Det finns jätte enkla diagram över vad en CPU minimum måste innehålla, bara googla. Home Brew CPU fungerar tex bra kan man hitta processorer med diagram och annat med minsta möjliga beståndsdelar.
I min värld är det inget snack om att Bulldozer är enbart 4 kärnor med CMT, Det faktum att AMD valde att dela upp ALU's och AGU på två separata piplines med egna register och därmed låta dom arbeta isolerat från varan men ändå i direkt beroende av samma Fetch och Decoder är ju inget annat än ett design val. Intel har lika mycket eller mer exekveringsenheter i en Kärna som Bulldozer har i en Modul. Intel var dock smarta och körde med SMT så alla resurser är tillgängliga till båda trådarna.
Man kan kalla en ALU för en core eller ALU core om man vill men någon egen "CPU" blir det aldrig, båda kärnorna delar majoriteten av vitala resurser som ej är duplicerade så separata är dom miniräknare, i hop är dom en modul och en fungerande processor med två trådar via CMT. Man har inte en bil bara för man har 4st däck ståendes det är rätt logiskt.
AMD's "core" count är bara marketing bullshit, bara kolla deras APU'er, 12 cores, jo men vist ja 4st "bulldozer cores" och 8st GPU cores mm låter bättre än vad det är.
PR PR PR är vad det är.
Nej skittröt är jag men kolla denna länken, där finns det interaktiva flash animationer som man kan använda för att förestå hur en enkel CPU fungerar.
https://courses.cs.vt.edu/csonline/MachineArchitecture/Lesson...