05 April 2014

Arhitectura Sistemelor de Calcul


Organizarea sistemelor de calcul
Un sistem de calcul este caracterizat in primul rand de structura sa. Aceasta desemneaza totalitatea componentelor individuale ce sunt necesare asigurarii functiilor specificate. In principiu elementele de structura se identifica prin elementele fizice la nivelul calculatorului.
Ex: Circuitele integrate, cai de transmitere a semnalului, sursa de alimentare, etc.
Spre deosebire de structura unui calculator, arhitectura lui se defineste ca fiind totalitatea elementelor pe care sistemul de calcul le pune la dispozitia programatorului. In principiu aceste asa numite atribute de arhitectura sunt orientate catre componenta logica a calculatorului.
Ex: microprocesorul, memoria, instructiuni ale limbajelor de programare, etc...
Definitie 1: Calculatorul, in acest context, este un sistem electronic ce primeste informatie de la utilizator, o prelucreaza conform unui algoritm programat si furnizeaza catre utilizator rezultatele acestor prelucrari.
Definitie 2: Calculatorul este un sistem capabil sa rezolve probleme pe baza programelor memorate.
O caracterizare generala a sistemelor cu microprocesor:
-          Magistralele sunt cai de comunicatie intre memorie, microprocesor, dispozitive de I/O...
-          Structura principiala a unui sistem de calcul este redata in figura 1, fiind puse in evidenta cele 3 entitati fundamentale ce sunt prezente in orice calculator si anume: unitatea centrala de prelucrare (microprocesorul); memoria si dispozitivele de I/O, toate acestea fiind interconectate la nivel de magistrala.
Se remarca faptul ca la nivelul subsistemului memorie se realizeaza o distinctie logica intre tipurile de informatie stocata (memorie de date, memorie de programe), la nivel fizic insa, memoria este unitara, neexistand astfel de diviziuni din punct de vedere al dialogului cu mediul exterior, acesta este asigurat de dispozitivele de I/O.
Dispozitivele de intrare au rolul de a prelua informatii de la utilizator intr-un format accesibil lui, sunete, texte, valori, etc. Si de a o converti sub forma de coduri numerice ce pot fi intelese si prelucrate de catre calculator.
Reciproc, dispozitivele de iesire preiau rezultatele prelucrarilor sub forma de coduri numerice si le convertesc intr-o forma accesibila utilizatorului.
In ceea ce priveste comunicarea interna in PC, ea este asigurata de prezenta asa numitelor magistrale de comunicatie. In afara de datele ce sunt transportate de la un bloc functional la altul, magistralele transporta si informatii de localizare a datelor ( adrese ) , respectiv semnale de sincronizare a activitatilor din calculator. ( informatii de control ).
Functii indeplinite la nivelul calculatorului
La modul general un calculator indeplineste 5 functii:
1.      > Intrare – ce permite stabilirea unui flux informational de la mediul exterior catre sistemul de calcul.
2.      > Iesire – ce permite generarea unui flux reciproc de la sistemul de calcul catre mediul exterior.
3.      > Memorare – ce asigura pastrarea datelor si a programelor.
4.      > Operationala – ce permite efectuarea de operatii aritmetice si logice asupra datelor din memorie.
5.      > Supervizare si comanda – ce permite functionarea coerenta si sincronizata a tuturor subansamblurilor sistemelor de calcul.



