Risc - Cisc
Risc: 1 istruzione = 1 colpo di clock. Ogni istruzione corrisponde a varie operazioni:
- Fetch degli operandi dai registri
- Attivazione della ALU
- Memorizzazione del risultato in un registro
Grazie all’adozione della pipeline, è possibile sovrapporre temporalmente l’esecuzione di più istruzioni, in modo che ad ogni colpo di clock si termini normalmente l’esecuzione di una istruzione. Le istruzioni RISC hanno la complessità delle microistruzioni CISC; per questa ragione l’unità di controllo dei RISC può essere realizzata con la tecnica cablata, anziché microprogrammata.
Vantaggi dei Risc
- La decodifica del codice operativo può avvenire in parallelo con il caricamento degli operandi dai registri
- L’unità di controllo è più semplice
- La fase di fetch è più ottimizzata
I RISC possiedono un numero limitato di modi di indirizzamento, che comunque vengono utilizzati solo nelle istruzioni LOAD e STORE. Le istruzioni CISC, per quanto più complesse, non sono più veloci, in quanto richiedono un hardware più complicato.
Bus sincroni e asincroni
Bus sincroni
- Le unità sorgente e destinazione utilizzano lo stesso segnale di clock, che fa parte del bus stesso; alternativamente, le 2 unità possono avere clock separati, ma alla stessa frequenza, e scambiare periodicamente segnali di sincronizzazione
- La frequenza del clock è imposta dal dispositivo più lento
- Ogni unità di dato è trasferita in un periodo di tempo prefissato (normalmente un periodo di clock)
- Il meccanismo funziona bene su distanze ridotte
Bus asincroni
- Ogni operazione di comunicazione può avere una sua velocità, determinata da appositi segnali di controllo che accompagnano i segnali di dato ed implementano il cosiddetto handshaking
- Si acquisisce così la massima flessibilità, a spese di una maggiore complessità del protocollo
Arbitraggio distribuito: il bus SCSI
Il bus SCSI possiede 8 linee DB(0),…, DB(7) che vengono utilizzate sia per il trasferimento dati che per l’arbitraggio. Durante l’arbitraggio, ogni linea è associata ad un dispositivo: la linea DB(7) ha la priorità massima. Quando la linea BSY diventa inattiva, tutti i dispositivi (al più 8) che desiderano fare accesso al bus alzano la rispettiva linea DB(i). Tutti i dispositivi osservano il valore sulle linee DB(0),…, DB(7), ed il dispositivo con priorità massima vince la contesa; gli altri attendono che BSY torni inattiva.
Daisy Chaining
- Una unità fa richiesta del bus (BUS REQUEST) attendendo che il bus sia libero (BUS BUSY)
- L’arbitro attiva il segnale di BUS GRANT
- Ogni unità, quando riceve il BUS GRANT:
- Se ha richiesto il bus: attiva BUS BUSY
- Se non ha richiesto il bus: attiva BUS GRANT verso l’unità a valle
- Richiede solo 3 segnali di controllo
- Non permette di modificare le priorità
- Non è adatta a elevati dispositivi connessi
- Non è tollerante ai guasti
Polling
- Una unità fa richiesta del bus (BUS REQUEST), attendendo che il bus sia libero (BUS BUSY)
- L’arbitro scandisce tutte le unità collegate, mettendo sul Poll Counter gli indirizzi di ciascuna, in sequenza
- Quando una unità viene indirizzata, ed ha fatto richiesta, attiva il segnale di BUS BUSY; a questo punto l’arbitro interrompe la scansione
- Richiede 2+log(n) segnali di controllo per gestire n unità
-
Riassunto esame Calcolatori elettronici
-
Riassunto esame Calcolatori Elettronici, Prof. Colombo Carlo, libro consigliato Calcolatori elettronici - Architett…
-
Appunti lezione Calcolatori elettronici
-
Riassunto Calcolatori elettronici e reti di calcolatori 1