Architettura Elaboratori
PROF: Cattuto
Logica di Boole
AND ha precedenza su OR
Leggi di DeMorgan
Una funzione booleana associa un valore boolean a ciascuna delle 2^n configurazioni A partire da una tabella di verita' o Binary Decision Diagrams:
- FND Formula Normale Disgiuntiva Quindi somme tra prodotti di lettere
- FNC Formula Normale Congiuntiva Quindi Produttoria tra sommatorie di lettere
Aritmetica Binaria
Numeri in basi diverse e conversioni
Binario
Modulo e segno
- Riserva il bit piu' significativo per il segno e rappresenta normalmente il numero binario come modulo sui bit rimanenti
- Anche qui abbiamo +0 e -0
Eccesso 2^n
Complemento a 1
Intervallo di rappresentazione: [-2^n+1,2^n-1] ha una doppia rappresentazione per lo 0: tutti 0 o tutti 1
- Positivi numero binario
- Negativi numero binario invertito
Complemento a 2
Intervallo di rappresentazione: [2^n,2^n-1] rispetto al C1 risolve la doppia rappresentazione per lo 0
- Positivi numero binario
- Negativi numero binario invertito + 1
Standard IEEE 754

Sviluppato nel 1985
~~~~~~~~~~~~~~~~~
Standard per la rappresentazione in float point/virgola mobile
Precisioni
- Singola 32bit
- Doppia 64bit
- Estesa 128bit
Esponente
- calcolato in eccesso 127
Mantissa
- valore
normalizzato
(1,… la parte intera e' sottointesa)
- valore
Ci sono dei valori speciali che indicano dei particolari stati
- Non Normalizzato 0 esponente, mantissa != 0
- 0 0 esponente, 0 mantissa
- Infinito 1111… esponente, 0 mantissa
- Not A Number 1111… esponente, mantissa != 0
Questo in quanto i reali allo la potenza dell'infinito
: avremo aree non rappresentabili di under e over flow e anche numeri non rappresentabili perche' tra due numeri rappresentabili, allora si effettura' una stima.
Segno | Esponente | Mantissa | (Precisione Singola) |
---|---|---|---|
1 | 8 | 23 | Numero di Bit |
Codifiche
-
Caratteri
- ASCII
- UNICODE
- UTF-8
-
Suoni e Immagini
Campionamento del segnale
- discretizzando colori nello spazio
- discretizzando suoni nel tempo
Livelli di Architettura di un Elaboratore
I livelli sono astrazioni che permettono lo sviluppo di software ad alto livello
- un
compilatore
puo' ottimizzare ma solo per una CPU e non agisce istruzione per istruzione in runtime - il passaggio da un livello all’altro e' possibile con l'
interpretazione
(instruzione per istruzione)NB
Java e' una soluzione mista:- Compilatore –> bytecode JVM –> Interprete specifico
I livelli sono:
0 - Logico digitale
- porte
- memorie
-
Circuiti Digitali
Elemento base:
Transistor
- 1 -> il transistor di comporta come una resistenza infinita
- 0 -> il transistor si comporta come un filo
2 transistor in serie implementano un NAND 2 transistor in parallelo implementano un NOR 1 implementa un invertitore 8 implementano uno XOR
- I
Circuiti Integrati
o chip (IC)- SSI small scale integrated
- MSI
- LSI
- VLSI
-
Dipendono da una
funzione
d’entrata- L’output dipende solo dall’input
-
Dipendono da una
funzione
d’entrata e da unostato
-
Registri
flip-flop dipo D temporizzati indirizzati attraverso decoder o bit di attivazione
- CS - Chip Select
- RD - Read
- OE - Output Enabled
Organizzati a indirizzi di n parole da m bit
le uscite degli indirizzi passano per un multiplexer che passa il dato voluto in uscita
Possiedono un controllo prima dell’uscita: registro con buffer (3 stati: 0,1, scollegato)
-
Memorie
Insieme di celle, ampiezza di parola 1B/4B/8B
Ordinamento:
- Litle endian
- Little End First, sx <– dx
- Bin endian
-
Big End First, sx –> dx
-
Static RAM
- veloci
- poca memoria
- flip-flop tipo d
-
Dynamic RAM
- lente
- grandi capacita'
- transistor con condensatori
-
ROM
- sola lettura
-
- Litle endian
-
Bus
linee di
- controllo
- evitano che i dispositivi accedano allo stesso momento al Bus
- dati
- indirizzi
La larghezza del bus dipende dall’architettura, in Mic-1 si tratta di Bus da 32 bit
Tipi di Bus
- Sistema
- Interni alla CPU
- SCSI esterni
La CPU comunica con la cache e la memoria in caso di Miss (vedi
Principio di Localita' del Codice
)I dispositivi possone essere:
- attivi | master
- passivi | slave
o entrambi (CPU): transceiver
Principi di progettazione:
- larghezza
- arbitraggio
- funzionamento
- multiplexed bus
- bus sincrono o asincrono
- Sincrono
- ogni operazione ha durata conosciuta
- interi di ciclo
- semplice realizzare uno slave
- la sua velocita' dipende dal dispositivo piu' lento
- ogni operazione ha durata conosciuta
- Asincrono
- la velocita' dipende esclusivamente dalla coppia master-slave
- ogni operazione ha la durata strettamente necessaria
- e' necessario implementare una full-handshake per la sincronizzazione di slave e master
- 4 segnali di controllo
- Sincrono
- controllo
1 - Microarchitettura
- ALU
- Microprogramma
-
composto da:
- Data Path
- Control Unit
2 - Instruction Set Architecture : ISA
- linguaggio macchina
- opcode
3 - Sistema Operativo
- linguaggio ISA
- Input/Output
- gestisce i processi
4 - Assembly
- Istruzioni simboliche