Post on 16-Feb-2019
Architettura dei Calcolatori Elettronici
Ettore STELLAOrario delle Lezioni: Venerdì 10,30-13,30
0805929426stella@ba.issia.cnr.it
http://www.ba.cnr.it/~iesies06
Testi di Riferimento:Testi di Riferimento:
“Introduzione all’architettura dei calcolatori”V.Carl Hamacher, Zvonko g. Vranesic, Sawfat g. ZakyMcGraw-Hill
Informatica (Calcolatori Elettronici)
Struttura del ComputerStruttura del Computer
Cinque componenti funzionalmente indipendenti
Unità di Input
Unità di OutputMemoria
Unità Logico-Aritmetica (ALU)
Unità di Controllo
I/O CPU o Processore
Struttura del ComputerStruttura del Computer
Cinque componenti funzionalmente indipendenti
Unità di Input
Unità di OutputMemoria
Unità Logico-Aritmetica (ALU)
Unità di Controllo
I/O CPU o Processore
Struttura del ComputerStruttura del Computer
Cinque componenti funzionalmente indipendenti
Unità di Input
Unità di OutputMemoria
Unità Logico-Aritmetica (ALU)
Unità di Controllo
I/O CPU o Processore
Struttura del ComputerStruttura del Computer
Cinque componenti funzionalmente indipendenti
Unità di Input
Unità di OutputMemoria
Unità Logico-Aritmetica (ALU)
Unità di Controllo
I/O CPU o Processore
RAM
HD
Floppy
CD
Struttura del ComputerStruttura del Computer
Cinque componenti funzionalmente indipendenti
Unità di Input
Unità di OutputMemoria
Unità Logico-Aritmetica (ALU)
Unità di Controllo
I/O CPU o Processore
Pentium IV Athlon 7
ITANIUM 2
Connessione tra componentiConnessione tra componenti
CPU
RAM
Dischi
Monitor
StampanteTastiera
Mouse
Connessione tra componenti (cont.)Connessione tra componenti (cont.)
CPU
RAMDischiMonitor
StampanteTastiera Mouse
BUS
= Interfacce o Controller
Connessione tra componenti (cont.)Connessione tra componenti (cont.)
CPU
RAMDischiMonitor
StampanteTastiera Mouse
BUS
Struttura del ComputerStruttura del Computer
Unità di Input
Unità di OutputMemoria
Unità Logico-Aritmetica (ALU)
Unità di Controllo
I/O CPU o Processore
L’Unità di Input accetta informazioni codificate dall’Operatore
Tale informazione può essere memorizzata o elaborata dall’ALU
La sequenza di passi necessaria ad elaborare l’informazione Viene determinata da un programma residente in memoria
I risultati sono presentati all’esterno tramite le unità di Output
Tutte queste operazioni sono coordinate dall’unità di controllo
Prestazioni di un Computer (cont.)Prestazioni di un Computer (cont.)
Clock
Circuito che genera un segnale da utilizzare comeRiferimento di tempo (ciclo)
Unità di misura è cicli/secondo o HERTZ
1 Milione di Hertz 1 MegaHertz (Mhz)1 Miliardo di Hertz 1 GigaHertz (Ghz)
Computer Attuali: clock a 3 Ghz
Istruzioni e DatiIstruzioni e Dati
Istruzioni ( o istruzioni macchina)
Sono comandi che:
Governano il trasferimento di Informazioni siaall’interno del computer sia tra computer edispositivi di I/O
Specificano le operazioni Aritmetico-Logicheda effettuare
Un’insieme di istruzioni che svolgono un determinato compitoè un PROGRAMMA
Istruzioni e Dati (cont.)Istruzioni e Dati (cont.)
Il programma è contenuto in Memoria.
Il Processore preleva le istruzioni dalla memoria, unaalla volta, e compie le operazioni specificate
Il computer è completamente controllato dal programmaMemorizzato tranne quando si presenta una interruzione(Interrupt) dall’operatore o dai dispositivi di I/O
Istruzioni e Dati (cont.)Istruzioni e Dati (cont.)
I DATI sono numeri o caratteri codificati (estesa)
Ogni numero, carattere o istruzione è codificata con unaUna stringa di cifre binarie dette BIT (BInary digiT) Ognuno dei quali può assumere il valore 0 oppure 1
0 = 0000 0*23+ 0*22+ 0*21+ 0*20
1 = 0001 0*23+ 0*22+ 0*21+ 1*20
2 = 0010 0*23+ 0*22+ 1*21+ 0*20
6 = 0110 0*23+ 1*22+ 1*21+ 0*20
In alcuni casi si utilizza il formato codificato BCD (Binary-CodedDecimal) dove ogni cifra decimale è codificata con 4 bit
1=0001 2= 0010 3=0011 32 = 00110010 321=001100100001
Istruzioni e Dati (cont.)Istruzioni e Dati (cont.)
I Caratteri alfanumerici sono espressi in termini di Codici Binari
ASCII (American Standard Code for Information Interchange)
7 bit A = 1000001B = 1000010a = 11000011 = 01100010 = 0110000
EBCDIC (Extended Binary-Coded Decimal Interchange Code)
8 bit A = 11000001 B = 11000010 a = 10000001 1 = 11110001 0 = 11110000
Struttura del ComputerStruttura del Computer
Unità di Input
Unità di OutputMemoria
Unità Logico-Aritmetica (ALU)
Unità di Controllo
I/O CPU o Processore
MEMORIAMEMORIA
Primaria (o Principale) e Secondaria
La Memoria Principale è una memoria veloce che opera ad unavelocità determinata dai tempi di reazione dei componenti Elettronici. Risiedono i programmi che sono eseguiti
La MP è suddivisa in celle (semiconduttori) ciascuna capace di contenere un bit. L’accesso avviene per gruppidi celle di dimensione fissa (word). Essa è organizzatain modo che i contenuti di una word (n bit) sono prelevatio memorizzati con una singola operazione primitiva
Ad ogni word è associato un indirizzo
MEMORIA (cont.)MEMORIA (cont.)
Il numero di bit che costituisce una word è detto lunghezzadella word (8=Byte,16, 32, 64).
Il tempo necessario per prelevare o memorizzare una wordè detto tempo di accesso alla memoria. La sequenza di passiCiclo di lettura o scrittura.
Random-Access Memory (RAM) il tempo [10-100] ns
Le Memorie Secondarie sono più lente e servono a memorizzareGrosse quantità di dati (dischi, nastri, CD, ecc.)
Memoria PrincipaleMemoria Principale
Composta di Celle di 1 BIT
Accesso a gruppi di n BIT (word)
Ogni Operazione elementare legge o scrive 1 word
n = Lunghezza della word ([16-64]) n=32
Ogni word ha associato un indirizzo che è un numero binario a k BIT
k bit 2k numeri nell’intervallo 0 – (2k –1)
2k = Spazio di indirizzamento
Es: k=24 S.I. = 224 word 16 Mword k=32 S.I. = 232 word 4 Gword
Memoria Principale (cont.)Memoria Principale (cont.)
0123n-1n
• • • • • • •
n bit
0
1
2
i
2k-1
Word 0
Word 1
Word 2
Word i
Word 2k-1
Ogni word può contenere numeri, caratteri o istruzioni
Unità Aritmetico-Logica (ALU)Unità Aritmetico-Logica (ALU)
E’ la componente che esegue le operazioni
Somma di due Numeri:
Op1(Mem) ALUOp2(Mem) ALUALU esegue SommaALU Ris (Mem)
Registri Elementi di memorizzazione veloce (5 o 10 volte RAM)Hanno lunghezza di una word
Unità di ControlloUnità di Controllo
Coordina tutte le operazioni all’interno della macchinaMediante segnali di temporizzazione
Tali segnali determinano l’istante in cui una data operazioneDeve avvenire.
Op1(Mem) ALUOp2(Mem) ALUALU esegue SommaALU Ris (Mem)
Somma di due Numeri:
I1: Load Op1,R1I2: Load Op2,R0I3: Add R1,R0I4: Store R0,Ris
Concetti Operativi di BaseConcetti Operativi di Base
MEMORIA
Unità dicontrollo ALU
R0 R1 Rn-1
MDR
MAR
PC
IR
I1: Load Op1,R1I2: Load Op2,R0I3: Add R1,R0I4: Store R0,Ris
MDR = Memory Data RegisterMAR = Memory Address RegisterPC = Program CounterIR = Instruction Register
…..
CPU
Concetti Operativi di BaseConcetti Operativi di Base
MEMORIA
Unità dicontrollo ALU
R0 R1 Rn-1
MDR
MAR
PC
IR
I1: Load Op1,R1I2: Load Op2,R0I3: Add R1,R0I4: Store R0,Ris
MDR = Memory Data RegisterMAR = Memory Address RegisterPC = Program CounterIR = Instruction Register
…..
CPU
Concetti Operativi di BaseConcetti Operativi di Base
MEMORIA
Unità dicontrollo ALU
R0 R1 Rn-1
MDR
MAR
PC
IR
I1: Load Op1,R1I2: Load Op2,R0I3: Add R1,R0I4: Store R0,Ris
MDR = Memory Data RegisterMAR = Memory Address RegisterPC = Program CounterIR = Instruction Register
…..
CPU
Concetti Operativi di BaseConcetti Operativi di Base
MEMORIA
Unità dicontrollo ALU
R0 R1 Rn-1
MDR
MAR
PC
IR
I1: Load Op1,R1I2: Load Op2,R0I3: Add R1,R0I4: Store R0,Ris
MDR = Memory Data RegisterMAR = Memory Address RegisterPC = Program CounterIR = Instruction Register
…..
CPU
Concetti Operativi di BaseConcetti Operativi di Base
MEMORIA
Unità dicontrollo ALU
R0 R1 Rn-1
MDR
MAR
PC
IR
I1: Load Op1,R1I2: Load Op2,R0I3: Add R1,R0I4: Store R0,Ris
MDR = Memory Data RegisterMAR = Memory Address RegisterPC = Program CounterIR = Instruction Register
…..
CPU
Concetti Operativi di BaseConcetti Operativi di Base
MEMORIA
Unità dicontrollo ALU
R0 R1 Rn-1
MDR
MAR
PC
IR
I1: Load Op1,R1I2: Load Op2,R0I3: Add R1,R0I4: Store R0,Ris
MDR = Memory Data RegisterMAR = Memory Address RegisterPC = Program CounterIR = Instruction Register
…..
CPU
Concetti Operativi di BaseConcetti Operativi di Base
MEMORIA
Unità dicontrollo ALU
R0 R1 Rn-1
MDR
MAR
PC
IR
I1: Load Op1,R1I2: Load Op2,R0I3: Add R1,R0I4: Store R0,Ris
MDR = Memory Data RegisterMAR = Memory Address RegisterPC = Program CounterIR = Instruction Register
…..
CPU
Concetti Operativi di BaseConcetti Operativi di Base
MEMORIA
Unità dicontrollo ALU
R0 R1 Rn-1
MDR
MAR
PC
IR
I1: Load Op1,R1I2: Load Op2,R0I3: Add R1,R0I4: Store R0,Ris
MDR = Memory Data RegisterMAR = Memory Address RegisterPC = Program CounterIR = Instruction Register
…..
CPU
Concetti Operativi di BaseConcetti Operativi di Base
MEMORIA
Unità dicontrollo ALU
R0 R1 Rn-1
MDR
MAR
PC
IR
I1: Load Op1,R1I2: Load Op2,R0I3: Add R1,R0I4: Store R0,Ris
MDR = Memory Data RegisterMAR = Memory Address RegisterPC = Program CounterIR = Instruction Register
…..
CPU
Concetti Operativi di BaseConcetti Operativi di Base
MEMORIA
Unità dicontrollo ALU
R0 Rn-1
MDR
MAR
PC
IR
I1: Load Op1,R1I2: Load Op2,R0I3: Add R1,R0I4: Store R0,Ris
MDR = Memory Data RegisterMAR = Memory Address RegisterPC = Program CounterIR = Instruction Register
…..
CPU
R1
Concetti Operativi di BaseConcetti Operativi di Base
MEMORIA
Unità dicontrollo ALU
R0 R1 Rn-1
MDR
MAR
PC
IR
I1: Load Op1,R1I2: Load Op2,R0I3: Add R1,R0I4: Store R0,Ris
MDR = Memory Data RegisterMAR = Memory Address RegisterPC = Program CounterIR = Instruction Register
…..
CPU
Concetti Operativi di BaseConcetti Operativi di Base
I1: Load Op1,R1I2: Load Op2,R0I3: Add R1,R0I4: Store R0,Ris
I1 PCPC MARUC (Read: Load Op1,R1) MDRMDR IROp1 MARUC (Read: 2) MDRMDR R1
I2 PCPC MARUC (Read: Load Op2,R0) MDRMDR IROp2 MARUC (Read: 5) MDRMDR R1
Op1 = 2Op2 = 5
Concetti Operativi di BaseConcetti Operativi di Base
I1: Load Op1,R1I2: Load Op2,R0I3: Add R1,R0I4: Store R0,Ris
I1 PCPC MARUC (Read: Load Op1,R1) MDRMDR IROp1 MARUC (Read: 2) MDRMDR R1
I2 PCPC MARUC (Read: Load Op2,R0) MDRMDR IROp2 MARUC (Read: 5) MDRMDR R0
Op1 = 2Op2 = 5
Concetti Operativi di BaseConcetti Operativi di Base
I1: Load Op1,R1I2: Load Op2,R0I3: Add R1,R0I4: Store R0,Ris
I3 PCPC MARUC (Read: Add R1,R0) MDRMDR IRUC (ALU:R1+R0) R0
I4 PCPC MARUC (Read: Store R0,Ris) MDRMDR IRRis MARUC (Store: 7) MDRMDR Ris
Op1 = 2Op2 = 5
Concetti Operativi di BaseConcetti Operativi di Base
I1: Load Op1,R1I2: Load Op2,R0I3: Add R1,R0I4: Store R0,Ris
I3 PCPC MARUC (Read: Add R1,R0) MDRMDR IRUC (ALU:R1+R0) R0
I4 PCPC MARUC (Read: Store R0,Ris) MDRMDR IRRis MARUC (Store: 7) MDRMDR Ris
Op1 = 2Op2 = 5
Sistema OperativoSistema Operativo
Software di sistema per coordinare tutte le attività come:
Interpretare i comandi utente
Immettere ed editare programmi applicativi eMemorizzarli su disco
Gestire l’accesso alla memoria secondaria
Tradurre programmi da linguaggio sorgenteIn linguaggio macchina
Eseguire programmi standard
Sistema Operativo (cont.)Sistema Operativo (cont.)
t0 t1 t2 t3 t4 t5
Programma
Sistema Operativo
Disco
Stampante
Prestazioni di un ComputerPrestazioni di un Computer
MEMORIA
Unità dicontrollo ALU
R0 R1 Rn-1
MDR
MAR
PC
IR
I1: Load Op1,R1I2: Load Op2,R0I3: Add R1,R0I4: Store R0,Ris
MDR = Memory Data RegisterMAR = Memory Address RegisterPC = Program CounterIR = Instruction Register
…..
CPU
Prestazioni di un ComputerPrestazioni di un Computer
MEMORIA
Unità dicontrollo ALU
R0 R1 Rn-1
MDR
MAR
PC
IR
I1: Load Op1,R1I2: Load Op2,R0I3: Add R1,R0I4: Store R0,Ris
MDR = Memory Data RegisterMAR = Memory Address RegisterPC = Program CounterIR = Instruction Register
…..
CPU
Prestazioni di un ComputerPrestazioni di un Computer
MEMORIA
Unità dicontrollo ALU
R0 R1 Rn-1
MDR
MAR
PC
IR
I1: Load Op1,R1I2: Load Op2,R0I3: Add R1,R0I4: Store R0,Ris
MDR = Memory Data RegisterMAR = Memory Address RegisterPC = Program CounterIR = Instruction Register
…..
CPU
Prestazioni di un ComputerPrestazioni di un Computer
MEMORIA
Unità dicontrollo ALU
R0 R1 Rn-1
MDR
MAR
PC
IR
I1: Load Op1,R1I2: Load Op2,R0I3: Add R1,R0I4: Store R0,Ris
MDR = Memory Data RegisterMAR = Memory Address RegisterPC = Program CounterIR = Instruction Register
…..
CPU
Prestazioni di un ComputerPrestazioni di un Computer
MEMORIA
Unità dicontrollo ALU
R0 R1 Rn-1
MDR
MAR
PC
IR
I1: Load Op1,R1I2: Load Op2,R0I3: Add R1,R0I4: Store R0,Ris
MDR = Memory Data RegisterMAR = Memory Address RegisterPC = Program CounterIR = Instruction Register
…..
CPU
Prestazioni di un ComputerPrestazioni di un Computer
MEMORIA
Unità dicontrollo ALU
R0 R1 Rn-1
MDR
MAR
PC
IR
I1: Load Op1,R1I2: Load Op2,R0I3: Add R1,R0I4: Store R0,Ris
MDR = Memory Data RegisterMAR = Memory Address RegisterPC = Program CounterIR = Instruction Register
…..
CPU
Prestazioni di un Computer (cont.)Prestazioni di un Computer (cont.)
RAM Processore
ALUUC
REGIR
PC
MARMDR
BUS
I1: Read Op1,FileI2: Read Op2,FileI3: Load Op1,R1I4: Load Op2,R0I5: Add R1,R0I6: Store R0,RisI7: Print RisI8: Jump I1
Prestazioni di un Computer (cont.)Prestazioni di un Computer (cont.)
RAM Processore
ALUUC
REGIR
PC
MARMDR
BUS
I1: Read Op1,FileI2: Read Op2,FileI3: Load Op1,R1I4: Load Op2,R0I5: Add R1,R0I6: Store R0,RisI7: Print RisI8: Jump I1
I1: Read Op1,FileI2: Read Op2,FileI3: Load Op1,R1I4: Load Op2,R0I5: Add R1,R0I6: Store R0,RisI7: Print RisI8: Jump I1
Memoria Cache
Prestazioni di un Computer (cont.)Prestazioni di un Computer (cont.)
T = Tempo di esecuzione di un programma N = Numero di Istruzioni macchina eseguite
S = Numero medio di passi per istruzioneR = Frequenza del clock
R
S) (N T
Prestazioni di un Computer (cont.)Prestazioni di un Computer (cont.)
R
S) (N T
N dipende:Complessità delle Istruzioni
S dipende:Numero delle Istruzioni della macchinaPipelining Add R1,R2,R3
N tende a crescere in macchine con istruzioni semplici
Prestazioni di un Computer (cont.)Prestazioni di un Computer (cont.)
Soluzione:Macchina con un set di istruzionicomplesse e con Pipeling
Il Pipeling si realizza efficientemente con insiemi di Istruzioni semplici
CISC = Complex Instruction Set Computer (Intel Pentium)
RISC = Reduced Instruction Set Computer (PowerPC, Alpha)
EPIC = Explicit Parallel Instruction Computer (Itanium Family)