Novinky ze sv∞ta procesor∙ http://cpunews.kgb.cz
CPU News CPU News
Zasφlßnφ novinek a zm∞n:
  
Menu:
┌vod
Co je novΘho?
Aktuality
Taktovßnφ
ChladiΦe
Historie
Technologie
Testy
Programy
Diskuse CPU News
Anketa
Inzerßty
Reklama
E-mail autora

Vyhledßvßnφ:

Jak to chodφ v procesoru

Prvnφ mikroprocesor firmy Intel mß u₧ n∞jak² ten pßtek za sebou, a dokonce mnoho ost°φlen²ch u₧ivatel∙ poΦφtaΦnφk∙ ani nevφ, jak² byl. VÜechno to zaΦalo u matematika von Neumanna, kter² navrhl zßkladnφ jednoduchou architekturu poΦφtaΦe, jen₧ se aplikovala v 50. letech naÜeho stoletφ. Samoz°ejm∞ se dneÜnφ architektura poΦφtaΦ∙ od dob von Neumanna dosti liÜφ, ale nejv²razn∞jÜφ pokrok vidφme prßv∞ u mikroprocesor∙. Jednφm z kamen∙ byl i tzv. von Neumann∙v instrukΦnφ cyklus, kter² °φkal, jak mß procesor zpracovßvat instrukce. Bylo to velmi jednoduchΘ, nejd°φve p°evzφt instrukci, dek≤dovat ji, provΘst ji a nakonec se p°ipravit na zpracovßnφ dalÜφ.

L2 Cache

Cesta zpracovßnφ instrukcφ zaΦφnß od operaΦnφ pam∞ti, kam programßtor program ulo₧φ a potΘ dß mikroprocesoru p°φkaz, aby instrukce zaΦal vykonßvat. Instrukce se nejd°φve zaΦnou p°esouvat do tzv. L2 cache (vyrovnßvacφ pam∞ti). Ji₧ zde se mikroprocesory zßsadn∞ liÜφ, a to hlavn∞ Pentium II. Klasicky umφst∞nß cache L2 na zßkladnφ desce je u Pentia II umφst∞nß p°φmo v n∞m samotnΘm. KoneΦn∞ toto °eÜenφ ji₧ m∞lo Pentium Pro. P°ed vyjitφm Pentia II na trh se spekulovalo, zda L2 cache z∙stane na procesoru, nebo zda se Intel p°iklonφ k ostatnφm v²robc∙m a L2 cache z∙stane na zßkladnφ desce. AMD a Cyrix stßle spolΘhajφ na p∙vodnφ variantu. Pentium II vÜak Ülo dßl svou zapoΦatou cestou a p°iÜlo s Dual Independent Buses, kde ke komunikaci s L2 cache slou₧φ samostatnß 64bitovß sb∞rnice uvnit° mikroprocesoru. Velikosti L2 cache se u vÜech t°φ mikroprocesor∙ stßle dr₧φ ve velikostech, na kterΘ jsme si ji₧ zvykli, a to na 512 kB nebo na 256 kB. Intel se navφc nechal slyÜet, ₧e poΦφtß u p∙vodnφho Pentia Pro s rozÜφ°enφm L2 cache na 1 MB.

L1 Cache

DalÜφ zastßvkou je L1 cache, kterß je umφst∞nß p°φmo v mikroprocesoru a obvykle se d∞lφ na Φßst pro instrukce a Φßst pro data. Zde se v²robci p°φliÜ neliÜφ. Intel pou₧φvß velikost 32 kB a AMD 64 kB.

DΘkodovßnφ instrukcφ

Mikroprocesory se ji₧ odedßvna d∞lφ na °ady CISC (Complete Instruction Set Computer) a RISC (Reduced Instruction Set Computer). JednoduÜe si lze p°edstavit, ₧e u architektury RISC je pouze zßkladnφ malß sada instrukcφ, se kterou si programßtor musφ vystaΦit, ale dß to troÜku vφce prßce, a u CISCu je instrukΦnφ sada rozÜφ°ena ji₧ o p°edem p°edprogramovanΘ (makro ) instrukce, kterΘ jsou tvo°eny zßkladnφ sadou, a programßtor mß prßci v mnoha p°φpadech uÜet°enu. ProblΘm je s tφm, ₧e RISC sada mß pevnou dΘlku a CISC sada mß prom∞nou dΘlku instrukce. A prßv∞ z d∙vodu dΘlky se p°istoupilo k p°ekladu instrukcφ. Pro mikroprocesor je samoz°ejm∞ mnohem jednoduÜÜφ zpracovßvat instrukce s pevnou dΘlkou ne₧ prom∞nnou dΘlkou. A proto se zaΦaly instrukce u mikroprocesor∙ dek≤dovat a vnit°n∞ p°evßd∞t na instrukce blφzkΘ sad∞ RISC. Pro v²b∞r a dek≤dovßnφ instrukcφ slou₧φ modul Decode unit, kter² naz²vajφ shodn∞ vÜichni t°i v²robci. OvÜem ka₧d² z nich ji₧ dek≤duje instrukce jinak. Pentium II dek≤duje instrukce do "Micro ops" a AMD do instrukΦnφ sady RISCx86. Do tΘto oblasti nap°. Intel nevklßdß svΘ nad∞je, zato AMD dek≤dovßnφ propracovalo velmi peΦliv∞.

