Silicijska sapunica – radni takt vs. pipeline
Datum objave 03.11.2004 - Denis Arunović
Delikatni balans
Ono što sam na prethodnoj stranici naveo kao "određenu jedinicu vremena" je zapravo ekvivalencija jednog otkucaja generatora takta procesora. Ako on kuca na 1 megaherc, naš će jednostavni pipeline obrađivati milijun instrukcija po sekundi. Ako procesor ima takt od 700 MHz, obrađivat će 700 milijuna instrukcija po sekundi. Naravno, ove brojke vrijede ako svaki dio pipelinea može odraditi svoj posao u jednom otkucaju generatora takta.
Na početku sam spomenuo da se neki (kompleksniji) dijelovi našeg osnovnog četverostupanjskog pipelinea dijele na više dijelova. Zašto? Zato što je kompleksnijim dijelovima pipelinea potrebno više vremena da odrade svoj posao. Ako npr. "Executeu" treba tri, "Decodeu" dva, a "Fetchu" i "Write" jedan otkucaj da obave svoj dio posla, jasno je da će brzina obrade informacija ovisiti o brzini nakomplesnijeg dijela pipelinea – u ovom slučaju "Executea". Rješenje problema je da se "Execute" i "Decode" razlome na više dijelova kojima je potreban samo jedan otkucaj da odrade svoj posao.
Sad smo iz četverostupanjskog pipelinea prešli u sedmerostupanjski pipeline u kojem svaki stupanj obrađuje svoj dio posla u jednom otkucaju. Ako ga usporedimo sa našim idealnim četverostupanjskim pipelineom (to je onaj s početka teksta čiji svaki stupanj "magično" obrađuje informacije u jednom taktu), sedmerostupanjski pipeline treba viši takt da bi obrađivao jednaku količinu informacija u jednakom vremenu.
Primjer:
Ako oba pipelinea rade na taktu od 4 Hz kraći pipeline u pri svakom otkucaju (nakon inicijalnog "punjenja" pipelinea sa instrukcijama) stigne obraditi jednu instrukciju. Duži pipeline zbog dužeg "punjenja" tijekom istog vremena ne stigne obraditi niti jednu intrukciju već mu za ovakav pothvat trebaju tri dodatna otkucaja generatora takta. Ako povećamo takt na 8 Hz, dugi pipeline stigne obraditi jednu instrukciju, ali kraći pipeline u istom vremenu stigne "srediti" dvije instrukcije.
Naravno, ako uzmemo u obzir kontinuiranu obradi podataka, dalo bi se zaključiti da ako zanemarimo period "punjenja" oba pipelinea jednako brzo obrađuju informacije no to nije točno. U cijeli proces moramo uključiti i mogućnost greški pri obradi informacija koje zahtijevaju da se jedan dio ili čak cijeli pipeline isprazni i ponovo napuni. U ovakvim realnim uvjetima kraći pipeline je i brži pipeline.
Ovakav bi vas primjer mogao navesti da zaključite da je pipeline pod svaku cijenu mora biti što kraći, ali to nije točno. Jedan od najvećih problema pri dizajniranju procesora je kako i na koliko dijelova razdijeliti onaj osnovni, idealni četverostupanjski pipeline. U idealnom ga slučaju želimo "razlomiti" tako da svaki pojedini stupanj ne usporava ostale stupnjeve. Logično, ovo je puno lakše napraviti ako si možemo priuštiti visoki takt procesora (koji je u velikoj mjeri ograničen kvalitetom i veličinom proizvodnog procesa – 130 nm, 90 nm i slično). S druge strane sa "lomljenjem" pipelinea na mnogo dijelova izlažemo se problemu anuliranja greški pri obradi informacija. Kada se greška dogodi (što je nije iznimka već pravilo) pipeline valja djelomično ili potpuno isprazniti. Ovdje na vidjelo izlazi jedna od prednosti kratkog pipelinea – lakše ga je napuniti i isprazniti budući da mu je za to potreban niži takt.
Premda je kratki pipeline zahvalniji što se tiče "punjenja" i ovisnosti o taktu, teže ga je implementirati s obzirom na finalni cilj održavanja jednake efikasnosti svakog stupnja pipelinea. Samim tim što je pipeline kraći svaki stupanj pipelinea je kompleksniji.
Zaključak
Zbog navedenih principa funkcioniranja procesora, AMD-ovi Athloni imaju kraći pipeline i niži radni takt u odnosu na Intelove Pentiume 4 koji imaju duži pipeline i viši radni takt. Sad se sigurno pitate zašto AMD, budući da korisiti 90-nanometarski proces izrade procesora kao i Intel, ne može napraviti procesore sa relativno kratkim pipelinom (npr. dužinom pipelinea procesora Athlon 64) koji rade na jednakom taktu ekvivalentnih modela Intelovih Pentiuma 4 (odnosno procesora sa dugim pipelineom). Problem je u tome što je kraći pipeline, zbog kompleksnosti pojedinih stupnjeva, osjetljiviji na povećavanje radne frekvencije nego dugi pipeline sa jednostavnim stupnjevima.
Forum
Objavljeno prije 1 minute
LCDi, Plazme i ostali televizori - pročitaj prvi post prije postavljanja pitanjaObjavljeno prije 1 minute
Serije - dojmovi, komentari i preporukeObjavljeno prije 5 minuta
Project Motor RacingObjavljeno prije 11 minuta
Ponuda s Eneba shopa koju ne smijete propustiti!Objavljeno prije 12 minuta
CometNovosti
Ponuda s Eneba shopa koju ne smijete propustiti!
Eneba je pokrenuta 2018. godine od strane dvojice prijatelja s fakulteta i strastvenih igrača, Vytisa i Zygisa. Brzo rastuća su tvrtka iz Europe s timom od preko 200 stručnjaka za e-trgovinu i igre diljem svijeta, kojima vjeruje preko 10 mi... Pročitaj više
Google najavljuje “mega-projekt” Androida za PC: Qualcomm oduševljen
Čini se da je Google sve bliže dovršetku desktop verzije Androida, a najnovija javna rasprava i izjave iz industrije potvrđuju ambiciozne planove. Na Snapdragon Summitu 2025, Rick Osterloh, Googleov viši potpredsjednik za uređaje i usluge,... Pročitaj više
Priča o “1-inčnom senzoru”: Kako su nas proizvođači malo zavarali
Evo jedne zanimljive činjenice: jeste li ikada otvorili leću fotoaparata i pogledali njegov senzor? Može biti iznenađujuće kada uređaj reklamira “senzor do 1 inča”, a kad ga pažljivo izmjerite, dijagonala iznosi tek oko 0,63 inča. Pa što se... Pročitaj više
Test pada iPhone 17 Pro Max vs Galaxy S25 Ultra – aluminij protiv titana
Nedavni testovi pada pokazali su zanimljive rezultate: iPhone 17 Pro Max s unibody aluminijskim okvirom ipak je slabiji od titanskog Galaxy S25 Ultra, no Appleovo Ceramic Shield staklo pokazuje iznenađujuću izdržljivost. Od lansiranja iPhon... Pročitaj više
Upozorenje: novi rizici napada uz AI protokole otvorenog koda
Kaspersky upozorava: kriminalci bi mogli iskoristiti AI protokol otvorenog koda MCP za napade na lance opskrbe, krađu lozinki, kreditnih kartica i osjetljivih podataka. Što je MCP? Model Context Protocol (MCP) je protokol za povezivanje umj... Pročitaj više
Sve novosti