Calculatorul electronic DACICC-200 (Dispozitiv Automat de Calcul al Institutului de Calcul Cluj)

  • a fost conceput și realizat între anii 1964-1968[1] la Institutul de Calcul (Academia Română, Filiala Cluj-Napoca Arhivat în , la Wayback Machine.) condus pe atunci de directorul acad.Tiberiu Popoviciu. Pentru partea hardware, echipa care l-a construit a fost condusă de inginerii Mircea Bocu și Gheorghe Farkas, fiind formată din ing. Bruno Azzola, Daniel Beloiu, Juhasz Iolanda, Tudor Mureșan, Mihai Mușteanu și Mircea Pătru (la care s-au alăturat spre sfârșit, în 1968, inginerii Petre Soreanu, Dan Cigmăian și Mircea Corpadea pentru testări). Pentru partea de software, echipa a fost coordonată de matematicienii Emil Muntean și Teodor Rus, fiind formată din Liviu Negrescu, Stefan Nițchi, Stein Hannes, Werner Schuster, Stela Laslău-Popescu și Mircu Mitrov.
  • a avut la bază experiența dobândită în conceperea și construirea calculatorului electronic precedent, DACICC-1;
  • a fost un calculator original, conceput și fabricat "la comandă", pentru Institutul Central de Cercetări Agricole din București; contractul a fost în valoare de 3.482.000 lei (echivalentul a 580.000 $, raportat la cursul din 1964 [2]); a funcționat la capacitate maximă între anii 1968-1973;
  • a fost un calculator de generatia a doua, fiind complet tranzistorizat [1], și având trăsături "revoluționare" pentru acea vreme: aritmetică flotantă cablată hard, memorie modulară, cu simultaneități precum overlap (suprapunerea în timp a pregătirii unei instrucțiuni cu execuția precedentei) și simultaneitatea funcțională a blocurilor de memorie (întâlnită azi doar la calculatoarele paralele multiprocesor);
  • a fost cel mai performant calculator construit în țară cu proiect și materiale autohtone în perioada anilor '50-'60;
  • pentru el au fost dezvoltate următoarele componente soft:
    • asamblorul PAS (Program de Asamblare Simbolică), realizat de mat. Teodor Rus, mat. Stein Hannes și, ceva mai la urmă, mat. Viorel Costea;
    • monitorul, realizat de mat. Emil Muntean și Stefan Nițchi;
    • supervizorul de intrări/ieșiri, realizat de mat. Werner Schuster;
    • ansamblul de programe pentru testare BTH (Baterie de Teste Hard), la realizarea cărora o contribuție importantă au avut mat. Stela Laslău-Popescu și mat. Mircu Mitrov;
    • programul MOL (Machine Oriented Language), asimilat unui asamblor, realizat de mat. Werner Schuster;
    • compilatorul FORTRAN-2, scris în MOL de către mat. Liviu Negrescu. A fost primul compilator românesc, scris și realizat în țară;

Ca o recunoaștere a meritelor specialiștilor de la Cluj, Mircea Bocu, Gheorghe Farkas și Emil Muntean (alături de alți câțiva pionieri ai informaticii românești) au fost recompensați în anul 2003 de către președinția României cu Ordinul Național Serviciul Credincios în grad de Cavaler.

Institutul de Calcul, prin acest calculator și prin precedentul, DACICC-1, poate fi considerat ca “leagănul informaticii clujene”, precum și un important jalon în istoria informaticii românești. Institutul are de asemenea un rol recunoscut în dezvoltarea analizei numerice românești.


Caracteristicile calculatorului modificare

DACICC-200 era un calculator binar care lucra cu virgulă fixă sau mobilă. Lungimea unui cuvânt era de 24 de biți. Reprezentarea numerelor era realizată în cod complementar, pentru virgulă fixă 1 bit semn, 23 de biți mantisă; pentru virgulă mobilă 1 bit semn, 37 de biți mantisă, 10 biți exponent. Numerele în virgulă mobilă se păstrau în două adrese consecutive din memorie. Instrucțiunile în virgulă mobilă erau cablate hard. Instrucțiunile erau cu o adresă. Calculatorul avea viteza de calcul de 200 000 de operații/secundă. Dispozitivele periferice erau cuplate la unitatea centrală prin 7 canale pe care puteau fi montate până la 64 de periferice prin interfața standard. Canalele funcționau independent unul față de celălalt, în regim de simultaneitate cu unitatea centrală. Dispecerul pentru multiprograme asigura funcționarea a 4 programe simultan și conversația între om și calculator prin mașina de scris de la pupitrul de comandă. Pentru a suprapune în timp pregătirea unei instrucțiuni cu execuția precedentei(overlap) au fost create în unitatea centrală două dispozitive: lansatorul și executorul de instrucțiuni, cu funcționalitate simultană și independentă [4] [5][6].

