Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...

Full Transcript

Elementi di Informatica e Programmazione - Dispensa II - LA CODIFICA DELL’INFORMAZIONE E L’ARCHITETTURA DEL CALCOLATORE Alessandro Saetti (email: [email protected]) Università degli St...

Elementi di Informatica e Programmazione - Dispensa II - LA CODIFICA DELL’INFORMAZIONE E L’ARCHITETTURA DEL CALCOLATORE Alessandro Saetti (email: [email protected]) Università degli Studi di Brescia A.A. 2023/2024 Docente: A. Saetti Elementi di Informatica e Programmazione – Università di Brescia A.A. 2023/2024 1 Codice Attività di interpretazione Configurazioni di Entità di simboli Attività di informazione codifica Insieme di regole che: Ø stabiliscono associazioni fra configurazioni e entità di informazione Ø specificano come i simboli devono essere combinati Il calcolatore distingue tra solamente 2 simboli Docente: A. Saetti Elementi di Informatica e Programmazione – Università di Brescia A.A. 2023/2024 2 Grandezze di misura Una sequenza di 8 bit si chiama byte Si considerano suoi multipli Nome Simbolo Grandezza Valore Nome Simbolo Grandezza Valore Kilobyte kB 103 1000 Kibibyte kiB 210 1024 Megabyte MB 106 milione Mebibyte MiB (210)2 ∽milione Gigabyte GB 109 miliardo Gibibyte GiB (210)3 ∽miliardo Terabyte TB 1012 bilione Tebibyte TiB (210)4 ∽bilione Petabyte PB 1015 biliardo Petbibyte PiB (210)5 ∽biliardo Exabyte EB 1018 trilione Exbibyte EiB (210)6 ∽trilione Zettabyte ZB 1021 triliardo Zebibyte ZiB (210)7 ∽triliardo Yottabyte YB 1024 quadrilione Yobibyte YiB (210)8 ∽quadrilione Docente: A. Saetti Elementi di Informatica e Programmazione – Università di Brescia A.A. 2023/2024 3 Codifica di Dati Non Numerici ASCII (American Standard Code for Information Interchange): Prevede successioni di 7 bit ed include anche la codifica di caratteri speciali (CANC, ESC, INVIO, ecc.) Latin-1: Estensione di ASCII basato su successioni di 8 bit con i quali è possibile rappresentare lettere accentate UNICODE: Basato su successioni di 16 bit che contiene simboli di altri alfabeti, altri simboli (matematici, valute, ecc.) e simboli utili per la scrittura in lingue orientali Docente: A. Saetti Elementi di Informatica e Programmazione – Università di Brescia A.A. 2023/2024 4 Codifica di Dati Non Numerici Codice ASCII Docente: A. Saetti Elementi di Informatica e Programmazione – Università di Brescia A.A. 2023/2024 5 Codifica di Numeri Naturali Il significato della cifra dipende dalla posizione in cui si trova all’interno della successione di cifre ²Esempio: 4243 = 4x103 + 2x102 + 4x101 + 3x100 1101due = 1dieci x 23dieci + 1dieci x 22dieci + 0dieci x 21dieci + 1dieci x 20dieci = 8dieci + 4dieci + 0dieci + 1dieci = 13dieci Docente: A. Saetti Elementi di Informatica e Programmazione – Università di Brescia A.A. 2023/2024 6 Codifica di Numeri Interi Codifica con modulo e segno: - Primo bit della successione per indicare il segno - Restanti bit per indicare il valore assoluto - Con n bit si possono rappresentare interi da -2n-1 + 1 e 2n-1 -1 Codifica in complemento a due: - Con n bit, La rappresentazione di un numero binario x corrisponde a 2n+x - Si possono rappresentare i numeri da –2n-1 fino a 2n-1-1 Docente: A. Saetti Elementi di Informatica e Programmazione – Università di Brescia A.A. 2023/2024 7 Codifica di Numeri Reali Notazione scientifica per numeri binari Il numero 101010000due può essere rappresentato come e = 8dieci 1.0101 x 10 01001 mantissa base = 2dieci Basta memorizzare segno, mantissa ed esponente – segno: 0 positivo, 1 negativo – mantissa codificata convertendo il numero in base 2 – esponente codificato in complemento a 2 Docente: A. Saetti Elementi di Informatica e Programmazione – Università di Brescia A.A. 2023/2024 8 Codifica dei Numeri Reali Standard IEEE-754 IEEE (Institute of Electrical and Electronic Engineers) stabilisce il numero di bit per mantissa ed esponente Numeri a precisione singola: 32 bit è 1 bit per segno, 8 bit per esponente, 23 bit per mantissa Si possono rappresentare numeri tra -10-38 e -10-38 e tra 10-38 e 1038. Con notazione non normalizzata fino a 10-45 Numeri a precisione doppia: 64 bit è 1 bit per segno, 11 bit per esponente, 52 bit per mantissa Si possono rappresentare numeri tra -10-308 e -10-308 e tra 10-308 e 10308 Docente: A. Saetti Elementi di Informatica e Programmazione – Università di Brescia A.A. 2023/2024 9 La Macchina di Von Neumann 7 8 < … Memoria Schermo Tastiera Mouse di massa Memoria centrale CPU Interfaccia Interfaccia Interfaccia Interfaccia ingresso/uscita ingresso/uscita ingresso/uscita ingresso/uscita òñ òñ òñ òñ òñ òñ Bus dati Bus indirizzi Bus di controllo Docente: A. Saetti Elementi di Informatica e Programmazione – Università di Brescia A.A. 2023/2024 10 Struttura del Processore Leggi Unità di controllo Scrivi PC BUS CONTROLLO PSW Memoria IR ocentrale M Indirizzo o A R RA RB BUS INDIRIZZI Periferiche Registro Stato Registro Dati M ALU Esegui D... R Registro Operazione BUS DATI RC C PU Docente: A. Saetti Elementi di Informatica e Programmazione – Università di Brescia A.A. 2023/2024 11 Ciclo Macchina 1. Acquisisce (FETCH) una istruzione del programma – Prendi l'istruzione corrente dalla memoria e mettila in IR – Incrementa il PC affinché contenga l'indirizzo della prossima istruzione 2. Decodifica (DECODE) le istruzioni 3. Manda comandi (EXECUTE) alla ALU (per la selezione dell'operazione), ai registri della CPU (per la lettura/scrittura), al bus per accedere alla memoria, e altri ancora… – Se l'istruzione usa una parola in memoria, determina dove si trova e carica la memoria nei registri della CPU … torna al punto 1 e inizia a eseguire l'istruzione successiva. Docente: A. Saetti Elementi di Informatica e Programmazione – Università di Brescia A.A. 2023/2024 12 Il Linguaggio Macchina Le istruzioni sono organizzate in campi: Istruzioni aritmetiche (R1 = R2 + R3) op r1 r2 r3 4+4+4+4 bit – Codice operativo à tipo istruzione – Operandi sorgente e destinazione à dato o indirizzi dove recuperare/depositare i dati (nei registri o in memoria) Esistono tre tipologie di operandi: – Immediato: contiene il valore del dato – Registro: contiene un riferimento ad un registro della CPU – Memoria: contiene l'indirizzo della parole di memoria dove c'è il dato Docente: A. Saetti Elementi di Informatica e Programmazione – Università di Brescia A.A. 2023/2024 13 Periodo di Clock Un orologio (clock) fornisce una cadenza temporale a cui tutte le attività elementari sono sincronizzate Fronte di salita Livello alto (1) Fronte di discesa Periodo (ciclo) di clock Livello basso (0) Un segnale di clock è un livello di tensione che evolve con un periodo (tempo di ciclo) predeterminato e costante (intervallo di tempo fra 2 fronti di salita successivi) La frequenza di clock è l'inverso del periodo (numero di cicli di clock al secondo) Docente: A. Saetti Elementi di Informatica e Programmazione – Università di Brescia A.A. 2023/2024 14 Logiche di Progettazione della CPU CISC (Complex Instruction Set Computer): basata sull'idea di realizzare a livello hardware funzionalità sempre più complesse RISC (Reduced Instruction Set Computer): basata sull'idea di avere poche istruzioni che i compilatori riescono a tradurre efficacemente in linguaggio macchina Tipo di CPU CISC RISC CPI Alto Basso num. istruzioni eseguite Basso Alto Frequenza di clock Media Alta Docente: A. Saetti Elementi di Informatica e Programmazione – Università di Brescia A.A. 2023/2024 15 Il Linguaggio Assembly Il linguaggio assembly è la rappresentazione simbolica del linguaggio macchina (binario) L'assembly è più leggibile: – Permette di associare dei nomi simbolici alle configurazioni di bit che indicano codici di operazioni o indirizzi di registri – Permette l'utilizzo di variabili cioè nomi simbolici per identificare certe parole di memoria che contengono dati – Permette l'utilizzo di etichette cioè nomi simbolici per identificare certe parole di memoria che contengono istruzioni Assemblatore: traduce da linguaggio assembly in linguaggio macchina Docente: A. Saetti Elementi di Informatica e Programmazione – Università di Brescia A.A. 2023/2024 16 Assembly Instruction Set Istruzione Significato Indirizzamento ADD Rx Ry Rz Rx ç Ry + Rz Registro / Registro / Registro SUB Rx Ry Rz Rx ç Ry − Rz Registro / Registro / Registro ADD Rx Ry Val Rx ç Ry + Val Registro / Registro / Immediato con codifica esadecimale SUB Rx Ry Val Rx ç Ry − Val Registro / Registro / Immediato con codifica esadecimale LOADiL Rx VAL Rx1-8 ç VAL Registro / Registro / Immediato con codifica esadecimale LOADiH Rx VAL Rx9-16 ç VAL Registro / Immediato con codifica esadecimale MOVE Rx Ry Rx ç Ry a registri ed a registri LOAD Rx Ry Rx ç M[Ry] Registro / Memoria indiretto rispetto a registro STORE Rx Ry M[Rx] ç Ry Memoria indiretto rispetto a registro / Registro B LABEL PC ç LABEL Etichetta (ci pensa l’assemblatore) BEQ Rx Ry LABEL PC ç LABEL se il contenuto di Rx ed Ry sono uguali BGT Rx Ry LABEL PC ç LABEL se il contenuto di Rx è maggiore di Ry BLT Rx Ry LABEL PC ç LABEL se il contenuto di Rx è minore di Ry BGE Rx Ry LABEL PC ç LABEL se il contenuto di Rx è maggiore o uguale di Ry BLE Rx Ry LABEL PC ç LABEL se il contenuto di Rx è minore o uguale di Ry END Fine Docente: A. Saetti Elementi di Informatica e Programmazione – Università di Brescia A.A. 2023/2024 17 La Memoria h Supporto alla CPU: deve fornire alla CPU dati e istruzioni il più rapidamente possibile h Archivio dati e programmi, ne garantisce la conservazione a calcolatore spento e la reperibilità anche dopo elevati periodi h Diverse esigenze (contrastanti): o velocità per il supporto alla CPU o non “volatilità”, costi contenuti ed elevate dimensioni per l'archivio h Obiettivo: avere una memoria grande e veloce (ed economica) h Compromesso: integrare memoria piccola e veloce con altri dispositivi grandi e lenti Ø Caricare i dati in base ai principi di località spaziale e temporale Docente: A. Saetti Elementi di Informatica e Programmazione – Università di Brescia A.A. 2023/2024 18 La Memoria Tecnologie Costruttive Tecnologia Velocità Capacità Volatilità Costo per bit Elettroniche ALTA MEDIA SI ALTO Memoria centrale Es. RAM e Cache Magnetiche BASSA ALTA NO MEDIA Memoria di massa Es. disco fisso Ottiche BASSA MEDIA NO BASSO Memoria di massa (più adatta per la distribuzione) Es. CDROM, DVD Elettroniche MEDIA MEDIA NO MEDIO-ALTO Memoria di massa Es. SSD Docente: A. Saetti Elementi di Informatica e Programmazione – Università di Brescia A.A. 2023/2024 19 La Memoria Classificazione in Base all'Accesso Accesso sequenziale: parole posizionate in successione e l'accesso a un dato comporta la lettura delle precedenti Accesso casuale: è possibile accedere ad una parola indipendentemente dalle altre (memorie elettroniche) Accesso misto: l'indirizzo di un dato non determina precisamente la sua collocazione fisica (per disco magnetico) Accesso associativo: metodo ad accesso casuale che permette di confrontare alcuni bit specifici dell’indirizzo della parola con quelli di alcune etichette (usata per memorie cache) Docente: A. Saetti

Use Quizgecko on...
Browser
Browser