ARCHITETTURA VON NEUMANN
DI -
COMPONENTI UN COMPUTER
DI ( )
MEMORIA DATI PROGRAMMI
• E
( )
Pv
( CUTALU |
REGISTRI
+
• " " "
" "
"
Control
BUS LOGIC
DI
• COMUNICAZIONE UNIT UNIT
PERIFERICHE 1/0
• Accumulatori
OUTPUT
INPUT
CPU È
CPU
LA COMPOSTA DA :
(
ALU )
ESEGUE
• STATO
HA
CALCOLI NON INTERNO
,
( )
REGISTRI RISULTATI
MANIPOLANO DATI
INDIRIZZI
• ISTRUZIONI /
, ,
BUS DI PERIFERICHE
COMUNICAZIONE
◦ CON MEMORIA E
( )
( OPERAZIONI
u LE
COORDINA
• CPU
ISTRUZIONI DELLA
FASI ESECUZIONE
DI UNA
DI ISTRUZIONE
(
FETCH )
CARICAMENTO ISTRUZIONE
DELL'
• (
DECODIFICA )
DELL'
RICONOSCIMENTO ISTRUZIONE
• (
LOAD )
ARGOMENTI
EVENTUALI
DALLA DI
CARICAMENTO
• MEMORIA
ESECUZIONE DELL' ISTRUZIONE
• STORE ( )
MEMORIA
REGISTRO
SU
• SALVATAGGIO RISULTATO
DEL
O
AGGIORNAMENTO DEL PROGRAM COUNTER
•
TIPOLOGIE ISTRUZIONE
DI /
LOAD (
STORE )
DATI /
TRASFERIMENTO DA MEMORIA
LA
• VERSO
/ (
LOGICO )
ARITMETICHE SVOLGONO
• CALCOLI )
(
SALTI CONDIZIONATI FLUSSO LOGICO
° E CONTROLLANO
INCONDIZIONATI IL
GESTIONE /
DELLE ECCEZIONI
• INTERRUPT
TRASFERIMENTO DATI
•
CODIFICA DELLE ISTRUZIONI
LA CODIFICA DELLE INDICARE
DEVE
ISTRUZIONI :
L' )
( OPCODE
OPERAZIONE DA SVOLGERE
• ARGOMENTI NECESSARI
• DOVE METTERE RISULTATO
• IL
MODI (
DI INDIRIZZAMENTO )
ARGOMENTI
CODIFICA
IMPLICITO
o / FISSA
SORGENTE DESTINAZIONE OPCODE
O ACCESSI ALLA MEMORIA
IMMEDIATO
• COSTANTE
VALORE CODIFICATO ISTRUZIONE
NELL' STESSA
-
OPCODE OPERANDO
O ACCESSI ALLA MEMORIA
DIRETTO
• •
OPCODE ADDRESS M
E
1 MEMORIA
ACCESSO ALLA M
INDIRETTO
◦ A
OPCODE ADDRESS
2 ACCESSI ALLA MEMORIA
A REGISTRO
• R
OPCODE E
REG NUM
. . G
O ACCESSI ALLA MEMORIA
A REGISTRO INDIRETTO
• OPCODE REG NUM R
. . 1 |
E
1 ACCESSO ALLA MEMORIA .
( )
SPIAZZAMENTO
CON OFFSET
1 ACCESSO
SOLO ALLA MEMORIA
OPCODE REG OFFSET
-
- @s
ME
R E
G M
a
3 INTERPRETAZIONI : (
PROGRAM )
IND RELATIVO AL COUNTER PC
• . AL
RELATIVO BASE
REGISTRO
IND
• .
INDICIZZAZIONE
☒ VETTORE
DI UN
PROGRAM COUNTER
REGISTRO l'
CONSERVA
CHE Indirizzo DELLA PROSSIMA ISTRUZIONE
ARCHITETTURE CISC RISC
E
CISC RISC
COMPLEX SET REDUCED SET
INSTRUCTION COMPUTER COMPUTER
INSTRUCTION
ISTRUZIONI ISTRUZIONI
VARIABILE FISSA
DIMENSIONE
DI DI DIMENSIONE
( )
( ) FETCH SUCCESSIVI DECODIFICA
RICHIEDONO
FETCH DECODIFICA NON
RICHIEDONO
SUCCESSIVI
" " "
"
" " "
" ""
"" e °
ALU
MEMORIA OPERAZIONI
OPERANDI REGISTRI
TRA
IN
( (
) )
ACCESSO
ACCESSI In
NESSUN
IN
MOLTI memoria
MEMORIA
POCHI INTERNI
REGISTRI REGISTRI
MOLTI INTERNI ( )
MODI INDIRIZZAMENTO
DI
MODI SEMPLICI
COMPLESSI
DI INDIRIZZAMENTO OFFSET
PIPELINE
PIPELINE '
' VELOCE
PIU
PIU COMPLICATE
?⃝ ARCHITETTURA MIPS 2000 ( )
WORD MEMORIA
WORD SPAZIO
DA 32 BIT IN
• -
_ ( ( )
)
4GB
SPAZIO OFFSET
32
DA BIT
INDIRIZZAMENTO
DI
• INTERI COMPLEMENTO a 32
2
IN SU
• BIT
32 GENERALE
REGISTRI USO
DI
• 3 CPU
• ( PV ALU PROGRAMMA
E
• : t.li/L0
32 REGISTRI PER MOLTIPLICAZIONI DIVISIONI
t E MEMORIA
HA ACCESSO ALLA MEMORIA
COPROCESSORE CPU
• VIRTUAL
ECCEZIONI
0 TRAPS Memory
: COPROC 1
,
, ALU .
BADVADDR
EPC
CAUSE STATUS
,
, ,
COPROCESSORE CALCOLI MOBILE
VIRGOLA
1
• IN Conoce
: 16
32 DA 64
32
REGISTRI BIT
UTILIZZABILI
BIT
DA COME
HA ACCESSO MEMORIA
ALLA
CPU
32 REGISTRI
I DELLA
$ (
$ )
COSTANTE FP funzioni
FRAME Pointer
ZERO zero
$ $ RETURN
USATO RA ADDRESS
PSEUDO ISTRUZIONI
DA
AT $
$ V1
V0 RISULTATO FUNZIONI
DELLE
,
$ $ ARGOMENTI FUNZIONI
ao
i } DELLE
a
.
. . $
$ (
b-
to )
TEMPORANEI CHIAMANTE
SALVATI DA
7
. .
. (
$ $57 CHIAMATA
SALVATI DA
TEMPORANEI
SO . . .
$ /
1-8,5/1-9 TEMPORANEI SALVATI DA )
CHIAMANTE
$ $ / )
Ko ky KERNEL Eccezioni
Interruzioni ,
,
$ (
GLOBAL DINAMICA )
POINTER MEMORIA
gp
$ ( )
STACK STACK DELLE Funzioni
SP POINTER
FORMATO DELLE MIPS
ISTRUZIONI $
( $ tolti te
R )
REGISTRO
TYPE tipo a ADD
- ,
SENZA ACCESSO ALLA MEMORIA
/
ARITMETICO
ISTRUZIONI LOGICHE )
$
) ti to
(
1- TYPE tipo IMMEDIATO VETTORE
LW /
/
LOAD STORE
CONDIZIONATI
SALTI
( )
J ]
JUMP
TYPE TIPO DESTINAZIONE
- ( )
SALTI SALTO ASSOLUTO
CONDIZIONATI
NON
( $11
$10 $ fa
FR TYPE DIV D
)
REGISTRO
A
TIPO FLOAT
- ,
,
.
SENZA ACCESSO ALLA MEMORIA
FPU
ISTRUZIONI DELLA
(
FI $ LI
) LWCT
TYPE FLOAT
IMMEDIATO
TIPO Diritto
IN
- /
LOAD / STORE
SALTI CONDIZIONATI
ASSEMBLY MIPS
DIRETTIVE PRINCIPALI
DEFINIZIONE
DATA DATI STATICI
• PROGRAMMA
TEXT DEFINIZIONE DEL
◦ ASCIIZ STRINGA TERMINATA DA ZERO
• BYTE BYTE
SEQUENZA DI
. SEQUENZA DI
DOUBLE DOUBLE
• SEQUENZA FLOAT
DI
FLOAT
• HALF SEQUENZA HALF WORDS
DI
• SEQUENZA
WORD WORDS
DI
•
CODICI ISTRUZIONI
DELLE
ADD DIV
SUB
, , . . .
DEI REGISTRI
CODIFICA
Slao $ sette
, .
. . )
(
ETICHETTE PER RELATIVI
GLI
CALCOLARE INDIRIZZI
NOME :
L' ASSEMBLY
ASSEMBLATORE PROGRAMMA
DAL PROGRAMMA
CONVERTE AL
DEL
TESTO
INOLTRE GLI
IN CALCOLA DEI
DALLE INDIRIZZI
ETICHETTE
CODICE MACCHINA ,
.
( ) (
SALTI )
ASSOLUTI STRUTTURE
DELLE DATI
E OFFSET
MEMORIA
RELATIVI IN
E
LE REALIZZATE UTILIZZANDO
STRUTTURE SONO
DEL
DI CONTROLLO FLUSSO
SALTI E ETICHETTE
CONDIZIONATI
DI 4 OGGETTI
TROVARE MEMORIA
MASSIMO
IL IN
(
BGE )
CREATOR EQUALS
BRANCH
$ $01 CHECKC
V0 ≥
IF ELSE
SU PROSEGUI
SALTO
, ,
ASM STRUTTURE DI CONTROLLO
: " "
" attore ASSEMBLY
CODICE SORGENTE "
assemblato
"
" '
e
"
OGGETTO ESEGUIBILE
COMPILATORE ASSEMBLY
TRASFORMA CODICE SORGENTE
IL in
ISTRUZIONI ASM
◦ ISTRUZIONI REGISTRI
VARIABILI TEMPORANEE
• VARIABILI LOCALI GLOBALI
e ETICHETTE E
E DIRETTIVE
STRUTTURE DI CONTROLLO SALTI ETICHETTE
ED
<-
architettura degli elaboratori
-
Esercitazione Architettura degli elaboratori
-
Architettura degli elaboratori
-
Architettura degli elaboratori