Procesorul citeste si executã în continuu codul operatiilor aflate în memoria tampon. Acest flux de date este controlat de asa-numitul super-pipeline. Pentru a-l eficientiza, el a fost împãrtit în trei sectiuni sine-stãtãtoare, care astfel pot lucra independent la o vitezã potrivitã fluxului de date la acel momentul. Cele trei sectiuni contin în total 14 nivele (blocuri constructiv separate, care conlucreazã la prelucrarea secventialã a fluxului de date prin pipeline), su datele traverseazã fiecare nivel într-un singur tact. Primele 8 nivele sunt dispuse în prima sectiune a pipeline- ului, numitã In Order Front-End. Invocã opt cicluri de tact de-alungul cãrora face urmãtoarele operatiuni: pe baza datelor din BTB (Branch Target Buffer) estimeazã adresa operatiei urmãtoare, citeste si decodificã operatia respectivã (instructiunea cod-masinã aflatã în cache este descompusã în cãteva microoperatii), si efectueazã o reasignare a referintelor la registrii invocati de programator la registrii interni disponibili în acel moment (astfel microoperatiile se pot executa în simultan). Sectiunea urmãtoare din pipeline - Out of Order Core - are trei nivele si este rãspunzãtoare pentru executarea instructiunilor. Deoarece prin executarea în paralel a microoperatiilor se pierde ordinea de executie originalã specificatã de programator, pentru a retine aceastã ordine, datele (codul microoperatiilor) sunt scrise în ROB (Re Order Buffer) si într-un singur tact sunt executate toate microoperatiile decodificate anterior. Ultima sectiune - In Order Retirement - are o lungime de 3 nivele si aici sunt colectate si regrupate rezultatele partiale ale microoperatiilor.
Documentul este oferit gratuit,
trebuie doar să te autentifici in contul tău.