CATEGORII DOCUMENTE |
Aeronautica | Comunicatii | Electronica electricitate | Merceologie | Tehnica mecanica |
Structuri de calcul
Calculatorul electronic: functiuni si structura
1. Modelul structural si functional in prelucrarea
automata a datelor
Un calculator, atat functional cat si structural sau constructiv, este un sistem logic, capabil sa realizeze anumite functiuni automat, independent de detaliile realizarii fizice/ tehnologice. Ca sistem, este definit prin existenta mai multor componente interconectate, caracterizate prin:
structura: care reprezinta modul de interconectare al componentelor.
functie: care reprezinta modul de operare al fiecarei componente.
Organizarea unui calculator este ierarhica, fiecare componenta putand fi prezenta prin descompunere in elementele ei de baza, care pot fi prezentate, fiecare prin structura fizica si functiunea realizata. Pentru claritatea si intelegerea mai usoara a calculatorului, aceasta organizare ierarhica se prezinta de sus in jos, abordarea descendenta (top-down). De exemplu:
Sistemul de calcul, cu componentele majore: Unitatea Centrala de Prelucrare CPU (Central Processing Unit), Unitatea de Memorare (UM), Unitatea de intrare/iesire (I/O).
CPU, cu componentele ei majore: Unitatea de Control (UC), Unitatea Aritmetica si Logica (ALU) si Registre Generale (RG).
UC, cu componentele ei majore: Memoria de Control (MC), Logica pentru microinstructiuni (LMCI), Registre de Control (RC).
Propunem prezentarea calculatorului in abordarea descendenta, pana la un nivel de detaliere care sa permita intelegerea functionarii lui.
Functiile de baza pe care le poate realiza un calculator sunt, in general, patru:
Prelucrarea datelor, prin operatiuni aritmetice si logice elementare.
Memorarea datelor pe termen scurt pentru prelucrari curente sau pe termen mediu - lung, pentru prelucrari si utilizari ulterioare.
Deplasarea / Manipularea datelor intre calculator si lumea exterioara lui prin dispozitive / echipamente care servesc ca sursa / destinatie pentru date; deplasarea pe distante mari (sute de m, Km, ..) este cunoscuta ca o operatie de comunicare a datelor.
Controlul prelucrarii, memorarii si deplasarii datelor prin executia instructiunilor, care sunt cuprinse in programe (software), cu destinatii diferite.
Considerand aceste functii de baza, un calculator poate fi vazut ca in fig. 1.
In aceste conditii, un calculator poate fi definit ca un sistem electronic care opereaza sub controlul instructiunilor ca alcatuiesc un program, memorat in propria memorie, care accepta date (ca intrari), le prelucreaza (aritmetic si logic), producand iesiri (date prelucrate / informatii), care pot fi memorate ca rezultate si folosite in prelucrari ulterioare. In cadrul acestei definitii se folosesc cateva notiuni care trebuie precizate:
Data: se refera la numere, simboluri, etc., care nu o semnificatie si o utilizare directa.
Informatia: se refera la date care au fost prelucrate si prezentate intr-o forma care este utila, avand o semnificatie.
Prelucrarea datelor / informatiilor: se refera la producerea informatiilor prin prelucrarea pe un calculator a datelor / informatiilor, folosind un program.
Program / Software: se refera la totalitatea operatiilor sau instructiunilor executate de calculator pentru a satisface o cerinta de utilizare eficienta a lui.
Fig. 1. O vedere functionala a calculatorului
Programele sunt scrise in limbaje de programare, ce pot fi incadrate in doua mari categorii:
limbaje masina (LM) sau limbaj obiect: destinate executiei directe pe un calculator particular.
limbaje de nivel inalt (HL) sau limbaje sursa: destinate executiei pe un calculator virtual, care trebuie translatate in LM, atunci cand executia se face pe un calculator particular.
Translatarea HL in LM se poate face prin compilare (folosind programe de tip compilator si asamblor) sau prin interpretare (folosind programe de tip interpretor). In fig. 2 se prezinta modul in care se pot realiza programe in HL (HL1, HL2) corespunzand unor calculatoare virtuale (C1, C2) a caror executie se realizeaza pe un calculator fizic, real (C3) in LM specific acestuia. Limbajul de asamblare cu programul asociat (asamblor) este intermediar, intre HL prin compilator/interpretor si LM (limbaj obiect, intern, specific fiecarui calculator particular).
Fig. 2. Limbaje sursa si limbaj masina, ca ierarhie in executia programelor
Calculatorul, in final, se poate spune ca este constituit din elemente tangibile (suportul fizic, electronic, electromecanic, etc.), elemente intangibile (programe cu diferite destinatii), precum si din elemente hibride/firmware, constituite din elemente tangibile si intangibile, folosite, mai ales, in realizarea functiilor de control. Aceasta structura se poate prezenta sub forma unor straturi suprapuse (fig. 3), plecand de la un nucleu reprezentand suportul fizic (partea tangibila) si terminand cu programele utilizator, specifice celor mai diferite domenii de utilizare. In mod obisnuit, primele trei straturi se constituie intr-un calculator standard, capabil sa fie utilizat in diferite domenii de aplicatie. Utilizarea efectiva a calculatorului modern se face prin produse - program care presupun existenta unor configuratii de calculator adaptate aplicatiei pentru care a fost elaborat produsul - program.
Fig. 3 Arhitectura stratificata
Un calculator standard trebuie sa fie, de obicei, adaptat in raport cu domeniul aplicatiei, in mod deosebit atunci cand este vorba de aplicatii in mediul industrial, care impune cerinte speciale.
2. Unitati functionale de baza ale calculatorului electronic
Componentele majore intr-un calculator electronic modern sunt reprezentate de:
Unitatea centrala de prelucrare CPU (Central Processing Unit).
Unitatea de memorare (UM), reprezentata de fapt de o ierarhie de memorii cu caracteristici specifice fiecarui nivel din ierarhie.
Unitatea de intrare/iesire, care realizeaza conexiunea intre dispozitivele/ echipamentele periferice, de o mare diversitate si partea centrala a calculatorului, reprezentata de CPU si UM.
In continuare, fiecare unitate va fi prezentata ca structura si functiuni de baza, in abordarea descendenta (top-down), pentru a se intelege cat mai bine functionarea de ansamblu a calculatorului.
2.1. Unitatea centrala de prelucrare (CPU)
Dupa cum s-a mai spus, componentele majore ale CPU sunt reprezentate de: Unitatea de Control (UC), Unitatea Aritmetica si Logica (ALU) si de registre (R), folosite in satisfacerea cerintelor functionale pentru CPU, legate de executia setului de instructiuni specifice unui calculator electronic.
Un set de instructiuni trebuie sa fie complet, pentru a satisface cerintele impuse de programele scrise in limbaje de nivel inalt. Fiecare instructiune trebuie sa contina informatii necesare realizarii functiei CPU:
codul operatiei: specifica operatia care trebuie executata (ex.: adunare, impartire, transfer, etc.).
adresa de referinta pentru operand: locul de unde poate fi luat operandul ("numarul"..) care intervine intr-o operatie.
adresa de referinta pentru rezultat: locul unde va fi retinut rezultatul unei operatii.
adresa de referinta pentru instructiunea urmatoare: arata CPU de unde poate lua instructiunea ce urmeaza executiei instructiunii curente.
Adresele de referinta pentru operanzi, rezultat si instructiuni se pot gasi in una din urmatoarele zone:
memorie (considerata ca memorie virtuala, ce va fi prezentata in paragraful urmator).
un registru al CPU, identificabil prin codul sau.
un dispozitiv periferic, indicat in instructiune printr-un cod al lui (definit la configurarea calculatorului).
Instructiunea este reprezentata de o secventa de biti, impartiti pe campuri care corespund elementelor constituente ale instructiunii, dupa cum se prezinta in fig. 4., in care se prezinta o instructiune de tipul "cu doua adrese".
8 biti |
12 biti |
12 biti |
Codul operatiei si alte informatii privind adresarea |
Adresa de referinta a operandului |
Adresa de referinta a operandului |
Fig. 4. Elemente constituente ale unei instructiuni
In mod obisnuit, instructiunea are un singur camp de adresa si un camp referitor la codul operatiei si alte informatii privind modul de adresare, ce va fi prezentat.
Orice instructiune se executa intr-un ciclu specific, trecand prin mai multe stari, cuprinse intr-o diagrama de tipul celei prezentate in fig.
Fig. Diagrama de stari in ciclul de executie al instructiunii
Tipurile de instructiuni corespund functiilor de baza pe care le poate realiza un calculator:
Instructiuni pentru prelucrarea datelor:
q Instructiuni aritmetice, pentru operatiile aritmetice de baza pentru date numerice.
q Instructiuni logice, care opereaza asupra bitilor, ca variabile booleene, care pot avea numai doua valori logice: 0 (fals) si 1 (adevarat).
Instructiuni pentru memorare, pentru deplasarea datelor intre memorie si registrele CPU.
Instructiuni pentru deplasarea/manipularea datelor, pentru transferul datelor si programelor de la dispozitivele de intrare/iesire (periferice) in memorie si a rezultatelor, datelor si programelor din memorie la dispozitivele periferice.
Instructiuni de control, pentru testarea desfasurarii prelucrarii datelor, pentru ramificarea executiei programului in functie de deciziile care se impun pe timpul executiei lui.
Datele asupra carora pot opera instructiunile unui calculator pot fi:
adrese, ca numere intregi fara semn;
numere, care pot fi de trei tipuri:
q intregi, cu virgula fixa;
q fractionare, cu virgula mobila;
q zecimale, in forma "binar-zecimala".
Caractere sau simboluri, ca text sau siruri de caractere/simboluri exprimate conform standardelor ASCII (cu 7 biti/caracter), ISO sau EBCDIC (cu 8 biti/caracter).
Date logice, avand valorile logice 0 sau 1 pentru un cuvant - calculator sau orice alta unitate logica adresabila (byte cu 8 biti, jumatate cuvant - calculator).
Dupa prezentarea setului de instructiuni este interesant sa vedem care sunt tehnicile de adresare, prin care se evidentiaza modul de obtinere a operandului, plecand de la informatia continuta in campurile specifice unei instructiuni:
Adresare imediata, cand operandul se gaseste in campul instructiunii.
Adresare directa (AD), cand operandul se afla in memorie, la adresa indicata in campul instructiunii.
Adresare indirecta (AI), cand operandul se afla in memorie la o adresa aflata intr-o locatie a memoriei, cu adresa in campul instructiunii.
Adresare prin registru (AR), directa sau indirecta, similara cu cele prezentate, numai ca, in campul instructiunii se afla codul unui registru din care se obtine operandul sau adresa din memorie a operandului.
Adresarea cu deplasare (ADP), care combina tehnica AD cu AR indirecta, prin faptul ca adresa operandului din memorie se obtine prin insumarea continutului unui registru cu adresa din campul instructiunii.
Adresare de tip stiva, pentru locatii care se afla asociate cu o stiva de "registre - memorie", care sunt referite in doua moduri:
q "lista prin apasare" (push-down list).
q sir format prin regula "ultimul in sir, primul afara din sir" (last - in -first - out queue).
Structura si organizarea CPU sunt definite pe baza operatiilor pe care trebuie sa le execute:
gasirea instructiunii: citirea instructiunii din memorie.
interpretarea instructiunii: decodificarea operatiei care trebuie executata, cu generarea semnalelor de control necesare acestei executii.
gasirea datei/operandului: citirea datei/operandului din memorie in vederea executarii asupra lui a operatiei cerute.
Prelucrarea datelor: executarea operatiilor aritmetice/logice cerute de instructiune.
Scrierea datelor/rezultatelor: scrierea in memorie a rezultatelor executiei unei operatii.
In fig. 6 se prezinta o forma simplificata a structurii CPU care foloseste o magistrala interna pentru a interconecta principalele componente ale CPU si o magistrala de sistem pentru conectare cu celelalte unitati functionale ce compun calculatorul.
Fig. 6 Structura CPU cu magistrala interna
Registrele generale folosite in executia si controlul operatiilor realizate la nivelul CPU sunt:
registrul numarator pentru adresele programului.
registrul pentru instructiuni.
registrul pentru adrese ale memoriei.
registrul pentru date din memorie (registru buffer al memoriei).
La nivelul ALU se remarca un registru pentru stari asociate executiei operatiilor aritmetice si logice, precum si registre (de deplasare, de complementare) folosite in realizarea acestor operatii impreuna cu dispozitivele specializate pentru aceste operatii (acumulatoare - sumatoare).
Unitatea de Control (UC) a CPU este destinata controlului executiei operatiilor care se realizeaza in CPU, conform cu cerintele functionale. Pentru realizarea UC exista doua solutii tehnologice:
UC cablata, mai performanta ca timp, insa rigida.
UC microprogramata, care ofera o mare flexibilitate si chiar daca performantele de timp sunt mai reduse, are o raspandire foarte mare.
Notiunea de microprogram este folosita pentru a evidentia o secventa de actiuni individuale menite sa realizeze executia unei instructiuni dintr-un program, care pot fi denumite macroinstructiune si respectiv, macroprogram. In microprogramare se opereaza cu urmatoarele notiuni:
microoperatie: reprezinta un semnal de comanda (ca si consecinta a executiei ei).
microcomanda: un set de semnale de comanda sau microoperatii, care se formeaza in acelasi timp.
microprogram: o succesiune de microcomenzi necesare realizarii unei intr-o instructiune.
Microinstructiunile specifica toate semnalele de control necesare in CPU (ALU, registre), cu posibilitatea de a decide ce microinstructiune se va executa la momentul urmator, pe baza unei logici de selectie. O structura pentru IC microprogramata se prezinta in fig. 7, in care se observa prezenta unei memorii pentru microinstructiuni, a unui contor pentru adresa curenta (PC) a microinstructiunii, asociat cu o logica de selectie pentru adresa microinstructiunii urmatoare, dedusa pe baza unor stari ce rezulta in procesul de executie a diferitelor operatii. Avantajul enorm al controlului microprogramat, consta in posibilitatea modificarii setului de instructiuni al unui calculator, dupa ce a fost livrat. De asemenea se pot realiza emulatoare, pentru setul de instructiuni specifice unui calculator, pe un alt calculator, cerute cand este complicata conversia unor programe aplicative.
Fig. 7 Structura UC microprogramata
2.2. Unitatea de memorare
Memoria este acea componenta a sistemului de calcul folosita pentru stocarea, in vederea prelucrarii si regasirii, pe un termen mai scurt sau mai lung, a datelor/informatiilor si instructiunilor/programelor. Memoria este una din resursele de baza ale calculatorului, de aceia caracteristicile ei sunt esentiale atat pentru performanta de ansamblu a sistemului, cat si pentru parametrul cost/performanta. In acest sens, este important sa prezentam caracteristicile ei de baza:
Localizarea, ca loc in cadrul unei ierarhii, in raport cu CPU:
q memoria interna a procesorului de baza;
q memoria interna sau principala a calculatorului, comuna pentru toate componentele;
q memoria externa sau secundara, care se afla pe dispozitivele periferice.
Capacitatea, care se exprima prin numarul de cuvinte memorate si dimensiunea unui cuvant care, in acest caz este byte-ul (B). In mod obisnuit capacitatea memoriei se exprima in KiloB (KB), MegaB (MB), GigaB (GB) si TeraB (TB).
Performanta, care se exprima prin mai multi parametrii care cuprind timpul in operatiile de memorare si regasire sau manipulare a datelor:
q timpul de acces (Tacces): timpul necesar pentru a scrie sau citi datele pentru memoria cu circuite integrate, sau pentru a pozitiona in vederea citirii/scrierii mecanismele folosite in memoriile electromecanice.
q ciclul de acces (CAcces): se defineste prin Tacces la care se adauga timpul cerut de pregatirea urmatorului acces, dupa terminarea accesului curent.
q rata de transfer: se defineste prin formula TN =Tacces + N/R, unde TN este timpul mediu pentru scrierea sau citirea a N biti, la memorii de tip circuit integrat, Tacces este timpul mediu de acces, N este numarul de biti transferati iar R este rata de transfer exprimata in biti/s (bps), ca inversul ciclului de acces.
q metoda de acces: arata modul in care se face transferul datelor folosind diferite unitati de transfer (byte, cuvant, grup de bytes sau cuvinte):
secventiala: acces liniar la unitati de date;
directa: acces direct la vecinatatea unei locatii si secvential pentru gasirea locatiei finale;
random/aleatorie: independenta de accesul precedent, cu acces direct la locatie;
asociativa: regasirea se face dupa continutul inregistrarii, partial sau total si nu dupa adresa.
q proprietati fizice: volatile/nevolatile, care se pot sterge si/sau care nu se pot sterge.
q fenomenul fizic care sta la baza functionarii: semiconductoare sau strat de oxid magnetizabil.
In alegerea si proiectarea memoriei se pun in general trei probleme: ce capacitate este necesara, cat este timpul de acces si cat costa unitatea de memorie (bit/megabit). Exista o varietate de raspunsuri si in functie de tehnologie de fabricatie a memoriei: cele semiconductoare mai scumpe dar mai performante, cele magnetice sau magneto-optice mai ieftine dar mai putin performante. In acest sens se pot exprima cateva relatii, reprezentand tot atatea dileme:
cu cat este mai mic timpul de acces, cu atat este mai mare costul (pe bit memorat);
cu cat este mai mare capacitatea, cu atat este mai mic costul;
cu cat este mai mare capacitatea cu atat este
Considerand descresterea costului, cresterea capacitatii, cresterea timpului de acces sau scaderea accesului la memorie a CPU, se pot face doua ierarhii: una traditionala si alta prezenta sau de perspectiva (fig. 8).
Daca la primele calculatoare pentru memoria principala se foloseau ca elemente de baza "inelele de ferita", odata cu aparitia circuitelor integrate, primele trei niveluri din ierarhii se folosesc in principal, ca element de baza, circuitul bistabil cu tranzistoare. Acest tip de memorie care foloseste metoda aleatorie de acces (RAM - Randoom Access Memory), sau care poate fi numai citita (ROM - Read Only Memory) poate fi de mai multe tipuri prezentate in fig. 9.
In memoriile RAM operatiile de citire/scriere se fac cu semnale electrice, insia realizarea lor se face in doua tehnologii:
Ierarhie traditionala Ierarhie actuala
Fig. 8. Ierarhizarea memoriei unui calculator
Tipul memoriei |
Categoria |
Modul de stergere |
Modul de scriere |
Volatilitatea |
RAM |
Scrie/citeste |
Electric |
Electric |
Da |
ROM |
Citeste numai |
Nu |
Cu masca |
Nu |
PROM |
Citeste numai |
Nu |
Electric |
Nu |
EPROM |
Citeste de cele mai multe ori |
Lumina UV |
Electric |
Nu |
EEPROM |
Citeste de cele mai multe ori |
Electric |
Electric |
Nu |
Fig. 9 Tipurile de memorii
RAM dinamic: cu celule care memoreaza datele ca sarcini electrice pe un capacitor (condensator) care necesita o refacere periodica a sarcinii pentru a mentine datele.
RAM dinamic: cu celule de tip circuit basculant bistabil asociat cu circuite logice care mentin datele atat timp cat sunt alimentate.
Pentru memorii de capacitate mare se foloseste RAM dinamic, ca circuit de baza, mai simplu si mai mic, iar pentru memorii rapide RAM static, cu circuit de baza mai complex. Ambele memorii sunt volatile, necesitand dispozitive speciale de alimentare (UPS - Uninterruptible Power Supply) daca se doreste mentinerea datelor dupa intreruperea sau pe timpul intreruperii alimentarii.
Organizarea memoriei principale, bazata pe elemente/celule de memorare de tip RAM, pleaca de la modul in care functioneaza aceste elemente, cu trei intrari/iesiri functionale (fig. 10):
pentru selectarea elementului de memorare.
pentru controlul scrierii.
pentru controlul citirii.
Fig. 10 Elementele de baza ale memoriei principale de tip
RAM
In organizarea memoriei principale s-au abordat doua moduri de realizare:
organizarea 2D, in care toti bitii unui cuvant memorat se afla intr-un singur circuit integrat; capacitatea memoriei depinde de numarul circuitelor integrate selectabile.
organizarea 2D1/2, in care bitii unui cuvant memorat sunt repartizati, cate unul intr-un circuit integrat; In acest caz dimensiunea memoriei (capacitatea) este egala cu numarul de biti existenti intr-un chip, ceea ce reprezinta o restrictie in dezvoltarea sistemului de calcul.
Cele doua moduri de organizare a memoriei principale se prezinta in fig. 11.
a.
Organizarea 2D b. Organizarea
2D1/2
Fig. 11 Organigrama memoriei principale cu circuite integrate
In schimbul de date cu memoria pot interveni erori de natura hardware (defecte interne, cauze externe, etc.) si software (intamplatoare, nedistructive), fapt ce impune determinarea unui cod (K) ce poate fi utilizat in detectarea si corectarea erorilor. In fig. 12 se arata cum codul K determinat in dispozitivul E, se memoreaza impreuna cu data in memorie (D+K).
Atunci cand (D+K) este citita, K este folosit in comparator asa cum a fost generat la intrare de E si cum rezulta din citirea lui D in E, la iesire.
Pot aparea trei situatii:
Nu sunt detectate erori si D este trimis la iesire, fara corectie.
Se detecteaza o eroare care se corecteaza si D este trimis la iesire.
Se detecteaza o eroare necorectabila, trimitandu-se la iesire un semnal de eroare ce provoaca o intrerupere si o analiza a cauzei.
Fig. 12 Corectia si detectarea de erori in
operatiuni cu memoria
Memoria cache este in prezent o optiune in orice calculator, datorita influentarii favorabile a productivitatii CPU in operatiunile cu memoria principala. Deoarece viteza (ciclul de acces) a memoriei principale este inferioara vitezei procesorului (CPU), s-a adoptat o solutie: interpunerea intre CPU si memoria principala a unei memorii de capacitate mai mica insa de mare performanta, prin care sa se realizeze o crestere statistica/medie a performantei memoriei principale.
Datele si instructiunile care vor fi accesate din memoria cache, fiind transferate aici de sistemul de operare, vor duce la cresterea productivitatii CPU, iar atunci cand datele si instructiunile necesare executiei programului nu se afla in memoria cache, se va realiza o intrerupere, urmata de transferul datelor si instructiunilor cerute.
Timpul de tratare a intreruperilor si transfer a datelor si instructiunilor in memoria cache este inferior, statistic, timpului castigat prin cresterea de ansamblu a productivitatii CPU.
Memoria auxiliara sau secundara (MA), memoreaza date si programe ce urmeaza a fi prelucrate in timp, de aceia este de tipul nevolatil.
Dispozitivele sau echipamentele cu functiuni de MA au rol de periferice de intrare/iesire in sistemul de calcul. Unele dispozitive sunt folosite ca memorie de siguranta (backup storage), pentru a proteja datele si programele prin crearea de duplicate care se pastreaza la locatii diferite.
Densitatea mare a dispozitivelor MA este datorata caracteristicilor impuse de diferite tipuri de calculatoare.
In fig. 13 se dau aceste dispozitive pentru MA asociate unor tipuri de calculatoare sau in aplicatii speciale.
Dispozitiv pentru MA |
Descriere |
Calculatoare personale: Floppy disk (FD) Hard disk (HD) Hard card disk Disk cartridge Tape cartridge |
Suport de plastic acoperit magnetic, fiabil si cu cost redus. Suport de metal acoperit magnetic de capcitate mare si acces rapid Placi cu circuite integrate ce simuleaza hard disk. Combina proprietatile FD si HD (capacitate, timp de acces si portabilitate) Folosita pentru operatiuni de backup pentru HD |
Calculatoare medii-mari Fixed disk (FXD) Removable disk Reet tape Tape cartridge |
mai multe discuri asamblate in pachet (mare capacitate si timpi de acces mici) Pachet de discuri amovibile, asemanatoare FXD Role de banda magnetica (750 m; 350 m) Role de banda magnetica incasetate |
MA speciale Optical storage Solid state devices Mass storage |
Folosesc tehnologii laser pentru scrierea si regasirea datelor (CDROM de tip WORM: write once read many sau de tip WMRM: write many read many) Folosesc circuite VLSI de tip RAM pentru memorii de mare capacitate cu performante medii. AS bazate pe complexe robotizate ce manipuleaza benzi si discuri flexibile |
Fig. 13 Memorii auxiliare
2.3. Unitatea de intrare/iesire (I/O)
Unitatea de intrare/iesire sau sistemul I/O in calculator are doua functii majore:
interfatarea CPU si MP folosind sistemul de magistrale sau de comutare central.
interfatarea cu unul sau mai multe dispozitive sau echipamente periferice prin legaturi specializate.
Toate operatiile de intrare/iesire sunt asociate cu o mare diversitate de dispozitive si echipamente periferice, folosite la schimbul de date intre mediul extern calculatorului si partea centrala a lui. Aceste dispozitive periferice pot fi impartite in trei categorii: folosite impreuna cu operatorul uman, folosite numai de calculator, folosite de calculator sau om la distanta prin intermediul liniilor de comunicatie.
Sistemul de intrare/iesire este comandat de CPU prin initierea unei instructiuni de I/O, care se executa dupa aceea autonom, prin ierarhizarea executiei pe niveluri, fiecarui nivel fiindu-i asociata o componenta:
nivelul 0: asociat dispozitivelor periferice, fiecare cu o unitate de control (UC) specifica;
nivelul 1: asociat partii centrale sub denumirea comuna de canal (c), comandat de CPU insa care poate comanda la randul sau mai multe componente de tip UC.
Legatura intre cele doua niveluri se face prin asa numita interfata standard (I) formata din mai multe grupe de linii: pentru date, adresele perifericelor si controlul executiei transferului. In aceste conditii, o reprezentare a componentelor sistemului I/O si arhitecturii lui se face in fig. 14. Magistralele in calculator si sistemul I/O reprezinta mediul de comunicatie partajat de mai multe componente in vederea receptarii sau transmiterii de semnale reprezentand adrese, date/informatii, comenzi sau stari legate de transfer si comunicare intre o unitate emitatoare si una receptoare. In cazul unor transferuri concurente de la surse diferite la un receptor, trebuie respectate anumite reguli care sa permita realizarea unei comunicari corecte. Deoarece magistrala de interconectare nu poate contine (ca legaturi fizice) toate variantele posibile de conectare intre mai multe emitatoare si mai multe receptoare, ea se compune din:
grupe de linii de conexiune specializate pentru date, adrese si semnale de control;
un dispecer (Bus master) care sa rezolve cererile si
conflictele ce pot apare.
Arhitectura sistemului I/O
Fig. 14 Componentele si arhitectura sistemului de I/O la un calculator
In realizarea magistralelor exista standarde respectate de majoritatea fabricantilor semnificativi. Printre cele mai cunoscute sunt: VME (Vesa module European bus) pentru interconectarea CPU si memoria principala, SCSI (Small Computer System Interface) ca magistrala de I O pentru conectarea perifericelor lente cu CPU si memoria principala prin VME, folosind un adaptor de magistrale.
Printre caracteristicile de baza ale unei magistrale amintim (cu exemplificare pentru VME si SCSI):
largimea/latimea magistralei exprimata in numpr de linii fizice: 128 la VME si 8 la SCSI.
numarul liniilor pentru date: 16-32 biti la VME si 8 biti la SCSI.
mod de transmisie: asincron (VME) sau sincron (SCSI, care accepta si transmisia asincrona).
Lungimea maxima a magistralei: 0,5 m la VME si 25m la SCSI.
numarul maxim de dispozitive interconectate: 21 la VME si 7 la SCSI.
numarul de bus master pentru dispecerizare: mai multi.
Pentru calculatoarele ierarhizate pe baza de microprocesor, sistemul de I O este cunoscut sub denumirea de microchannel arhitecture (MCA), cu o caracteristica importanta, autoconfigurarea, prin care se impun reguli care sa permita o comunicare eficienta intre componentele sistemului (procesor, memorie, disc, transmisie de date, etc.). In MCA informatiile despre interconectarea diferitelor componente sunt tinute in calculator si software, la dispozitia utilizatorului.
Politica de confidentialitate | Termeni si conditii de utilizare |
Vizualizari: 1376
Importanta:
Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved