








































































Studia grazie alle numerose risorse presenti su Docsity
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Prepara i tuoi esami
Studia grazie alle numerose risorse presenti su Docsity
Prepara i tuoi esami con i documenti condivisi da studenti come te su Docsity
Trova i documenti specifici per gli esami della tua università
Preparati con lezioni e prove svolte basate sui programmi universitari!
Rispondi a reali domande d’esame e scopri la tua preparazione
Riassumi i tuoi documenti, fagli domande, convertili in quiz e mappe concettuali
Studia con prove svolte, tesine e consigli utili
Togliti ogni dubbio leggendo le risposte alle domande fatte da altri studenti come te
Esplora i documenti più scaricati per gli argomenti di studio più popolari
Ottieni i punti per scaricare
Guadagna punti aiutando altri studenti oppure acquistali con un piano Premium
Sistemi di numerazione: basi, conversioni, binario, esadecimale, byte. Interi: modulo e segno, complemento a 1 e 2, overflow. Aritmetica: addizione, sottrazione, moltiplicazione, divisione. Floating‑point: IEEE 754, bias, normalizzazione, NaN, infiniti. ASCII. Logica digitale: porte, algebra di Boole, Karnaugh, reti combinatorie e sequenziali, MUX/DEC. CPU: registri, bus, ciclo istruzione, ALU, cache.
Tipologia: Appunti
1 / 80
Questa pagina non è visibile nell’anteprima
Non perderti parti importanti!









































































