miniatura|Patru sloturi pentru plăci de magistrală PCI Express. În arhitectura calculatoarelor, o magistrală () reprezintă calea prin care circulă datele în interiorul unui calculator, între două sau mai multe elemente ale acestuia. Magistrala permite componentelor și perifericelor unui sistem de calcul să interconecteze reciproc schimbând informații sau date de sistem prin transmiterea semnalelor. Noțiunea de magistrală definește nu numai traseul fizic respectiv, ci și regulile care guvernează transmisia de date și comenzi între componentele sistemului, precum și modul de interconectare a perifericelor de pe placa de bază. Fiecare componentă din sistem este conectată la una din magistrale, unele dintre ele funcționând ca punți între magistrale. Magistrala este cu atât mai rapidă cu cât pe ea se pot emite simultan mai multe semnale, deci transferă mai multe date într-un interval dat de timp.What is a Bus? techopedia.comDigital Equipment Corporation (DEC), a lansat pe piață la sfârșitul anilor ’60 primul calculator (PDP 11), construit în jurul unei magistrale, magistrala Unibus.

Introducerea conceptului de magistrală a revoluționat modul de concepere și proiectare a noilor sisteme de calcul. Modelul de calculator bazat pe magistrală a fost preluat mai ales de familiile de calculatoare mini și micro. Prin standardizarea magistralelor, sistemele de calcul au devenit deschise, în sensul că un număr mai mare de producători au realizat componente pentru o anumită structură de calculator (module de memorie, interfețe de intrare/ieșire, echipamente periferice), bazându-se pe specificațiile magistralei. Ulterior, au fost dezvoltate diferite standarde de magistrală în paralel cu evoluția procesoarelor, sau magistrale specializate pentru anumite tipuri de echipamente periferice. Prima magistrală IBM a fost PC/XT bus și lucra pe 8 biți la o frecvență de 4,77 MHz.

Apariția și evolutia ulterioară a microprocesoarelor a consacrat modelul de calculator bazat pe magistrală. Configurația semnalelor unui microprocesor este astfel concepută încât să permită conectarea ușoară la o magistrală de sistem. În general, fiecare familie de procesoare a impus o anumită structură și un anumit standard de magistrală. Există însă anumite trăsături comune pentru toate aceste magistrale (principii de transfer, tipuri de semnale), astfel încât modulele proiectate pentru un anumit tip de magistrală pot fi ușor modificate pentru a putea fi conectate pe o altă magistrală. În ultima perioadă au apărut o serie de noi standarde de magistrală, care încearcă să țină pasul cu cerințele de comunicare ale noilor generații de procesoare.

Majoritatea computerelor PC moderne au cel puțin trei magistrale aranjate ieharhic, magistrala mai lentă este conectată la cea mai rapidă de deasupra ei. Fiecare dispozitiv din sistem este conectat la una dintre magistrale, iar unele dispozitive (în principal chipset) acționează ca punți de legătură între diferitele magistrale.

În cadrul unui sistem de calcul pot să coexiste mai multe tipuri de standarde, specializate pe transferul de date între anumite tipuri de componente de sistem. Astfel se poate utiliza o magistrală de mare viteză pentru transferul între procesor și memorie, o magistrală cu acces multiplu (multimaster) pentru conectarea unor periferice de mare viteză (disc optic, interfață video) și o magistrală de mică viteza pentru periferice lente. În aplicațiile de control se mai poate adăuga și o magistrală de instrumentație, adaptată pentru culegerea de date de proces.

Caracteristici Caracteristicile constructive ale unei magistrale sunt influențate de cerințele și particularitățile funcționale ale procesorului pentru care a fost concepută.

Magistralele sunt reprezentate fizic prin trasee de cupru cablate pe placa de bază sau pe plăcile utilizator, în interiorul microprocesorului prin trasee microscopice, iar între plăci prin cabluri panglică sau cabluri multifilare ecranate, partea vizibilă fiind reprezentată de sloturi.

Atunci când se referă la semnalul transportat trebuie precizată lățimea magistralei, care se exprimă în număr de biți și reprezintă numărul de linii care compun magistrala, fiind egală cu numărul de biți ce pot fi transmiși simultan prin magistrală. Magistralele, în funcție de tipul lor, pot avea lățimi de 8, 16, 32, 64 biți, sau chiar mai mult pentru sistemele deosebit de performante.

Magistralele lucrează la o anumită frecvență de tact dată de controlerele de magistrală. Frecvența de tact este obținută prin divizarea sau multiplicarea frecvenței dată de un circuit de ceas.

Frecvențele de lucru ale microprocesorului, magistralelor și memoriei trebuie sincronizate. Cu cât frecvența este mai mare cu atât va crește viteza de transfer a magistralei. Aceste frecvențe au valori, în funcție de standardul de magistrală între 5 și 133 MHz.

Creșterea peste anumite limite a frecvenței de tact întâmpină dificultăți datorită unor eventuale incompatibilități cu plăci de extensie care nu permit viteze mari de recepție.

Elemente ale magistralei O magistrală se compune dintr-un set de reguli constituite într-un protocol care guvernează transferul de informații și accesul la mediul de comunicație și tipuri de semnale.

Protocol caracteristicile mecanice: tip de conectori, număr de conectori alocați pentru un slot, formatul modulelor de extensie atașabile, sertar și fund de sertar (rack și cablajul din spatele acestuia – această structură fiind specifică magistralelor industriale) caracteristicile electrice ale componentelor conectate pe magistrală: nivele de tensiune, curenți, încărcare, frecvență de lucru, rată de transfer secvența de generare a semnalelor necesare pentru efectuarea unui transfer timpii limită pentru diferitele faze ale unui transfer și timpii de menținere a unui anumit semnal intercondiționările funcționale și temporale între diferitele tipuri de semnale.

Tipuri de semnale semnale de date: sunt semnale bidirecționale utilizate pentru transferul de date și instrucțiuni. La un moment dat doar un singur dispozitiv poate să emită pe liniile de date; numărul liniilor de date (8, 16, 32, 64) determină dimensiunea maximă a cuvântului de date care poate fi transferat la un moment dat și, implicit, viteza medie de transfer a magistralei. semnale de adresă: utilizate pentru specificarea adresei modulului destinație sau sursă de date, numărul de linii de adresă determinând spațiul maxim de adresare permis de magistrală semnale de comandă: semnale unidirecționale generate de CPU (sau de către alt dispozitiv master), utilizate pentru specificarea direcției de transfer (semnale de citire sau scriere pentru CPU) și a tipului de modul adresat (de memorie sau modul I/O, memorie program, controler de întrerupere etc.). semnale de control: sunt semnale utilizate pentru reglarea condițiilor de transfer a datelor (temporizarea deschiderii și închiderii amplificatoarelor de magistrală pentru semnalele vehiculate pe aceasta). semnale de întrerupere: generate de un controler dedicat, permit semnalizarea unor evenimente interne sau externe și implicit determină întreruperea execuției programului curent. semnale de tact (de ceas): sunt generate de un oscilator cu cuarț, fiind folosite pentru sincronizare și pentru generarea unor semnale de frecvență programabilă. semnale de alimentare: generate de sursa de tensiune a sistemului și folosite pentru alimentarea modulelor sistemului. semnale de control a accesului: sunt utilizate pentru arbitrarea și controlul accesului pe magistrală (în cazul magistralelor multimaster), generate de un circuit specializat (arbitru de magistrală).

Numărul și semnificația particulară a semnalelor depinde de tipul și destinația magistralei. Anumite grupe de semnale noi pot fi adaugate (semnale de eroare, semnale de control a lățimii datelor transferate, etc.).

Tipuri de magistrale În funcție de arhitectura lor, pot fi identificate următoarele tipuri de magistrale:

Magistrale interne (magistrale locale) Magistrala procesorului Magistrala procesorului sau magistrala de sistem este cea mai rapidă și face parte din nucleul setului de cipuri și al plăcii de bază. Magistrala procesorului este calea de comunicare între CPU și cipurile cu care lucrează direct. Această magistrală este folosită pentru a transfera date între CPU și magistrala memorie RAM. Magistrala este compusă din circuite electrice pentru date, adrese și comenzi.

Magistrala memoriei Este magistrala principală a sistemului utilizată la transferul informațiilor între CPU și memoria RAM. Această magistrală este mai lentă față de magistrala procesorului, deoarece informația care circulă prin magistrala memoriei este transferată la o viteză mult mai mică decât viteza de transfer a informației pe magistrala procesorului, având mai puține linii de date, iar cipurile de memorie nu pot să manipuleze date la fel de repede cum o face procesorul. Magistrala memoriei este o parte a magistralei procesorului, sau de cele mai multe ori este implementată separat cu un set de cipuri responsabil cu transferul informațiilor între magistrala procesorului și memorie. Acest set de cipuri este în general același cu setul de cipuri responsabil cu gestionarea I/O. În sistemele a căror frecvență este mai mare decât posibilitățile cipurilor de memorie, se utilizează un set de cipuri numit controler de memorie care realizează interfața între magistrala rapidă a procesorului și cea a memoriei principale, mai lentă.

Soclurile cipurilor sau conectorii modulelor SIMM sunt conectați la magistrala memoriei la fel cum sunt cuplați conectorii de extensie la magistrala I/O. Pentru ca un sistem să funcționeze în condiții optime, trebuie ca dimensiunea magistralei de memorie să fie corespunzătoare posibilităților CPU (un sistem care are un procesor pe 64 biți), trebuie o magistrală a memoriei de 64 biți). Dimensiune magistralei de memorie determină mărimea memoriei pe care unitatea centrală o poate accesa direct.

Magistrale de sistem

Sunt destinate pentru conectarea componentele majore ale unui sistem informatic (procesorul, memoria principală, controlere periferice). Magistrala de sistem conține trei magistrale mai mici:

Magistrala de date: Transferă date între componentele principale ale computerului sau între diferite computere. Magistrala de date este bidirecțională. Lățimea magistralei de date (numărul de linii de date) și frecvența cu care se pot transmite datele determină viteza maximă de transmitere a datelor.

Magistrala de adrese: Are rolul de a indica adresa de memorie sau adresa de pe magistrala sistemului care va fi utilizată în transferul datelor. Magistrala de adrese indică precis locul în care va avea loc următorul transfer în memorie sau pe magistrală. Magistrala de adrese este o magistrală unidirecțională care transmite numai adrese de memorie.

Magistrala de control: Este formată din grupul liniilor de control și este utilizată pentru a controla accesul datelor și generarea adreselor precum și pentru a transporta informația de stare către CPU. Este o magistrală mixtă, conține comenzi și informație de stare.

Semnalele magistralei de control determină realizarea operațiunilor specifice stării în care se găsește magistrala. Acestea pot fi: sincronizarea transferurilor scriere/citire stabilirea mărimii magistralei de date utilizate de placile adaptoare utilizate de sistemul de intreruperi sincronizarea transferurilor DMA utilizate în scopuri diverse.

Operațiile de bază (cicluri de magistrală) pe care le poate realiza magistrala de control sunt: citirea unei date din memorie (memory read) scrierea unei date în memorie (memory write) citirea unei date din porturile de Intrare/Ieșire (I/O) (I/O read) scrierea unei date în porturile de Intrare/Ieșire (I/O) (I/O write) recunoașterea unei întreruperi (bus request) închidere (shut down).