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 rândul lor, acestea erau concepute după computerele americane SDS-Sigma-7, sub licență, dar cu acestea nu erau compatibile binar, desi instructiunile in cod mațină erau echivalente funcțional. Sistemul de operare SIRIS a fost dezvoltat de CII și era diferit de sistemele de operare SDS.

Hardware thumb|left|Consola, cititorul de cartele și unitățile de bandă magnetică Arhitectura mașinii este de tip cablat (în ). Unitatea aritmetică și logică (ALU) poate executa operații cu numere întregi cu și fără semn, cu numere în virgulă mobilă cu precizie simplă și dublă și cu numere în format BCD (). 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 cilindru sau 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 datelor Sistemul Felix C poate trata următoarele tipuri de date:Baltac, 1974, pp. 48–50 Șir de caractere alfanumerice, reprezentate în codul . Fiecare caracter este reprezentat pe 8 biți. Exemplu: 'C256' = c3f2f5f616. Șir de cifre binare (0 și 1), folosit pentru operații logice. Exemplu: 0000ffff16. Număr hexazecimal întreg, fiecare cifră hexazecimală fiind reprezentată pe un grup de 4 biți. Numerele erau reprezentate în complement față de doi pe jumătate de cuvânt (16 biți), respectiv un cuvânt (32 de biți). Ca urmare, gamele de numere reprezentabile erau de pe 16 biți, respectiv pe 32 de biți. Exemple: respectiv Număr zecimal întreg codificat binar, reprezentat în codul . Există două forme (setul de instrucțiuni conține instrucțiuni de conversie): Forma condensată, în care cifrele sunt reprezentate pe câte 4 biți, urmate de semn, tot pe 4 biți (sunt 3 posibilități pentru „+” și 3 pentru „−”). Forma este folosită pentru calcule interne. Exemplu: Forma dilatată, în care cifrele sunt reprezentate pe câte 8 biți, cu semnul plasat pe primii 4 biți ai ultimului caracter (sunt 3 posibilități pentru „+” și 3 pentru „−”). Forma este folosită pentru operații de intrare/ieșire. Exemplu: Număr zecimal întreg, reprezentarea internă este identică cu a numărului hexazecimal întreg. Exemplu: Număr zecimal fracționar, adică în virgulă fixă. Exemplu: Număr octal întreg, în care cifrele octale sunt reprezentate pe câte 3 biți. Reprezentarea internă este identică cu a numărului hexazecimal întreg. Exemplu: 'Număr hexazecimal în virgulă mobilă, reprezentat în formatul IBM de virgulă mobilă hexazecimală. Există două forme: Număr cu precizie simplă, reprezentat pe 4 octeți.Baltac ș.a., 1974, p. 178 Număr cu precizie dublă, reprezentat pe 8 octeți.Baltac ș.a., 1974, p. 179

Formatul instrucțiunilor {| |- style="text-align:center" |style="width:10px"|1 |style="width:10px"| |style="width:10px"|3 |style="width:10px"| |style="width:10px"| |style="width:25px"|4 |style="width:10px"| |style="width:10px"|1 |style="width:10px"| |style="width:60px"|7 |style="width:20px"| |style="width:20px"| |style="width:180px"|16 |style="width:20px"| |style="text-align:left"|(mărime, în biți) |- style="text-align:center" |colspan="1" style="text-align:center;background-color:#FC9"|I |colspan="3" style="text-align:center;background-color:#CCF"|B |colspan="3" style="text-align:center;background-color:#9CF"|Q |colspan="1" style="text-align:center;background-color:#FC9"|X |colspan="3" style="text-align:center;background-color:#F99"|F |colspan="3" style="text-align:center;background-color:#9F9"|D |colspan="1" style="text-align:center;background-color:#FFF"|  |- style="text-align:center" |0 |1 | |3 |4 | |7 |8 |9 | |15 |16 | |31 |align="left"|(index biți)* |- |colspan="15"| * Documentația CII numerotează biții de la stânga la dreapta, astfel încât bitul cel mai din stânga este bitul numărul 0.

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 grupuri, R0-R8 și R9-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 255 de caractere. Diversele variante puteau avea operații în virgula mobila, precum și operații în virgulă fixă sau pe șiruri de caractere. Felix C1024 avea chiar o instrucțiune EDIT care tipărea un număr în virgulă fixă 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.

Aproape toate instrucțiunile poziționează unul sau mai mulți („flaguri”). Sistemul Felix C are patru astfel de indicatori, localizați în biții 36–39 ai al sistemului. Acești indicatori sunt, în ordine:CII, 1977, p. 32Baltac ș.a., 1974, p. 67Munteanu, Costea, Mitrov, 1976, pp. 108–111 Z flag poziționat în cazul unui rezultat nul (Zero); S flag poziționat în cazul unui rezultat negativ (Sign); D flag poziționat în cazul depășirii binare (transporturile din biții 0 și 1 diferă); C flag poziționat în cazul unui transport din bitul 0 (Carry"). Biții 32–35 al registrului de stare („EP”) conțin măștile de depășire, DS, DI, DD, DB, pentru depășirile superioară, inferioară, zecimală și respectiv binară.</ref>

Sistemul de operare Sistemul de operare SIRIS-3 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; (2) un bibliotecar care întreține biblioteci sursă, cu modificări și versiuni; biblioteci de module obiect relocatabile (format BT); biblioteci de executabile (format IMT); (3) un generator de sistem cu care se generează pe un disc o imagine încărcabilă a sistemului de operare cu anumiți parametri sau o imagine a conținutului unui disc folosit de un utilizator; (4) compilatoare de ASSIRIS (limbajul de asamblare); MAGIRIS (un macrogenerator); FORTRAN; COBOL; TTPL (o versiune redusa de APL);Baltac ș.a., 1974, p. 34 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șiere („unități virtuale”), al căror conținut era furnizat, respectiv extras de unitățile fizice în momentele în care acestea erau disponibile.SY V2, pp. 7–13 Procedura curentă era introducerea și extragerea informațiilor prin dispozitivele fizice prin 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.SY V2, pp. 61–72 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ă, însă complexitatea aplicațieiSY V2, pp. 73–151 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ă.

Operare