Memoria internă modificare

Memoria internă este concepută modular, cu blocuri de câte 4096 adrese, capacitate maximă 8 blocuri. Blocurile de memorie sunt realizate pe inele de ferită, au timp de acces 1,5 μs și ciclul 4μs.[7] Blocurile funcționează independent unul față de celălalt.[7] Accesul la memoriese face prin circuite de apel prioritar [8] [9] [10].

Sistemul de instrucțiuni modificare

Dispune de 78 instrucțiuni dintre care 49 cu adresă. Repartiția pe categorii a instrucțiunilor e următoarea:

  • operații aritmetice în virgulă fixă
  • operații aritmetice în virgulă mobilă
  • operații logice
  • operații de transfer de informație
  • operații de salt
  • operații cu regiștri de index
  • operații de deplasare
  • operații cu caractere
  • operații pentru dispozitivele periferice
  • operații diverse

Calculatorul realizează în medie peste 200 000 operații de tip adunare pe secundă.


Periferice modificare

Dispozitivele periferice sunt cuplate la unitatea centrală prin 7 canale pe care pot fi montate până la 64 periferice prin interfața standard. Canalele funcționează independent unul față de celălalt. Aparatura periferică poate face schimb cu unitatea centrală pe caractere sau pe blocuri de caractere. Schimburile pe blocuri ocupă canalul permițând numai unui singur aparat să lucreze pe canal; schimburile pe caractere permit funcționarea simultană a mai multor periferice pe același canal. [11] [12] [13] [14]

Programare modificare

Utilizarea rațională a calculatorului, din punct de vedere al eficienței timpului de lucru se realizează prin multiprogramare. Din punct de vedere constructiv pentru a asigura posibilitatea multiprogramării sunt prevăzute următoarele:

  • Un sistem de întreruperi prioritare care servește la utilizarea dispozitivelor periferice;
  • Posibilitatea de blocare și deblocare a regimului de întreruperi prin program;
  • Instrucțiuni speciale pentru tratarea întreruperilor și a folosirii progrmului dispecer;
  • Posibilitatea de a realiza adresări relative pentru alocări dinamice, controlul domeniului de adresare în regim de program și acționarea perifericelor numai de către dispecer;

Dispecerul pentru multiprogramare asigură funcționarea a 4 programe simultan și conversația între om și calculator prin mașina de scris de la pupitrul de comandă. [15].

Una dintre principalele componente soft era asamblorul PAS (Program de Asamblare Simbolică), folosit la scrierea de programe în cod mașină. La realizarea lui au contribuit Teodor Rus, Stein Hannes și Viorel Costea. Monitorul a fost realizat de Emil Muntean și Ștefan Nițchi, iar supervizorul de intrări-ieșiri de Werner Schuster, care a dezvoltat și MOL (Machine Oriented Language), un asamblor care utiliza și adrese simbolice. Pentru testarea implementării hard a aritmeticii în virgulă mobilă s-a realizat un ansamblu de programe numit BTH (Baterie de Test Hard), la care au contribuit Stela Laslău-Popescu și Mitrov Mircu.

Folosind MOL, Liviu Negrescu a dezvoltat pentru DACICC-200 primul compilator FORTRAN-2 din România. Sistemul de programare automată DACICC-FORTRAN, cum îl numește creatorul, cuprinde un limbaj deprogramare de tip FORTRAN și compilatorul, precum și o librărie de subprograme în cod mașină. Compilatorul realiza traducerea într-un singur pas în cod mașină a programelor din limbajul sursă, putând genera programul obiect în două moduri: în octal sau în binar.

Utilizări modificare

