Rat standarda i velika obmana arhitekture — CISC fasada i RISC srce
Uvod i teorija
Kroz ovaj serijal prošli smo put od stambene krize
unutar 128 bajtova RAM-a, preko prekidnih rutina i lažiranja steka, pa sve do
termodinamičkog haosa i MSR brojača na modernom PC-ju. U ovoj završnoj epizodi
skidamo poslednji veo apstrakcije sa modernih procesora (Intel/AMD) i otkrivamo
veliku tajnu: rat između CISC i RISC arhitektura zapravo je završen
primirjem — RISC je pobedio unutar čipa, a CISC je pobedio na papiru.
Kada kompajlirate svoj C++ ili SSE kod na PC-ju, vi
procesoru isporučujete kompleksan skup instrukcija poznat kao x86 standard
(CISC). Međutim, moderni procesorski silicijum uopšte ne zna kako da direktno
izvrši te instrukcije.
![]() |
| Generisao AI Gemini |
CPU Iluzija: Hardverski dekoder kao prevodilac
Da bi zadržali kompatibilnost sa starim softverom
pisanim decenijama unazad, proizvođači procesora su morali da zadrže CISC
fasadu. CISC (Complex Instruction Set Computer) omogućava kompleksne
naredbe — na primer, da jednom instrukcijom povučete podatak iz RAM-a, saberete
ga sa registrom i rezultat vratite u RAM.
U čistom RISC (Reduced Instruction Set Computer)
svetu to je strogo zabranjeno. Podaci se moraju eksplicitno učitati u registre
(Load), obraditi (Execute) i vratiti u memoriju (Store).
Kako onda x86 procesor izvršava taj teški CISC
softver brzinom munje?
- Hardware
Decoder (Prevodilac na ulazu): Na samom ulazu u procesorsko jezgro nalazi se
ultra-brzi hardverski dekoder. Njegov jedini posao je da presretne
kompleksnu CISC instrukciju i razbije je (prevede) na nekoliko malih,
prostih RISC instrukcija. Intel ove interne RISC instrukcije naziva Mikrooperacije
(μops ili uops).
- Interno
RISC jezgro:
Kada se fasada sruši i instrukcija razbije na mikrooperacije, one ulaze u
izvršne jedinice procesora koje su strukturalno čista, agresivna RISC
mašina sa stotinama internih registara za koje vaš operativni sistem
uopšte i ne zna da postoje.
Konceptualni most: Mikrosekvener kao praotac RISC-a
Ova revolucija je počela još sredinom 1990-ih
godina (sa čuvenom arhitekturom Intel Pentium Pro iz 1995. godine) i traje i
danas. Ipak, ako zagrebemo još dublje, shvatićemo da moderni procesori u svom
srcu rade isto ono što smo radili na Intel 8051 — upravljaju stanjima.
Kada ste kroz hardverski tajmer na 8051 ručno
manipulisali stanjima, bankama i registrima, vi ste radili posao mikrosekvenera.
Kod modernih procesora, taj posao je automatizovan: hardverski dekoder prevodi
spoljni CISC standard u interni "mikrokod" (niz mikrooperacija) koji
pokreće unutrašnju state mašinu procesora u ritmu gigahercnog takta.
Silicijumski flaster: Krpljenje procesora kroz
mikrokod
Ovaj hibridni dizajn (CISC na ulazu, RISC u srcu)
donosi još jednu neverovatnu inženjersku prednost. Pošto se kompleksne
instrukcije u pozadini izvršavaju preko mikrokoda, šta se dešava ako inženjeri
u Intelu ili AMD-u naprave kritičnu grešku u samom silicijumu (hardverski bug)?
Umesto povlačenja miliona procesora sa tržišta, greška
se krpi softverski! Prilikom podizanja sistema, kroz BIOS/UEFI u procesor
se "ubrizgava" Microcode Update — softverski flaster koji
menja mapu unutar ulaznog dekodera. Dekoder nakon toga problematičnu CISC
instrukciju bezbedno razbija na drugačiji niz stabilnih mikrooperacija,
zaobilazeći hardverski kvar na čipu.
Finalni uporedni pregled arhitektura
|
Karakteristika |
Bazični
Intel 8051 |
Moderni
x86/x64 Procesor |
|
Spoljašnja Arhitektura |
Čist 8-bitni CISC |
Kompleksni 64-bitni CISC
standard |
|
Unutrašnje Izvršenje |
Direktno (Instrukcija pokreće
silicijum) |
Hibridno (Razbijanje na RISC
μops) |
|
Fleksibilnost hardvera |
Fiksna (Logika urezana u
tranzistore) |
Dinamična (Mogućnost izmene
mikrokoda) |
|
Kompatibilnost koda |
Vezana za specifičnu 8051
familiju |
Apsolutni standard (Izvršava
kod iz 1980-ih) |
Inženjerski
zaključak knjige:
Granica između hardvera i softvera na samom dnu ne postoji — sve je samo
matrica stanja. Bez obzira na to da li optimizujete asemblerski kod za mali
8-bitni čip pomeranjem bitova u PSW registru, ili kompajlirate masivne C++ SSE
aplikacije na PC-ju, principi su ostali identični. Razumevanje bazičnog
silicijuma oslobađa vas iluzije automatizma i od programera koji samo kuca
sintaksu pravi arhitektu softverskih sistema.
📦 Open Source & Podela
znanja:
Kompletan članak, prateći materijali i izvorni kod su licencirani pod Creative
Commons (CC BY 4.0) i MIT licencama uz navođenje izvora zilsel-invent.com.
Autor: Vladimir Savić / AI Gemini

Comments
Post a Comment