Vykonßvßnφ instrukcφ

Instrukce po dek≤dovßnφ se °adφ v "Instruction pool", aby mohly b²t nßsledn∞ vykonßny v "Execution unit". Zde se dostßvßme do oblasti, kde se jednotlivφ v²robci p°edhßn∞jφ, dobφhajφ, p°edvßd∞jφ, ohromujφ u₧ivatele skv∞l²mi Φφsly atd. P∙vodn∞ se instrukce vykonala a bylo hotovo. Dalo by se °φci s trochou nadsßzky, ₧e dnes je to ·plnß v∞da. Zpracovßnφ probφhß v Φßsti "Pipeline", kterß se sklßdß z n∞kolika jednotek. Jedna pipeline je schopnß vykonat jednu instrukci a n∞kolik jich rozpracovat. Aby to bylo rychlejÜφ, je v mikroprocesorech, o kter²ch mluvφme on∞ch pipeline vφce. Intel mß celkem 3, AMD 4, a Cyrix 2 pipeline. Nutno podotknout, ₧e v²voj 6 x 86 od Cyrixu zaΦal jako konkurence mikroprocesor∙ Intel Pentium, zato Pentium II a v²hradn∞ K6 jsou znaΦn∞ nov∞jÜφho data. V Pentiu II je mo₧nΘ rozpracovat v ka₧dΘ pipeline 12 , v K6 6 a v 6x86 7 instrukcφ.

Zpracovßnφ mimo po°adφ a spekulativnφ vykonßvßnφ instrukcφ

P°i samotnΘm vykonßvßnφ instrukcφ se uplat≥ujφ metody "Out of Order" a "Speculative Execution". Out of Order je metoda, p°i nφ₧ se instrukce vykonßvajφ v jinΘm po°adφ, ne₧ jak uvßdφ program ulo₧en² v operaΦnφ pam∞ti. Procesor si sßm rozhodne a posklßdß instrukce tak, aby byly zpracovßny v co nejkratÜφm Φase. Toto je d∙sledek toho, ₧e ne vÜechny instrukce se dajφ zpracovßvat souΦasn∞ a ne vÜechny se dajφ stejn∞ rozpracovat. Kdybychom zpracovßvali instrukce v p∙vodnφm po°adφ, byly by n∞kterΘ Φßsti mikroprocesoru po urΦitou dobu nevyu₧ity. Proto se p°istoupilo k vykonßvßnφ instrukcφ mimo po°adφ, aby byly, pokud je to mo₧nΘ, vÜechny Φßsti mikroprocesoru maximßln∞ vyu₧ity. Speculative execution spoΦφvß v odhadu vykonßvßnφ instrukcφ dop°edu. Instrukce se vykonßvajφ v dob∞, kdy je mikroprocesor mΘn∞ vytφ₧en, a jednotlivΘ v²sledky zpracovßnφ se uklßdajφ v mikroprocesoru, aby byly v okam₧iku pot°eby k dispozici. Out of order a speculative execution je u vÜech t°φ v²robc∙ implementovßn, ale z hlediska srovnßnφ zßle₧φ na ·sp∞Ünosti pou₧itΘho algoritmu, kter² se v∞tÜinou nezve°ej≥uje.

P°edpov∞d┤ v∞tvenφ

Zpracovßnφ mimo po°adφ a spekulativnφ vykonßvßnφ instrukcφ je skv∞lß v∞c, ale jak to ji₧ b²vß nic nenφ dokonalΘ. Program obvykle obsahuje °adu skokov²ch instrukcφ neboli instrukcφ, kterΘ zajiÜ¥ujφ v∞tvenφ programu. A zde se m∙₧e stßt, ₧e p°i vykonßnφ instrukce mimo po°adφ dojde k v²poΦtu d°φve, ne₧ je nutnΘ, a p°itom instrukce skoku °φkß, ₧e nejd°φve m∞l b²t zpracovßn jin² k≤d programu. K tomu, aby nedochßzelo k chybn²m v²poΦt∙m se pou₧φvß "Branch prediction". M∙₧eme se setkat i s nßzvem "Branch logic". Zde se v²robci trochu rozchßzejφ. U Pentia se jednalo o BTB (Brach Target Buffer) jednotku, u Pentia II a Cyrixu nalΘzßme BTB taktΘ₧ a se shodnou velikostφ 512 zßznam∙. U K6 je to jinak. Zde nenφ BTB, ale BPT (Brach Prediction Table) s 8 192 zßznamy. Je t∞₧kΘ srovnßvat jednotlivΘ zp∙soby p°edpov∞dφ v∞tvφ, proto₧e vÜe zßle₧φ na vnit°nφm zpracovßnφ. Vlastnφ v²konnost se potvrdφ a₧ praktick²mi testy.

P°edchozφ strßnka

Reklama:
Odkup imprese

Hanschova funpage

Vyd∞lejte si u ClickDough

Vyd∞jte si serfovßnφm

Vyd∞lejte si u Spedie