In capitolul 5 se definesc structura si arhitectura calculatorului didactic, care va fi dezvoltat in continuare si in capitolele care urmeaza. Astfel sunt elaborate specificatiile primitivelor functionale si modul de interconectare a acestora. De asemenea in acest capitol se urmareste functionarea detaliata a unui calculator numeric prin parcurgerea tuturor etapelor de specificare, descriere, proiectare si evaluare a unitatii de executie si a unitatii de comanda ale calculatorului didactic.
Pentru a facilita insusirea principalelor aspecte privind proiectarea unui calculator numeric se va considera un calculator didactic simplu dar care acopera, din punct de vedere conceptual, principiile ce stau la baza proiectarii si realizarii calculatoarelor numerice moderne. Considerarea unui calculator didactic ca prima etapa in insusirea conceptelor privind functionarea si realizarea unui calculator numeric ofera, fata de analiza unui calculator real, mai multe avantaje, cum ar fi: participarea directa la proiectarea calculatorului; o mare elasticitate in ceea ce priveste optiunile proiectului in diferite etape ale procesului de proiectare;o mai mare independenta fata de constringerile si detaliile de implementare.
Calculatorul didactic este conceput ca un calculator universal adecvat prelucrarilor numerice si logice asupra unor structuri de date intilnite, in general, in limbajele de nivel inalt.
In continuare se vor prezenta, pe scurt, primitivele functionale ale calculatorului didactic si functiile acestora.
Memoria M , ?1M=16 ; ?2M=65536
Memoria M [65536;16] este o matrice de elemente de memorare organizata intr un spatiu de adresare unic de 65536 cuvinte a cate 16 biti fiecare.
Memoria este utilizata pentru a pastra informatii neinterpretate reprezentand date sau instructiuni. Oricare doua celule de memorie sunt accesibile in mod echivalent. Totusi, memoria poate fi logic impartita in segmente de instructiuni, date, stiva, si segmente de memorie disponibila. Pentru segmentul de instructiuni se poate prevedea si o memorie cu continut permanent de tip "numai citire".
Citirea si scrierea se fac asincron sub controlul unitatii de comanda.
Registrul AM, ?AM=16
Registrul de adresare a memoriei, AM, pastreaza adresa celulei de memorie la care se face acces la un moment dat. Lungimea acestui registru se alege astfel ca 2?AM ? ?2M. Adresa calculata (adresa efectiva) este memorata in AM selectand, prin decodificare, cuvantul din memorie la care se va face accesul.
Registrele RG, ?1RG=16 ; ?2RG=8
Deoarece timpul de acces la memoria M este relativ mare (150ns 400ns) se va prevedea o memorie rapida organizata sub forma a 8 registre de cate 16 biti fiecare. Registrele RG contin unul sau ambii operanzi necesari pentru executia instructiunilor calculatorului didactic. Unele din aceste registre vor fi utilizate si pentru calculul adresei efective a operanzilor din memorie (Astfel, BA,BB sunt utilizate ca registre de baza; XA,XB sunt utilizate ca registre index iar IS este utilizat ca indicator pentru adresarea unor structuri de date de tip stiva. RA, RB, RC sunt utilizate numai pentru pastrarea operanzilor.)
Adresa registrului selectat este specificata in codul instructiunii. Selectarea registrelor generale va fi prezentata detaliat in paragraful 5.4.