Cererile de procesare pentru procesor se încadrează într-un set de logică sistem (numit și un chipset), incluzând, printre altele, un controler de memorie. Controlerul de memorie este complet transparent pentru programator, dar cunoașterea caracteristicilor sale arhitecturale face mult mai ușor pentru a optimiza schimbul cu memoria.
Dispozitivul din podul nord al chipset-ului Intel 815EP, care conține (printre altele) un controler de memorie
Controlerul de autobuz (BIU - Bus Interface Inițializare), „implantate“, în podul de nord primește o solicitare de la procesor, în funcție de situație sau o transmite agentul corespunzător (în cazul nostru - un controler pas de memorie RAM) sau pune o cerere în coada de așteptare, în cazul în care agentul în acel moment este ocupat cu ceva. Necesitatea unei cozi din cauza faptului că procesorul poate trimite următoarea cerere, fără a aștepta finalizarea procesării celui anterior, și dacă da, întrebările trebuie să fie depozitate undeva.
În funcție de arhitectura regulatorului de memorie, acesta funcționează cu memorie fie numai la frecvența busului sistem (controler sincron), fie suportă memoria oricărei alte frecvențe (controler asincron). Controlorii sincronici restricționează utilizatorii de PC la alegerea modulelor de memorie, dar, pe de altă parte, controlerele asincrone sunt mai puțin productive. De ce? În primul rând, datorită neconcordanței frecvenței, datele citite nu pot fi transferate direct către controlerul de bord și trebuie mai întâi să fie adăugate la memoria tampon intermediară, unde controlerul de magistrală le poate extrage cu viteza necesară. (O similară situa-TION se observă cu intrarea.) În al doilea rând, în cazul în care frecvența de autobuz de sistem și ceasul de memorie nu sunt legate ca numere întregi, înainte de schimb trebuie să aștepte finalizarea impulsului de ceas curent. Există două astfel de întârzieri (în limbajul comun al unei pedepse):
la transmiterea datelor citite către controlerul de bord.
Toate acestea cresc în mod semnificativ latența subsistemului de memorie - adică timpul dintre trimiterea cererii și primirea datelor. Astfel, controlerul asincron care funcționează cu memorie SDRAM PC-133 pe magistrala de sistem de 100 MHz, își pierde rulează sincron colegi pe același autobuz cu SDRAM PC-100 de memorie.
Controlorul de magistrală, după ce a primit o notificare din partea controlorului de memorie că datele solicitate sunt pregătite, așteaptă eliberarea magistralei și o trimite la procesor în modul lot. În funcție de tipul de magistrală, pot fi transmise una până la patru porțiuni de date pe un ciclu de ceas. Astfel, în procesele KB, RI și R-SH, se efectuează o transmisie per ceas, în procesorul Athlon sunt două, iar în procesorul P-4 patru.
De acum înainte, datele sunt stocate în cache și sunt disponibile pentru procesor.
Sistem bus controler responsabil pentru interogări de prelucrare și a datelor strămutate-schenie între procesor și chipset-ul, este alcătuit din următoarele componente funcționale: un transfer de date (Procesor Sursa Synch Ceas Transceiver), cere planificator (Command Queue - CQ), cerere Controleri-ra cozi (Control System Queue - CSQ) și agentul de tranzacții (XCA). Componentele rămase ale controlerului de magistrală prezente în Fig. 2.11, sunt necesare pentru a sprijini depanarea sondei, care nu este relevantă pentru subiectul în discuție și, prin urmare, nu este luată în considerare aici.
Transferul de date - într-un sens mai înalt, este un controler "gol" al magistralei, înțelegând protocolul magistralei și având grijă de toată comunicarea cu procesorul. Solicitările primite de la procesor sunt transferate către programatorul cererilor, de unde sunt trimise agenților corespunzători în momentul în care sunt eliberați.
Agenți Răspunsurile sunt stocate în trei cozi separate: citește coadă (SysDC Citire Coadă - SRQ), memorie coadă de scriere (Memorie Scriere Coadă - MWQ) și PCI intrări coadă bus (PCI / A-PCI Write Queue - AWQ). Notă: în acest caz este vorba despre scrierea / citirea către procesor, nu în mișcare! Astfel, coada de scriere a memoriei stochează datele transferate din memorie către procesor, dar nu este scrisă de procesor în memorie!