2017. november 20., hétfő

(CPU-)futószalag

  • (p)
Írta: Abu85 | Utoljára frissítve: 2011-01-17 12:58

Hirdetés

A processzorok a programkódban található utasításokat egy úgynevezett futószalagon keresztül dolgozzák fel, amit logikai részegységekre lehet bontani. Ezeket a logikai részegységeket három nagyobb csoportra lehet osztani, a front-endre, az ütemezésre és a back-endre.

A front-end felel az utasítások behívásáért és dekódolásáért. Itt találjuk az utasításbehívót (fetch), az elágazásbecslőt (branch predictor) és a dekódolót (decode). Az utasításbehívó, mint az nevéből is következik, a programkódban található x86-os utasítások beolvasásáért felel. A dekódoló az x86-os utasításokat fordítja le a CPU-számára is érthető, RISC-szerű nyelvre. Az elágazásbecslő megpróbálja a programkódban található elágazások végkimenetelét kikalkulálni a korábbi elágazások eredményei alapján.

Az ütemező a már dekódolt utasításokat a megfelelő „útra” tereli. Itt általában egy úgynevezett reorder buffert (ROB) találunk, amely a már dekódolt utasításokat tárolja, majd küldi tovább az ütemező (scheduler) felé, amely az adott típusú utasításokat a megfelelő feldolgozó felé irányítja.

A back-end a műveletek elvégzéséért felel, itt találjuk az ALU-t, az FPU-t és a SIMD utasítások végrehajtására képes részegységeket. Az eredmények ezután egy betöltésre/kiírásra képes pufferbe kerülnek, ott az eredeti programkódnak megfelelő sorrendbe rendeződnek, onnan pedig az elsőszintű adatgyorsítótárba kerülnek, ami rácsatlakozik a rendszerbuszra.


K10 teljes blokkdiagramm [+]

Ha pontatlanságot találsz a cikkben, kérjük, írd meg a szerzőnek!
A bejegyzés utolsó frissítésének időpontja: 2011-01-17 12:58

Hirdetés

Hirdetés

Copyright © 2000-2017 PROHARDVER Informatikai Kft.