Unitate de operare (ALU)

În „Prezentarea informațiilor într-un calculator“, sa demonstrat că diverse operații aritmetice pe numere (reprezentate, cu excepția faptului că o codificare diferită) necesită în mod esențial diferite secvențe micro. În plus, este evident că dispozitivul electronic multifuncțional, cu atât mai complexă a structurii sale (mai multe elemente), iar mai lent ruleaza. Pe de altă parte, funcția unui astfel de dispozitiv complex poate efectua un set de dispozitive simple și de mare viteză, cu toate acestea, costul hardware-ul și prețul va fi mai mare.







În general, operațiunile efectuate în ALU pot fi împărțite în următoarele grupe:

- operație aritmetică binară pentru CHFZ;

- operație (hex) aritmetică binară pentru CHPZ;

- operații aritmetice; decimale

- o operațiune specială aritmetică (numere de normalizare, schimbare aritmetică (shift biți numai digital fără semn), schimbare logică (shift toate biți), etc.).

calculatoare de uz general, include în mod obișnuit funcționarea grupurilor de mai sus, dar o fac în moduri diferite, în funcție de tipul de ALU al procesorului.

In general, ALU este împărțit în modular și multifuncțional.

In blocul ALU (Fig. 2.3) grup enumerate operațiunilor efectuate în unitățile electronice individuale, crește viteza de operare, deoarece unitățile pot efectua operațiile corespunzătoare în paralel. În plus, o unitate specializată efectuează întotdeauna mai repede decât unitatea schimbătoare universală.

Fig. 2.3. bloc ALU

X - date de intrare; semnale de control - S; Z - rezultatul operației;

P - notificarea finalizării lucrărilor

ALU bloc caracteristică a mainframe-ului, în cazul în care principalul lucru este viteza maximă, dar nu și costurile de hardware și costul. Cele mai simple coprocesoare în operațiunile CHPZ de operare micro-calculator pot fi, de asemenea, văzută ca blocuri specializate. Prin urmare, ALU micro-calculator cu un coprocesor poate fi uneori privit ca un bloc.

Operațiile de grup enumerate multifuncțional ALU efectuate de aceleasi circuite care sunt pornite după cum se dorește în funcție de modul de funcționare dorit. O astfel de ALU tipic pentru mini și microcalculatoare construite pe procesoare simple.

Există alte structuri ALU (mixte) situate undeva între bloc și multifuncțional.

Trebuie avut în vedere faptul că de multe ori un computer, construit pe baza unor microprocesoare simple sunt ALU, permițând efectua doar operații aritmetice pe CHFZ binare și unele operații logice. În acest caz, grupurile rămase de operațiuni sunt efectuate de subrutine speciale, care reduce foarte mult viteza de execuție.

Să ne gândim mai în detaliu structura unui simplu CPU ALU și definește setul minim de dispozitive incluse în ea. Rezultă din cele de mai sus rezultă că compoziția ALU trebuie să includă un dispozitiv de a efectua operațiile de însumare binare (sumator). În plus, depozitarea operanzilor și a rezultatelor este necesar să aibă cel puțin trei registre tampon (registre de stocare temporară). Cu toate acestea, în cel mai simplu caz, rezultatul operației pot fi înregistrate într-unul din registrele de stocare temporară în locul unuia dintre operanzi. Acest registru este denumit acumulator. și procesorul ca un întreg - procesor de tip baterie. Bateria trebuie să fie sigur de a avea comunicare bidirecțională cu magistrala internă a procesorului de date. (În mai complex rezultatul operației ALU poate fi înregistrat la voință în nici un programator dedicat acestui registru scop). Pentru a efectua operații aritmetice și logice dispozitiv necesar efectuarea de schimburi de numere binare () schimbator. În final, registrul necesară în care este stocat rezultatul anumitor caracteristici ale operațiunii care, pentru funcționarea UU (atribut registru).

Schema bloc de tip acumulator microprocesor simplu ALU prezentat în Fig. 2.4.

Am observat deja că ALU în ansamblu, iar vipera binare au denumirea. În conformitate cu observațiile făcute anterior registru care dețin și bateria auxiliară poate fi considerată ca noduri de ALU.

Fig. 2.4. Schema bloc a ALU

Sa observat mai sus, care controlează funcționarea ALU W prin generarea unei secvențe de microinstrucțiuni necesare pentru a efectua o operație (+, -, /, *, etc.). Ordinea executării microinstrucțiunilor specificate implementarea firmware a operațiunii, dar poate fi variat în funcție de semnul operației generat un ALU (P1. Pm) și alimentat la intrarea CU. Vedere de ansamblu CU este prezentată în Fig. 2.5.







Fig. 2.5. Forma generală W

Firmware poate avea fie o structură liniară, și să fie foarte ramificate, unde salturi condiționate sunt realizate în conformitate cu caracteristicile P.

Realizarea tehnica UU chiar și cele mai simple procesoare sunt foarte diverse. Cu toate acestea, în cazul cel mai general, ele se disting printr-o metodă de depozitare a microprograms. Prin acest criteriu UU UU împărțit în rigid (circuit), cu logica și W stocate într-o memorie firmware specială. În cazul în care memoria microprocesor este disponibil pentru programator, acestea sunt W microprogrammable și vă permit să schimbați procesorul de comandă al sistemului. În cazul în care memoria firmware-ului nu este disponibilă, procesorul are un sistem de comandă a continuat, la fel ca în cazul W cu logica rigidă.

Aceste exemple de realizare diferă de la fiecare alte principii de construcție, costurile hardware, timpul de implementare, microinstrucțiunii firmware secvențe în măsură să se schimbe, și, prin urmare comenzile procesorului de sistem.

UU procesoare moderne adesea combinate. Efectuarea comenzi simple CU controlează de mare viteză pe o logică tare, și executarea instrucțiunilor complexe - mai lent cu memorie UU microprogram.

Mai jos vom lua în considerare principiile generale ale ambelor tipuri de CU.

UU cu logica rigidă

W construit pe o logică rigidă istoric apărut pentru prima dată și până în prezent utilizate pe scară largă. Avantajul principal al UC este viteza lor. Acesta este motivul pentru care marea majoritate a procesoarelor specializate special concepute pentru a procesa informații în timp real, pe UC au o logică greu. Sub procesoare specializate au înțeles concepute pentru a realiza un set redus de funcții speciale (prelucrarea semnalelor radar, transformare Fourier, operațiunile de matrice, codarea și decodarea semnalelor în liniile de comunicații de mare viteză etc.) cu o viteză maximă.

Cu toate acestea, într-un procesor de uz general, cu un set versatil de comenzi CU pe o logică rigidă este, de asemenea, foarte larg utilizat, mai ales, așa cum sa menționat mai sus, pentru a controla executarea comenzilor simple. comenzi ale sistemului de astfel de procesoare sunt întotdeauna fixe și nu pot fi modificate de către utilizator. O astfel CU este uneori numit de specialitate.

Circuit CU Structural cu logică rigidă este prezentată în Fig. 2.6.

Formularul W Semnale de specialitate invariabile de control al secvenței (CS).

bloc logic este format din circuite combinaționale, registre, contoare, decodoare și alte dispozitive care îndeplinesc o funcție de stocare starea curentă a automatului definirea SU, și formarea statului următor, conform atributelor de intrare.

Firmware-ul este stocat într-o mașină printr-un sistem de legături rigide între nodurile UU. Pentru a schimba firmware-ul necesar pentru a elimina link-uri hard și crearea unor noi scheme.

Fig. 2.6. Structura CU pe o logică rigidă

GTI - generator de ceas

Un dezavantaj al W pe logica rigidă este că orice schimbări sau modificări comenzi procesor de scop care necesită modificarea firmware-ului se va modifica structura de control al mașinii și, în consecință, topologia și conexiuni interne. În producția de procesoare specializate necesită gamă foarte largă W (numărul de sarcini) la cerințe relativ scăzute din fiecare clasă particulară. Din punct de vedere al tehnologiei de producție a procesoarelor microelectronică ca deficiență LSI și VLSI menționat este destul de semnificativ. Creșterea prețului fiecăruia dintre procesor cip emise prin creșterea costurilor de dezvoltare de noi topologii W și depana tehnologia lor de producție.

Soluția optimă pentru această problemă a fost construirea CU în structuri logice specializate cu o topologie fixă ​​- array logic programabil (PLA). PLA este o structură stratificată, fiecare strat este elemente logice de același tip concentrat. obligațiuni Topologia construite în așa fel, încât intrările fiecărui element strat succesive sunt semnale de ieșire ale tuturor elementelor stratului anterior. PLA poate fi realizată ca un singur LSI și format în interiorul chip procesor, fiind element foarte convenabil pentru crearea mașini cu comandă numerică.

O diagramă bloc funcțională generalizată a PLA simplu prezentat în Fig. 2.7.

Fig. 2.7. schema funcțională a PLA

Atunci când se face format de circuit PLA admite o pluralitate de semnale de intrare pentru această prelucrare. Elemente de intrare vă permit să aveți toate variabilele de intrare, atât în ​​mod direct și în formă inversă. Intrările fiecărui element de „și“ trimis toate variabilele de intrare și inversiuni lor. Intrările fiecărui element „sau“ conectate la ieșirile tuturor elementelor de „I“. În cele din urmă, elementele de ieșire permit să obțină oricare dintre funcțiile de ieșire în videoclip înainte sau înapoi.

Programarea Matrix este de a elimina conexiunile inutile folosind photomasks, sau de ardere (similar cu modul în care se face în ROM).

Programarea PLA, puteți implementa sistemul dorit de funcții booleene. Acest lucru permite managerilor să construiască mașini de structură extrem de complexă. Datorită complexității sale, UU, descris de obicei un număr mare de funcții booleene de mai multe variabile. Aceste variabile, la rândul lor, sunt de multe ori dependente. Prin urmare, este necesar să se reducă la minimum co-implementat de PLA, sistemul de funcții booleene.

Cele de mai sus ilustrează doar o diagramă funcțională a ideii de a construi PLA. Structura LSI reală produsă este variată. Pentru construirea de mașini de control sunt LSI-ul cel mai convenabil conținând PLA, împreună cu un set de factori declanșatori de ieșire.

Dispozitivele PLA următoare tip generație includ FPGA - circuitul logic programabil integrat, care permite software-ul pentru a construi o carcasă un circuit electronic, un circuit echivalent constând din câteva zeci până la câteva sute de logica standard de IC.

În prezent, piața mondială dominată de câțiva producători de FPGA - XILINX, Altera, LATTICE, ATT, Intel. FPGA fabricate de acestea sunt destul de variate în complexitate, scop, multi-funcțional etc. dar toate se încadrează în două grupuri largi EPLD și FPGA.

EPLD - programat în mod repetat - pentru a salva PROM de configurare este utilizat cu ștergerea ultraviolete.

FPGA - reconfigurabile multiple - pentru a salva configurația utilizată SRAM.

Producatori de companie de aprovizionare, de asemenea, un instrument software complet pentru dezvoltarea și utilizarea de dispozitive bazate pe EPLD și FPGA folosind calculatoarele personale.