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

Detalii si poze se gasesc pe pagina privind istoricul Institutului.

Este primul calculator românesc cu sistem de operare şi compilator; este cel mai performant calculator conceput şi realizat de români înaintea fabricării calculatoarelor sub licenţă.

A fost conceput și realizat între anii 1964-1968 la Institutul de Calcul (Academia Română, Filiala Cluj-Napoca) condus pe atunci de directorul acad. Tiberiu Popoviciu. Instalarea la beneficiar (Institutul Central pentru Cercetari Agricole) s-a realizat în 1969, la Bucureşti.

Constructori pentru partea hardware:

  • creare/concept de ansamblu/coordonare: ing. Mircea Bocu şi ing. Gheorghe Farkas (în egală măsură)
  • echipa:
    ing. Bruno Azzola (contribuţii notabile, privind proiectarea nucleului hard – „placa de bază”),
    Daniel Beloiu,
    Iolanda Juhasz
    toţi la capitolul creare/concept diferite componente
    și Mircea Pătru
    ajutaţi de tinerii absolvenţi Tudor Mureșan, Mihail Mușteanu, Dan Cigmăian, Petre Soreanu;
  • tehnicieni:
    Victor Mocanu, Levente Barthalis, ? Barthalis, Ecaterina Oprean, Zoltan Pickety, Vasile Fülöp (urmează a se completa)

Proiectanti pentru partea de software:

  • contribuții majore
    Liviu Negrescu (compilator),
    Werner Schuster (reconcepere/elaborare sistem de operare, concepere/elaborare asamblor),
    Teodor Rus (sistem de operare),
  • contribuții notabile
    Hannes Stein,
  • contribuții: Stela Laslău-Popescu, Stefan Nițchi și Mircu Mitrov.
    De notat contribuţia mat. Emil Muntean, care și-a adus aportul prin experienţa dobândită la doctorat, la Sankt Petersburg.

Calculatorul DACICC-200

  • 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: [urmeaza a se completa/rescrie/modifica]
    • compilatorul DACICC-FORTRAN, scris în MOL de către mat. Liviu Negrescu. A fost primul compilator românesc, scris și realizat în țară;
    • programul MOL (Machine Oriented Language), asimilat unui asamblor, realizat de mat. Werner Schuster;
    • 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;
  • împreună cu DACICC-1, a constituit baza formării a numeroși matematicieni de la Institutul de Calcul, de la Universitatea “Babeș-Bolyai” și de la Universitatea Tehnică Cluj-Napoca ca specialiști în analiză numerică; aici s-a format ceea ce e cunoscută în țară și peste hotare ca Școala Clujeană de Analiză Numerică și Teoria Aproximării;
  • împreună cu DACICC-1, a constituit baza formării informaticienilor care au constituit (prin transfer de la Institutul de Calcul), Institutul de Tehnică de Calcul (ITC) Cluj, în 1968, și Centrul Teritorial de Calcul Electronic Cluj, în 1970;
  • împreună cu DACICC-1, a constituit baza formării profesorilor de informatică de la Universitatea “Babeș-Bolyai” (de ex. prof. dr. Grigor Moldovan, ș.a.), care s-au instruit pe acest calculator iar apoi au predat cursuri la facultate, Clujul începând astfel să genereze absolvenți în domeniul IT. [3]

Ca o recunoaștere a meritelor specialiștilor de la Cluj, Gheorghe Farkas, Mircea Bocu ș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

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ă

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

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

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

Utilizarea rațională a calculatorului, din punct de vedere al eficienței timpului de lucru se realizează prin multiprogramare. Din punct de vedere cnstructiv 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

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 Romane. 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

La conceperea și realizarea calculatorului au contribuit inginerii: Gheorghe Farkas, Mircea Bocu, 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

  1. V. Rus, (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
  3. G. Moldovan, Calculatoarele DACICC de la Cluj-Napoca, Revista Market Watch, nr. 106, (Iunie 2008)
  4. Gh. Farkas, M. Bocu, Asupra proiectului calculatorului DACICC-200, Sesiunea de Comunicari a Institutului Politehnic Timisora, Timisoara, 28 mai 1967
  5. M. Bocu, Gh. Farkas, Asupra sumatoarelor rapide cu acumularea rezultatelor, Sesiunea de Comunicari a Institutului Politehnic Timisora, Timisoara, 28 mai 1967
  6. M. Bocu, Gh. Farkas, T. Muresan, Asupra unui calculator cu „overlap”. Sesiunea de Comunicari a Institutului Politehnic Timisora, Timisoara, 1970
  7. Rus, Vasile (1997). Fondarea Informaticii Clujene, pp. 36-37. Editura Albastră, Cluj-Napoca. ISBN 973-9215-53-X
  8. Gh. Farkas, M. Bocu, Structura unitatii centrale a calculatorului DACICC-200, Colocviul de Tehnica de Calcul si Calculatoare, C.N.C.S. Bucuresti,22-28 sept. 1967
  9. Gh. Farkas, Corectia algoritmului de impartire „non-performing”. Colocviul de Tehnica de Calcul si Calculatoare, C.N.C.S. Bucuresti,22-28 sept. 1967
  10. Gh. Farkas, M. Bocu, M. Musteanu, Principii de organizare a memoriei interne a calculatorului DACICC-200, Sesiunea de Comunicari a Institutului Politehnic Timisora, Timisoara, 1970
  11. Gh. Farkas, The correction of the „Non-performing Division Algorithm”, Bulletin Mathematique al Societatii de Stiinte Matematice din R.S.R., nr. 3, 1968
  12. D. Beloiu, Gh. Farkas, 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. Gh. Farkas, M. Bocu, Asupra structurii calculatorului electronic DACICC-200, Colocviul de teoria aproximarii functiilor, Academia R.S.R. Filiala Cluj, 15-20. IX.1967
  14. D. Beloiu, M. Bocu, Gh. Farkas, Unitatea de intrare-iesire la calculatorul DACICC-200., Sesiunea de Comunicari a Institutului Politehnic Timisora, Timisoara, 30 mai 1967
  15. Gh. Farkas, Dispozitiv de citire a benzilor perforate, Sesiunea Stiintifica a Academiei R.S.R. Filiala Cluj, 28-29 oct.1967

Versiune: 27 martie, 2018.

© Emil Cătinaş, Institutul de Calcul “Tiberiu Popoviciu” (Academia Română)

Articolul de mai sus este destinat exclusiv informării dumneavoastră personale.
Dacă doriţi un acord pentru republicarea lui (fie în întregime, fie a unor părţi, fie a pozelor), vă rugăm să ne trimiteţi un email pe adresa ecatinas [at] ictp.acad.ro
Pentru referire/citare: https://ictp.acad.ro/ro/dacicc-200/