Architettura Von Neumann
Componenti di un computer
Di ( ) memoria dati programmi • e ( ) Pv ( CUT ALU | registri + • " " "" "" Control BUS LOGIC di • comunicazione UNIT UNIT periferiche 1/0 • Accumulatori OUTPUT INPUT.
CPU
CPU è composta da:
- (ALU) esegue calcoli.
- Stato ha non interno, ( ) registri risultati manipolano dati indirizzi.
- Istruzioni /, , bus di periferiche comunicazione ◦ con memoria e ( ) ( operazioni u le coordina • CPU istruzioni della.
Fasi di esecuzione di una istruzione
- (Fetch) caricamento dell'istruzione.
- (Decodifica) riconoscimento dell'istruzione.
- (Load) caricamento dalla memoria di eventuali argomenti.
- Esecuzione dell'istruzione.
- Store ( ) memoria registro su • salvataggio risultato del o aggiornamento del program counter.
Tipologie di istruzioni
- 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 istruzioni deve indicare:
- L' )( opcode operazione da svolgere.
- Argomenti necessari.
- Dove mettere il risultato.
Modi di indirizzamento argomenti
- Codifica implicito o / fissa sorgente destinazione opcode o accessi alla memoria.
- Immediato • costante valore codificato nell'istruzione stessa - opcode operando o accessi alla memoria.
- Diretto • • opcode address ME1 memoria accesso alla M.
- Indiretto ◦ a opcode address 2 accessi alla memoria.
- A registro • R opcode EREG num. . GO accessi alla memoria.
- A registro indiretto • opcode REG num R. . 1 |E1 accesso alla memoria.
- (Spiazzamento) con offset 1 accesso solo alla memoria opcode REG offset -- @sMER EG Ma.
Interpretazioni
3 interpretazioni:
- (Program) ind relativo al counter PC • . al.
- Relativo base registro ind • .
- Indicizzazione ☒ vettore di un.
Program counter
Program counter registro l' conserva che indirizzo della prossima istruzione.
Architetture CISC RISC
CISC RISC complex set reduced set instruction computer computer instruction.
Confronto CISC e RISC
Istruzioni istruzioni variabile fissa dimensione 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 più più complicate?
Architettura MIPS 2000
- ⃝ Architettura MIPS 2000.
- ( ) Word memoria word spazio da 32 bit in • -_ ( ( )) 4GB spazio offset 32 da bit indirizzamento di.
- Interi complemento a 2 in su 32 • bit.
- 32 generale registri uso di.
- 3 CPU.
- (PV ALU programma e • : t.li/L032 registri per moltiplicazioni divisioni t e memoria ha accesso alla memoria).
- Coprocessore CPU • virtuale 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.
Registri della 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 aoi } 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 istruzioni MIPS
- Formato delle MIPS istruzioni $( $ tolti teR ) 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 sequenza di byte.
- . Sequenza di double double.
- Sequenza di float di float.
- Half sequenza half words di.
- Sequenza word words di.
Codici delle istruzioni
ADD DIV SUB, , . . . dei registri codifica Slao $ sette, .. . )( etichette per relativi gli calcolare indirizzi nome:
Assemblatore
L'assembly assemblatore programma dal programma converte al del testo in oltre gli in calcola dai indirizzi delle etichette codice macchina ,.( ) (salti ) assoluti strutture delle dati e offset memoria relativi in.
Strutture di controllo
Le strutture realizzate 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
ASM strutture di controllo: " "" attore assembly codice sorgente "assemblato"" 'e" oggetto eseguibile compilatore assembly trasforma il codice sorgente in istruzioni ASM ◦ istruzioni registri variabili temporanee • variabili locali globali e etichette e direttive strutture di controllo salti ed etichette.
-
architettura degli elaboratori
-
Architettura degli elaboratori
-
Esercitazione Architettura degli elaboratori
-
Esercitazioni Architettura degli Elaboratori