INFORMATICA GENERALE Hardware Sommario Da dove nasce l’informatica Un po' di storia dei calcolatori Computer Hardware Software Da dove nasce l’informatica I Nasce dalla confluenza di tre filoni del sapere: L’algoritmica = disciplina delle “ricette” per risolvere i problemi L’ingegneria = disciplina del “fare” le macchine La metamatematica = branca della matematica che si occupa di studiarne le possibilità Da dove nasce l’informatica II Grazie all’ingegneria elettronica si deve la memorizzazione in bit Grazie agli algoritmi si riescono a sviluppare macchine più potenti Grazie alla metamatematica si riescono a scrivere buoni algoritmi. Storia macchine calcolatrici Un decisivo passo avanti venne compiuto da John Atanasoff, dell'Università dell'Iowa, che progettò, a partire dal 1939, il primo calcolatore automatico elettronico . Negli anni '50 il primato era dell'ENIAC (Electronic Numerical Integrator And Calculator) di J. Prosper Eckert e John W. Manchy, dell'Università di Pennsylvania. Tra il 1965 ed il 1975: riduzione degli ingombri, sostituzione delle memorie magnetiche con quelle a semiconduttore e la nascita dei minicomputer. 1981:: IBM presenta il primo computer da scrivania detto personal computer (PC) PC – Computer – Elaboratore Un elaboratore è una macchina che, come tutte le macchine, serve per trasformare delle materie prime in prodotti utilizzabili. Questa trasformazione avviene in tre fasi: l'immissione della materia prima; la lavorazione; l'emissione del prodotto finito. Informazioni trasformate, elaborate ed organizzate dalla macchina che possiede una estrema velocità e grandi capacità di calcolo e di memorizzazione. PC – Computer – Elaboratore Definizione Macchina capace di eseguire algoritmi che elaborano dati in forma binaria. Il nome completo e’ electronic digital computer dove electronic significa che utilizza componenti elettronici per rappresentare ed elaborare l'informazione digital significa che rappresenta le informazioni utilizzando segnali digitali (cifre binarie). computer significa che può immagazzinare dati (ha una memoria) e elaborare programmi (ha un processore) scritti usando un insieme di istruzioni prefissato. Computer Un computer consta di due componenti: l’hardware = apparecchiature elettroniche di vario tipo Il software = insieme delle informazioni che stanno nel computer che servono ad animarlo Computer:::Hardware I Lista dei componenti essenziali: ► CPU o processore Motherboard o scheda madre RAM o memoria principale Scheda video Scheda audio Hard disk o disco ► Lettori Floppy, DVD, CD … ► Monitor, mouse, tastiera Modem, scheda di rete Lettore Floppy, lettore DVD, lettore CD ► ► ► ► ► ► ► Architettura dell’elaboratore Elaborazione dati Processore (Central Processing Unit - CPU) Memorizzazione dati Memoria principale (o RAM) Memoria secondaria (o di massa) Trasferimento dati Dispositivi di input/output Processore - CPU Si occupa di eseguire i programmi che sono scritti in linguaggio macchina I programmi sono fatti di istruzioni elementari (somma due numeri, confronta due numeri, leggi/scrivi dalla memoria) Le istruzioni possono avere formati diversi Es. Codice Istruzione Argomento 1 Argomento 2 Hardware::: Processore Il processore preleva dalla memoria delle istruzioni e le esegue. La potenza di calcolo di un processore e’ data dal tempo che occorre per eseguire le istruzioni. I processori oggi sono composti da un solo microcircuito detto microprocessore. Hardware::: Scheda Madre Stretto legame con il processore Durante l’accensione si occupa di inizializzare il sistema e verificare il funzionamento di tutte le periferiche installate A regime gestisce il traffico delle informazioni tra le varie componenti. Hardware::: RAM Contenitore di dati Amesse due operazioni, la lettura e la scrittura Il nome RandomAccessMemory deriva dal fatto che si può accedere ai dati in qualsiasi posizione si desideri La RAM e la CPU parlano tra di loro in bit Memoria principale (RAM) Insieme alla CPU forma l’Unità Centrale di un elaboratore Conserva i programmi e i dati usati dalla CPU Sequenza di celle ad ogni cella è associato un indirizzo (un numero progressivo a partire da 0 ) RAM caratteristiche La RAM è veloce per leggere/scrivere una cella ci vuole un tempo di accesso dell’ordine di poche decine di nanosecondi (milionesimi di secondo) La RAM è volatile è fatta di componenti elettronici, togliendo l’alimentazione si perde tutto La RAM è (relativamente) costosa La RAM, fino ad un certo limite, è espandibile Hardware::: Hard Disk Contenitore di dati A differenza della RAM non e’ volatile e conserva i dati Hardware::: Schede Audio e Video Piccoli computer che gestiscono le periferiche: video, videoproiettore, casse, microfono …. Hardware::: Monitor Dispositivo tipo “schermo televisivo” che visualizza le informazioni contenute nel PC. I monitor si dividono in CRT (Cathode Ray Tube) LCD (Liquid Crystal Display) Hardware::: Floppy, CD, DVD Gli hard disk contengono una grande quantità di dati ma è impossibile portarseli dietro. Ecco i supporti rimovibili: Floppy primo supporto ormai desueto (circa 1.5Mb) Cd supporto per audio, dati … (circa 600Mb in su) Dvd supporto per audio, dati, video … (circa 20 volte più capace..) Flash pen , HD portatili A grandi linee Ricapitolando possiamo dire che Il funzionamento di un elaboratore dipende da due fattori principali: 1) 2) dalla capacità di memorizzare i programmi e i dati [Capacita’ RAM] dalla capacità di elaborare i dati secondo quanto specificato nelle istruzioni che formano i programmi [Capacita’ CPU] Computer:::Hardware Case Periferiche CPU o processore Monitor Motherboard o scheda madre Mouse RAM o memoria principale Tastiera Scheda video Modem Scheda audio Hard disk o disco Computer:::Hardware:::Periferiche Dispositivi di Input / Output Servono a “comunicare” con il computer Si collegano alle porte (o interfacce) del computer Ad alto livello le porte sono le “prese” cui si connettono i dispositivi Periferiche:::Input Tastiera Mouse Scanner Microfono Camera e telecamera digitale Input = in ingresso verso il PC Input: la tastiera È il principale strumento di input ogni volta che l’utente digita un tasto, la tastiera comunica al processore che un carattere è disponibile Si parla spesso di tastiera QWERTY, nome che deriva dalla disposizione dei primi sei caratteri sulla tastiera. In Germania le tastiere tedesche vengono chiamate tastiere QWERTZ. Le tastiere francesi per PC impiegano il layout AZERTY Periferiche:::Output Stampante Videoterminale Casse acustiche Output = in uscita dal PC Output: il video I Visualizza i dati che l’utente inserisce in input e i risultati delle elaborazioni del calcolatore E’ una matrice di punti (pixel) illuminati con diversa intensità La dimensione del video viene misurata in pollici ed e’ la lunghezza della diagonale del video (15 pollici o 17 pollici) Output: il video II Risoluzione in pixel 800 × 600 1024 × 768 1280 × 1024 1600 × 1200 La risoluzione del video indica la densità dei pixel sullo schermo Rewind Hardware::: RAM Contenitore di dati Ammesse due operazioni, la lettura e la scrittura Il nome RandomAccessMemory deriva dal fatto che si puo’ accedere ai dati in qualsiasi posizione si desideri La RAM e la CPU parlano tra di loro in bit Codifica digitale dell’informazione Codifica Digitale Informazione Il funzionamento di un computer è simile a quello degli interruttori elettrici On o off Sistema binario: 0 o 1 Le informazioni sono codificate in formato binario Bit (Binary digIT) assume valori 0 o 1 Byte = sequenza di 8 bit Bit & Byte Tipi di Informazione • Esistono vari tipi di informazione, di natura e forma diversa, così come rappresentazioni diverse della stessa informazione Come rappresentare l’informazione • Si introduce il concetto di codifica codifica Informazione rappresentazione decodifica Codifica - Decodifica X = insieme degli oggetti da rappresentare A = alfabeto di simboli A* = insieme di sequenze costruite su A cod: X => A* decod: A* => X L’insieme X, l’alfabeto A, le funzioni cod e decod formano un Codice Codifica binaria • Nel caso dei sistemi di calcolo è stata introdotta la rappresentazione digitale A = {0, 1} bit (binary digit - cifra binaria): 0 o 1 • Per poter rappresentare le informazioni si usano sequenze di bit A* 00011011, 01010001, …. Codifica dell’informazione • Con 2 bit si codificano 4 informazioni (22) A*= {00, 01, 10, 11} • Con 3 bit si codificano 8 informazioni (23) A*= {000, 010, 100, 001, 011, 110, 101, 111} • ……… • Con N bit si codificano 2N informazioni Codifiche Le codifiche che ci interessano: 1. 2. 3. 4. Codifica dei caratteri Codifica delle parole Codifica delle immagini Codifica dei suoni Codifica dei caratteri Per codificare ogni simbolo dell’alfabeto anglosassone sono sufficienti: 7 bit (ASCII standard) 8 bit [1byte] (ASCII esteso) 16 bit [2byte] (UNICODE) ASCII = American Standard Code for Information Interchange Unicode assegna un numero univoco a ogni carattere, indipendentemente dalla piattaforma, indipendentemente dall'applicazione, indipendentemente dalla lingua. Codifica UNICODE Unicode è un’organizzazione che standardizza la rappresentazione del testo in forma elettronica Unicode permette la rappresentazione dei caratteri di molti alfabeti non latini: arabo, ebraico,cinese, giapponese, coreano, tailandese, ecc, nonché caratteri speciali (matematici, tecnici, frecce, elementi grafici, …). Codifica ASCII Codifica delle parole Le parole sono sequenze di caratteri e come tali sequenze di sequenze di bit Esempio: “Franca” diventa 01000110 01010010 01000001 F R A 01001110 01000011 01000001 N C A Codifica delle immagini • Per codificare le immagini in bianco e nero si assegna ad ogni pixel un bit • Per codificare le immagini a colori si assegna ad ogni pixel viene assegnata una sequenza di bit • Per memorizzare un pixel non è più sufficiente un solo bit. se utilizziamo 4 bit possiamo rappresentare 24=16 colori diversi, mentre con 8 bit ne abbiamo 28=256 Esempio bianco e nero Codifica dei suoni I Fisicamente un suono è rappresentato come un’onda che descrive la variazione della pressione dell’aria nel tempo (onda sonora) Codifica dei suoni II Misurando il valore dell’onda ad intervalli di tempo costanti si ottengono dei valori numerici che possono essere facilmente codificati Quanto più frequentemente il valore dell’onda viene campionato, tanto più precisa sarà la sua rappresentazione • Il numero di campioni raccolti per ogni secondo definisce la frequenza di campionamento che si misura in Hertz (Hz) Byte Nome Abbr. Valore Potenza di 2 byte Bob 1 20 Kilo KB o Kb 1024 210 Mega MB o Mb 1048576 220 Giga GB o Gb 1073741824 230 Tera TB o Tb 109951162776 240 Esercizi 1. 2. 3. Dovendo rappresentare 1.000 informazioni diverse quanti bit mi servono per la codifica? Quanti byte occupa la parola “mistero” se la si codifica utilizzando il codice ASCII esteso? Quanti byte occupa un’immagine di 100x100 pixel in bianco e nero?