DIFFERENZE TRA ARCHITETTURE C.I.S.C. E R.I.S.C.

a) R.I.S.C.= Reduced Instruction Set Computer.

b) C.I.S.C.= Compiler Iinstruction Set Computer.

CARATTERISTICHE ARCHITETTTURE R.I.S.C.

  • Tutte le istruzioni hanno la stessa lunghezza (word);
  • Insieme ridotto dei modi di indirizzamento;
  • Formato delle istruzioni molto simile tra loro;
  • Operazioni tra registri.

CARATTERISTICHE ARCHITETTTURE C.I.S.C.

  • Istruzioni con lunghezze diverse (minimo di un byte);
  • Molti modi di indirizzamento;
  • Formato non omogeneo delle istruzioni, campi analoghi in posizioni differenti;
  • Operazioni tra registri ed operazioni con la memoria.

Il compilatore è un programma che traduce un file sorgente (scritto in un linguaggio ad alto livello) in liguaggio a basso livello (linguaggio macchina),cioè costituito di soli 0 ed 1.

FORMATO ISTRUZIONI NELLE ARCHITETTURE R.I.S.C.

Esempio: PWR PC

  • 32 bit;
  • Il codice operativo si trova sempre nei primi sei bit;
  • Dal codice operativo si deduce il formato dell’istruzione;
  • Esistono comunque pochi formati.

Formato-esempio di un’istuzione aritmetica (addizione)

%DRAWING{tabella1}%

  • Nel caso di un’istruzione aritmetica il campo “codice oprativo” conterrà il valore 31 (in codice ASCII);
  • Il campo “ALU” specifica l’operazione da eseguire, in questo caso, conterrà il valore 266 (in codice ASCII), che indica l’addizione;
  • OE,Rc, sono due campi, ciascuno da un bit, che specificano su quale bit dei registri di stato devo agire dopo aver eseguito l’istruzione.Nel caso che Rc=1, si potrannno modificare I bit Lt e Gt del registro di stato;
  • Presi insieme (OE ed Rc), danno informazioni riguardo il tipo di addizione (ad esempio ADD,ADDI,ADDU).

Formato-esempio di una istruzione aritmetica con operando immediato e di una istruzione di caricamento\memorizzazione registri

%DRAWING{tabella2}%

Esempio di istruzione: Lwz Rd,d(Ra)

  • Rd, registro destinazione;
  • Ra, registro operando;
  • SIMM, operando da sommare (è un operando immediato) ad Ra, il risultato della somma verrà messo in Rd;
  • La “z” in Lwz , sta per zero ed indica che se Ra=0, calcola l’indirizzo sorgente tramite un indirizzamento relativo ad Ra, altrimenti, se Ra¹0 calcola l’indirizzo sorgente tramite un indirizzamento assoluto.
  • In Rd viene caricato il contenuto della locazione di memoria il cui indirizzo è;
La somma tra il contenuto del campo SIMM ed il contenuto della locazione specificata con indirizzo Ra se Ra¹0 (indirizzamento relativo ad Ra); Se Ra=0 considero l’indirizzo contenuto in SIMM (indirizzamento assoluto);

Formato-esempio di un’istruzione di salto incondizionato

%DRAWING{tabella3}%

  • distingue se LI è un indirizzo assoluto o relativo al PC;
  • LI, stabilisce se l’indirizzo dell’istruzione di salto va salvata in un registro;

Osservazione L’ultimo bit di ogni formato istruzione da “indicazioni” sui comportamenti dell’istruzione valutata.

FORMATO ISTRUZIONI NELLE ARCHITETTURE C.I.S.C.

Esempio: Intel, famiglia “x86”

  • Istruzioni con lunghezza variabile;
  • Il codice operativo può occupare diversi bit;
  • Esistono differenti formati, e, campi analoghi possono occupare differenti posizioni a seconda dell’istruzione utilizzata.

Nel formato si possono distinguere due campi principali:

1. Campo prefisso

---> Prefisso istruzione [0/1 byte]

---> Dimensione indirizzo [0/1 byte]

---> Dimensione operandi [0/1 byte]

---> Segmento [0/1 byte]

2. Campo istruzione

---> Codice operativo [2 byte]

---> Mod R/M [0/1 byte]

---> SIB [0/1 byte]

---> Scostamento [0/1/2/3/4 byte]

---> Immediato [0/1/2/3/4 byte]

%DRAWING{tabella4}%

  • Codice operativo;
  • Mod R/M (+);
  • SIB (+);
  • Scostamento (+);
  • Immediato;
  • Prefisso struzione;
  • Dimensione indirizzo;
  • Dimensione operando;
  • Segmento;

(+)Possono anche non esserci.

Giusti M.,Grassi M.,Mariani M.

Caratteristiche CISC

Approccio fondamentale: la complessità si sposta dal codice all'hardware
Conseguenze della scelta per il programmatore: il codice è molto compatto e occorre poca memoria per contenerlo; è l'hardware che si incarica di decodificare istruzioni anche molto compatte e molto complesse

Conseguenze della scelta a livello hardware:

  • Pochi registri.
  • Presenza di una ROM di decodifica.
  • ISA molto articolato con centinaia di istruzioni.
  • Modalità di indirizzamento memoria-memoria

Caratteristiche RISC

Approccio fondamentale: la complessità si sposta dall'hardware al software, ovvero al compilatore che deve essere molto efficiente
Conseguenze della scelta per il programmatore: la dimensione del codice aumenta in favore della semplificazione dell'hardware

Conseguenze della scelta a livello hardware:

  • Molti registri
  • Non esiste la modalità di indirizzamento memoria-memoria, ma alla memoria si accede solo con il load e lo store
  • ISA (instruction set architecture) con qualche decina di istruzioni soltanto
  • direct execution
  • uso della pipeline per diminuire il ritardo del critical path.

-- GiuseppeMacario - 30 May 2003

Topic attachments
I Attachment History ActionSorted ascending Size Date Who Comment
GIFgif 468-60a.gif r1 manage 22.8 K 2003-05-30 - 18:24 GiuseppeMacario  
GIFgif join.gif r1 manage 1.6 K 2003-05-30 - 18:41 GiuseppeMacario  
Unknown file formatdraw tabella1.draw r1 manage 2.6 K 2002-04-18 - 14:39 MassimilianoGiusti  
GIFgif tabella1.gif r1 manage 2.2 K 2002-04-18 - 14:39 MassimilianoGiusti  
Unknown file formatdraw tabella2.draw r1 manage 1.9 K 2002-04-18 - 14:38 MassimilianoGiusti  
GIFgif tabella2.gif r1 manage 1.3 K 2002-04-18 - 14:38 MassimilianoGiusti  
Unknown file formatdraw tabella3.draw r1 manage 1.9 K 2002-04-18 - 14:43 MassimilianoGiusti  
GIFgif tabella3.gif r1 manage 1.2 K 2002-04-18 - 14:43 MassimilianoGiusti  
Unknown file formatdraw tabella4.draw r1 manage 1.2 K 2002-04-18 - 14:46 MassimilianoGiusti  
GIFgif tabella4.gif r1 manage 0.9 K 2002-04-18 - 14:46 MassimilianoGiusti  
Edit | Attach | Watch | Print version | History: r4 < r3 < r2 < r1 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r4 - 2003-05-30 - GiuseppeMacario






 
Questo sito usa cookies, usandolo ne accettate la presenza. (CookiePolicy)
Torna al Dipartimento di Informatica
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback