Complex Instruction Set Computer

Complex Instruction Set Computer (CISC) reprezintă o arhitectură a unui procesor și calculator în care fiecare instrucțiune poate efectua mai multe operații și mai multe cicluri la nivel scăzut, cum ar fi accesul la memorie (citirea datelor în memorie, modificarea acestora și salvarea lor directă în memorie), operațiile aritmetice sau calculele adreselor. Strategia care stă la baza arhitecturii CISC este existența unui set mare de comenzi, inclusiv a celor complexe. Un microprocesor CISC suportă până la două sute de instrucțiuni. Termenul a fost introdus ca o contrapondere la arhitectura de tip RISC (Reduced Instruction Set Computer). Procesoarele moderne CISC sunt utilizate în majoritatea computerelor personale, stații de lucru și servere actuale. [1]

Intel Pentium MMX, un exemplu de procesor CISC

Exemple de procesoare cu set de instrucțiuni CISC sunt Intel 8086, 80386, 80486, PDP-11 (DEC), IBM 370/168, VAX 11/780, Motorola 68000, Zilog Z80, Intel x86, (inclusiv Pentium ), AMD x86-64.[2]

Dezvoltare modificare

Versiunea CISC (Complex Instruction Set Computer), a fost adoptată în primii 20 de ani de dezvoltare a microprocesoarelor. Termenul CISC a fost ales de către IBM în anii 1970 pentru a delimita seturile de instrucțiuni clasice. Prin oprirea operațiunilor complexe într-o singură instrucțiune, aceasta a dus la programe mai mici și mai puține abordări de memorie.

La sfârșitul anilor 1980, au apărut direcții noi de dezvoltare cum este structura arhitecturală de tip RISC (Reduced Instruction Set Computer), calculator cu set redus de instrucțiuni, care prezintă importante avantaje în ceea ce privește raportul dintre performanțe și preț de cost.

După 1990, granița dintre RISC și CISC a început să dispară, multe procesoare CISC au început să achiziționeze caracteristici specifice RISC. Astfel, un procesor modern CISC suportă toate instrucțiunile predecesorilor săi și este proiectat să funcționeze cât mai eficient cu un set de instrucțiuni asemănătoare RISC.[3]

Avantaje modificare

  • Programarea în CISC este mai ușoară, deoarece există o comandă pentru fiecare lucrare simplă sau complexă. Prin urmare, dezvoltatorii nu au nevoie să scrie seturi de comenzi pentru a face o muncă complexă.
  • Comenzile sunt executate rapid la nivelul microprocesorului
  • Instrucțiuni complexe în unul sau mai mulți cicli
  • Load/Store incorporate în instrucțiunea complexă
  • Cod de lungime redus
  • Nu necesită foarte multă memorie.
  • Accent pe hardware

Dezavantaje modificare

  • Complexitate mărită - număr mare de tranzistoare alocate executării instrucțiunilor complexe separate
  • Datorită execuției comenzilor la nivel micro, procesorul devine mai complex și mai scump de fabricat
  • Datorită complexității circuitelor electronice, pot exista greșeli majore în timpul dezvoltării, iar atunci când se fac erori, este aproape imposibil să fie corectate
  • Unele comenzi încorporate pot fi ineficiente datorită disponibilității unor noi algoritmi
  • Un număr mic de comenzi din întregul set de comenzi disponibile sunt utilizate (regula 80/20 - 80% din muncă se face cu 20% din instrucțiuni.) [4][5][6]

Vezi și modificare

Referințe și note modificare

Legături externe modificare