Caracterizarea informationala a sistemelor de calcul.
BCC – Bloc comanda-control
UAL – unitatea aritmetico-logica
-          In stransa legatura cu cele 5 functii anterior mentionate la nivelul calculatorului se stabileste un flux informational complex reprezentat in figura 2. Uzual, informatia reprezentata de date si instructiuni este preluata din exterior prin intermediul subsistemelor de intrare fiind depusa in memoria sistemului. De aici informatia este citita, decodificata si prelucrata de catre microprocesor prin executia efectiva a programului. Se observa faptul ca datele intermediare si rezultatele prelucrarilor circula in permanenta intre procesor si memorie. La finalul prelucrarilor, rezultatele sunt preluate din memorie si transmise in exterior prin intermediul subsistemului de iesire.
Tot in figura 2 se remarca faptul ca la nivelul microprocesorului sunt puse in evidenta 2 sectiuni fundamentale:
1.      Blocul unitatea aritmetico-logica (UAL) – ce reprezinta o colectie de circuite complexe capabile sa efectueze prelucrari aritmetice si logice simple pe baza instructiunilor programelor.
2.      Blocul de comanda si control (BCC) – el, pe baza decodificarii programului genereaza si sincronizeaza toate semnalele necesare atat pentru procesarea datelor cat si pentru functionarea coerenta a intregului sistem.
Caracterizarea Temporal secventiala a calculatorului numeric
Modul de interconectare a elementelor componente ale unui calculator corespunde unei arhitecturi ce presupune o executie strict secventiala a programelor. Acest mod de executie exclude practic orice paralelism in activitatea calculatorului astfel incat programele stocate in memorie se executa strict succesiv.
La sistemele actuale au fost insa introduse asa numitele tehnici de procesare paralela prin intermediul carora sistemul de calcul poate executa simultan mai multe aplicatii. Desfasurarea in timp a operatiilor efectuate de diversele grupuri functionale ale calculatorului este supervizata de catre sectiunea de control astfel functiile generale ale sistemului sunt activate intr-o succesiune bine stabilita, determinata de specificul operatiei executate.
In figura 3 este prezentata o diagrama simplificata ce surprinde modul in care blocurile functionale ale calculatorului sunt activate in timp.
Se remarca faptul ca in perioada in perioada T1 (etapa de citire a informatiilor) datele ce vor fi supuse prelucrarii sunt preluate din exterior fiind memorate din acest motiv subsistemele. „Intrare”, „memorie” sunt active.
In perioada T2 (corespunzatoare efectuarii calculelor) sunt active sectiunea „memorie” si „UAL” pentru ca prelucrarile se efectueaza asupra datelor prelucrate.
In perioada T3 rezultatele prelucrarilor sunt furnizate in exterior fiind activate subsistemele „memorie” , „iesire”.
Toate aceste proceduri de activare si dezactivare a blocurilor functionale ale calculatorului sunt sincronizate si repartizate in timp in concordanta cu asa numitul semnal de ceas al sistemului. Acest semnal este reprezentat de o succesiune de impulsuri a caror frecventa este strict controlata de un cristal de quartz, practic, orice schimbare a starii calculatorului se poate produce doar in momentul aparitiei unui impuls.
Caracterizarea executiva:
Avand in vedere faptul ca atributele functionale, informationale, temporal secventiale sunt complementare, sistemelor de calcul le este asociata si asa numita dimensiune executiva.
Notiunea de executie semnificand efectuarea sarcinilor formulate de catre utilizator este strans legata de notiunea de program. In acest context un program este o succesiune organizata de instructiuni aferente unui limbaj ce respecta reguli de sintaxa si semantica si are asociat ca scop rezolvarea unei probleme pusa de utilizator.
Magistrale de sistem
Magistrala reprezinta o grupare de linii de semnal carora li se asociaza functii similare avand rolul de a interconecta elementele componente ale unui sistem de calcul.
Din punct de vedere topologic la nivelul calculatorului exista 2 tipuri de magistrale.
1.      Magistrale interne – ce realizeaza interconectarea globurilor functionale ale calculatorului.
2.      Magistrale externe – ce permit realizarea de legaturi intre calculator si mediul extern.
Observatie:
Aceasta separare poate fi extinsa de la nivelul calculatorului la nivelul microprocesorului astfel caile de comunicatie din interiorul microprocesorului sunt asimilate unor magistrale interne acestuia, in timp ce legaturile cu restul sistemului de calcul se efectueaza prin intermediul magistralelor externe ale microprocesorului ( ce sunt in acelasi timp magistrale interne ale sistemului de calcul ).
Din punctul de vedere al modului in care sunt transmise informatiile, magistralele pot fi de 2 tipuri.
In cazul in care magistrala are mai multe linii de semnal permitand astfel transferul simultan al unui asa numit „cuvant de date” (8 bits, 16 bits, 32 bits), magistrala este de tip paralel.
Reciproc, atunci cand magistrala de comunicatie permite trecerea la un moment dat al unui singur bit al cuvantului de date, aceasta magistrala este de tip serial.
In consecinta o magistrala seriala are in principiu o singura linie de semnal, iar transportul bitilor din cuvantul de date se face in mod secvential (succesiv).
Avantajul magistralelor paralele este reprezentat de viteza mare ce caracterizeaza comunicatiile.
Dezavantajul principal al acestor magistrale este dat de distantele scurte pe care acestea le pot deservii.
In schimb, magistralele seriale au avantajul de a putea opera distante mari, fiind caracterizate insa de viteze reduse.
In general magistralele de tip paralel sunt magistrale interne (interconectand astfel elemente ale calculatorului ce functioneaza la viteze ridicate) in timp ce magistralele seriale sunt folosite pentru asigurarea comunicatiei mai lente dintre calculator si mediul extern.
In figura 4 este prezentata conectarea principiala a subsitemelor calculatorului la nivelul magistralelor.
Magistrala de date
Destinatia aceste magistrale este reprezentata atat de intermedierea transferului dintre memorie si procesor (din timpul citirii instructiunilor programului) cat si a transferului dintre memorie, unitatea centrala si interfetele I/O.
Fiind o magistrala bidirectionala, sensul transferului pe aceasta este determinat prin exercitarea functiei de control a microprocesorului (acesta este cel ce stabileste sensul comunicatiei pe magistrala.
Numarul liniilor de semnal asociate magistralei de date este regula egal cu lungimea cuvantului de date acceptat de microprocesor.
Magistrala de adrese
Rolul acestei magistrale unidirectionale este acela de a transporta adrese de memorie pt identificarea locatiilor ce contin memorate instructiuni de program sau date cu care acesta opereaza.
Numarul liniilor de semnal asociate magistralei de adrese determina asa numita adresabilitate a sistemului de calcul (capacitatea maxima a memoriei ce poate fi instalata in sistem). Astfel pentru o magistrala de adrese cu n linii de semnal, avand in vedere faptul ca fiecare linie transporta doar 2 valori logice (0 si 1) numarul de combinatii binare distincte ce pot fi alcatuite este de 2n .
In consecinta, capacitatea maxima a memoriei ce poate fi accesata de sistemul respectiv este de 2n locatii.



Magistrala de Control
Transporta in sistem o serie de informatii necesare pentru sincronizarea si coordonarea activitatii in calculator. In plus la nivelul magistralei de control sunt transmise o serie de informatii necesare executiei intructiunei curente. Numarul si tipul semnalelor transportate depind in mod direct de caracteristicile microprocesorului. In mod tipic la nivelul magistralei de control se regasesc:
-          Semnalul de ceas al sistemului
-          Semnalele de citire din memorie
-          Semnalele de scriere in memorie
-          Semnalele de citire / scriere la nivelul porturilor de I/O.
Microprocesoare
Asa cum s-a aratat, microprocesorul este o unitate centrala de prelucrare realizata fizic sub forma unui singur circuit integrat. Din acest motiv, microprocesorul asigura totalitatea functiilor de calcul si comanda la nivelul sistemului de calcul.
Observatie: Vom considera un procesor standard a carui structura este prezentata in figura 6.
Functia de supervizare a microprocesorului
Asa cum a fost anterior precizat, microprocesorul opereaza in mod secvential sub rezidenta unui program memorat.
Totusi, doar programul in sine nu este suficient pentru ca sistemul de calcul sa functioneze corespunzator. De exemplu microprocesorul trebuie sa cunoasca adresa primei locatii de memorie de la care programuls se afla stocat.
Observatie: Un anumit program nu poate comunica microprocesorului o astfel de adresa pentru ca incarcarea sa in memorie se face de catre sistemul de operare, in plus, o serie de semnale de control necesita o activare corespunzatoare intr-o succesiune bine determinata (de exemplu inaintea citirii unei valori dintr-o locatie de memorie, trebuie activate semnale de ocupare a magistralelor, semnalele de adresa, semnalul de specificare a modului de transfer, etc...)
Toate aceste cerinte sunt indeplinite de catre sectiunea de decodificare, timing si control. Practic, la nivelul acestuia se asigura in integralitate functiie de secventializare a actiunilor, de decodificare a instructiunilor, respectiv de activare a blocurilor functionale, dedicate efectuarii operatiilor impuse.
Ciclul micropocesorului
Actiunile microprocesorului au loc in mod ciclic secvential in sincronism cu semnalul de ceas al sistemului. In acest context se defineste asa numitul „ciclu instructiune al microprocesorului ca fiind secventa de operatii efectuate in vederea extragerii, decodificarii si executiei unei instructiuni din memorie.
Un ciclu instructiune are o durata variabila in functie de complexitatea instructiunii respective.
In plus, cele 3 subetape ale ciclului (extragere cod instructiune, decodificare-instructiune si executie instrunctiune) se constituie in subciclul specific ciclului instructiune.
La randul lui fiecare subciclu permite la randul sau alte instructiuni individuale ce trebuiesc executate.
In principiu exista 3 subcicluri fundamentale:
-          Extragere instructiune
-          Decodificare instructiune si incarcare date pentru executie
-          Executie instructiune
O reprezentare principiala a unui ciclu instructiune este data in figura 7 si figura 8.
Functia de memorare
Microprocesorul contine de regula, o serie de resurse proprii de memorare a informatiei, avand insa capacitatea redusa fata de memoria principala a sistemului. In general memoria integrata la nivelul microprocesorului are rol de memorie tampon, ea continand date si instructiuni pe care microprocesorul le utilizeaza frecvent (ce au fost copiate din memoria principala a sistemului). Totusi elementul caracteristic tuturor procesoarelor este reprezentat de prezenta unor resurse specifice de memorare a informatiei, resurse numite registre. Asa cum s-a aratat, un registru este practic o locatie de memorie integrata la nivelul microprocesorului, locatie ce este identificata, nu printr-o adresa, ci printr-un nume. Acest nume este definit de fabricantul microprocesorului si are semnificatia doar in contextul microprocesorului respectiv.
Practic, registrele sunt memoria de lucru a microprocesorului.
Acest nivel de memorie are cea mai mare viteza ( daca ne raportam la celalalte niveluri de memorie :
- cache – principala – dispozitivele de memorie externe.

Exista 2 categorii de registre:
1.      Registre de uz general (aflate la dispozitia utilizatorului)
2.      Registre speciale (ce au in general doar rolul functional pentru sectiunile microprocesorului)
Registrele sunt folosite la stocarea diferitelor informatii utilizate atat in cadrul programelor cat si in exercitarea functiei de control a microprocesorului.
De exemplu registrele generale contin date folosite des in cadrul programelor, ceea ce conduce la cresterea vitezei de lucru a sistemului (pt ca timpii de acces la registre sunt mult mai mici decat timpp de acces la memoria conventionala a sitemului).
Aceste registre sunt conectate atat la alte registre interne ale microprocesorului, cat si la magistralele externe, prin intermediul magistralelor externe. Iar prin magistralele interne prin circuitele tampon.
Orice registru de acest tip este accesibil programatorului (astfel el reprezentand element de arhitectura a microprocesorului).
Pe de alta parte, registrele speciale au functii predefinite in cadrul microprocesorului, iar acestea nu pot fi schimbate de catre programator. In general aceste registre desi fac parte din structura microprocesorului, ele nu reprezinta elemente de arhitectura, pentru ca programatorul nu le poate utiliza explicit in programele sale.
Functia aritmetico-logica
Sectiunea care efectueaza operatii aritmetice si logice, este compusa dintr-un element executiv (unitatea aritmetico-logica) si o serie de registre ce servesc la manipularea si memorarea temporara a manipulantilor ( figura 11 )
UAL – La nivelul unitatea aritmetico-logica se remarca prezenta celor 2 intrari de date ce furnizeaza valorile operanzilor.
Cea de-a treia intrare este reprezentata de selectia functiei (operatia ce o sa fie efectuata de UAL) la iesirea unitatii aritmetico-logice se regasesc rezultatul, precum si o serie de indicatori ce arata modul in care s-a efectuat ultima operatie. Acesti indicatori sunt de fapt biti individuali grupati intr-un asa numit registru de stare.
Valorile acestor biti indica eventual aparitia unor evenimente in functionarea UAL (depasire aritmecica , rezultat nul, existenta transportului la operatia de adunare...)
Registrele prezente atat la intrari cat si la iesirea UAL, au rolul de a memora temporal valorile operanzilor, respectiv rezultatele operatiilor facute.
Cel mai important registru din acest grup este un registru de uz general, numit registru acumulator. El o sa contina un operant (inainte de efectuarea operatiei) respectiv rezultatul (dupa efectuarea operatiei).
Functia de I/O.
In general asa cum s-a aratat, sectiunea de I/O este reprezentata intr-o mai mica masura la nivelul microprocesorului, exceptie facand acele componente structurale ce permit izolarea fizica a circuitului integrat de mediul exterior reprezentat de magistrale.
Accesul microprocesorului la aceste cai de comunicatie se face prin intermediul unor structuri ce au rolul de elemente tampon. (figura 12)
Practic, aceste circuite de tip buffer (tampon) sunt circuite avand 3 stari logice posibile pentru fiecare dintre caile de semnal.
Aceste circuite transfera la iesire valoarea binara aplicata la intrare doar in conditiile aplicarii unui semnal de validare pe intrarea de selectie.
Atunci cand nu sunt activate iesirile acestor circuite se afla intr-o stare flotanta numita „ stare de inalta impedanta”. Aceasta stare este echivalenta functional cu decuplarae fizica a microprocesorului de la caile de semnal la care el este conectat. Prin intermediul acestui mecanism este permis accesul concurent al mai multor circuite pe magistralele sistemului. Prin selectarea unui singur buffer circuitul integrat respectiv preia controlul magistralei, plasand astfel semanle pe liniile acesteia.
In cazul microprocesorului, conectarea si deconectarea acestuia de la magistrale sunt dictate de propria sectiune de control. In timp ce pentru alte circuite exista un „supervizor” extern.
Microprogramarea la nivelul unitatii centrale de prelucrare
Asa cum s-a aratat, la nivelul microprocesorului fiecare instructiune a unui program este descompusa intr-o succesiune de operatii interne de-a lungul asa numitului ciclu instructiune.
La nivelul microprocesorului operatiile fundamentale se pot incadra in una din urmatoarele cateogrii:
1.      Extragerea codului numeric al instructiunii
2.      Decodificarea instructiunii (microprocesorul isi stabileste succesiunea de prelucrari interne asociate instructiunii primite)
3.      Extragerea eventualilor operanzi necesari executiei instructiunilor.
4.      Executia efectiva a instructiunii.
Pentru fiecare dintre aceste etape, microprocesorul executa un numar de operatii elementare numite microinstructiuni astfel incat se obtine executia instructiunii complexe.
a)       Aceste microinstructiuni sunt memorate in circuitele decodificatorului de instructiune asociat microprocesorului si nu sunt acesibile utilizatorului.
b)       Implementarea efectiva a microinstructiunii este o caracteristica specifica fiecarui procesor in parte.
c)       Exista insa o serie de microprocese speciale pentru care setul de microinstructiuni este accesibil utilizatorului astfel incat acesta isi poate definii propriile instructiuni pe baza microinstructiunilor disponibile.
Aceste procese speciale prezinta avantajul posibilitatii programarii dar sunt inferioare din punct de vedere al performantelor, pentru ca implementarea la nivel software al instructinuii reduce drastic viteza de lucru (comparativ cu microprocesorul standard la care setul de instructiuni este implementat hardware.
CISC – Complex Instructions Set Computer
RISC – Reduced Instructions Set Computer
Sistemul memorie asociat calculatoarelor numerice
Memoria calculatorului numeric, numita memorie interna sau memorie principala, este utilizata pentru stocarea programelor, respectiv a datelor pe care acesta le prelucreaza. Din punct de vedere topologic si functional, memoria se situeaza intr-un raport de directa interactiune cu procesorul si din acest motiv se poate spune ca performantele de ansamblu ale calculatorului depind intr-o mare masura de performantele subsistemului memorie.
Elemente de carcateristici generale
Principal unitatea indivizibila a oricarui circuit de memorie este reprezentat de celula elementara ce memoreaza informatia de 1 bit. Prin gruparea celulelor elementare se formeaza locatii individuale ce au uzual dimensiunea de 8 biti ( 1 byte , 1 octet ).
Fiecarei locatie de memorie ii sunt asociate 2 elemente informationale si anume:
-          O adresa unica reprezentand numarul de ordine dupa care se poate identifica locatia.
-          Cuvantul memorie ce reprezinta combinatia binara stocata in locatia respectiva.
Numarul total al locatiilor de memorie reprezinta capacitatea memoriei, in timp ce intervalul valid al adreselor reprezinta spatiul de adresare al memoriei.
Din punct de vedere fizic memoriile sunt realizate sub forma circutelor semconductuare specializate, aceste circuite deosebindu-se printr-o serie de elemente definitori dupa cum urmeaza:
1.      Geometria sau modul de organizare – aceste notinui incluzand numarul de biti ai unui cuvand in memorie, dispunerea locatiilor de memorie, modalitatea de identificare a locatei de memorie, etc...
2.      Capacitatea memoriei exprimata in nr de locatii continute de aceasta.
3.      Timpul de acces definit ca intervalul de timp ce se scurge intre momentul comunicarii adresei si momentul in care la iesirile circuitului de memorie se obtin datele memorate.
4.      Ciclul memoriei definit ca timpul necesar pentru scrierea sau citirea unei locatii de memorie.
5.      Puterea consumata specifica exprimata de regula in μW/bit.
6.      Volatilitatea ce desemneaza capacitatea circuitului de a retine sau nu, informatia memorata la disparitia tensiunii de alimentare.
7.      Tehnologia de realizare.

Din punct de vedere operational, asupra unui circuit de memorie se pot executa in general proceduri de citire, scriere, programare si regenerare a continutului. Evident, tipul acestor operatii acceptate de un circuit, este dependent de caracteristicile constructive functionale ale circuitului respectiv.
Astfel, circuitele care accepta atat citirea cat si scrierea continutului se numesc memorii RAM. Ele pot fi la randul lor de tip dinamic (DRAM) sau static (SRAM).
Spre deosebire de memoriile SRAM, circuitele DRAM necesita refresh-ul periodic al continutului printr-o succesiune de citiri si scrieri interne.
In figura 14 este prezenta o structura principiala pentru un circuit de memorie RAM static.
Adresa preluata de pe magistrala este preluata de decodificatorul intern de adrese care „calculeaza” linia, respectiv coloana din matricea locatiilor de memorie la intersectia carora se regaseste locatia de interes. Atunci cand se doreste scrierea in memorie, datele sunt preluate de pe magistrala prin intermediul unui circuit tampon si plasate in matricea de memorie, in locatia anterior determinata. Reciproc, daca se doreste citirea continutului memoriei, datele memorate in locatia determinata initial vor fi prezente la iesirile circuitului de memorie.
Prezenta blocului de control asigura pe de o parte stabilirea regimului de functionare a circuitului de memorie (scriere sau citire) si pe de alta parte si sincronizarea circuitelor de memorie.
Modul principal in care pe baza adresei primite de pe magistrala se determina linia, respectiv coloana din matricea de memorie, este ilustrat in figura 15.
In ceea ce proveste memoriile RAM dinamice, structura lor interna este in principiu similara cu cea asociata memoriei RAM statice, fiind utilizat acelasi mod de utilizare inidividuala a celulelor de memorie individuala.
Spre deosebire insa de memoria RAM statica, memoria RAM dinamica permite asa numita adresare in grup (ASOCIATIVA) a locatiilor situate pe aceeasi linie a matricilor.
Aceasta adresare asociativa este necesara in timpul procedurii de REFRESH, deoarece refresh-ul pe grupuri de locatii este mai avantajos din punct de vedere al timpului consumat.
Memorii ROM
In functie de modalitatea de inscriere si de posibilitatea de modificare ale continutului, memoriile pot fi:
-          ROM (Read Only Memory) – circuitele ROM sunt fabricate avand deja inscris continutul dorit ( acesta nu se poate modifica sub nicio forma)
-          PROM (Programable Read Only Memory) – aceste circuite pot fi programate o singura data prin conectarea lor la un dispozitiv special numit programator.
Programarea circuitelor se face prin distrugerea unor conexiuni interne ( acolo unde se inscrie valoarea 0 logic) respectiv mentinerea acestora (acolo unde se inscrie valoarea 1 logic).
-          EPROM (Erasable Programable Read Only Memory) – aceste memorii permit stergerea si reinscrierea continutului. In functie de procedura folosita pentru stergerea memoriei EPROM, ele sunt de 2 feluri:
o   EEPROM ( Electrically Erasable Programable Read Only Memory)
o   UVEPROM ( Ultra-Violet Erasable Programable Read Only Memory)
Dupa cum se observa in figura 17 structura principala a unui circuit ROM este similara cu cea a unui circuit RAM, deosebirea fiind aceea ca legatura cu magistrala de date este unidirectionala.
Oranizarea subsistemului memorie in sistemul de calcul
Din punct de vedere fizic, memoria unui sistem de calcul este compusa atat din memorii operative (memorii RAM) cat si din memorii fixe (ROM).
Combinarea coerenta a acestor circuite independente in sensul formarii unui ansamblu unitar este posibila datorita existentei unui bloc functional special numit decodificator global de adrese.
El primeste la intrare semnale preluate de pe magistralele de adrese si control si formeaza la iesire semnale de selectie si validare pentru fiecare dintre circuitele independente de memorie (figura 18).
Din punct de vedere functional, decodificatorul de adrese preia de pe magistrala care circuit de memorie din cele m+n trebuie activat (pentru ca el contine locatia de memorie diferita) astfel, un singur circuit integrat o sa fie activ la un moment dat ( prin aplicarea unui semnal de selectie si validate corespunzator), in timp ce toate celelalte m+n-1 circuite raman inactive (neselectate).
Din punct de vedere practic dispunerea in spatiul de memorie a memoriilor ROM si RAM respectiv cantitatea de memorie corespunzatoare fiecarui tip sunt elementele stabilite de proiectantul sistemului de calcul.
Observatie: La sistemul de calcul ce se conformeaza unor standarde (IBMPC-AT) atat cantitatea de memorie ROM cat si RAM respectiv dispunerea acestora in spatiul global de memorie respecta reguli fixe.
Interactiunea sistemului de calcul cu mediul extern.
(operatii de I/O)
Asa cum s-a aratat, functionarea unui sistem de calcul prespune nu doar efectuarea sarcinilor interne de procesare ci si schimbul de informatie cu mediul extern pentru asigurarea acestui acces la nivel interactional, sistemele de calcul sunt dotate cu circuite speciale de interfata care asigura compatibilizarea semnalelor asociate mediului extern cu semnalele ce pot fi transformate si prelucrate la nivelul calculatorului numeric.
Aceste interfete permit un transfer selectiv al datelor in functie de comenzile permite de la microprocesor. Modul selectiv de transfer al datelor este impus de seturi de reguli ce sunt asociate fiecarei interfete in parte (uzual, aceste seturi de reguli poarta numele de protocoale de comunicatii).
In procesul de comunicatie dintre microprocesor si echipamentele externe se pot distinge 2 etape functionale succesive reprezentate de transferul intre microprocesor si interfata respectiv de dialogul dintre interfata si periferice. In timp ce prima etapa reprezinta in principal operatii de I/O (pentru ca este implicat microprocesorul). Cea de-a doua etapa este asociata transferului efectiv al informatiei.
Modalitatea concreta prin care aceste 2 etape sunt implementate depinde de configurarea calculatorului si de cerintele aplicatiei software implicate.
In principiu din punct de vedere al sistemului de calcul exista 3 modalitati principiale de lucru cu dispozitivele de I/O ce permit controlul si sincronizarea transferului de date:
1.       Operatii de I/O efectuate sub control software.
2.       Operatii de I/O efectuate prin tehnica intreruperilor.
3.       Operatii de I/O efectuate prin acces direct la memorie.

1.       Operatii de I/O efectuate sub control programat
In acest caz sarcina declansarii operatia de transfer revine in mod nemijlocit programului ce se afla in executie. El contine instructiuni specifice prin care microprocesorul este instruit in efectuarea transferului de date cu interfetele. In principiu exista 4 tipuri de instructiuni ce pot fi folosite in aceasta situatie:
a)      Instructiune pentru trimiterea datelor catre interfete
b)      Instructiune pentru citirea datelor de la interfete
c)      Instructiune pentru configurarea interfetelor
d)     Instructiune pentru citirea starii interfetelor

