Den aritmetiska logikenheten (ALU) och styrenheten (CU) är två grundläggande komponenter i en mikroprocessors centrala bearbetningsenhet (CPU). De arbetar tillsammans för att utföra instruktioner som hämtats från minnet. Tänk på dem som hjärnans beräkning respektive kommandocentrum.
1. Den aritmetiska logikenheten (ALU):kalkylatorn
ALU:s jobb är att utföra aritmetiska och logiska operationer på data. Detta inkluderar:
* aritmetiska operationer: Tillägg, subtraktion, multiplikation, uppdelning, ökning, minskning.
* Logiska operationer: Och, eller, xor, inte, jämförelser (större än, mindre än, lika med).
* bitvis operationer: Skiftande bitar åt vänster eller höger (användbar för multiplikation/uppdelning efter krafter på 2), maskeringsbitar.
Hur det fungerar:
1. Datainmatning: ALU tar emot data (operander) från register-små, höghastighetsminnesplatser inom CPU.
2. Operation Execution: Baserat på den instruktion som mottagits från CU utför ALU den angivna operationen på ingångsdata.
3. Resultatutgång: Resultatet av operationen lagras i ett register eller skrivs tillbaka till minnet. ALU sätter också ofta flaggor (statusbitar) som indikerar saker som överflöde (resultat för stort för registret), nollresultat eller bär (en siffra överförs under tillägg). Dessa flaggor används av CU för att fatta beslut om efterföljande instruktioner.
2. Kontrollenheten (CU):chefen
Cu är "hjärnan" för CPU och riktar flödet av data och operationer. Dess viktigaste ansvar är:
1. Instruktion hämta: CU hämtar instruktioner från minnet, en åt gången, baserat på programräknare (PC), som håller reda på adressen till nästa instruktion.
2. Instruktion avkodar: CU avkodar den hämtade instruktionen för att bestämma vilken operation som måste utföras och vilka data som är involverade. Denna avkodning innebär att förstå opkoden (driftskod) och operander (data).
3. operand Fetch: CU hämtar de nödvändiga operandererna från register eller minne.
4. ALU -operation: CU skickar operanderna och operationskoden till ALU. Den väntar sedan på att ALU ska slutföra sin verksamhet.
5. Resultatlagring: När ALU är klar, leder CU lagring av resultatet tillbaka till ett register eller minnesplats.
6. Programräknareuppdatering: CU uppdaterar programräknaren för att peka på nästa instruktion i programsekvensen.
7. grenar och hoppar: Baserat på de flaggor som ställts in av ALU (eller andra förhållanden) kan CU förändra programflödet. Detta kan innebära att hoppa till en annan plats i minnet eller villkorligt utföra kodblock (t.ex. "om" uttalanden).
8. Input/Output (I/O) Kontroll: CU hanterar kommunikation med externa enheter (som tangentbord, bildskärmar och hårddiskar).
interaktion mellan ALU och CU:
ALU och CU fungerar på ett tätt kopplat sätt:
* CU orkestrerar alla operationer. Den berättar ALU vad man ska göra och var man ska få data.
* ALU utför beräkningarna och ställer in flaggor och ger feedback till CU.
* CU använder denna feedback för att fatta beslut om nästa steg i programmets körning.
I huvudsak är ALU ansvarig för "vad" (utför beräkningar), medan CU är ansvarig för "hur" (kontrollerar flödet av data och operationer). De är beroende av varandra och väsentliga för alla mikroprocessors funktionalitet.