La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Lezione 3 Prof. Angela Bonifati

Presentazioni simili


Presentazione sul tema: "Lezione 3 Prof. Angela Bonifati"— Transcript della presentazione:

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 640480 pixel richiederà bit ( byte) I monitor tipici utilizzano risoluzione: 640480, 1024768, 12801024 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


Scaricare ppt "Lezione 3 Prof. Angela Bonifati"

Presentazioni simili


Annunci Google