n sei c definisce il numero di cifre diverse nel sistema di numerazione se B>10 occorre introdurre B-10 simboli in aggiunta alle cifre decimali Un numero intero N si rappresenta con cn è la cifra più significativa, c0 la meno significativa Un numero frazionario N’ si rappresenta come Con n cifre in base B si rappresentano tutti i numeri interi positivi da 0 a B - (B numeri distinti) Esempio: base 10 Esempio: base 2 La base 2 è la più piccola per un sistema di numerazione Forma polinomia
a decimale a^ binario a (^) binario a (^) decimale
a (^) binario a^ esadecimale Si divide ripetutamente il numero intero decimale per 2 fino ad ottenere un quoziente nullo; le cifre del numero binario sono i resti delle divisioni; la cifra più significativa è l’ultimo resto
Addizione binaria Il complemento a 2 si calcola… Effettuando il complemento a 1 del numero di partenza (negazione di ogni cifra): si trasforma ogni 0 in 1 e ogni 1 in 0 Aggiungendo 1 al numero ottenuto Oppure: a partire da destra, lasciando invariate tutte le cifre fino al primo 1 compreso, quindi invertendo il valore delle rimanenti
sottrazione binaria Quando il risultato non si trova nell’insieme dei numeri rappresentabili si dice che si è verificato un overflow aritmetico Se entrambi gli addendi hanno lo stesso segno si verifica un overflow quando il segno della somma non è concorde con il segno dei numeri Un calcolatore deve essere sempre in grado di rilevare un overflow Di solito si usa come indicatore un flag ed è anche possibile che tale flag possa generare un interrupt quando un’istruzione di somma o di sottrazione genera un overflow Oltre ai bit CF (Carry Flag) e ZF (Zero Flag) vengono prodotti due ulteriori bit noti come OF (Overflow Flag) e SF (Sign Flag) regole per la sottrazione di due bit La sottrazione può divenire complicata: quando si ha una richiesta (di un prestito) sulla cifra precedente a sinistra, che è uno 0, l’operazione si propaga a sinistra fino alla prima cifra ad 1 del sottraendo Per sottrarre due numeri bisogna costruire il complemento a 2 del numero da sottrarre e poi effettuare la somma Il risultato sarà il valore algebrico corretto, già rappresentato in complemento a 2, sempre che sia compreso nell’intervallo di rappresentazione dei numeri La somma di numeri con segno diverso non può provocare un overflow perché il valore assoluto della somma è sempre minore al valore di uno dei due addendi Si può verificare overflow quando si sommano due numeri che hanno lo stesso segno; il segnale di riporto in uscita non è sufficiente per indicare l’overflow di una somma di numeri con segno La somma di numeri con segno diverso non può provocare un overflow perché il valore assoluto della somma è sempre minore al valore di uno dei due addendi Si può verificare overflow quando si sommano due numeri che hanno lo stesso segno; il segnale di riporto in uscita non è sufficiente per indicare l’overflow di una somma di numeri con segno
overflow Rappresentazione grafica dei numeri relativi si ha quando il risultato di un’operazione non è rappresentabile correttamente con n bit
rappresentazione dei numeri^ reali rappresentazione in (^) virgolafissa appresentazione in virgola mobile La posizione della virgola è stabilita a priori, indipendentemente del valore del numero memorizzato e mantenuta costante nel corso dei calcoli Lo svolgimento delle operazioni deve essere conforme ai vincoli imposti dalla posizione assunta Qualora questa sia assunta a destra del LSB, è preclusa la possibilità di rappresentare i numeri frazionari (aritmetica intera); qualora questa sia assunta tra MSB e LSB, si parla di aritmetica frazionaria Un numero può essere pensato come intero con associato un fattore di normalizzazione che definisce la posizione della virgola; tale fattore non viene memorizzato insieme al numero singola precisione —> una sola parola di memoria doppia precisione —>due parole contigue di memoria È stata introdotta per superare le rigidità di formato imposte dalla rappresentazione in virgola fissa e per rappresentare un ampio intervallo di valori con un numero relativamente piccolo di bit I numeri si esprimono in formato simile alla notazione scientifica Una ulteriore classificazione può essere fatta in base al numero di locazioni di memoria assegnato per rappresentare l’insieme dei numeri considerati Quando si considera la rappresentazione dei numeri reali all’interno dei sistemi di elaborazione è necessario definire le modalità con cui vengono memorizzati Esistono due formati:
Poiché tutti i numeri rappresentati hanno la stessa base, per identificare ciascun numero è sufficiente memorizzare la mantissa e l’esponente Ogni numero è rappresentabile dalla coppia (m, e)
99 99 (^99) μ 99 appresentazione in (^) virgola mobile polarizzata Le ultime 23 cifre rappresentano la mantissa e siccome si considerano numeri binari normalizzati, la prima cifra della mantissa è sempre uguale a 1 Questo bit non viene rappresentato esplicitamente, ma si immagina che si trovi nella posizione alla sinistra della virgola binaria L’insieme dei numeri reali si può suddividere in 7 zone:
I valori limite di E', cioè 0 e 255, sono utilizzati per indicare i valori in virgola mobile che corrispondono rispettivamente a 0 e a infinito E' è compreso tra 0 e 255 (0 < E' < 255) e questo vuol dire che l’esponente effettivo E è compreso tra –126 e 127 (-126 £ E £ 127) Se ci si riferisce alla rappresentazione polarizzata può succedere che con il procedere dei calcoli sia generato un numero che esce fuori dal campo dei valori rappresentabili Questo vuol dire che richiede un esponente minore di –126 o maggiore di +127; nel primo caso si dice che si è generato un underflow, mentre nel secondo si dice che si è generato overflow In entrambi i casi si tratta di una eccezione aritmetica e la procedura di servizio delle interruzioni provvederà ad eseguire le azioni specificate dall’utente o dalle convenzioni del sistema Metodo per il calcolo dell’addizione
YAN standard IEEE^754 odifica del^ carattere^ alfabetici Il fatto che la parte intera della mantissa sia sempre considerata pari ad 1 impedisce di rappresentare il valore zero in modo esatto e, pertanto, lo standard stabilisce che quando l’esponente di un numero floating point è 0, il bit iniziale della mantissa si pone pari a 0 ed in questo modo si rappresenta esattamente lo zero Un altro speciale tipo di formato è il NaN (Not a Number) che viene utilizzato per segnalare condizioni di errore dovute ad operazioni non permesse (overflow, underflow, divisione per zero, radicando negativo, etc) I NaN sono rappresentati da un esponente le cui cifre sono tutte pari ad 1, a meno che il campo frazionario non sia 0, perché in questo caso il numero rappresenta il valore infinitoI NaN sono rappresentati da un esponente le cui cifre sono tutte pari ad 1, a meno che il campo frazionario non sia 0, perché in questo caso il numero rappresenta il valore infinito
aritmetica (^) degli elaboratori Quando si scambiano dati, deve essere noto il tipo di codifica utilizzato Lo standard di codifica più diffuso è il codice ASCII (American Standard Code for Information Interchange), nato a 7 bit ed esteso successivamente a 8 Stabilisce una corrispondenza biunivoca fra stringhe binarie e l’insieme dei caratteri generalmente formato dalle 26 lettere maiuscole, da quelle minuscole, dalle 10 cifre decimali, dai segni di interpunzione e da alcuni caratteri di controllo (spazio, ritorno carrello, fine riga, nuova pagina, beep, ecc.) I caratteri codificati permettono lo scambio di informazioni tra calcolatore e terminali (video, tastiera, stampanti, …) La codifica deve prevedere le lettere dell’alfabeto, le cifre numeriche, i simboli, la punteggiatura, i caratteri speciali per certe lingue (ae, ã, ë, è,…)
- descrizione funzionale (comportamentale): comportamento del sistema in termini **di ingressi ed uscite
**- permette di risalire a cosa fa il sistema data la sua struttura
**- permette di formalizzare una possibile struttura a partire dal suo comportamento
I sistemi binari sono quei sistemi digitali in cui i segnali sono limitati a due valori di regime Un sistema digitale è un circuito costituito da componenti elementari e dai collegamenti che li interconnettono I componenti elementari possono essere di due tipi: porte o elementi di memoria Risolvere un problema di analisi di un sistema digitale consiste nell'individuare le relazioni di causa/effetto tra i segnali di ingresso e uscita attraverso l'esame di una rappresentazione schematica dei suoi componenti elementari e dei collegamenti Risolvere un problema di sintesi consiste nella selezione dei circuiti digitali e delle interconnessioni necessarie per realizzare un nuovo e più complesso circuito digitale di cui è assegnata la specifica funzionale
**- riproducibilità del risultato
Si definisce l’operatore di negazione (NOT): l’operatore inverte il valore della costante su cui opera La negazione di una variabile x è Per gli operatori AND e OR valgono le seguenti proprietà: commutativa associativa distributiva del prodotto rispetto alla somma Per l’operatore NOT si provano le seguenti identità:
**- I circuiti elettronici digitali sono costituiti da transistor
di tempo dipendono solo dai valori assunti dagli ingressi nel medesimo istante e non dai valori precedenti (rete priva di memoria)
valori precedenti degli ingressi (reti con memoria) I sistemi digitali si possono costruire con pochi elementi primitivi combinandoli in innumerevoli modi In un circuito digitale ci sono solo due valori logici e sono presenti piccoli dispositivi elettronici, chiamati porte, che possono calcolare alcune funzioni di questi segnali a due valori Le porte formano la base hardware su cui vengono costruiti i circuiti digitali Tutta la logica digitale si basa sul fatto che si può far funzionare un transistor come un interruttore binario molto veloce Gran parte dell’importanza dell’algebra di Boole deriva dal fatto che essa trova applicazione nella teoria dei circuiti elettrici, in quanto è possibile realizzare dei dispositivi fisici abbastanza semplici che funzionano secondo le sue regole Tali dispositivi, che si chiamano porte logiche o gate, sono la forma elettronica degli operatori dell’algebra di Boole Rricevono in ingresso segnali elettrici digitali (tensioni alte o basse) e forniscono in uscita il valore di tensione associato al risultato dell’operazione; l’uscita dipende dal valore degli ingressi Sono circuiti digitali di base nei quali viene individuata una uscita (Y) ed uno o più ingressi (x1,..,xn)
da porte logiche collegate tra loro