APPUNTI delle LEZIONI di
A.C.S.O.
Architettura dei Calcolatori e Sistemi Operativi
MODULO 1
Cristina Silvano ∙ Mattia Balla
Appunti di Niccolò Matulli e Bruno Angelo Peri
INDICE
Assembly RISC-V............................................................................................................................................................. 5
Memoria...............................................................................................................................................................................................................5
Istruzioni..............................................................................................................................................................................................................7
Istruzioni aritmetico-logiche........................................................................................................................................................ 9
ADD immediata.......................................................................................................................................................................... 10
MUL (interi)..................................................................................................................................................................................... 10
DIV (interi).........................................................................................................................................................................................11
REM....................................................................................................................................................................................................... 11
Scorrimento (shift)...................................................................................................................................................................... 11
Istruzioni di confronto.............................................................................................................................................................. 11
Pseudo-istruzioni........................................................................................................................................................................12
Istruzioni di trasferimento da/verso memoria.................................................................................................................12
ld (load double)............................................................................................................................................................................ 12
sd (store double)..........................................................................................................................................................................12
.eqv (define).................................................................................................................................................................................... 13
Pseudo-istruzioni di trasferimento.................................................................................................................................13
li (load Immediate)............................................................................................................................................................ 13
la (load address)..................................................................................................................................................................14
Istruzioni di salto..................................................................................................................................................................................16
Istruzioni di salto condizionato......................................................................................................................................... 17
Istruzioni di salto incondizionato.....................................................................................................................................17
Pseudo-istruzioni..............................................................................................................................................................20
Formato delle istruzioni (Linguaggio Macchina)...................................................................................................................21
Tipo R..........................................................................................................................................................................................................22
Tipo I............................................................................................................................................................................................................23
Tipo S.......................................................................................................................................................................................................... 24
Tipo B (branch).................................................................................................................................................................................... 24
Tipo J...........................................................................................................................................................................................................26
Gestione di costanti su 32-bit.................................................................................................................................................... 26
Tipo U.................................................................................................................................................................................................28
Sommario delle istruzioni............................................................................................................................................................ 28
Processo di traduzione da linguaggio C.....................................................................................................................................29
Struttura del programma..................................................................................................................................................................... 30
Allineamento in memoria delle variabili............................................................................................................................ 32
Esempi di traduzione...................................................................................................................................................................... 36
1. IF - costrutto condizionale a due vie (THEN-ELSE).........................................................................................36
2. WHILE – ciclo a condizione iniziale.......................................................................................................................... 36
3. DO-WHILE – ciclo a condizione finale.................................................................................................................... 37
4. FOR – ciclo a conteggio................................................................................................................................................... 37
Funzioni e Stack.......................................................................................................................................................................................... 37
Pila (Stack)............................................................................................................................................................................................... 41
Gestione pila: PUSH..................................................................................................................................................................41
Gestione pila: POP....................................................................................................................................................................42
Chiamata a funzione.......................................................................................................................................................................44
Linker..................................................................................................................................................................................................................46
Tipi di simboli....................................................................................................................................................................................... 49
Simboli Interni.............................................................................................................................................................................49
Simboli Esterni............................................................................................................................................................................ 49
Processo di assemblaggio...........................................................................................................................................................50
Processo di linking............................................................................................................................................................................ 56
1. Gestione della memoria................................................................................................................................................... 56
2. Creazione tabella globale................................................................................................................................................56
3. Correzione dei riferimenti nei moduli.................................................................................................................... 57
Reti Logiche................................................................................................................................................................... 60
Proprietà dell’algebra di commutazione................................................................................................................................... 62
Traduzione Funzione - Grafico...........................................................................................................................................................63
Semplificazione di una funzione..................................................................................................................................................... 64
Insiemi di operatori funzionalmente completi......................................................................................................................64
Generalizzazioni porte a n ingressi.................................................................................................................................................65
Reti combinatorie...................................................................................................................................................................................... 66
Da circuito a funzione logica..................................................................................................................................................... 66
Da circuito a tabella di verità......................................................................................................................................................66
Da tabella a circuito (e a formula)...........................................................................................................................................67
Sintesi 1ª forma canonica (SoP)....................................................................................................................................... 68
Sintesi 2ª forma canonica (PoS).......................................................................................................................................69
I circuiti sequenziali.................................................................................................................................................................................. 70
Bistabile SR asincrono....................................................................................................................................................................70
Segnale di clock (o sincronizzazione)...................................................................................................................................74
Bistabile SR sincrono.......................................................................................................................................................................74
Bistabile D sincrono..........................................................................................................................................................................75
Flip-Flop D Master-Slave............................................................................................................................................................... 76
Flip-Flop SR Master-Slave.............................................................................................................................................................77
Sommario sui Bistabili........................................................................................................................................................... 78
Blocchi Funzionali Combinatori.......................................................................................................................................................79
Blocchi di Base.................................................................................................................................................................................... 79
Blocchi Aritmetici (Sommatori)............................................................................................................................................... 79
ALU.............................................................................................................................................................................................................. 79
Architettura dell'ALU............................................................................................................................................................... 79
Struttura interna di un blocco di ALU a 1-bit..........................................................................................................80
Come si realizzano le diverse operazioni?................................................................................................................80
I Segnali di Stato Globali dell'ALU................................................................................................................................... 81
Register File....................................................................................................................................................................................................82
Processore RISC-V........................................................................................................................................................83
Fase 1 (Fetch)................................................................................................................................................................................................. 83
Fase 2 (Decode)...........................................................................................................................................................................................84
Fase 3 (ALU)....................................................................................................................................................................................................86
Fase 4 (RegWrite).......................................................................................................................................................................................86
Istruzioni R..............................................................................................................................................................................................87
Istruzioni aritmetico-logiche con immediato o load/store?......................................................................................... 87
Istruzioni I............................................................................................................................................................................................... 88
Load............................................................................................................................................................................................................ 89
Istruzioni S.............................................................................................................................................................................................. 90
Architettura del processore RISC-V................................................................................................................................................92
Istruzioni B..............................................................................................................................................................................................92
Il controllore della ALU...................................................................................................................................................................94
Codici operativi e segnali di controllo......................................................................................................................... 94
Tempo di esecuzione delle istruzioni...................................................................................................................................95
Pipelining.........................................................................................................................................................................................................96
Problema dei conflitti................................................................................................................................................................... 108
Conflitto di dati (Data Hazard)........................................................................................................................................108
Livello Software................................................................................................................................................................ 109
Inserimento delle nop.........................................................................................................................................109
Scheduling...........................
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.