Computer bus ( ing. computer bus ) în arhitectura computerului - o conexiune care servește la transferul de date între blocurile funcționale ale unui computer . În dispozitivul magistrală, se poate distinge între nivelurile mecanic, electric (fizic) și logic (control).
Spre deosebire de o conexiune punct la punct , mai multe dispozitive pot fi de obicei conectate la o magistrală printr-un singur set de conductori. Fiecare magistrală își definește propriul set de conectori (conexiuni) pentru conectarea fizică a dispozitivelor, cardurilor și cablurilor.
Autobuzele computerizate ale calculatoarelor timpurii erau pachete (mănunchiuri de fire de conectare - semnal și putere, legate între ele pentru compactitate și ușurință de întreținere), implementând magistrale electrice paralele cu mai multe conexiuni. În sistemele de calcul moderne, acest termen este folosit pentru orice mecanism fizic care oferă aceeași funcționalitate logică ca și magistralele computerizate paralele.
Autobuzele computerizate moderne folosesc atât conexiuni paralele, cât și seriale și pot avea topologii paralele ( în engleză multidrop ) și în lanț ( în engleză daisy chain ). În cazul USB și al altor autobuze, pot fi utilizate și hub-uri ( hub-uri ).
Unele tipuri de autobuze de mare viteză ( Fibre Channel , InfiniBand , Ethernet de mare viteză , SDH ) utilizează mai degrabă conexiuni optice decât electrice pentru semnalizare .
Conectorii la magistrală, o varietate de conectori, de regulă, sunt unificați și vă permit să conectați diferite dispozitive la magistrală.
Controlul transferului de magistrală este implementat atât la nivelul fluxului de semnal ( multiplexoare , demultiplexoare , buffere , registre , modele de magistrală ), cât și din nucleul sistemului de operare - în acest caz, include driverul corespunzător .
Magistralele pot fi paralele (datele sunt transferate ciclu cu ciclu în cuvinte : fiecare bit este un conductor separat) și seriale (biții de date sunt transferați alternativ de-a lungul unui canal , de exemplu, o pereche de conductori).
Majoritatea computerelor au magistrale interne și externe. Busul intern conectează toate componentele interne ale computerului la placa de bază (și, prin urmare, la procesor și memorie). Acest tip de magistrală se mai numește și magistrală locală, deoarece este folosit pentru a conecta dispozitive locale. Busul extern conectează perifericele externe la placa de bază.
Conexiunile de rețea , cum ar fi Ethernet , nu sunt de obicei considerate autobuze, deși diferența este mai mult conceptuală decât practică. Apariția tehnologiilor InfiniBand și HyperTransport a estompat și mai mult linia dintre rețele și autobuze. [unu]
Autobuzele de calculator timpurii erau un grup de conductori care conectau memoria computerului și perifericele la procesor. Aproape întotdeauna s-au folosit diferite magistrale pentru memorie și periferice, cu diferite metode de acces, întârzieri, protocoale.
Una dintre primele îmbunătățiri a fost utilizarea întreruperilor . Înainte de introducerea lor, computerele executau operațiuni I/O într-o buclă, așteptând ca un dispozitiv periferic să fie gata. A fost o pierdere de timp pentru programele care puteau face alte lucruri. De asemenea, dacă programul a încercat să efectueze alte sarcini, ar putea verifica starea dispozitivului prea târziu și ar putea pierde date. Prin urmare, inginerii au făcut posibil ca perifericele să întrerupă procesorul . Întreruperile au fost prioritizate deoarece procesorul putea executa cod doar pentru o întrerupere la un moment dat, iar unele dispozitive necesitau o latență mai mică decât altele.
Un timp mai târziu, computerele au început să aloce memorie între procesoare. Pe ele, accesul cu autobuzul a primit prioritate și el.
Modul clasic și simplu de a prioritiza întreruperile sau accesul la magistrală a fost dispozitivele în lanț.
DEC a remarcat că două autobuze diferite ar putea fi redundante și costisitoare pentru computerele mici, produse în masă și a sugerat maparea perifericelor la magistrala de memorie, astfel încât acestea să arate ca zone de memorie. A fost o decizie foarte îndrăzneață la acea vreme, iar criticii au prezis că va eșua.
Primele mini-autobuze pentru computere erau backplane pasive conectate la pinii microprocesorului. Memoria și alte dispozitive au fost conectate la magistrală folosind aceeași adresă și pini de date ca și procesorul. Toate contactele au fost conectate în paralel. În unele cazuri, cum ar fi în IBM PC , sunt necesare instrucțiuni suplimentare de procesor pentru a genera semnale pentru ca magistrala să fie o adevărată magistrală I/O.
În multe microcontrolere și sisteme încorporate , magistrala I/O încă nu există. Procesul de transfer este controlat de CPU, care în cele mai multe cazuri citește și scrie informații pe dispozitive ca și cum ar fi blocuri de memorie. Toate dispozitivele au o sursă comună de ceas. Perifericele pot solicita procesarea informațiilor prin semnalizarea pinilor speciali ai CPU folosind o anumită formă de întrerupere. De exemplu, controlerul de hard disk va anunța procesorul despre datele gata de citit, după care procesorul trebuie să le citească din zona de memorie corespunzătoare controlerului. Aproape toate calculatoarele timpurii au fost construite în acest fel, de la Altair cu autobuzul S-100 până la PC-ul IBM în anii 1980 .
Astfel de autobuze simple aveau un dezavantaj serios pentru calculatoarele de uz general. Toate echipamentele din autobuz trebuiau să transmită informații cu aceeași viteză și să utilizeze aceeași sursă de ceas . Creșterea vitezei procesorului nu a fost ușoară, deoarece a necesitat aceeași accelerație a tuturor dispozitivelor. Acest lucru a dus adesea la o situație în care procesoarele foarte rapide trebuiau să încetinească pentru a putea transmite informații către unele dispozitive. Deși acest lucru este acceptabil pentru sistemele încorporate, această problemă nu este acceptabilă pentru computerele comerciale. O altă problemă este că procesorul este necesar pentru toate operațiunile, iar atunci când este ocupat cu alte operațiuni, debitul efectiv al magistralei poate avea de suferit semnificativ.
Astfel de autobuze computerizate erau greu de configurat cu o gamă largă de echipamente. De exemplu, fiecare card de extensie care a fost adăugat ar putea necesita setarea mai multor comutatoare pentru a seta adresa de memorie, adresa I/O, prioritățile și numerele de întrerupere.
Autobuzele computerizate de „a doua generație” precum NuBus au rezolvat unele dintre problemele de mai sus. De obicei, au împărțit computerul în două „părți”, procesorul și memoria într-una și diverse dispozitive în cealaltă. Între piese a fost instalat un controler de magistrală special (controler de magistrală ) . Această arhitectură a făcut posibilă creșterea vitezei procesorului fără a afecta magistrala, pentru a descărca procesorul din sarcinile de gestionare a magistralei. Cu ajutorul unui controler, dispozitivele de pe magistrală ar putea comunica între ele fără intervenția procesorului central. Noile cauciucuri aveau performanțe mai bune, dar necesitau și plăci de expansiune mai sofisticate. Problemele de viteză au fost adesea rezolvate prin creșterea lățimii magistralei de date , de la magistralele de 8 biți din prima generație la magistralele de 16 sau 32 de biți din a doua generație. Configurarea dispozitivelor software a apărut și pentru a simplifica conectarea noilor dispozitive, acum standardizate ca Plug-n-play .
Cu toate acestea, noile anvelope, la fel ca și generația anterioară, au cerut aceleași viteze de la dispozitivele din același autobuz. Procesorul și memoria erau acum izolate pe propria magistrală, iar viteza lor a crescut mai repede decât viteza magistralei periferice. Drept urmare, autobuzele au fost prea lente pentru noile sisteme, iar mașinile au suferit din cauza lipsei de date. Un exemplu al acestei probleme este că plăcile video se îmbunătățiu rapid și nu aveau lățimea de bandă chiar și a noilor magistrale PCI ( Peripheral Component Interconnect ). Calculatoarele au început să includă Accelerated Graphics Port (AGP) doar pentru a funcționa cu adaptoare video. În 2004, AGP nu a fost din nou suficient de rapid pentru plăci video puternice, iar AGP a început să fie înlocuit cu noua magistrală PCI Express .
Un număr tot mai mare de dispozitive externe au început să folosească propriile autobuze. Când au fost inventate unitățile de disc, acestea au fost atașate la mașină cu un card conectat la magistrală. Din acest motiv, computerele aveau multe sloturi de expansiune . Dar în anii 1980 și 1990, au fost inventate noi magistrale SCSI și IDE care au rezolvat această problemă, lăsând majoritatea sloturilor de expansiune din sistemele noi goale. În zilele noastre, o mașină tipică suportă aproximativ cinci anvelope diferite.
Anvelopele au început să fie împărțite în interne ( autobuz local ) și externe ( autobuz extern ). Primele au fost concepute pentru a conecta dispozitive interne, cum ar fi adaptoare video și plăci de sunet, în timp ce cele din urmă au fost concepute pentru a conecta dispozitive externe, cum ar fi scanere . IDE-ul este o magistrală externă prin proiectare, dar este aproape întotdeauna folosit în interiorul unui computer.
Autobuzele de „a treia generație” (cum ar fi PCI-Express ) permit de obicei atât viteze mari necesare pentru memorie, plăci video și comunicații interprocesoare, cât și cele mici atunci când se lucrează cu dispozitive lente, cum ar fi unitățile de disc. Ei caută, de asemenea, o mai mare flexibilitate în ceea ce privește conexiunile fizice, permițându-și să fie utilizate atât ca magistrale interne, cât și externe, de exemplu, pentru a conecta computere. Acest lucru duce la probleme complexe în satisfacerea diferitelor cerințe, astfel încât cea mai mare parte a lucrărilor pe aceste magistrale este legată de software, și nu de hardware-ul în sine. În general, autobuzele din a treia generație seamănă mai mult cu rețelele de calculatoare decât cu ideile originale de autobuze, cu o supraîncărcare mai mare decât sistemele inițiale. De asemenea, permit mai multor dispozitive să utilizeze autobuzul în același timp.
Circuitele integrate moderne sunt adesea proiectate din piese prefabricate. Autobuzele (cum ar fi Wishbone ) au fost dezvoltate pentru o integrare mai ușoară a diferitelor părți ale circuitelor integrate.
Autobuze și interfețe pentru computer | |
---|---|
Noțiuni de bază | |
Procesoare | |
Intern | |
laptopuri | |
Unități | |
Periferie | |
Managementul echipamentelor | |
universal | |
Interfețe video | |
Sisteme integrate |