Introduzione all’informatica Copyright DELFINI Andrea Sistemi numerici Sistema decimale La memorizzazione dei dati Sistema binario La rappresentazione dei dati Trasmissione parallela di dati Trasmissione seriale di dati L’elaborazione dei dati Schema a blocchi di un micro-computer Le unità di entrata e di uscita Sistema esadecimale Il codice ASCII Hardware & Software Schema a blocchi di un Computer L’unità centrale CPU Le memorie Fine Sistemi numerici I sistemi numerici servono a rappresentare informazioni. Un concetto chiaro, per esempio 29, può essere rappresentato come segue: 291 11112 358 1 D16 Decimale Duale Ottale 1 2 3 4 5 6 7 8 9 1 1 2 3 4 5 6 7 Esagesimale 1 2 3 4 5 6 7 8 9 A B C D E F Per evitare confusione la base del sistema viene sempre messa ad indice. Nell’elaborazione dei dati lo zero viene barrato per differenziarlo dalla lettera O. Le proprietà di un sistema numerico sono: •Cifre a disposizione: numero delle cifre utilizzabili •Valore: il valore di una cifra dipende dalla sua posizione nel numero •Base: è il fondamento di ogni sistema numerico; Le cifre a disposizione sono la base Le loro posizioni sono valori di potenza della base Sistema decimale num. decimale valore valore decimale 1 5 6 100 10 1 1 . 100 + 5 . 10 + 6 . 1 = Il sistema decimale ha a disposizione 10 cifre. Per riconoscere la base si usa spesso una lettera D oppure nulla. 156 Sistema binario L’elaborazione delle informazioni, cioè numeri, dati e ordini viene eseguita nel computer comparando, combinando e scorrendo numeri duali, cosiddetti modelli binari. numero binario potenze di 2 valore valore decimale 1 0 0 1 7 6 5 4 128 64 32 16 1 . 128 + 0 . 64 + 0 . 32 + 1 . 16 + 1 3 8 1.8+ 1 2 4 1.4+ 0 1 2 0.2+ Per riconoscere la base viene spesso usata la lettera B: 100111002 10011100B O 0 1 0.1= 156 Sistema esadecimale Il rapporto con i numeri binari è relativamente difficile. Lavorando con i microprocessori si usa più volentieri il sistema esadecimale. Esadecimale 9 C16 potenza di 16 161 16 valore 16 1 valore decimale Il sistema esadecimale ha a disposizione 16 cifre. Le prime 10 sono come nel Sistema decimale mentre le altre 6 sono le lettere dell’alfabeto dalla A alla F. Per riconoscere la base si usa spesso la lettera H, per esempio: 9C16 9CH 9CH 9 . 16 + 12 . 1 = 1561 Possibilità di confusione: BEFFA è intesa come parola OBEFFAH è invece un numero esadecimale Per convertire un numero binario in uno esadecimale vengono formati dei gruppi di 4 numeri binari. Il gruppo di sinistra deve eventualmente essere completo con degli zeri. Ad ogni gruppo di 4 corrisponde un numero esadecimale. Esempio: gruppi di quattro 11 11 numero binario 9 numero esadecimale C 9C !!! Numeri esadecimali che iniziano con una lettera devono essere scritti iniziando con uno zero decimale 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 binario 1 1 11 1 11 11 111 1 11 11 111 11 111 111 1111 Hex 1 2 3 4 5 6 7 8 9 A B C D E F La memorizzazione dei dati 1 bit 1 byte 1 1 oppure 0 0 1 1 0 1 8 bit 1 bit (binary bigit) è la più piccola unità di informazione per i dati: 0 o 1. 1 byte consiste in 8 bits. È la più piccola unità di informazione per rappresentare simboli codificati, per esempio lettere, cifre, segni speciali, ordini. 1 kB (kiloByte) 1 MB (MegaByte) 210 Byte 1024 Byte 210 kB 1024 kB Il concetto di Byte viene usato anche per definire la capacità di una memoria. Capacità di memorizzazione Cervello umano: capacità irraggiungibile A occhio e croce un cervello umano memorizza 62,5 milioni di pagine A4 con ognuna 2000 simboli ognuno dei quali è rappresentato da 8 bit: quindi circa 1 milione di megabit. Capacità di memorizzazione dei dati Tipo di memoria Capacità per unità Numero di pagine A4 Densità in bit/mm2 Velocità di lettura e scrittura 1 pagina A4 (2000 simboli) 16 Kbit 1 0.45 150 bit/s Memoria a semiconduttori 256 Kbit 16 10 x 103 5 Mbit/s Memoria magnetica 1 Mbit 62.5 15 x 103 50 Kbit/s Disco 560 Mbit 35000 15 x 103 15 Mbit/s nastro 720 Mbit 45000 1 x 103 10 Mbit/s Memoria olografica 10000 Mbit 630000 1000 x 103 100 Mbit/s Compact Disc CD 15000 Mbit 940000 270 x 103 4.5 Mbit/s Cervello 1 Mio Mbit (memoria continua) 62.5 Mio (109/cm3) 1 bit/s memoria lunga durata 50 bit/s memoria corta durata La rappresentazione dei dati Un computer può elaborare direttamente numeri, lettere o segni speciali. È necessario che abbia tutti i simboli in una lingua a lui conosciuta. All’interno i segni vengono rappresentati e trasportati con degli stati di tensione (tensione = 1, nessuna tensione = 0 ). Il sistema binario serve a questo scopo. Per rappresentare 128 simboli occorre una combinazione di 7 bit (27 = 128 simboli). Per la rappresentazione e la trasmissione dei simboli viene usato il codice: ASCII ASCII (American Standart Code for Information Interchange = codice standart americano per lo scambio di informazioni) Il codice ASCII a 7 bit 7 6 5 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 0 1 2 3 4 5 6 7 NUL SOH STX ETX EOT ENQ ACK BEL BS HT LF VT FF CR SO SI DLE DC1 DC2 DC3 DC4 NAK SYN ETB CAN EM SUB ESC FS GS RS US SP ! " # ¤ % & 0 1 2 3 4 5 6 7 8 9 : ; < = > ? @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ' a b c d e f g h i j k l m n o p q r s t u v w x y z { | } __ DEL codice binario parte di valore alto 4 3 numero dei bit 2 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 2 3 4 5 6 7 8 9 A B C D E F ( ) * + , . / parte di valore basso Tabella completa Significato dei simboli di comando HEX-Code Significato dei simboli di comando NUL SOH STX ETX EOT ENQ ACK BEL BS HT LF VT FF CR SO SI DLE DC1 DC2 DC3 DC4 segno di riempimento inizio della testata inizio del testo fine del testo fine della trasmissione domanda della stazione risposta positiva cicalino (suoneria) passo indietro tabulatore orizzontale a capo tabulatore verticale avanzamento a pagina seguente a capo inizio linea commutazione continua ritorno commutazione trasmissione dei dati comando apparecchio 1 comando apparecchio 2 comando apparecchio 3 comando apparecchio 4 NAK SYN ETB CAN EM SUB ESC FS GS RS US DEL SP risposta negativa sincronizzazione fine del blocco di dati trasmesso non valido fine nota sostituzione commutazione separazione gruppi principali separazione gruppi separazione sottogruppi separazione gruppi parziali cancellare spazio La trasmissione dei dati Trasmissione parallela 1 0 0 1 1 1 0 1 trasmettitore Trasmissione seriale trasmettitore ricevitore 1001 ricevitore 1 Bit 1 1 Bit 101 1 Byte 1. Bit byte del dato 1 0 0 1 1 1 0 1 10111001 t Startbit Stopbit Trasmissione parallela • 8 bit sono trasmessi contemporaneamente •il ricevitore sisponde al trasmettitore che ha ricevuto i dati •sono necessarie 8 linee •la trasmissione è veloce La velocità di trasmissione viene espressa in: Byte/s o B/s Trasmissione seriale •Si trasmette 1 bit alla volta •trasmettitore e ricevitore devono essere sincronizzati •è necessaria una sola linea •la trasmissione seriale è più lenta della parallela La velocità di trasmissione viene data in Baud- Rate. 1 Baud = 1 bit/s o b/s Velocità tipiche: 300/ 1200/ 2400/ 4800/ 9600 b/s Hardware & Software Hardware = materia dura Tutti gli elementi meccanici ed elettronici di un computer. Software = materia morbida Tutti i programmi e i dati necessari al lavoro di un computer. Comparazione lunedì- venerdì, salvo giorni festivi generali e cantonali lugano 5.3 6.25 6.5 sorengo 5.32 6.27 6.52 sorengo laghetto 5.33 6.28 6.53 cappella d'agnuzzo 5.34 6.29 6.54 persona Una ferrovia funziona solo grazie al giusto lavoro di persone, attrezzature e piani orari. Una musica sublime si ottiene solo con un ottimo violino e un musicista allenato. Un computer lavora senza errori solo con un’unità capace e con utilizzo e programmi corretti. Hardware e software formano un’unità L’elaborazione dei dati Entrata Uscita Computer convertitore Elaborazione dati e memorizzazione convertitore Schema a blocchi di un Computer Costituzione di un computer (per esempio Commore 64) Memoria fissa (ROM) Unità entrata/ uscita Memoria lettura/ scrittura Unità centrale CPU Dati Unità centrale processore 6518 Memoria - ROM 28 kB - RAM 64 kB Frequenza 1MHz Schema a blocchi di un micro-computer Bus di comando Unnità di comando CPU Unità di calcolo RAM ROM I/O Entrate e uscite Registr (memoria) Bus di indirizzi Bus di dati CPU Unità centrale consiste in un microprocessore Memoria (memoria di lavoro) interfacccia periferia CPU = Central Processing Unit (unità centrale di elaborazione) La definizione classica di CPU comprende l’unità di comando, l’unità di calcolo e la memoria di lavoro. Nei microcomputer moderni l’unità centrale è composta da un microprocessore. La memoria dei programmi e dei dati è esterna alla CPU. ROM = Read Only Memory (memoria di lettura) RAM = Random Access Memory (memoria di lettura / scrittura) BUS = connessioni I/O = Input / Output (entrata e uscita dei dati) L’unità centrale (CPU) La CPU è l’unità di lavoro del computer. Prende gli ordini, li decodifica e li esegue. Una caratteristica della CPU è il numero di bit (lunghezza della parola) che possono essere elaborati in una sola volta, l’ARCHITETTURA. bus interno Flag registri ALU accu calcolatore comando clock buffer Comando Coordina l’esecuzione degli ordini del microcomputer. Il comando riceve gli ordini del programma nella memoria di lavoro e li collega. Per far questo vengono generati i segnali necessari. Calcolatore La centrale di elaborazione dei dati. Consiste nell’ALU, registri di flag e accumulatore. Flag: segnalatore di dati dell’ALU. Accumulatore: è legato all’ALU, registro principalmente del microprocessore. Tutte le operazioni passano attraverso l’accumulatore. Registri Piccole memorie (fogli di appunti del microprocessore). I dati elaborati vengono memorizzati qui momentaneamente. Altri componenti Buffer:distributore e comando di dati e indirizzi. Clock: serve per l’esecuzione temporale e per il comando degli elementi collegati al Microcomputer. Le memorie Sguardo sulle memorie Principio della memorizzazione Memoria di sola lettura (ROM) Principio di una cella di memoria Presentazione modello Memoria di lettura e scrittura (RAM) Sguardo sulle memorie Nei computer odierni prevalgono le memorie a semiconduttori di tipo RAM e ROM per i programmi ed dati. Memoria a semiconduttori Solo di lettura ROM di lettura e scrittura RAM Maschera programmabile ROM Programmabile dall’utilizzatore PROM Cancellazione con UV e programmabile elettricamente EPROM Cancellabile e programmabile elettricamente EEPROM La capacità di un chip dipende dai bit memorizzabili: •1 kbit = 210 bit = 1024 bit •16 kbit = 214 bit = 16384 bit •64 kbit = 216 bit = 65536 bit Maschera programmata ROM Le informazioni vengono programmate dal costruttore. Questa procedura rende per la produzione di massa. PROM programmabile dall’utilizzatore (PROM = ROM Programmabile) L’utilizzatore può programmare lui stesso l’elemento con un apparecchio appropriato. Principio della memorizzazione cella di memoria 0 1 0 0 0 0 1 1 0 0 1 1 0 0 1 1 1 1 0 0 1 1 0 1 0 0 0 1 1 0 0 1 1 1 0 1 0 1 0 1 0 0 0 0 0 1 1 1 1 0 bus di indirizzi decoder di indirizzi 1 0 0 0 1 0 0 1 uscita dei 1 0 1 dati bus dei dati EPROM (= Erasable PROM) Con gli UV si possono cancellare attraverso la finestra tutti i dati. Si possono poi riprogrammare elettricamente. EEPROM (= Electrically Erasable PROM) Si programma e si cancella elettricamente. 0 Memoria di sola lettura (ROM) La memoria ROM è paragonabile ad un libro. Il contenuto può solo essere letto e non modificato o cancellato. Le informazioni memorizzate vengono fissate dal costruttore e restano anche togliendo l’alimentazione (memoria fissa). Nella ROM ci sono dati e programmi di cui il microprocessore abbisogna per lavorare. entrata indirizzi decoder di linea (X) Il contenuto della ROM dipende dall’uso: • Sistemi operativi completi o parziali (monitor) matrice di memoria selezione elemento decoder di colonna (Y) comando colonna esempi Programmi utilizzatori completi uscita buffer connessioni Esempi di sistemi operativi completi o parziali: • Programmi di start • Istruzioni di tastiera • Istruzioni di schermo • Lavoro con periferiche • Interpreti (per esempio BASIC) • Operazioni matematiche (programmi di somma, sottrazione, moltiplicazione e divisione) Connessioni entrata alimentazione bus di indirizzi uscita alimentazione 1 2 3 4 5 6 7 8 9 10 11 12 13 14 28 27 26 25 24 23 22 21 20 19 18 17 16 15 bus di comando bus di dati Principio di una cella di memoria coordinate a bit del dato connessione della coordinata X 0 Volt Y transistor di scelta cella di memoria Funzione • Sulla connessione degli indirizzi la ROM ne riceve una dalla CPU • Nella ROM viene decodificato. I dati desiderati vengono preparati nel buffer • Viene attivata la ROM desiderata e i dati sono messi sul databus. I dati vengono elaborati in seguito dalla CPU • Dopo questo ciclo la ROM viene disattivata dal circuito di selezione viene programmata in modo che il transistor resta aperto o chiuso per molto tempo (anni). Presentazione modello X S aperto = 1 S chiuso = 0 0 Volt A S Y Se sulla connessione X c’è un 1 il transistor di scelta conduce e quindi la cella è collegata con Y. Quando la cella di memoria conduce Y diventa 0. Memoria di lettura e scrittura (RAM) Una RAM è una memoria comparabile ad un’agenda. Il contenuto di ogni cella può essere letto o riscritto. Questa memoria si chiama volatile poiché togliendo l’alimentazione i dati vanno persi. Questi componenti sono la memoria di lavoro di un microcomputer nel quale dati e programmi possono essere caricati da memorie esterne. controllo Decoder di riga Decoder di colonna Matrice di memoria controllo Il contenuto della RAM può essere: • programmi e dati • sistemi operativi, compilers, interpreti, ecc. letti dalla memoria principale connessioni Direzione Dati tipi di RAM Tipi di RAM RAM statica RAM dinamica connessione per la selezione di lettura X indirizzo entrate di scrittura e uscite di lettura Il circuito rappresenta un flip- flop. Dei due transistor in basso uno conduce e uno è bloccato. Singola cella/ Comparazione X entrata dei dati connessione per la selezione di scrittura uscita dei dati Il transistor a metà funge da memoria di carica. Per non perdere il conteggio deve periodicamente essere comandato Singola cella/ Comparazione Singola cella Funzione • Sulla connessione X la RAM riceve un indirizzo dalla CPU • Dopo ogni ciclo di lettura/ scrittura viene attivata l’input o l’output • Se si leggono i dati vengono elaborati dalla CPU • Se si scrivono i dati finiscono nella RAM Comparazione Osservare lo spazio necessario per una cella di RAM statica e dinamica Statica circa 2:1 Dinamica Connessioni entrata alimentazione bus di indirizzi uscita alimentazione 1 2 3 4 5 6 7 8 9 10 11 12 13 14 28 27 26 25 24 23 22 21 20 19 18 17 16 15 bus di comando bus di dati Le unità di entrata e di uscita Gli elementi di entrata e uscita, cosiddetti chip di interfaccia, sono responsabili del percorso dei dati fra un microchip e l’esterno. Se i bit sono trasmessi uno dopo l’altro si parla di interfaccia seriale, se la trasmissione è contemporanea si parla allora di interfaccia parallela. Input/ Output Trasmissione seriale, per esempio: •stampante •tastiera •modem (modulatore/ demodulatore) Trasmissione parallela, per esempio: •plotter •stampante Principio di un’interfaccia parallela Principio di un’interfaccia seriale Principio di un’interfaccia parallela Con le linee di comando si determina se i dati devono entrare o uscire. Quest’interfaccia permette il percorso parallelo dei dati entrata alimentazione bus di comando bus di dati uscita alimentazione Schema 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 bus di comando port B port A dati bus di dati buffer di dati port A port = porta linee di comando decodifica e comando segnali di comando Port B 1 0 1 1 0 1 1 0 Principio di un’interfaccia seriale I dati che arrivano nel buffer vengono trasformati in dati seriali nel trasmettirore e portati all’uscita. Nel ricevitore ha luogo la conversione da seriale a parallelo. entrata alimentazione bus di comando bus di dati uscita alimentazione Schema 1 2 3 4 5 6 7 8 9 10 11 12 13 14 28 27 26 25 24 23 22 21 20 19 18 17 16 15 bus di comando uscita del trasmettitore entrata del ricevitore dati bus di dati buffer di dati trasmettirore 10110110 port = porta bus di comando comando segnali di comando ricevitore