Felix C
| Felix C | |
| Producător | ICE Felix |
|---|---|
| Tip | Calculatoare medii (mainframe) |
| An lansare | 1970 |
| Scos din fabricație | 1978 |
| Procesor | similar Sigma 9 |
| Variante | Felix C-256, Felix C-32, Felix C-512, Felix C-515, Felix C-1024, Felix C-5000, Felix C-8000, Felix C-8010 |
| Memorie RAM | 32–1024 Ki |
| Tastatură | terminal TTY |
| Periferice | monitor cititor de cartele imprimantă discuri magnetice (DIAM/DIMAS) benzi magnetice modem terminale video DAF 1001 (din 1978) |
| Sistem de operare | SO SIRIS pentru Felix C, respectiv SO HELIOS pentru Felix C-8000 |
| Modifică text | |
Calculatoarele electronice din familia Felix, fabricate în serie mare, cu nivel tehnologic ridicat, performanțe superioare și fiabilitate sporită au intrat în număr mare, prin dotarea centralizată, în centrele de calcul din țară, iar o parte dintre ele au fost exportate. Calculatoarele Felix au fost exploatate cu succes aproximativ 10 ani pentru rezolvarea cerințelor unităților industriale, în ceea ce privește conducerea producției și a celorlalte aplicații, cât și a altor unități economice și centrale. Depășind performanțele calculatoarelor fabricate în țări socialiste, grupate într-o asociere „Sistemul unitar de mașini electronice de calcul - SUMEC”, calculatorului românesc i-a fost obstrucționată intrarea în această familie.
Familia de calculatoare Felix C-nnn (unde n reprezinta numărul de KB de memorie RAM disponibilă și putea fi: 32, 128, 256, 512, 1024) este concepută după modelele franțuzești IRIS (de unde și numele SIRIS dat sistemului de operare) ale Compagnie internationale pour l'informatique (CII). La randul lor, acestea erau concepute dupa computerele americane SDS-Sigma-7, sub licenta, dar cu acestea nu erau compatibile binar, desi instructiunile in cod masina erau echivalente functional. Sistemul de operare SIRIS a fost dezvoltat de CII si era diferit de sistemele de operare SDS.
Astazi nu mai exista niciun exemplar, nici software accesibil, insa exista un proiect de realizare a unui simulator [1] care se bazeaza pe numeroasele carti tehnice despre Felix, care inca se mai gasesc.
Hardware
[modificare | modificare sursă]
Arhitectura mașinii este de tip cablat (în engleză hardwired control). Unitatea aritmetică și logică (ALU) poate executa operații cu numere întregi cu și fără semn, cu numere în virgulă mobilă simplă și dublă precizie și cu numere în format BCD (Binary Coded Decimal). Memoria a fost implementată utilizând ferite. Cablajul fizic al sistemului este realizat în tehnologie wrapping. Comunicarea cu sistemele periferice se face prin intermediul unei unități specializate numită USM (Unitate de Schimburi Multiple) care permite execuția unor instrucțiuni complexe (are propriul ISA) și implementează și mecanismul de DMA. USM admite conectarea de periferice clasice, frecvent utilizate la vremea respectiva: cititoare de cartele perforate, cititoare de benzi perforate, unități de bandă magnetică, unități de disc (mici de tip DIAM și mari de tip DIMAS), imprimante cu lanț. Consola de operare a sistemului este cablată fizic, constând dintr-un echipament dedicat de tip mașină de scris cu banda cu tuș.
Formatul instrucțiunilor
[modificare | modificare sursă]Formatul instrucțiunilor este fix, pe 32 de biți cu următoarea structura: I (1 bit) specifică dacă este o instrucțiune indirecta sau nu, B (3 biți) specifică registrul de bază folosit în relocarea adresei (de la R8 până la R15, uzual se folosește registrul 14), Q (4 biți) specifică registrul curent de lucru, X (1 bit) specifica dacă instrucțiunea este una indexată sau nu, F (7 biți) reprezintă codul operației, D (16 biți) reprezintă deplasamentul sau adresa de memorie folosită (ce va fi relocată prin intermediul registrului specificat în câmpul B). Mașina pune la dispoziție un set de 16 regiștri generali care sunt tratați simetric, în sensul ca nu există un acumulator special proiectat, dar cele doua grupe, R0-R7 si R8-R15, intervin diferit in instrucțiuni. Setul de instrucțiuni este complex (mașină CISC), în sensul ca folosește multiple moduri complexe de adresare, altminteri având o structura simpla și ortogonală. O particularitate a acestor sisteme este faptul ca regiștrii sunt de fapt primii 64 de octeți din memoria centrală, astfel încat pot fi adresați atât prin câmpurile B și Q din instrucțiuni cat și prin adrese de memorie, începând cu 0.
Felix are instrucțiuni pe octet, pe jumătate de cuvant (16 biți), cuvant (32 biți) dublu cuvant (64 biți) și pe șiruri de octeți pana la 128 de biți. Diversele variante puteau avea operații în virgula mobila, precum și operații în virgulă fixa sau pe șiruri de caractere. Felix C1024 avea chiar o instrucțiune EDIT care tipărea un număr în virgulă fixa folosind un tipar `PICTURE' din Cobol. Pentru operațiile pe 64 de biți se folosesc regiștrii cu număr par, operația implicând o pereche de regiștri succesivi. Felix C512 avea un set extins de instrucțiuni, Felix C1024 adăugând încă o extensie.
Sistemul de operare
[modificare | modificare sursă]Sistemul de operare SIRIS permite multiprogramarea în maximum trei partiții de memorie fixe, definite la încărcarea acestuia. Sistemul de operare este controlat prin intermediul unui limbaj de tip JCL (Job Control Language) foarte asemănător, ca principiu, cu limbajul utilizat de alte mașini (de exemplu cele din seria IBM 360) dar totuși specific. Sistemul de operare cuprinde: (1) un sistem de fișiere, numit SGF (Sistem de Gestiune a Fișierelor) care permite utilizarea formatelor de fișiere folosite în mod uzual de limbajul COBOL; (2) un bibliotecar care intretine biblioteci sursa, cu modificari si versiuni; biblioteci de executabile (format IMT); biblioteci de module obiect relocatabile (format BT); (3) un generator de sistem cu care se generează pe un disc o imagine incărcabilă a sistemului de operare cu anumiți parametri; (4) compilatoare de ASSIRIS (limbajul de asamblare); MAGIRIS (un macrogenerator); FORTRAN; COBOL; TTPL (o versiune redusa de APL); BASIC; LISP; (5) sistemul SOCRATE de gestiune a bazelor de date; (6) sisteme de teleprocesare cum e SESAM.
Symbiont
[modificare | modificare sursă]Fiecare program de calcul are nevoie de minimum două dispozitive periferice, unul de intrare și unul de ieșire. La apariția unei operații de intrare/ieșire, execuția programului de către unitatea centrală era pusă în așteptare până la răspunsul dispozitivului periferic. În timpul așteptării, unitatea centrală putea executa alt program aflat în memorie. Partiționarea memoriei permitea existența a câte unui program în fiecare partiție, iar alternanța solicitărilor dispozitivelor periferice crea aparența executării simultane a programelor („multiprogramare”), ceea ce eficientiza utilizarea unității centrale. Însă prețul mare al unităților periferice nu permitea existența fizică a câte unei unități de intrare și de ieșire pentru fiecare program. Soluția a fost ca operațiile de intrare/ieșire să se facă prin fișere („unități virtuale”), al căror conținut era furnizat, respectiv extras de unitățile fizice în momentele în care acestea erau disponibile.[2] Procedura curentă era introducerea și extragerea informațiilor prin dispozitivele fizice prin lanțuri de lucrări (batch processing(d)) separate pentru fiecare partiție, comandate de operatorul calculatorului. Procedura nu era optimă, astfel s-a pus problema realizării unei aplicații complementare sistemului de operare care să optimizeze distribuția lanțurilor de lucrări în funcție de resursele cerute (de exemplu memorie) și procesele de intrare/ieșire.[3] Aplicația a fost dezvoltată de Institutul central pentru Conducere și Informatică (ICI) sub denumirea Symbiont, în 1978 fiind lansată a doua versiune, SY V2. Testele au indicat o creștere a ratei de trecere a lucrărilor prin sistem de 15–25% față de multiprogramarea clasică,[2] însă complexitatea aplicației[4] depășea nivelul obișnuit de calificare al operatorilor de la consola sistemului, în general doar absolvenți de liceu, astfel că utilizarea lui a fost limitată, operatorii preferând operarea multiprogramării clasice, mai simplă.
Note
[modificare | modificare sursă]Bibliografie
[modificare | modificare sursă]- M. Bălan, M. Ivan, A. Nădejde, S. Panait, SY V2: Prezentare, utilizare, operare (seria MTEC. caiet nr. 16), București: Centrul de calcul al ICI, 1978
Lectură suplimentară
[modificare | modificare sursă]- A. D. Corlan, The RASSIRIS project. Simulator of ASSIRIS jobs on Felix-C computers http://dan.corlan.net/software/emulators/felix-assiris/rassiris-2025-09-21.pdf 2025