Lezione 2 RAPPRESENTAZIONE
Transcript
Lezione 2 RAPPRESENTAZIONE
Lezione 2 [email protected] RAPPRESENTAZIONE INTERNA DEI DATI NEL COMPUTER La logica del PC si basa sul sistema binario SISTEMI NUMERICI arabo (posizionale): DECIMALE si basa su 10 simboli diversi: 0,1,2,3,4,5,6,7,8,9 ( cifre decimali) che hanno importanza diversa a seconda della posizione che occupano 1351 = 1*103 + 3*102 + 5*101 + 1*100 La logica del Pc è una logica binaria con due sole possibilità. Le operazione anche le più complesse vengono svolte realizzando a grande velocità una serie di scelte on/off. Un politico: se dice SI è FORSE, se dice FORSE è NO, se dice NO non è un politico Una donna: se dice NO è forse, se dice FORSE è SI, se dice SI non è una donna Un computer: se dice SI è SI, se dice NO è NO, se dice FORSE non è un computer BINARIO si basa su 2 simboli diversi: 0,1 che hanno importanza diversa a seconda della posizione che occupano Il sistema Binario viene usato all’interno del computer per: SEMPLICITÀ TECNOLOGICA è più facile realizzare due livelli di tensione che dieci ! E SEMPLICITA’ LOGICA il software "ragiona" meglio con concetti di Vero-Falso Algebra Booleana: mai usata ma che ha trovato applicazioni con lo sviluppo dei computer; rappresenta il substrato matematico indispensabile. Nella trasmissione di un segnale (informazione) il bit (b), è la cifra elementare che può assumere solo due valori: 1 e 0 bit deriva da BInary digiT (testualmente cifra del sistema binario ) 1 bit [] 2 bit [] [] n bit [ ] ….[ ] 2 stati: 0 1 4 stati: 0 0 01 10 11 2 n stati: 0...000 0...001 0...010 0...011 0...100 0...001 : 1...111 Nel sistema decimale spostare a SX significa moltiplicare per 10 nel sistema binario spostare a SX significa moltiplicare per 2 1 0 1 1 0 1 0 1 1*27 + 0*26 + 1*25 + 1*24 + 0*23 + 1*22 + 0*21 + 1*20 =181 Convertire in binario il numero 150 2^0 2^1 2^2 2^3 2^4 2^5 2^6 2^7 8 9 10 1 2 4 8 16 32 64 128 256 512 1024 0 1 1 0 1 0 0 1 2-2=0 6-4=2 22-16=6 150- 128=22 10010110 ESADECIMALE si basa su 16 simboli diversi: 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F Equivalenza tra basi diverse: Decimale 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Exa 0 1 2 3 4 5 6 7 8 9 A B C D E F Binario 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 Da Exa a Decimale Esempio: 28E = 2 exa 8exa Eexa 2 exa *162 + 8 exa *161 + E*160 = 210*162 + 810*161 + 1410*160 = 2*256 + 8*16 + 14 = 654 La cifra binaria viene raggruppata in gruppi di 4 bit 1100 1110 1001 = (1*23+1*22+0*21+0*20)*28 + (1*23+1*22+1*21+0*20)*24 + (1*23+0*22+0*21+1*20)*20 = equivale alla decimale: 1210*162 + 1410*161 + 910*160 = 3305 e alla Exadecimale: CE916 Con un numero b di bit a disposizione posso trasmettere N = 2b segnali diversi ( N combinazioni di 0 e 1) N = 2b b = log 2 N Per trasmettere un segnale, fra 8 diversi segnali disponibili, ho bisogno di log p m log 2 8 = 3 bit log n m = log p n Scelta nel seguente menu: Quanti bit sono necessari per trasmettere una lettera alfabeto italiano? log10 21 b = log 2 21 = = 4, 39 bit log10 2 ---------------------------------------------Le sequenze di bit ( b ) possono essere raggruppate in gruppi di 4, 8, 16 o più bit. Convenzionalmente 8 bit costituiscono 1 Byte. (B) Con 8 bit si possono ottenere 28 = 256 combinazioni diverse (segnali) CODICE ASCII è una tabella che associa ad ognuna di queste combinazioni un Carattere Alfanumerico. Distinzione tra CARATTERE e NUMERO: CARATTERI rappresentano le cifre alfanumeriche (simboli) (tabella ASCII) NUMERI sono le cifre numeriche la cifra binaria 111000 ( corrisponde al NUMERO decimale 56), nella tabella ASCII equivale al CARATTERE ALFANUMERICO-Simbolo ‘8’ i NUMERI possono essere rappresentati in modi diversi. Due esempi: INTERI la cifra binaria rappresenta il numero. FLOATING (virgola mobile o ‘fluttuante’) la sequenza di bit può essere divisa in tre gruppi che rappresentano la parte intera del numero, la parte decimale e l’esponente da dare ad una base di dieci. PC INPUT Case; Chassis; Cabinet potenza OUTPUT MEMORIA contenitore con alimentatore CPU cc 12-5-3,3 V. Attenzione alla Motherboard; Mainboard; Scheda Madre Scheda che serve da supporto per accogliere altri componenti inseriti in “zoccoli” oppure in “slot” (connettori). Componenti tipici sono: RAM; CPU; Scheda Video; Schede per le porte . Il PC è modulare e permette di adattare in modo semplice l’hardware alle esigenze Scheda Video ( scheda VGA) converte i dati digitali del PC nei segnali analogici necessari al monitor per visualizzare l’ambiente grafico del S.O. e i risultati delle elaborazioni. STRUTTURA DI UNA CPU ( Central Processing Unit) : La CPU ( Microprocessore) ( inserita in un Socket) esegue le istruzioni logicomatematiche previste dal programma memorizzato nella RAM (Memoria Centrale) in forma di sequenze binarie (linguaggio macchina) Costituita da: 1. Unità di controllo (CU) 2. Unità aritmetico logica (ALU) 3. Registri UNITÀ DI CONTROLLO (CU) Coordina le attività svolte dalle varie unità della CPU durante l’esecuzione dei programmi e attraverso segnali di controllo gestisce il flusso dei dati tra Memoria, Registri, ALU, BUS. In dettaglio: Legge i dati e le istruzioni dei programmi presenti in memoria, li mette in opportuni Registri, li decodifica ed decide ( con comandi alla ALU, alla Memoria o alle Periferiche) chi li esegue e quando. MAR (Memory Access Register-registro di indirizzamento della memoria) MDR (Memory Data Register -registro dati di memoria) UNITÀ ARITMETIC LOGIC (ALU) Effettua operazioni di tipo aritmetico e/o logico sui dati forniti in ingresso. • Nel PC le operazioni svolte dalla CPU sono numerose e semplici e fatte velocemente. Per sincronizzare i diversi passi di una istruzione o l’accesso alle memorie occorre avere un riferimento temporale: CLOCK (da 25 MHz nel 1988; 800 MHz nel 2000; 1,8 GHZ nel 2004). Clock = FSB X Moltiplicatore FSB ( Frequenza del Bus) Frequenza di lavoro della scheda madre. Frequenza delle operazioni più lente. La capacità di elaborazione di un PC o potenza di calcolo di una CPU si misura in MIPS ( milioni di istruzioni al secondo). Le famiglie dei processori sono due INTEL AMD I microprocessori INTEL dall'8088 all'80486 sono evoluti aumentando il numero di bit trattati in una singola operazione. Si basano su architettura CISC ( Complex Instruction Set Computing). Utilizza comandi complessi che incorporano istruzioni semplici che richiedono diversi cicli di clock e sono realizzate con programmi elementari (FIRMWARE). Il Pentium III e Pentium IV adotta architettura RISC ( Reduced Instruction Set Computing) che usa istruzioni semplici ma più numerose impiega un tempo minore del CISC. Per utilizzare la struttura RISC bisogna avere un Sistema Operativo e programmi scritti appositamente. Altri fattori che caratterizzano un PC sono: • Capacità della memoria di lavoro (RAM) • Capacità memorie di massa (HD) • Acceleratori grafici o coprocessori ( processori che si affiancano alla CPU per svolgere operazioni molto complesse legate alla visualizzazione grafica 3D). Ci sono programmi specifici ( benchmark) che valutano le prestazioni dei PC nel suo complesso (benchmark applicativi) o dei singoli componenti (benchmark sintetici) BUS: Connessioni situate generalmente sulla scheda madre che permettono il collegamento e il trasferimento dati tra le diverse unità dell’elaboratore. Bus dati (trasferisce i dati tra CPU e Memoria e/o periferiche) Fanno parte del Bus anche microchip (I/O Controller) e gli alloggiamenti (Slot) per le schede di espansione. Es: Il Bus Locale VESA (Video Electronics Standards Associations) trasferisce 107 MB/sec Bus Locale PCI della Intel trasferisce 132 MB/sec ed incorpora il Plug and Play Bus indirizzi (identifica la posizione delle celle di memoria su cui leggere/scrivere) Bus di controllo (dove transitano i segnali di controllo per la gestione del flusso di dati e il coordinamento delle unità La MOTHERBOARD può interfacciarsi con l’esterno attraverso : Le PORTE PARALLELE, SERIALI, SCSI, USB indicano tecnologie di interfaccia diverse PORTA SERIALE (Modem, Keyboard). ( COM1, COM2) Generalmente rispetta lo standard RS-232 ( maschio a 9 piedini) PORTA PARALLELA (Stampante, Monitor) (connettore Centronics-Femmina 25 piedini) Invia otto bit alla volta su otto fili paralleli. Inconveniente è la interferenza fra linee (diafonia; crosstalk) che peggiora con la lunghezza dei cavi i quali quindi non possono essere più lunghi di circa 3 m. ( LPT1; LPT2; USB; PS/2) Gli HD sono connessi generalmente con connettori EIDE. I connettori delle porte sono collegati a schede. Scheda a 16 bit ISA o PCI (migliore). La scheda ISA (lndustry Standard Architecture) trasmette i dati su 16 linee a 8 MB/sec. E' la scheda di espansione di uso generale che non deve gestire grandi quantità di dati come le schede di controllo della memoria e la scheda video. Es: Le Schede di rete che collegano fra loro PC (aula Informatica, Istituto), sono normali schede di espansione di tipo ISA o PCI. Il connettore del PC alla rete può essere BNC o UTP. BNC ( come cavo coassiale per la TV), non consente una velocità di 100 Mbps però non richiede la presenza di altri componenti di rete. UTP ( simile all'attacco telefonico americano ) è collegato a un DOPPINO TELEFONICO che è veloce ed affidabile. Questo attacco richiede nella rete la presenza di un HUB (concentratore). Per operare a 100 Mbps si usa un HUB intelligente in grado di gestire più traffico: SWITCH. Un HUB a 5 porte a 10 Mbps costa 35-40 Euro. PROGRAMMI: Un programma consiste di una sequenza di istruzioni elementari predisposte in modo da realizzare delle funzioni. Il Computer ( CPU) esegue le istruzioni in Linguaggio Macchina. I Programmi sono però scritti in LINGUAGGIO AD ALTO LIVELLO (HLL- High Level Language) più vicino a quello dell’uomo (PROGRAMMA SORGENTE) che deve essere quindi tradotto in linguaggio macchina (PROGRAMMA OGGETTO). (Assembler) La traduzione viene fatta da un INTERPRETE o da un COMPILATORE. INTERPRETE : legge una istruzione alla volta scritta la trasforma in linguaggio macchina e la invia alla CPU. COMPILATORE : prende in considerazione tutto il programma e traduce tutte le istruzioni in linguaggio macchina. Se una istruzione in un programma viene usata 100 volte con l’interprete viene tradotta 100 volte , mentre con il compilatore viene tradotta una volta. Per l’uomo è molto scomodo comunicare con il PC utilizzando il linguaggio macchina. Il Sistema Operativo ( DOS; Windows; Linus) si frappone come interfaccia fra il SW applicativo, di cui controlla l’esecuzione, e l’HW di cui controlla il funzionamento. Le procedure e funzionalità del sistema operativo sono caricate in RAM utilizzando le istruzioni del BIOS dopo l’autodiagnosi e rimangono attive fino allo spegnimento del PC. Il S.O. gestisce direttamente il funzionamento dell’HW e delle periferiche I/O e mette a disposizione alcune funzionalità di base ( Notebock, Paint, utilities), gestisce il File Sistem delle memorie, rileva gli errori. I moderni S.O. sono multitasking perché consentono l’esecuzione di più programmi applicativi contemporaneamente Senza S.O. il PC non può funzionare. IL PC si avvia e poi segnala l’errore Es: DOS (DISK OPERATING SYSTEM) determinava la logica con cui i dati erano organizzati nei dischi affinché potessero facilmente essere raggiunti. Questa era la sua principale funzione. ha la capacità di gestire direttamente una memoria RAM di 640 KB. Sistema Operativo a linea di comando (Riga di caratteri in codice). Es: Copy; Del; Dir Es: WINDOWS 2000, WINDOWS XP, LINUX Ha interfaccia utente grafica (GUI Graphic User Interface). Il S.O. è, a sua volta, suddiviso in : KERNEL (o NUCLEO), è la parte del S.O. che comunica con l’hardware. Gestisce la memoria e le periferiche: Regola l’accesso dei programmi alla RAM e alle unità I/O. Organizza i file salvati in una struttura ad albero composta di Cartelle e sottocartelle. File System SHELL è INTERFACCIA UTENTE che si occupa di fornire un ambiente di lavoro "umano" nel quale formulare richieste alla macchina e ricevere le risposte dalla stessa. Es: SHELL è lo schermo nero del DOS, dove vengono visualizzati i comandi digitati e le "risposte" ai comandi. Esempio di SHELL è GUI (Grafic User Interface) cioè le schermate di WINDOWS. Software Applicativo Programmi dedicati a funzionalità specifiche ( Word; Excell; Antivirus, CAD, Ritocco Fotografico) Le modifiche al SW di modesta entità per correggere errori ( Bug) o per supportare nuovi dispositivi HW si chiamano Patch o Service Patch . Modifiche al SW per correggere errori e aggiungendo nuove funzionalità si chiamano Release che hanno lo stesso Nome ma un diversoNumero: Photoshop 7.0 Photoshop 7.01 Photoshop 7.1 Le figure professionali coinvolte nello sviluppo del SW sono: Analista SW: Analizza il problema che dovrà essere risolto dal prodotto Progettista SW: parte dal modello dell’analista e studia la reale fattibilità del prodotto e le varie fasi di sviluppo. Programmatore: realizza materialmente il progetto SW scrivendo il codice sorgente CODICE ASCII 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 29 30 31 32 33 34 35 36 37 38 39 40 § ▬ ↨ ↑ ↓ → ← ∟ ↔ ▲ ▼ ! " # $ % & ‘ ( 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 101 102 e f 121 122 y z 141 142 ALT + Numero Tastierino ) * + , . / 0 1 2 3 4 5 6 7 8 9 : ; < 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 = > ? @ A B C D E F G H I J K L M N O P 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d ì Ä 161 162 í ó 181 182 Á Â 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 g h i j k l m n o p q r s t u v w x 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 { | } ~ ¦ Ç ü è â ä à å ç ê ë è ï î 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 Å È æ Æ ô ö ò û ù ÿ Ö Ü ø £ Ø × ƒ á 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 + ¦ + ¤ ð Ð Ê Ë È ı Í Î Ï ┘ ┌ █ ▄ 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 ¦ Ì ▀ Ó ß Ô Ò õ Õ µ þ Þ Ú Û Ù ý Ý ¯ ´ - 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 ± = ¾ ¶ § ÷ ¸ ° ¨ · ¹ ³ ² ■ 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 ú ñ Ñ ª º ¿ ® ¬ ½ ¼ ¡ « » ▓ ▒ ▓ │ ┤ 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 À © ╣ ║ ╗ ╝ ¢ ¥ ┐ └ ┴ ┬ ├ ─ ┼ ã Ã ╚ Ā ā Ă ă Ą Ogni insieme di dati per essere memorizzato in HD, Floppy, Cd-Rom deve essere organizzato in FILE e i file in CARTELLE, DIRECTORIES o FOLDERS. Le Directories possono contenere altre Directories che sono chiamate, quindi, SUBDIRECTORIES. L’organizzazione dei dati in DOS e WINDOWS è ad albero: (Risorse del Computer) Ai Files viene dato un NOME ed una ESTENSIONE. Il NOME serve a distinguerli, L’ESTENSIONE indica il TIPO di file ed è formata da 3 caratteri. Es.: *.EXE per indicare i Files Eseguibili (Programmi) *.TXT indica i files di Testo costituiti da sequenze di caratteri ASCII; *. Sys o *.Com sono files di Sistema che fanno parte della configurazione del PC o del Sistema Operativo. Es: COMMAND.COM, AUTOEXEC.BAT, CONFIG.SYS Stringa di caratteri (campo) Più stringhe formano un Record Più Record formano un Report (Tabella)