Felix C
From Wikipedia, the free encyclopedia
Remove ads
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.
Remove ads
Hardware

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ș.
Remove ads
Formatul instrucțiunilor
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 instructiuni. Setul de instrucțiuni este complex (mașină CISC), in sensul ca foloseste multiple moduri complexe de adresare, altminteri avand o structura simpla si ortogonala. O particularitate a acestor sisteme este faptul ca registrii sunt de fapt primii 64 de octeti din memoria centrala, astfel incat pot fi adresati atat prin campurile B si Q din instructiuni cat si prin adrese de memorie, incepand cu 0.
Felix are instructiuni pe octet, pe jumatate de cuvant (16 biti), cuvant (32 biti) dublu cuvant (64 biti) si pe siruri de octeti pana la 128 de biti. Diversele variante puteau avea operatii in virgula mobila, precum si operatii in virgula fixa sau pe siruri de caractere. Felix C1024 avea chiar o instructiune EDIT care tiparea un numar in virgula fixa folosind un tipar `PICTURE' din Cobol. Pentru operatiile pe 64 de biti se folosesc registrii cu numar par, operatia implicand o pereche de registri succesivi. Felix C512 acea un set extins de instructiuni, Felix C1024 adaugand inca o extensie.
Remove ads
Sistemul de operare
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 totusi specific. Sistemul de operare include: (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 genereaza pe un disc o imagine incarcabila a sistemului de operare cu anumiti 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
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ă.
Remove ads
Note
Bibliografie
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads
