Struttura di un elaboratore
Programmazione in hardware
Componenti logiche di base.
Programma scritto codificando le componenti logiche di base.
Pro:
- Permette di implementare un circuito con area minima.
- Estremamente veloce.
- Risparmio energetico.
Contro:
- Il programma non è modificabile (costi di implementazione).
- Approccio specifico (non generale).
Programmazione software
Logiche e aritmetiche.
Segnali di controllo indicano quali funzioni e in che ordine eseguire.
Pro:
- Il programma è modificabile.
- Bassi costi di implementazione.
- Universalità.
Contro:
- Minor efficienza di calcolo.
- Circuiti più estesi e contorti.
- Maggior consumo energetico.
Struttura di un elaboratore
- Codice univoco ad ogni sequenza di segnali.
- Competenze hardware aggiuntive per tradurre → codici in segnali.
- Esiste perciò un interprete: istruzione che determina un'operazione?
- Un programma è definito dalle sequenze di codici.
ALU Arithmetic and logic unit.
Unità di controllo.
Registri.
CPU (central processing unit) interpreta ed esegue le istruzioni software.
I/O Module Modulo per l'ingresso dei dati: l'uscita dei risultati.
Memoria salva e recupera i dati.
BUS → connette i vari condotti.
Divisa in locazioni.
Ogni locazione accessibile a un indirizzo.
I componenti del computer possono crescere.
Registri CPU permettono di immagazzinare dati dentro la CPU in cui occorre svolgere (dove?) il codice che può cambiare.
MAR memory address register (dove?)
MBR memory buffer register (cosa c'è?)
I/O AR I/O address register.
I/O BR I/O buffer register (cosa c'è?)
IR instruction register → copia locale delle istruzioni da eseguire.
PC program counter → mantiene l'indirizzo in memoria della prossima istruzione da eseguire.
Register file contiene i registri (X 4).
Tra cui due fonti da sommare.
Key select per selezionare i bit in ogni registro.
Chiavi select selezionano gli input dei registri R0-R3.
Struttura di un elaboratore
Programmazione in hardware
Componenti logiche di base (AND/OR/MULTIPLEXER/FLIP-FLOP...).
Pro:
- Permette di implementare un circuito con area minima.
- Elevata velocità.
- Risparmio energetico.
Contro:
- Il programma non è modificabile.
- Costi di implementazione.
- Approccio specifico (non generico).
Programmazione software
Segni logiche e aritmetiche.
Segnali di controllo: indicano quali funzioni e in che ordine eseguire.
Pro:
- Il programma è modificabile.
- Bassi costi di implementazione.
- Universalità.
Contro:
- Minor efficienza di calcolo.
- Circuiti più estesi e costosi.
- Maggiore consumo energetico.
Struttura di un elaboratore
ALU: Arithmetic and logic unit.
Unità di controllo.
Registri.
CPU (central processing unit): interpreta ed esegue le istruzioni software.
I/O Module: Modulo per l’ingresso dei dati e l’uscita dei risultati.
Memoria: salva uno o più input.
BUS: connette i vari comandi.
Registri CPU: permettono di immagazzinare dati dentro la CPU...
MAR: memory address register.
MBR: memory buffer register.
I/O AR: I/O address register.
I/O BR: I/O buffer register.
IR: instruction register.
PC: program counter.
ALU (arithmetic/logic unit)
Realizza microoperazioni aritmetiche e logiche.
Circuito aritmetico
Addizionatore parallelo con full-adder in cascata. Confrontando gli input dell'addizionatore è possibile ottenere diverse operazioni aritmetiche.
Circuito logico
Permette le operazioni di base AND/OR/XOR/NOT.
Selezione circuito aritmetico o logico.
Shifter
Utile per shiftare i dati di un bit.
Datapath
Datapath dove vanno i dati nell'elaboratore. As select 0 seleziona output input unit utilizzato. B select 0 seleziona operazioni che l'ALU deve effettuare da registrare (ex impiegato). MBM seleziona l'input unit passa direttamente. S seleziona l'output proviene dall'ALU o commute. RWS seleziona il registro dove salvare il risultato del controllo sopra al baseaddress.
Destination address: AA identifica indirizzo del registro dove si desidera il risultato.
BF-di stato della ALU.
Indicano cosa è successo in precedenza nella ALU.
Serve a decodificare l'istruzione (PC).
Memory write.
PC (program counter) LOADER.
Jump PLx JB.
Branch PL=0 JB=0.
Branch on zero.
Microoperazioni del
-
Sistemi informativi
-
Sistemi digitali 2/4 - Logica combinatoria logica sequenziale
-
Sistemi operativi
-
Sistemi digitali 1/4 - Funzioni logiche