Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
1
Lezione 3 Prof. Angela Bonifati
28/11/2018 Lezione 3 Prof. Angela Bonifati Complemento a 2 Algebra booleana Le infrastrutture hardware Introduzione ai sistemi informatici
2
Esercizi sulla codifica dei numeri
28/11/2018 Esercizi sulla codifica dei numeri Introduzione ai sistemi informatici
3
Eseguire le seguenti conversioni:
28/11/2018 Eseguire le seguenti conversioni: Da base 2 e 16 in base 10: 1102 = ????10 B7F16 = ????10 Da base 10 in base 2 e 16: 31310 = ????2 50610 = ????16 Da base 2 in base 8 e 16: = ????8 = ????16 Numeri Frazionari da base 2 in base 10 e viceversa: = ????10 = ????2 28/11/2018 Introduzione ai sistemi informatici Introduzione ai sistemi informatici
4
Approfondimento: il complemento a 2
28/11/2018 Approfondimento: il complemento a 2 Introduzione ai sistemi informatici
5
Numeri interi in complemento a 2
28/11/2018 Numeri interi in complemento a 2 Alfabeto binario anche il segno è rappresentato da 0 o 1 è indispensabile indicare il numero k di bit utilizzati Complemento a 2 X corrisponde al binario naturale di 2k + X +6dieci 24+6 = 22 [1]0110 0110C2 –6dieci 24– 6 = 10 [0]1010 1010C2 si rappresentano i valori da –2k–1 a 2k–1–1 con 4 bit i valori vanno da –8 a +7 con 8 bit i valori vanno da –128 a +127 Attenzione: c’è una sola rappresentazione dello 0 con 4 bit è +0dieci = 0000C2 mentre 1000C2 = –8dieci 28/11/2018 Introduzione ai sistemi informatici Introduzione ai sistemi informatici
6
Introduzione ai sistemi informatici
28/11/2018 Il complemento a 2 Metodi alternativi per calcolare la rappresentazione di –X a partire da quella di X Effettuare il complemento di ogni bit di X e aggiungere poi 1 rappresentazione di +6dieci = 0110C2 complemento di tutti i bit 1001C2 aggiungere 1 1010C2 (che corrisponde a -6dieci) Partendo da destra e andando verso sinistra, lasciare invariati tutti i bit fino al primo 1 compreso, complementare tutti gli altri bit. rappresentazione di +6dieci = 0110C2 (NB ci vogliono 4 bit!!) gli ultimi due bit (_._.1.0) rimangono invariati gli altri due bit vengono complementati ( C2) 28/11/2018 Introduzione ai sistemi informatici Introduzione ai sistemi informatici
7
Complemento a 2 – Alcune osservazioni
28/11/2018 Complemento a 2 – Alcune osservazioni i numeri positivi iniziano con 0, quelli negativi con 1 data la rappresentazione di un numero su k bit, la rappresentazione dello stesso numero su k+1 bit si ottiene aggiungendo (a sinistra) un bit uguale al primo (estensione del “segno”) Rappresentazione di –6 su 4 bit = 1010 Rappresentazione di –6 su 5 bit = 11010 Rappresentazione di –6 su 8 bit = la sottrazione si effettua come somma algebrica 4 – 6 = +4 + (–6) = = 1110 = –2 9 – 6 = +9 + (–6) = = [1]00011 = +3 28/11/2018 Introduzione ai sistemi informatici Introduzione ai sistemi informatici
8
Diverse codifiche/interpretazioni
28/11/2018 Diverse codifiche/interpretazioni Codice Nat MS C2 0000 1000 8 -0 -8 0001 1 1001 9 -1 -7 0010 2 1010 10 -2 -6 0011 3 1011 11 -3 -5 0100 4 1100 12 -4 0101 5 1101 13 0110 6 1110 14 0111 7 1111 15 28/11/2018 Introduzione ai sistemi informatici Introduzione ai sistemi informatici
9
Approfondimento: Operazioni Logiche (Booleane)
28/11/2018 Approfondimento: Operazioni Logiche (Booleane) Introduzione ai sistemi informatici
10
Introduzione ai sistemi informatici
28/11/2018 Algebra di Boole L’algebra di Boole (dal suo inventore G. Boole) serve a descrivere le operazioni logiche. Componenti dell’algebra di Boole: Operatori booleani Regole di trasformazione ed equivalenza tra operatori booleani Gli operandi booleani assumono solo due valori: Vero/Falso True/False 1/0 Sì/No … 28/11/2018 Introduzione ai sistemi informatici Introduzione ai sistemi informatici
11
Operatori e tavole di verità
28/11/2018 Operatori e tavole di verità A not A A B A and B A B A or B A B A xor B A B A B A B A nand B A B A nor B 28/11/2018 Introduzione ai sistemi informatici Introduzione ai sistemi informatici
12
Introduzione ai sistemi informatici
28/11/2018 Espressioni booleane Equivalenza Due espressioni booleane sono equivalenti se hanno la medesima tavola di verità Tautologia Un’espressione booleana è una tautologia se è sempre vera Esempio: A OR (NOT A) Contraddizione Un’espressione booleana è una contraddizione se è sempre falsa Esempio: A AND (NOT A) 28/11/2018 Introduzione ai sistemi informatici Introduzione ai sistemi informatici
13
Introduzione ai sistemi informatici
28/11/2018 Notazione Esistono convenzioni diverse: Negazione not A ¬ A A ! – A Congiunzione A and B A ۸ B A & B A × B Disgiunzione A or B A ۷ B A | B A + B Disgiunzione esclusiva A xor B A ^ B A B [ equivale a (A and (not B)) or ((not A) and B) ] Implicazione A B A B A B (se ... allora) Doppia implicazione A B A B A B (se e solo se) I 28/11/2018 Introduzione ai sistemi informatici 2 Introduzione ai sistemi informatici
14
Proprietà degli operatori booleani
28/11/2018 Proprietà degli operatori booleani Proprietà AND (×) OR (+) Identità A × 1 = A A + 0 = A Elemento nullo A × 0 = 0 A + 1 = 1 Idempotenza A × A = A A + A = A Inverso A × (–A) = 0 A + (–A) = 1 Commutativa A × B = B × A A + B = B + A Associativa A×(B×C) = (A×B)×C A+(B+C) = (A+B)+C Distributiva A×(B+C) = (A×B)+(A×C) A+(B×C) = (A+B)×(A+C) Assorbimento A × (A + B) = A A + (A × B) = A De Morgan –(A×B)=(–A)+(–B) –(A+B)=(–A)×(–B) 28/11/2018 Introduzione ai sistemi informatici Introduzione ai sistemi informatici
15
Introduzione ai sistemi informatici
28/11/2018 CODIFICA DI IMMAGINI Esistono numerose tecniche per la memorizzazione digitale e l'elaborazione di un'immagine Immagini = sequenze di bit! L’immagine viene digitalizzata cioè rappresentata con sequenze di pixel Ogni pixel ha associato un numero che descrive un particolare colore (o tonalità di grigio) Inoltre si mantengono la dimensione, la risoluzione (numero di punti per pollice), e il numero di colori utilizzati 28/11/2018 Introduzione ai sistemi informatici Introduzione ai sistemi informatici
16
Introduzione ai sistemi informatici
28/11/2018 CODIFICA DI IMMAGINI Consideriamo un'immagine in bianco e nero, senza ombreggiature o livelli di chiaroscuro Suddividiamo l’immagine mediante una griglia formata da righe orizzontali e verticali a distanza costante 28/11/2018 Introduzione ai sistemi informatici Introduzione ai sistemi informatici
17
Introduzione ai sistemi informatici
28/11/2018 CODIFICA DI IMMAGINI Ogni quadratino derivante da tale suddivisione prende il nome di pixel (picture element) e può essere codificato in binario secondo la seguente convenzione: il simbolo “0” viene utilizzato per la codifica di un pixel corrispondente ad un quadratino bianco (in cui il bianco è predominante) il simbolo “1” viene utilizzato per la codifica di un pixel corrispondente ad un quadratino nero (in cui il nero è predominante) 28/11/2018 Introduzione ai sistemi informatici Introduzione ai sistemi informatici
18
Introduzione ai sistemi informatici
28/11/2018 CODIFICA DI IMMAGINI Poiché una sequenza di bit è lineare, si deve definire una convenzione per ordinare i pixel della griglia Hp: assumiamo che i pixel siano ordinati dal basso verso l'alto e da sinistra verso destra 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 La rappresentazione della figura è data dalla stringa binaria 28/11/2018 Introduzione ai sistemi informatici Introduzione ai sistemi informatici
19
Introduzione ai sistemi informatici
28/11/2018 CODIFICA DI IMMAGINI Non sempre il contorno della figura coincide con le linee della griglia: nella codifica si ottiene un'approssimazione della figura originaria Se riconvertiamo la stringa in immagine otteniamo 28/11/2018 Introduzione ai sistemi informatici Introduzione ai sistemi informatici
20
Introduzione ai sistemi informatici
28/11/2018 CODIFICA DI IMMAGINI La rappresentazione sarà più fedele all'aumentare del numero di pixel ossia al diminuire delle dimensioni dei quadratini della griglia in cui è suddivisa l'immagine zz 28/11/2018 Introduzione ai sistemi informatici Introduzione ai sistemi informatici
21
CODIFICA DI IMMAGINI CON TONI DI GRIGIO
28/11/2018 CODIFICA DI IMMAGINI CON TONI DI GRIGIO Le immagini in bianco e nero hanno delle sfumature, o livelli di intensità di grigio Per codificare immagini con sfumature: si fissa un insieme di livelli (toni) di grigio, cui si assegna convenzionalmente una rappresentazione binaria per ogni pixel si stabilisce il livello medio di grigio e si memorizza la codifica corrispondente a tale livello Per memorizzare un pixel non è più sufficiente 1 bit. con 4 bit si possono rappresentare 24=16 livelli di grigio con 8 bit ne possiamo distinguere 28=256, con K bit ne possiamo distinguere 2K 28/11/2018 Introduzione ai sistemi informatici Introduzione ai sistemi informatici
22
CODIFICA DI IMMAGINI A COLORI
28/11/2018 CODIFICA DI IMMAGINI A COLORI Analogamente possono essere codificate le immagini a colori: bisogna definire un insieme di sfumature di colore differenti, codificate mediante una opportuna sequenza di bit La rappresentazione di un'immagine mediante la codifica dei pixel, viene chiamata codifica bitmap 28/11/2018 Introduzione ai sistemi informatici Introduzione ai sistemi informatici
23
CODIFICA DI IMMAGINI A COLORI
28/11/2018 CODIFICA DI IMMAGINI A COLORI Il numero di byte richiesti dipende dalla risoluzione e dal numero di colori che ogni pixel può assumere Es: per distinguere 256 colori sono necessari 8 bit per la codifica di ciascun pixel la codifica di un'immagine formata da 640480 pixel richiederà bit ( byte) I monitor tipici utilizzano risoluzione: 640480, 1024768, 12801024 numero di colori per pixel: da 256 fino a 16 milioni Tecniche di compressione consentono di ridurre notevolmente lo spazio occupato dalle immagini 28/11/2018 Introduzione ai sistemi informatici Introduzione ai sistemi informatici
24
Introduzione ai sistemi informatici
CODIFICA DI FILMATI Immagini in movimento sono memorizzate come sequenze di fotogrammi In genere si tratta di sequenze compresse di immagini ad esempio si possono registrare solo le variazioni tra un fotogramma e l’altro Esistono vari formati (comprendente il sonoro): mpeg (il piu’ usato) avi (microsoft) quicktime (apple) mov E’ possibile ritoccare i singoli fotogrammi 28/11/2018 Introduzione ai sistemi informatici
25
Introduzione ai sistemi informatici
CODIFICA DI SUONI L’onda sonora viene misurata (campionata) ad intervalli regolari Minore e l’intervallo di campionamento e maggiore e la qualità del suono CD musicali: campionamenti al secondo, 16 bit per campione. Alcuni formati: .mov, .wav, .mpeg, .avi .midi usato per l’elaborazione della musica al PC 28/11/2018 Introduzione ai sistemi informatici
26
Le infrastrutture hardware
28/11/2018 Le infrastrutture hardware Il processore La memoria centrale La memoria di massa Le periferiche di I/O Introduzione ai sistemi informatici
27
Funzionalità di un calcolatore
28/11/2018 Funzionalità di un calcolatore 28/11/2018 Introduzione ai sistemi informatici Introduzione ai sistemi informatici
28
Caratteristiche dell’architettura
28/11/2018 Caratteristiche dell’architettura Flessibilità adatta a svolgere diverse tipologie di compiti Modularità ogni componente ha una funzione specifica Scalabilità ogni componente può essere sostituito con uno equivalente Standardizzazione componenti facilmente sostituibili in caso di malfunzionamento Riduzione dei costi grazie alla produzione su larga scala Semplicità di installazione ed esercizio del sistema 28/11/2018 Introduzione ai sistemi informatici Introduzione ai sistemi informatici
29
Il calcolatore: modello concettuale
28/11/2018 Il calcolatore: modello concettuale 2. Memorizzazione 1. Elaborazione Interconnessione 3. Comunicazione (interfaccia) 28/11/2018 Introduzione ai sistemi informatici Introduzione ai sistemi informatici
30
Il calcolatore: modello architetturale
28/11/2018 Il calcolatore: modello architetturale 1. Elaborazione Interconnessione 2. Memorizzazione 3. Comunicazione (interfaccia) Memoria Elettronica Magnetica Collegamenti (BUS/Cavi) Unità Centrale di Elaborazione Periferiche 28/11/2018 Introduzione ai sistemi informatici Introduzione ai sistemi informatici
31
Lo schema di riferimento
28/11/2018 Lo schema di riferimento 28/11/2018 Introduzione ai sistemi informatici Introduzione ai sistemi informatici
32
Caratteristiche del collegamento a BUS
28/11/2018 Caratteristiche del collegamento a BUS Semplicità un’unica linea di connessione costi ridotti di produzione Estendibilità aggiunta di nuovi dispositivi molto semplice Standardizzabilità regole per la comunicazione da parte di dispositivi diversi Lentezza utilizzo in mutua esclusione del bus Limitatà capacità al crescere del numero di dispositivi collegati Sovraccarico del processore (CPU) perchè funge da master sul controllo del bus 28/11/2018 Introduzione ai sistemi informatici Introduzione ai sistemi informatici
33
Unità centrale di elaborazione CPU
28/11/2018 Unità centrale di elaborazione CPU Introduzione ai sistemi informatici
34
Organizzazione tipica di un calcolatore “bus oriented”
28/11/2018 Organizzazione tipica di un calcolatore “bus oriented” Unità di controllo Unità aritmetico logica (ALU) Registri CPU Terminale Unità disco Stampante Dispositivi di I/O CPU Memoria centrale Bus 28/11/2018 Introduzione ai sistemi informatici Introduzione ai sistemi informatici
35
Tre tipologie di istruzioni
28/11/2018 Tre tipologie di istruzioni Istruzioni aritmetico-logiche (Elaborazione dati) Somma, Sottrazione, Divisione, … And, Or, Xor, … Maggiore, Minore, Uguale, Minore o uguale, … Controllo del flusso delle istruzioni Sequenza Selezione semplice, a due vie, a n vie, … Ciclo a condizione iniziale, ciclo a condizione finale, … Trasferimento di informazione Trasferimento dati e istruzioni tra CPU e memoria Trasferimento dati e istruzioni tra CPU e dispositivi di ingresso/uscita (attraverso le relative interfacce) 28/11/2018 Introduzione ai sistemi informatici Introduzione ai sistemi informatici
36
Introduzione ai sistemi informatici
28/11/2018 Elementi di una CPU Unità di controllo legge le istruzioni dalla memoria e ne determina il tipo. Unità aritmetico–logica esegue le operazioni necessarie per eseguire le istruzioni. Registri memoria ad alta velocità usata per risultati temporanei e informazioni di controllo; il valore massimo memorizzabile in un registro è determinato dalle dimensioni del registro; esistono registri di uso generico e registri specifici: Program Counter (PC) – qual è l’istruzione successiva; Instruction Register (IR) – istruzione in corso d’esecuzione; … 28/11/2018 Introduzione ai sistemi informatici Introduzione ai sistemi informatici
37
Struttura del “data path”
28/11/2018 Struttura del “data path” Registri di ingresso dell’ALU Bus di ingresso all’ALU Registro di uscita dell’ALU A L U A + B A B A B Registri A + B 28/11/2018 Introduzione ai sistemi informatici Introduzione ai sistemi informatici
38
Introduzione ai sistemi informatici
28/11/2018 La struttura della CPU 28/11/2018 Introduzione ai sistemi informatici Introduzione ai sistemi informatici
39
Esecuzione delle istruzioni
28/11/2018 Esecuzione delle istruzioni Ciclo Fetch–Decode–Execute (leggi–decodifica–esegui) Prendi l’istruzione corrente dalla memoria e mettila nel registro istruzioni (IR). Incrementa il program counter (PC) in modo che contenga l’indirizzo dell’istruzione successiva. Determina il tipo dell’istruzione corrente (decodifica). Se l’istruzione usa una parola in memoria, determina dove si trova. Carica la parola, se necessario, in un registro della CPU. Esegui l’istruzione. Torna al punto 1 e inizia a eseguire l’istruzione successiva. 28/11/2018 Introduzione ai sistemi informatici Introduzione ai sistemi informatici
40
Ciclo Fetch–Decode–Execute
28/11/2018 Ciclo Fetch–Decode–Execute Fetch Decode Execute 28/11/2018 Introduzione ai sistemi informatici Introduzione ai sistemi informatici
41
Introduzione ai sistemi informatici
28/11/2018 CPU In grado di eseguire solo istruzioni codificate in linguaggio macchina Ciclo Fetch – Decode - Execute Prendi l’istruzione corrente dalla memoria e mettila nel registro istruzioni (IR) (fetch) Incrementa il Program Counter (PC) in modo che contenga l’indirizzo dell’istruzione successiva Determina il tipo di istruzione da eseguire (decode) Se l’istruzione necessita di un dato in memoria determina dove si trova e caricalo in un registro della CPU Esegui l’istruzione (execute) Torna al punto 1 e opera sull’istruzione successiva 28/11/2018 Introduzione ai sistemi informatici Introduzione ai sistemi informatici
42
Dimensione registri / bus dati
28/11/2018 Evoluzione delle CPU CPU Anno Frequenza (MHz) Dimensione registri / bus dati Numero di transistor 8086 1978 4.77 — 12 8 / 16 29 000 80286 1982 8 — 16 16 / 16 80386 1986 16 — 33 32 / 32 80386 SX 1988 32 / 16 80486 1989 33 — 50 Pentium 1993 60 — 200 32 / 64 Pentium II 1997 233 — 400 Pentium III 1999 450 — 1133 Pentium 4 2000 1600 — 2000 42 000 000 28/11/2018 Introduzione ai sistemi informatici Introduzione ai sistemi informatici
43
il numero dei transistor per cm2 raddoppia ogni X mesi
28/11/2018 Legge di Moore Osservazione fatta da Gordon Moore nel 1965: il numero dei transistor per cm2 raddoppia ogni X mesi In origine X era 12. Correzioni successive hanno portato a fissare X=18. Questo vuol dire che c’è un incremento di circa il 60% all’anno. 28/11/2018 Introduzione ai sistemi informatici Introduzione ai sistemi informatici
44
# Transistor [CPU Intel]
28/11/2018 # Transistor [CPU Intel] 28/11/2018 Introduzione ai sistemi informatici Introduzione ai sistemi informatici
45
Legge di Moore e progresso
28/11/2018 Legge di Moore e progresso Il progresso della tecnologia provoca un aumento del numero di transistor per cm2 e quindi per chip. Un maggior numero di transistor per chip permette di produrre prodotti migliori (sia in termini di prestazioni che di funzionalità) a prezzi ridotti. I prezzi bassi stimolano la nascita di nuove applicazioni (e.g. non si fanno video game per computer da milioni di $). Nuove applicazioni aprono nuovi mercati e fanno nascere nuove aziende. L’esistenza di tante aziende fa crescere la competitività che, a sua volta, stimola il progresso della tecnologia e lo sviluppo di nuove tecnologie. 28/11/2018 Introduzione ai sistemi informatici Introduzione ai sistemi informatici
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.