Una dintre primele probleme rezolvate cu DACICC-200 a fost o problemă de calcul propusă spre rezolvare Institutului de calcul de acad. Cristofor Simionescu, președintele Filialei din Iași a Academiei. Problema respectivă a intervenit într-un studiu de chimie privind structura unor substanțe complexe(polimeri) și din punct de vedere matematic, ea s-a redus la calculul valorilor proprii și a vectorilor proprii ale unei matrici de ordinul 32. Au fost utilizate două variante ale metodei iterative Jacobi, metoda de calcul a fost transcris în limbajul DACICC-FORTRAN, pe baza programului întocmit mașina a rezolvat problema în 5 minute.

De asemenea s-au rezolvat probleme de optimizare cu 3 000 de elemente, s-au efectuat tabelări de funcții, rezolvări de sisteme de ecuații liniare etc.

Colectiv de ingineri modificare

La conceperea și realizarea calculatorului au contribuit inginerii: Mircea Bocu, Gheorghe Farkas, Iolanda Juhasz, Tudor Mureșan, Daniel Beloiu, Mihai Mușteanu, Mircea Pătru. În 1968 li s-au alăturat, mai ales pentru testare, reglare și elaborarea de manuale Dan Cigmăian, Mircea Corpadea și Petre Soreanu.

Referințe modificare

  1. ^ a b Rus, Vasile (1997). Fondarea Informaticii Clujene, pp. 48-49. Editura Albastră, Cluj-Napoca. ISBN 973-9215-53-X
  2. ^ „Cursul oficial leu/dolar S.U.A. în perioada 1945-1989, Banca Națională a României” (PDF). Arhivat din original (PDF) la . Accesat în . 
  3. ^ Grigor, Moldovan, Calculatoarele DACICC de la Cluj-Napoca, Revista Market Watch, nr. 106, (Iunie 2008)
  4. ^ Farkas Gh., Bocu M., Asupra proiectului calculatorului DACICC-200, Sesiunea de Comunicari a Institutului Politehnic Timisora, Timisoara, 28 mai 1967
  5. ^ Bocu M., Farkas Gh.,Asupra sumatoarelor rapide cu acumularea rezultatelor, Sesiunea de Comunicari a Institutului Politehnic Timisora, Timisoara, 28 mai 1967
  6. ^ Bocu M., Farkas Gh., Muresan T., Asupra unui calculator cu „overlap”. Sesiunea de Comunicari a Institutului Politehnic Timisora, Timisoara, 1970
  7. ^ a b Rus, Vasile (1997). Fondarea Informaticii Clujene, pp. 36-37. Editura Albastră, Cluj-Napoca. ISBN 973-9215-53-X
  8. ^ Farkas Gh., Bocu M., Structura unitatii centrale a calculatorului DACICC-200, Colocviul de Tehnica de Calcul si Calculatoare, C.N.C.S. Bucuresti,22-28 sept. 1967
  9. ^ Farkas Gh., Corectia algoritmului de impartire „non-performing”. Colocviul de Tehnica de Calcul si Calculatoare, C.N.C.S. Bucuresti,22-28 sept. 1967
  10. ^ Farkas Gh., Bocu M., Musteanu M., Principii de organizare a memoriei interne a calculatorului DACICC-200., Sesiunea de Comunicari a Institutului Politehnic Timisora, Timisoara, 1970
  11. ^ Farkas Gh. The correction of the „Non-performing Division Algorithm” „Buletin Mathematique” al Societatii de Stiinte Matematice din R.S.R., nr.3, 1968
  12. ^ Beloiu D. Farkas Gh., Alimentarea stabilizata cu tranzistori pentru calculatorul electronic DACICC-200, Colocviul de teoria aproximarii functiilor, Academia R.S.R. Filiala Cluj, 15-20. IX.1967
  13. ^ Farkas Gh., Bocu M., Asupra structurii calculatorului electronic DACICC-200, Colocviul de teoria aproximarii functiilor, Academia R.S.R. Filiala Cluj, 15-20. IX.1967
  14. ^ Beloiu D., Bocu M., Farkas Gh., Unitatea de intrare-iesire la calculatorul DACICC-200., Sesiunea de Comunicari a Institutului Politehnic Timisora, Timisoara, 30 mai 1967
  15. ^ Farkas Gh., Dispozitiv de citire a benzilor perforate., Sesiunea Stiintifica a Academiei R.S.R. Filiala Cluj, 28-29 oct.1967

Legături externe modificare

Calculatorul DACICC-200 - Institutul de Calcul T. Popoviciu
Istoricul Institutului de Calcul T. Popoviciu