vuoi
o PayPal
tutte le volte che vuoi
ARCHITETTURA DEGLI ELABORATORI
INFORMAZIONI RAPPRESENTATE IN FORMA BINARIA (0, 1)
I SIMBOLI SONO BIT 8 BIT FORMANO 1 BYTE 4 BIT FORMANO UN NIBBLE
2 TIPI DI RAPPRESENTAZIONE NUMERICA
ADDITIVA: CIFRE HANNO UN VALORE PREDETERMINATO ES NUMERI ROMANI: I, V, X, L, C, D, M
LXXVI = 50 + 10 + 10 + 5 + 1
POSIZIONALE: CIFRE HANNO UN VALORE CHE DIPENDE DALLA POSIZIONE
424 = 4 CENTINAIA, 2 DECINE, 4 UNITÀ
IN BASE B LE CIFRE SONO {0, 1, ..., B-1}
RAPPRESENTAZIONE IN BASE B
34710 = 3 · 102 + 4 · 101 + 7 · 100 = 1234 → 1 · 42 + 2 · 41 + 3 · 40
CONVERSIONE DA BASE B A BASE 10
11112 = 1 · 23 + 1 · 22 + 1 · 21 + 1 · 20 = 15
A216 = A · 161 + 2 · 160 → 10 · 16 + 2 · 16 = 162
CONVERSIONE DA BASE 10 A BASE B
148210 → &:8=272,4B 1482 ÷ 8: 186 R 4 186 ÷ 8: 23 R 2 23 ÷ 8: 2 R 7 2 ÷ 8: 0 R 2
ESADICIMALE
MOLTO UTILIZZATO IN ALTERNATIVA IN BINARIO RAPPORTA 16=24 QUINDI SU 4 BIT C'È UNA CIFRA ESADECIMALE
INTERVALLO DI RAPPRESENTAZIONI:
CON K CIFRE IN BASE B POSSIAMO RAPPRESENTARE BK NUMERI DA 0 A BK-1
8 CIFRE IN BASE 2 → 28:1 → 0,255 → [0,255]
Addizione:
Sommo le singole cifre degli addendi partendo da destra verso sinistra e tenendo conto dei riporti (carry). Si genera un riporto quando la somma delle cifre supera la base. Se il risultato è troppo grande per essere rappresentato si ottiene overflow.
- kilo 210
- mega 220
- giga 230
- tera 240
- peta 250
- exa 260
Modulo e segno
Bit più significativo indica il segno
+ 0 − 1
Gli altri bit rappresentano il numero in valore assoluto
Es: N=8
000 0001 → +1 100 0001 → −1Lim di rappresentazione:
- [−2N−1+1 , +2N−1−1]
Con 8 bit:
- [−27+1 , +27−1] = [−127, +127]
Complemento a 1
Dato un numero X, il numero di segno opposto si ottiene cambiando gli 0 in 1 e i 1 in 0. Il bit più significativo indica il segno.
Lim di rappresentazione:
- [−2N−1+1 , +2N−1−1]
Es: +33 → 011 → -33 → 100
Complemento a 2
Numero positivi hanno il bit più significativo a 0, quelli negativi a 1
Lim di rappresentazione:
- [−2N , +2N−1−1]
Da intero a complemento a 2
N (numero di operandi) è il numero da rappresentare:
- Se X ≥ 0 allora coincido con la rappresentazione di X come n natural number
- Se X < 0 coincide con la rappresentazione di 2N + X come numero naturale
Es: N=4 → −22−21−20 = -14 → 1110
−82 = −[8]10 = 1000
STANDARD ASCII
128 caratteri... bastano 7 bit
ASCII ESTESO
Si utilizzano 8 bit (si passa da 128 a 256)
UNICODE
- Introduce distinzione fra insieme di caratteri e codifica
- Ogni carattere ha un nome e un numero che lo identifica
- Il codice è un numero a 16 bit (esadecimale)
CODIFICA
La codifica indica come viene rappresentato l’identificatore del numero:
UTF8 usa:
- 1 byte per i caratteri
- 2 byte per alcuni caratteri
- 4 byte per i caratteri aggiuntivi
ALGEBRA BOOLEANA
B = {0,1} → Convenzione: 0 = false / 1 = true
Operazioni: AND, OR, NOT
AND: AND (X,Y) vale 1 solo se entrambi gli elementi sono 1, sennò 0
OR: OR (X,Y) vale 0 se entrambi gli argomenti sono 0, sennò 1
NOT: NOT (X) vale 1 se l’argomento è 0, sennò 1
- AND (X,Y) → Z: = X·Y → Z := XY → prodotto logico
- OR (X,Y) ⇒ Z := X + Y → somma logica
- NOT (X) → Z := X → negazione o complemento
Regole di precedenza
In assenza di parentesi:
NOT > AND > OR
Circuito di Scrittura
Il circuito di scrittura nel register file accetta:
- 32 bit che è il dato da scrivere
- Un register number di 5 bit che identifica il registro in cui scrivere il dato
- Un bit di controllo chiamato regWrite che permette la scrittura solo se vale 1
Il decoder riceve in ingresso il RN a 25 (pote addomi al registro) e invia 1 al registro espresso da AB e 0 agli altri 12 segnali di controllo.
In ingresso ai 32 dati di di ogni registro c'è il prodotto tra output del decoder e il bit di RWx cost. Verde solo posso leggere o numapo del RN permettendo la scrittura su quei registro
Circuito di Lettura
Il circuito di lettura del register file riceve in input:
- I resitini
- Un register number che identifica il registro da cui leggere
Il RN è il segnale di controllo per il mutiplexine in parallelo (32 uno per ogni bit dei dato)
Arithmetic Logic Unit (ALU)
La ALU è il circuito della CPU che esegue le operazioni aritmetico-logiche. Essa è composta da 32 celle in cascata chè celle da 1 a 30 sono identiche tra loro.
BRANCH: Vale 1 solo quando si sta effettuando una branch (salto) in un' anno con il bit di zero ed equivale come per Jumps; se questo vale 1 il valore del pc diventa PC= (ALU4+offset) se vale 0 il pc varrà PC + 4
RegWr: Reg Write abilita l'accesso al register file (rf) in scrittura quando vale 1 (LW, tipo R)
MemtoReg: Stabilisce cosa scrivere nei registri. Il dato prelevato della memoria se vale 1. Il risultato se vale 0
ES1: Il registro R1 contiene l'indirizzo di memoria in cui si trova il valore A. Se scrivo un blocco di codice assembly che sovrascriva ad A il valore di RA:
Lw R4 R1 0 Add R4 R4 R4 Sw R4 R1 0ALU Approfondita:
ALU ➔ 32 celle in cascata non tutte utilizzate LA LESSMA OK: I <31
Ogni cella calcola tutto ma isoliamo il risultato specificato da (K1, K0) viene selezionato dal MUX