bélyegkép|jobbra|200px|Intel core i7 processzor bélyegkép|jobbra|200px|Intel core i7 processzor hátlap A CPU (angol: central processing unit – központi feldolgozóegység) más néven processzor ill. mikroprocesszor, a számítógép „agya”, azon egysége, amely az utasítások értelmezését és végrehajtását vezérli, félvezetős kivitelezésű, összetett elektronikus áramkör. Magyarra többféleképpen fordítják, így pl. a központi végrehajtó egység, központi feldolgozó egység, központi feldolgozó processzor, vagy egyszerűen processzor kifejezések is elterjedtek. Míg a processzor fogalma már korábban ismert volt, a mikroprocesszor megjelenését csak a félvezetős technológia és az integrált áramkörök kifejlesztése tette lehetővé, az 1970-es évek elején. A processzor alatt általában mikroprocesszort értünk, régebben a processzor sok különálló áramkör volt, ám a mikroprocesszorral sikerült a legfontosabb komponenseket egyetlen szilíciumlapkára integrálni.
A mikroprocesszor egy vagy több szilícium kristályra integrált, néhány ezertőlA korai processzorok csak néhány ezer tranzisztort tartalmaztak, pl. az Intel 4004-esben 2300, a MOS 6502-esben 3510 tranzisztor található. több milliárd számú tranzisztort tartalmazó integrált áramkör, amelyben további részegységek különíthetők el, rendelkezik az adatok ki- és beviteléhez szükséges sínrendszerrel, és rendelkezik egy utasításkészlettel, amelynek utasításait képes végrehajtani. A bemeneti eszközök segítségével kódolt információkat feldolgozza, majd az eredményt a kimeneti eszközök felé továbbítja, melyek ezeket az adatokat információvá alakítják vissza. A világ első mikroprocesszorát (TMS 1000) az amerikai Texas Instruments fejlesztette ki 1971-ben, ezt követte az Intel 4004-es processzora, majd további cégek gyártmányai.
A processzorok története
A korai számítógépeket, például az ENIAC-ot, át kellett huzalozni, amikor egy új feladatot akartak rajtuk futtatni – ezeket a gépeket tehát „rögzített programú” gépeknek nevezhetjük. A „CPU” kifejezés meghatározása szoftver ill. számítógépprogram végrehajtását végző eszköz, ezért a legkorábbi CPU-nak, elkülönített központi végrehajtóegységnek nevezhető eszközök a tárolt programú számítógépek elérkezésével jelentek meg.
A tárolt program elve már szerepelt a J. Presper Eckert és John William Mauchly terveiben az ENIAC számítógéphez, de azt kezdetben kihagyták a gépből, hogy hamarabb üzembe helyezhessék. Még az ENIAC elkészülte előtt Neumann János publikálta „First Draft of a Report on the EDVAC” című cikkét, amelyben leírta a tárolt programú számítógépek tervezési elveit, azaz a Neumann-elveket. Az EDVAC gép 1949 augusztusában el is készült. Az EDVAC különböző típusú adatokkal tudott műveleteket végezni, és a programját egy belső számítógépi memóriából olvasta, nem pedig fizikailag huzalozott hardverből kapta, így az könnyen és gyorsan változtatható volt, ellentétben az ENIAC-kal. Az első tárolt programú gép mégsem az EDVAC volt, hanem a „Manchester Small-Scale Experimental Machine” (manchesteri kisméretű kísérleti gép), egy kis prototípus, amely már tárolt programmal rendelkezett és első programját 1948. június 21-én futtatta, valamint a Manchester Mark 1, amely 1949. június 16-17-én működött először.
A korai számítógépek mind egyedi tervezésűek voltak, ezért azok CPU-i az egyedi konstrukciók részeiként, különböző céllal és felépítéssel készültek, a szabványos felépítésnek és szerkezeti elemeknek nyoma sem volt. A szabványosítás a tranzisztoros nagyszámítógépek és miniszámítógépek megjelenésével kezdődött, és még jobban felgyorsult az integrált áramkörök megjelenésével és elterjedésével. Az integrált áramkör egyre összetettebb kialakítások tervezését tette lehetővé és a gyártás rövidesen elérkezett a nanométeres méretekhez. A szabványosítás és miniatürizálás lehetővé tette a digitális eszközök elterjedését az élet minden területén, meghaladva a dedikált célorientált számítógépek alkalmazási területét. A modern mikroprocesszorok jelen vannak szinte minden olyan eszközben, amiben elektronika található, legyen az autó, háztartási gép, mobiltelefon, játék, levelezőlap vagy matrica.lásd a könyvekbe és más árucikkekbe ragasztott áruvédelmi RFID matricákat
A tranzisztoros számítógépek megjelenésük után rövid idővel kiszorították az elektroncsöves számítógépeket. Az 1960-as években az IBM feltalálta a mikroprogramozást, ami lehetővé tette különböző processzorok egyszerű gyártását, akár ugyanazzal a hardverfelépítéssel. Ez a módszer széles körben elterjedt és a mai napig alkalmazzák. Az első integrált áramkörökkel felépített processzorok rakéták fedélzeti számítógépeiben és űrhajók vezérlőrendszereiben jelentek meg (pl. az Apollo Guidance Computer). Az integrált áramkörök elemsűrűségének növekedése tette lehetővé a mikroprocesszorok megjelenését, ami egy olyan eszköz, amely egyetlen fizikai csipben magában foglalja a vezérlőegységet, az aritmetikai-logikai számítóegységet (gyakran többet is), a belső memóriát (regiszterek) és sínrendszert, valamint a külvilággal kapcsolatot tartó be- és kimeneti egységeket. A mikrovezérlők még több egységet tartalmaznak a tokon belül, ezek szinte önálló számítógépeknek tekinthetők.
Az első mikroprocesszor a Texas Instruments által 1971. szeptember 17-én bemutatott, a TMS 1000 sorozatba tartozó TMS1802NC jelű processzor volt. Röviddel ezután, 1971. november 15-én jelent meg az Intel cég Intel 4004 jelű processzora. Mindkettő 4 bites szóhosszúságú eszköz volt, azonban a Texas csipje maszkprogramozott memóriát (beépített alkalmazást) és ki-/bemeneti csatornákat is tartalmazott. Később több sikeres 8 bites sorozat jelent meg több gyártó részéről (Intel 8008, 8080, 8085, Zilog Z80, Motorola 6800, MOS Technology 6502).
A 8 bites mikroprocesszorok már az 1970-es évek elején megjelentek. A további fejlődés is a szóhossz növelésének irányába mutatott: 1973-ban megjelent az első 16 bites processzor (National Semiconductor IMP-16), de az 1970-es években a mikroprocesszorok túlnyomó többségének szóhossza 8 bites maradt. Az 1970-es évek vége felé jelentek meg nagyobb számban a 16 bites szóhosszúságú processzorok: 1978: Intel 8086, 1979: Motorola 68000. A 80-as évektől kezdve tovább nőtt a szóhossz: 1980-ban megjelent az AT&T Bell Labs BELLMAC-32A processzora, ez volt az első 32 bites processzor, ezután egyre több 32 bites eszköz jelent meg, így a Motorola sikeres m68k processzorcsaládja, a DEC, Sun és Intel is megjelentet 32 bites processzorokat. Az 1980-as évek közepétől kezdenek megjelenni az eleinte szintén 32 bites RISC elvű processzorok, pl. a Sun (SPARC), MIPS, Hewlett-Packard (PA-RISC), AMD (29k) és ARM architektúrák, de az Intel és a Motorola is gyártott RISC-alapú processzorokat. A szóhossz növekedése mellett megfigyelhető a komplexitás növekedése: a többcsipes eszközöket egyetlen áramkörbe integrált eszközök váltják fel, és a processzorok egyre több tranzisztort tartalmaznak, így az 1980-as évek közepén már elérték a (több-)százezres, az évtized végére pedig már a milliós nagyságrendet is.Az 1 milliós határt elsőként az Intel 80486-os processzora lépte át, 1989-ben. A tranzisztorszám túlnyomó részét ebben a processzorban a csipre integrált nagy gyorsítótár és kisebb részben a beépített lebegőpontos egység teszi ki. Ezzel együtt a processzorok órajele is folyamatosan nőtt.
Az x86-64 a x86-os architektúra 64 bites leszármazottja. Az x86-64 utasításkészlet támogatja Intel x86-os architektúráját, ezt az Advanced Micro Devices (AMD) tervezte, majd átnevezte AMD64-re. Ezt az architektúrát az Intel lemásolta és Intel 64-nek nevezte el (régebben Yamhill, Clackamas Technológia, CT, IA-32e és EM64T neveken volt ismert). Ez vezetett a hétköznapi nyelvben az x86-64 vagy x64 elnevezések használatához, mint gyártó-független fogalmakhoz, amikor a két közel azonos kivitelezésű architektúrára hivatkozunk.
A processzor főbb részei thumb|Intel Pentium 100 MHz-es processzor ALU: (Arithmetic and Logical Unit – Aritmetikai és Logikai Egység). A processzor alapvető alkotórésze, ami alapvető matematikai és logikai műveleteket hajt végre. Sebessége növelhető egy koprocesszor (FPU, Floating Point Unit, lebegőpontos műveleteket végző egység) beépítésével. Az FPU korábban külön részegység volt, manapság a processzorok mindegyike beépítve tartalmazza. AGU: (Address Generation Unit) - a címszámító egység, feladata a programutasításokban található címek leképezése a főtár fizikai címeire és a tárolóvédelmi hibák felismerése. CU: (Control Unit a.m. vezérlőegység vagy vezérlőáramkör). Ez szervezi, ütemezi a processzor egész munkáját. Például lehívja a memóriából a soron következő utasítást, értelmezi és végrehajtatja azt, majd meghatározza a következő utasítás címét. Regiszter (Register): A regiszter a processzorba beépített nagyon gyors elérésű, kis méretű memória. A regiszterek addig (ideiglenesen) tárolják az információkat, utasításokat, amíg a processzor dolgozik velük. A mai gépekben 32/64 bit méretű regiszterek vannak. A processzor adatbuszai mindig akkorák, amekkora a regiszterének a mérete, így egyszerre tudja az adatot betölteni ide. Például egy 32 bites regisztert egy 32 bites busz kapcsol össze a RAM-mal. A regiszterek között nem csak adattároló elemek vannak (bár végső soron mindegyik az), hanem a processzor működéséhez elengedhetetlenül szükséges számlálók, és jelzők is. Ilyen például : utasításszámláló, (PC=program counter, IP=instruction pointer) ami mindig a következő végrehajtandó utasítás címét, utasításregiszter (IR=instruction register), mely a memóriából kiolvasott utasítást tárolja. E kód alapján határozza meg a vezérlőegység az elvégzendő műveletet flagregiszter, amely a processzor működése közben létrejött állapotok jelzőit (igaz, vagy hamis), veremmutató (SP = Stack Pointer) , és az akkumulátor, (AC) amely pedig a logikai és aritmetikai műveletek egyik operandusát, majd az utasítás végrehajtása után az eredményt tartalmazza. Buszvezérlő: A regisztert és más adattárolókat összekötő buszrendszert irányítja. A busz továbbítja az adatokat. Cache: A modern processzorok fontos része a cache (gyorsítótár). A cache a processzorba, vagy a processzor környezetébe integrált memória, ami a viszonylag lassú rendszermemória-elérést hivatott kiváltani azoknak a programrészeknek és adatoknak előzetes beolvasásával, amikre a végrehajtásnak közvetlenül szüksége lehet. A mai PC processzorok általában két gyorsítótárat használnak, egy kisebb (és gyorsabb) első szintű (L1) és egy nagyobb másodszintű (L2) cache-t. A gyorsítótár mérete ma már megabyte-os nagyságrendű.
A processzor működése
1. Az utasítás beolvasása a memóriából a processzorba: A memória címtárolójából, az AR-ból (address register - címregiszter) kerül át a processzor címtárolójába az IP-be (instruction pointer). Ezek után a memória adattároló regiszteréből, a DR-ből (data register - adatregiszter) kerülnek át az adatok a processzor adattárolójába, az IR (instruction register)-be.
2. A beolvasott utasítás dekódolása, elemzése: Az ALU az utasítás kódját értelmezi, melyből kiderül milyen műveletet kell elvégeznie, és hogy mennyi adatot kell beolvasni még ahhoz, hogy meghatározhatóak legyenek az operandusok, amelyeken a műveleteket végzi.
3. A művelet végrehajtása, mely eredménye az LR3 segédregiszterbe kerül.
4. Eredmény tárolása: az LR3 segédregiszterből egy másik regiszterbe, vagy a DR-en keresztül a memóriacímre kerül.
5. A következő utasítás címének meghatározása: A szekvenciális program esetében az IP értékének megnövelésével jut el az ALU a következő utasítás címéhez. Ellenkező esetben egy regiszter tartalmazza a következő utasítás címét, melyet a processzor az IP-be ír.
Az óra és az órajel