Lezione 2 21/03/23
Il nostro processore MIPS che utilizziamo in questo corso ha a disposizione:
- 6 bit per il codice operativo
- 5 bit per il registro
- 5 bit per l'offset
- 32 bit per il bus degli indirizzi
Un problema che sorge subito è che siccome ogni istruzione deve essere composta da soli 32 bit, questo adesso risulta impensabile.
Nota: 6 + 5 + 5 + 32 = 56 bit 32 bit
Per questo motivo allora andiamo ad utilizzare un'indirezione indiretta a registro. Con questo tipo di indirizzamento vado a caricare l'indirizzo di destinazione in un registro, detta l'istruzione di basta specificare quale indirizzo fornisce questa istruzione.
Osserva: registro dove carico l'indirizzo di destinazione è di 5 bit - contiene l'indirizzo base a cui poi va sommato l'offset per destinare così la cella in memoria oggetto dell'istruzione.
Così facendo ottengo che ho:
- 6 bit codice operativo
- 5 bit registro
- 5 bit offset
- Registro per l'indirizzo
- 32 bit
Nota: il bus dati è anche non di 32 bit
Lezione 2 21/03/23
Il nostro processore MIPS che utilizziamo in questo corso ha a disposizione:
- 6 bit per il codice operativo
- 5 bit per il registro
- 5 bit per l'offset
- 32 bit per il bus degli indirizzi
Un problema che sorge subito è che siccome ogni istruzione deve essere composta da soli 32 bit questo, adesso, risulta impossibile.
Nota: 6 + 5 + 5 + 32 = 56 bit → 32 bit
Per questo motivo allora andiamo ad utilizzare un'indirizzazione indiretta di registro. Con questo tipo di indirizzamento vado a caricare l'indirizzo di destinazione in un registro, detta l'istruzione in essa specificare quale indirizzo fornisce questa istruzione.
Osserva: registro dove carico l'indirizzo di destinazione è di 5 bit → contiene l'indirizzo base a cui poi va sommato l'offset per accedere così la cella di memoria oggetto dell'istruzione.
Così facendo ottengo che ho:
- 6 bit codice operativo
- 5 bit registro
- 5 bit offset
- 5 bit registro per l'indirizzo
- 32 bit ← rispettando il vincolo
Nota: il bus dati è anche di 32 bit
Istruzioni di lettura e scrittura
(1) lw $A5, 0($2)
Registro dove vado a salvare il dato
Offset che applico all'indirizzo base
Ind. base
Istruzione di lettura da memoria
(2) sw $A5, 4($2)
Indirizzo dov'è contenuto il dato che voglio scrivere in memoria
Indirizzo di memoria dove vado a salvare il dato
Istruzione di scrittura in memoria
Esempio di programma: scambio di variabili
Temp = V[k]
V[k] = V[k+1]
V[k+1] = Temp
- lw $A5, 0($2)
- lw $A6, 4($2)
- sw $A5, 4($2)
- sw $A6, 0($2)
Lezione 3: 15/03/19
Unità di ingresso
Programmi e dati
Memoria
ALU
Unità di controllo
CPU
Unità di uscita
Risultati
Bus indirizzi
Si compone di un dato numero linee dove comparando le sequenze di 0 e 1 che attraversano un luogo d'origine ad ogni cella di memoria che la CPU può indirizzare.
Linee che interconnettono la CPU con la RAM, ROM, dispositivi periferici.
Nota problema
È la CPU che pilota il bus degli indirizzi. Utilizza un intervallo di tempo per trasferire l'informazione giusta.
Bisogna stare attenti che la somma delle massime capacità che possono essere assorbite dai dispositivi, le periferiche, sia minore rispetto a quella erogabile dalla CPU.
Se questa condizione è verificata allora non ho errore della trasmissione. Verificata con un costo maggiore.
Questo problema riguarda anche per bus controllo e dati
Bus dati
Una differenza sostanziale rispetto al bus indirizzi è che il bus dati può essere pilotato anche dai dispositivi, e non solo dalla CPU.
Affinché si abbia un corretto trasferimento dei flussi che la linea veniva pilotata da un solo dispositivo alla volta se no c'è un conflitto di tensione.
Il dispositivo che pilota sarà deciso in base alle informazioni ricevute indirizzo e le linee del bus controlli.
L'interlocutore è l'interlocutore dalla CPU attorno il bus indirizzi. A tale interlocutore giungeva anche una linea dei bus controlli.
Tutti i dispositivi che si affacciano sul bus dati vedono adesso uno stato di resta a tre stati.
Cioè ogni linea può trovarsi nello stato in cui pilota con il valore logico alto oppure col valore basso e inoltre può trovarsi nello stato di non interferenza.
Detto anche di alta impedenza (circuito aperto)
Bus controlli
Si tratta di tante linee
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
-
Appunti Calcolatori elettronici - prima parte
-
Appunti Calcolatori elettronici - parte seconda
-
Appunti del corso di Calcolatori elettronici
-
Appunti Calcolatori elettronici - seconda parte