2.    Operatii de I/O efectuate prin intreruperi:
Intreruperea se refera in acest context la oprirea temporara a activitatii curente a procesorului in vederea luarii la cunostinta a unor evenimente interne sau externe calculatorului (si eventual a tratarii situatiei aparute) prin tehnica intreruperii se utilizeaza semnale de control specifice lansate de la nivelul perifericelor catre microprocesor, aceste semnale anuntand producerea unor evenimente semnificative (prezenta unor date disponibile pentru transfer, acorduri de acceptare de catre periferice a datelor de la procesor, etc...). Practic, prin tehnica intreruperilor, echipamentele periferice isi anunta prezenta in cadrul sistemului de calcul, solicitand efectuarea transferurilor.

3.     Operatii de I/O efectuate prin acces direct la memorie:
In acest caz sarcina dialogului cu perifericele este alocata unor dispozitive speciale (numite controller-e), practic, acestea degreveaza microprocesorul de intermedierea transferurilor de date permitand astfel transferul direct al informatiei dintre echipamentele periferice si memoria sistemului.
Observatie: Deoarece de regula exista cai de comunicatie dedicate intre controller-ele cu acces direct la memorie si sistemul de calcul (DMA – Direct Memory Access) , viteza de transfer a datelor este considerabil crescuta fata de sistemele anterioare.

CCSuite - CC Monitoring, CC Reports and AliveCheck

CC Monitoring, CC Reports and AliveCheck Create together a powerful application, user friendly, that helps managing, monitoring ...