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.
vuoi
o PayPal
tutte le volte che vuoi
CALCOLATORI ELETTRONICI
Introduzione
Fin dai tempi più antichi l'uomo si è costruito macchine per rappresentare, comunicare e scambiare informazioni.Tali sistemi operano su insiemi discreti di simboli e per questo detti digitali.
Modello di riferimento
Possiamo schematizzare un calcolatore elettronico in vari blocchi.
MEMORIA PRINCIPALE
- Contiene dati
CPU: processore
- Processa i dati
Interfaccia I/O
- Acquisisce input e fornisce output
- Locali: tastiera, mouse
- di rete: permette di comunicare con altri calcolatori
L'architettura di Von Neumann è pensata ed è alla base della larga diffusione dei calcolatori elettronici
Ogni blocco della struttura è costruito da circuiti elettronici digitali.
All'interno tutte le informazioni sono codificate in binario. Lo strumento di interconnessione tra i vari blocchi è il bus, su cui si trasmettono valori binari.
La CPU provvede all'acquisizione dei dati tramite il bus esegue istruzioni (o una sequenza di esse -> programma) tramite ALU (unità aritmetico logica) e provvede all'invio del risultato in memoria.
NB. Anche le istruzioni sono memorizzate in memoria.
Il trasporto dell'informazione
I circuiti elettrici ed elettronici, che formano il livello fisico di una macchina digitale, si scambiano segnali ovvero grandezze fisiche variabili nel tempo.
L'attraversamento di un certo valore (0 o 1) costituisce uno zero segnale è dunque il modo in cui un circuito può ricevere e scambiare informazioni.
I segnali, indipendentemente dalla loro natura, possono essere di due tipi:
- Analoggici: impiegano tutti i possibili valori intermedi delle grandezze.
- Digitali: generalmente il campo di variabili è stato precedentemente diviso in un certo numero di 'tacche', Ciascuna di queste rappresenta un particolare significato.
Digirale
Usuale è l'impiego del segnale binario che offre la massima robustezza. Utilizzando un segnale analogico, infatti, si va contro ad una bassa precisione e corso dei possibili disturbi.
Codifica Binaria dell'Informazione
Cosa vuol dire codifica?
Per codifica si intende come viene rappresentata un'informazione all'interno di un calcolatore.
L'informazione, invece, rappresenta una scelta rispetto a opzioni alternative (es. porta aperta/chiusa). Aumentando il numero di opzioni si ha un maggiore contenuto informativo.
Es. La cosa dei venti ha più contenuto informativo rispetto allo stato di un interruttore (ON/OFF).
- Toni
- Immagini
- Linguaggio parlato
Inoltre, l'informazione è il significato associato a un dato che viene, così, codificato (criterio semantico).
Codici e Informazioni
Codice: insieme di parole C = {p1, p2, ..., pn}
Parole: sequenza di simboli ai, appartenenti ad un alfabeto
Alfabeto: insieme dei simboli A = {a1, a2, ..., ax}
L'informazione viene quindi codificata nelle parole di un codice.
Codifica dei Numeri e Aritmetica Binaria
Aritmetica Binaria
Essenzialmente si ha a che fare con il sistema numerico decimale, con 10 cifre.
Quando si definisce un numero: ogni posizione ha un peso che è una potenza di 10.
es. 6 6 6
- centinaia
- decine
- unità
Cifra più significativa → Cifra meno significativa
Per calcolare il valore si compone: 6*100 + 6*101 + 6*102 = 666
Nel caso binario si hanno le potenze di 2.
Rappresentazione in Base B
In base B: Ogni cifra è una del nome N → an-1...a1a0 ai ∈ {0, 1, ..., B-1}
Il valore sarà calcolato come:(N)B = (an-1Bn + ... + a0B0)
(N)B = an-1an-2...a0
Rappresentazione dei Primi 16 Numeri
In base 2 → 4 bit perché H=16 → 2n≥16 → nmin=4
Nel caso di base 16 → solo 1 cifra
Osserva: 4 bit → 1 cifra esadecimale8 bit → due cifre hex
Quindi, con n bit:
Posso rappresentare un numero Esponenziale di una base 2 (2n-1) e B
Esempio: Not 10810
Dimostrazione che:
- Not(B) = (2n-1) - B
- B = 10810 = 011011002
- È rappresentato con 8 bit, n = 8
- A = 2n-1 = 28-1 = 25510 = 111111112
- C = 2n-1 - B = 14710 = 100100112
- Calcoliamo che Not(B) = B = 011011002
- Not(B) = 100100112 = C
Quindi il NEGATIVO (COMPLEMENTO a 1) di un numero a n bit è 2n-1 - B
Complemento a 2 di un numero naturale N a n bit
Definizione:
- 2nN = 2n-N comp. a 2 di N
- Ma si può vedere che, se not(N) = (2n-1) - N
- -> 2nN = 2n-N = 2n-1 - N + 1 = not(N) + 1
Quindi per fare il COMPLEMENTO NON ho BISOGNO di fare una DIFFERENZA
Tabella della veritá dell' Half Adder:
2 ingressi -> 4 configurazioni
- A
- B
- S
- C
- 0 0 0 0
- 0 1 1 0
- 1 0 1 0
- 1 1 0 1
é un EX-OR
é un AND
Sintesi
Una rete combinatoria dal punto di vista dell’
algebra realizza una funzione di vari. Algebrica.
Data n val di ingresso binarie, realizza una o
+ funzioni dei vari variabili
Es. n=2 ho in uscita 4poss → 16 conf.
Una funzione di n variabili binarie si dice incompleta
(o non completamente specificata) se per elementi del
suo dominio sono minori di 2n
MULTIPLEXER
Esempio:
relativo a 2 vie
Ha 3 ingressi, e un'uscita
Permette di selezionare uno degli m ingressi (I0...Im-1) per presentarlo in uscita. La selezione è effettuata tramite m linee di comando (A[m-1...0]). Con m linee di ingresso il numero di commando deve essere deposto di comando:
m = log2n
Schema noto:
Si usa una forma note
Se A0 = 0 → U = I0
Se A1 = 1 → u = I1
A seconda del numero dei commando posso avere + ingressi.
Oppure calibra il numero dei bit: I0 e I1 sono sempre due ingressi ma a 32 bit
Uso dell'ALU: somma o sottrazione
X + Y + 1 se non metto il +1
X + (not(Y)) + 1 = X - Y
Ottengo quindi solo con 2 linee di comando:
- 4 semplici funzionalità perché ha 2 bit
- 22 cof. = 4 conf.
Realizzazione "FLAG" per l'ALU
ZERO FLAG
1 se Δ = 0
0 se Δ ≠ 0
Vogliamo creare una rete logica con ∨, ∧, &neg;
Per fare la sintesi ci possono essere infiniti modi
Usiamo 1, 10, 2 con n=2
ESE. A1, A0 OE
- 00 0
- 01 1
- 10 1
- 11 1
poi devo negarlo
Col 3 bit devo fare prima tre 2 e poi col il terzo
Bisogna che ci sia il vecchio 1 e l'or viene 1.
Quindi prendo il miei bit e li metto in OR, es. con 4 bit
Per le proprietà dell'algebra booleana
A0+A1+A2+A3 = &neg;A0∨&neg;A1∨&neg;A2∨&neg;A3
OR a 4 ingressi
PF → PARITY FLAG
Vale "1" se il bit più pario (corrisponde) del risultato vale 1
Parità dispari: il numero di 1 è dispari
Parità pari: il numero di 1 è pari