Hardware • Che cos’è un computer • Hardware dei personal computer (pc) • Perché il binario? • La memoria del computer • Il processore • Gestione dell’input/output Hardware Software Il computer è una macchina programmabile, cioè può essere “istruita” ad eseguire compiti differenti. Informatica Generale (CdL in E&C), A.A. 2000-2001 2 1 Hardware e software • Hardware: parti fisiche del computer, costituite di componenti meccaniche ed elettroniche • Software: programmi e dati, intangibili, che dirigono le operazioni svolte dall’hardware • Programma: lista di istruzioni per il computer (processore) • Dato: qualunque informazione che serve ad un programma: numero, carattere, suono immagine, ... Informatica Generale (CdL in E&C), A.A. 2000-2001 3 I “compiti” generali di un elaboratore Trasmissione dati Dischi Unità centrale (elaborazione e controllo) Video Trasferimento dati Stampante RAM Memorizzazione permanente e temporanea Informatica Generale (CdL in E&C), A.A. 2000-2001 4 2 Classi di computer • Mainframe (es. IBM 3090) – Grandi sistemi informativi (∼ 100 terminali) • Supercomputer (es. CRAY T3E) – Calcolo scientifico intensivo • Minicomputer/server (es. IBM AS/400) – Sistemi informativi aziendali medio/piccoli (∼ 10 terminali) • Workstation (es. Sparcstation SUN) – Applicazioni ingegneristiche, grafica • Personal computer Informatica Generale (CdL in E&C), A.A. 2000-2001 5 HARDWARE DEI PERSONAL COMPUTER (PC) Informatica Generale (CdL in E&C), A.A. 2000-2001 6 3 Famiglie di Personal Computer • A “torretta” (tower e minitower) • Da scrivania (desktop) • Portatile (notebook o laptop) Informatica Generale (CdL in E&C), A.A. 2000-2001 7 Architettura logica di un PC Informatica Generale (CdL in E&C), A.A. 2000-2001 8 4 Scheda madre (main board o motherboard) • CPU (microprocessore) • Memoria RAM • Circuiti di collegamento per il trasporto dei dati (data bus) • Circuiteria per le funzioni base di I/O (disk controller • “Slot” per schede di espansione (scheda grafica, scheda audio, scheda LAN e modem interno) Informatica Generale (CdL in E&C), A.A. 2000-2001 • • • • • 9 Processore Un quadratino di plastica di circa un pollice di lato con all’interno un quadratino ancora più piccolo di silicio contenente più di 100 milioni di transistor (attualmente) È il “cervello” del computer Svolge le fondamentali funzioni di calcolo Reperisce dati dalla RAM o dai dispositivi periferici Invia dati alla RAM o ai dispositivi periferici Informatica Generale (CdL in E&C), A.A. 2000-2001 10 5 Memoria centrale o primaria (RAM) • Diversamente dal cervello umano, un processore ha internamente poca memoria ⇒ funzione svolta da altri componenti • Vi sono due tipi fondamentali di memoria – memoria centrale (o RAM): contiene programmi in corso di esecuzioni con relativi dati – memoria secondaria: deposito “permanente” di dati e programmi • Dati e programmi sono memorizzati allo stesso modo Informatica Generale (CdL in E&C), A.A. 2000-2001 11 Caratteristiche della RAM • Strettamente collegata al processore (milioni di interazioni al secondo) • Utilizzata per contenere i programmi in esecuzione con i relativi dati • Contenuto facilmente modificabile • Volatile (il contenuto si perde in assenza di alimentazione) • Veloce (7÷70 ns per accedere ad un dato), ma relativamente poco capiente Informatica Generale (CdL in E&C), A.A. 2000-2001 12 6 Memoria secondaria (o di massa) • Contiene programmi e dati organizzati in file • Collegata alla memoria centrale ma non (direttamente) al processore ⇒ per essere eseguiti i programmi devono essere copiati nella RAM • Utilizzabile per memorizzazione permanente • Enorme capacità rispetto alla RAM ma elevato tempo di accesso ai dati (dell’ordine dei millisecondi) Informatica Generale (CdL in E&C), A.A. 2000-2001 13 Dispositivi di memoria secondaria • Dischi magnetici (hard disk) → Memorizzazione permanente di programmi e dati • Dischi magnetici (floppy disk) → Trasferimento dati fra computer • Nastri magnetici → Backup dei dati • Dischi ottici (CD ROM) → Distribuzione di programmi, giochi, ecc. Informatica Generale (CdL in E&C), A.A. 2000-2001 14 7 Dischi rigidi (hard disk) • L’hard disk registra i byte su una superficie magnetica • La registrazione e la lettura sono effettuate da una testina di lettura/scrittura • La lettura/scrittura da disco richiede “molto” tempo poiché coinvolge movimenti meccanici Informatica Generale (CdL in E&C), A.A. 2000-2001 15 Dischi rigidi (2) • Velocità di rotazione: 5400 ÷ 10000 giri/min • Formato a tracce e settori (valori tipici: 400 tracce, 32 settori) • Testina di lettura a movimento radiale • Tempo di accesso (5 ÷ 10 msec) vicino al limite fisico • Capacità elevate (> 4 GB) • Costo contenuto (< 100 lire/MB) Informatica Generale (CdL in E&C), A.A. 2000-2001 16 8 Dischetti rimovibili (floppy disk) • Supporti circolari (diametro 3.5 o 5.25 pollici) magnetizzati, in rotazione solo al momento dell’accesso • Velocità di rotazione bassa (300 ÷ 360 giri/min • Tempo di accesso elevato (decimi di sec.) • Capacità limitata (1.44 MB) • Costo unità contenuto (poche decine di migliaia di lire) Informatica Generale (CdL in E&C), A.A. 2000-2001 17 Streamer • Unità zip (da 100MB e 250MB) • Costo ormai inferiore a 200K lire • Unità jazz (fino a 2GB) • Costo inferiore a 500K lire Informatica Generale (CdL in E&C), A.A. 2000-2001 18 9 Nastri magnetici • Organizzazione sequenziale con blocchi (detti record fisici) multitraccia → Accesso sequenziale • Densità di registrazione 800 ÷ 6250 Byte per pollice (bpi) • Tempo di accesso molto elevato (può essere dell’ordine dei minuti) → Uso per copie di sicurezza (backup) • Costo relativamente elevato (∼ 2 Mlire per unità DAT) Informatica Generale (CdL in E&C), A.A. 2000-2001 • • • • • • 19 Lettori ottici (CD ROM) Supporti circolari non riscrivibili Memorizzazione dei dati a spirale Lettura mediante raggio laser Velocità misurata come Nx (cioè N volte la velocità del tradizionale CD musicale) Capacità elevate in rapporto ai floppy disk (∼ 650 MB) Costo unità contenuto (100 ÷ 500 Mlire) Informatica Generale (CdL in E&C), A.A. 2000-2001 20 10 CD- RW (masterizzatori) e DVD • Un CD-RW consente la scrittura (write once) di un CD • Il costo di un buon CD-RW può superare, di poco, il milione di lire • Un DVD (Digital Versatile Disk) ha una capacità molto superiore ad un normale CD (> 4GB) → possibilità di memorizzare filmati • Il costo di una unità DVD varia tra 500K e 1M lire Informatica Generale (CdL in E&C), A.A. 2000-2001 21 Dispositivi di I/O (periferiche) • • • • • • • Tastiera Mouse Microfono Scanner Monitor Altoparlante Stampante Dispositivi di Input Dispositivi di Output Informatica Generale (CdL in E&C), A.A. 2000-2001 22 11 Stampanti (prestazioni) Risoluzione Velocità Uso tipico 100÷200 dpi 200÷400 Modulo car/sec continuo, copie cc Personal Ink jet 300÷720 dpi 1÷6 pag/min Computing Professional Laser Da 600 dpi 4÷20 jet pag/min Computing Aghi Informatica Generale (CdL in E&C), A.A. 2000-2001 Colore Bassa qualità Buona qualità Costo elevato 23 Modem • Modulatore/demodulatore • Effettua conversioni digitale/analogico e viceversa per trasmissioni su linea telefonica • Velocità tipica attuale 56Kbit/sec Informatica Generale (CdL in E&C), A.A. 2000-2001 24 12 Caratteristiche dell’architettura dei PC • Modularità – scheda “madre” – bus e schede di espansione • Scalabilità • Standardizzazione – grande disponibilità di componenti – economicità, basso rapporto costo/prestazioni Informatica Generale (CdL in E&C), A.A. 2000-2001 25 PERCHÉ IL BINARIO? Informatica Generale (CdL in E&C), A.A. 2000-2001 26 13 Dispositivi binari • Dispositivo binario = che può essere in uno di due stati possibili, variamente indicati con 0/1, falso/vero, off/on • Un bit è un singolo valore 0/1 • Sono dispositivi binari? – un’interruttore della luce “tradizionale” – l’interruttore di avviamento di una macchina – la lancetta delle ore di un orologio – un tasto su una calcolatrice tascabile – il pomello di controllo del volume di una radio Informatica Generale (CdL in E&C), A.A. 2000-2001 27 Perché i computer usano dispositivi e segnali binari • I dispositivi binari sono più semplici da costruire • I segnali binari sono non ambigui • Si possono fare “copie” fedeli dei segnali binari • Tutto ciò che si può rappresentare come sequenza di simboli si può rappresentare come sequenza di simboli binari Informatica Generale (CdL in E&C), A.A. 2000-2001 28 14 Segnale binario Segnale analogico Informatica Generale (CdL in E&C), A.A. 2000-2001 29 Trasmissione imperfetta Rigenerazione fedele Informatica Generale (CdL in E&C), A.A. 2000-2001 30 15 L’orologio del computer (clock) • Lo stato dei dispositivi binari all’interno di un computer richiede un certo tempo per cambiare (0 → 1 o 1 → 0) • Quindi la lettura dei valori binari (0/1) può avvenire solo a determinati istanti • Questo è il motivo per cui i computer hanno un “orologio” (generatore di impulsi) • Orologio più veloce implica computer più veloce (a parità di altre condizioni) Informatica Generale (CdL in E&C), A.A. 2000-2001 31 LA MEMORIA DEL COMPUTER Informatica Generale (CdL in E&C), A.A. 2000-2001 32 16 Bit • In memoria (centrale o secondaria) l’informazione è immagazzinata sotto forma di sequenze di bit • Un bit è un singolo valore 0/1 (off/on) • Un bit può essere implementato in molti modi – un commutatore elettromeccanico – la tensione agli estremi di un conduttore – un transistor – un piccola superficie magnetizzata su disco/nastro – una piccola superficie riflettente su un CD Informatica Generale (CdL in E&C), A.A. 2000-2001 33 L’informazione si può copiare • Non cambia quando è copiata da un mezzo ad un altro • Si possono fare quante copie si vuole • Esempio: download di un brano musicale da un sito Web: disco magnetico del sito web → memoria centrale → interfaccia di rete → rete → … → vostro modem → memoria centrale → scheda audio → • L’informazione rappresentata non cambia Informatica Generale (CdL in E&C), A.A. 2000-2001 34 17 Byte • Un bit è così poca informazione che la memoria è organizzata in gruppi di 8 bit, detti byte • Gruppi di N byte (N dipende dal particolare computer) vengono detti word • Sugli attuali PC, N=4 • Per rappresentare i dati sono spesso richiesti molto più di 8 bit, a volte milioni o anche miliardi di byte Informatica Generale (CdL in E&C), A.A. 2000-2001 35 Potenze di due Informatica Generale (CdL in E&C), A.A. 2000-2001 36 18 Un’immagine della memoria centrale • La memoria consiste di una lunga lista di byte • Ogni byte ha un indirizzo • Ogni rettangolo in figura rappresenta una locazione di memoria • Ogni locazione di memoria contiene un byte • L’indirizzo di ogni locazione NON è parte della memoria I n d i r i z z i Memoria centrale Informatica Generale (CdL in E&C), A.A. 2000-2001 37 Il contenuto della memoria I n d i r i z z i Memoria centrale • Ciò che una sequenza rappresenta dipende dal “contesto” (cioè dal modo in cui un programma usa la sequenza) • Esempio: il byte 01010001 (memorizzato all’indirizzo 2) può rappresentare il carattere Q o il numero 81 o altro ancora Informatica Generale (CdL in E&C), A.A. 2000-2001 38 19 Lettura e scrittura Il processore può fare due cose fondamentali con la memoria: • Può scrivere un byte ad un dato indirizzo – il contenuto precedente è perduto – il nuovo contenuto rimane per un uso futuro • Può leggere un byte – il processore ottiene la sequenza di bit – il contenuto della particolare locazione rimane inalterato Informatica Generale (CdL in E&C), A.A. 2000-2001 39 Programmi e memoria • Una sezione della memoria contiene i dati elaborati da un programma in esecuzione: il contenuto di questa porzione di memoria viene generalmente modificato • Un’altra sezione contiene le istruzioni del programma: il contenuto rimane (generalmente) inalterato • Usando linguaggi di programmazione ad alto livello (C, Java, …), non è necessario tenere traccia del contenuto della memoria Informatica Generale (CdL in E&C), A.A. 2000-2001 40 20 Organizzazione dei dati sulle memorie di massa • Ogni “entità referenziabile ” su disco è un file – un programma – un insieme di dati utilizzati da un programma – un archivio di dati – un grafico • I file sono identificati da un nome (filename) – nome Esempi: tesi.doc, sort.java, sort.class – estensione Informatica Generale (CdL in E&C), A.A. 2000-2001 41 Una classificazione dei file • File eseguibili – contengono istruzioni per il computer – appaiono in formato non comprensibile all’utente – sono eseguiti su richiesta dell’utente o di altri programmi • File di dati – contengono parole, numeri, immagini che possono essere visti, modificati, stampati – sono creati utilizzando software applicativo (tipicamente) Informatica Generale (CdL in E&C), A.A. 2000-2001 42 21 IL PROCESSORE (CPU) Informatica Generale (CdL in E&C), A.A. 2000-2001 43 Che cosa c’è nel processore? • Unità aritmetico logica (detta ALU) → esegue le operazioni • Unità di controllo → controlla l’ordine di esecuzione delle istruzioni del programma • Registri generali → sono la (piccola) memoria del processore • Registri speciali Informatica Generale (CdL in E&C), A.A. 2000-2001 44 22 Ciclo base di un computer • Programmi e dati risiedono nella RAM • La CPU esegue ciclicamente la seguente procedura: – Recupera un’istruzione dalla RAM – Decodifica l’istruzione – Recupera dalla RAM gli eventuali dati specificati dall’istruzione – Esegue l’istruzione (può comportare il trasferimento da/verso i disp. periferici) – Scrive nella RAM gli eventuali risultati Informatica Generale (CdL in E&C), A.A. 2000-2001 45 Operazioni di macchina • Il processore è in grado di eseguire operazioni semplici e molto dettagliate, come – sommare due numeri – illuminare un certo punto sul video – spostare un byte da una posizione ad un’altra della memoria – verificare se un bit ha il valore 1 • Sembra davvero poco! Informatica Generale (CdL in E&C), A.A. 2000-2001 46 23 La forma delle istruzioni macchina • Ogni istruzione consiste di più byte • Ogni istruzione specifica: – un codice operativo, che individua un’operazione di macchina – uno o più operandi, che specificano i dati su cui agire • Un programma eseguibile è una sequenza di istruzioni macchina Informatica Generale (CdL in E&C), A.A. 2000-2001 47 Un esempio (non necessariamente reale) 8 bit 8 bit Codice operativo Operando1 16bit Operando2 - 256 possibili codici operativi (quindi 256 istruzioni) - Operando1 indica uno fra 256 possibili registri della CPU - Operando2 denota un indirizzo fra 0 e 216-1 Esempio: 103 102 101 100 00101000 00000001 00000001 00000101 il byte all’indirizzo 296 nel registro 1… Carica... Informatica Generale (CdL in E&C), A.A. 2000-2001 48 24 Un frammento di programma • Carica nel registro 1 il byte all’indirizzo 296 • Carica nel registro 2 il byte all’indirizzo 300 • Somma i contenuti dei registri 1 e 2 e metti il risultato nel registro 3 • Memorizza il contenuto del registro 3 nella posizione di memoria di indirizzo 296 00000101 00000101 00001101 00101000 00000001 00000010 00000011 00000011 00000001 00000001 00000001 00000001 00101000 00101100 00000010 00101000 Informatica Generale (CdL in E&C), A.A. 2000-2001 49 Processori diversi • Processori differenti hanno differenti istruzioni ed operazioni di macchina • Un programma in linguaggio macchina di un Pentium non ha senso per un processore Apple tuttavia • un processore è comunque in grado di fare ciò che fa l’altro, usando un codice macchina differente Informatica Generale (CdL in E&C), A.A. 2000-2001 50 25 Fattori che incidono sulla velocità della CPU • Frequenza dell’orologio interno (clock) • Complessità del set di istruzioni (processori RISC vs CISC) • Presenza di coprocessore matematico • Presenza di una memoria cache • Velocità di trasferimento dei dati sul bus • Dimensione della parola (word size) Informatica Generale (CdL in E&C), A.A. 2000-2001 51 Data bus • Collega i componenti sulla scheda madre • Trasporta i dati fra il processore e gli altri componenti (in particolare, la RAM) • Consiste di – linee per il trasporto di indirizzi – linee per il trasporto di dati Informatica Generale (CdL in E&C), A.A. 2000-2001 52 26 Memoria cache Memoria veloce (tempo di accesso ∼ 4 ns) che consente un più rapido accesso ai dati da parte della CPU • Il computer “prevede” quali sono i dati che verranno richiesti dal programma e li carica nella cache → principi di località spaziale e temporale • La CPU prima controlla se i dati siano nella cache prima di richiederli alla RAM Informatica Generale (CdL in E&C), A.A. 2000-2001 53 Gerarchie di memoria Velocità Registri Costo/bit Cache RAM Memorie di massa Informatica Generale (CdL in E&C), A.A. 2000-2001 54 27 Memoria ROM (Read-only memory) Memoria permanente che contiene le istruzioni che consentono (fra l’altro) l’avviamento del computer (bootstrap o semplicemente boot) Basic I/O System (ROM BIOS) Insieme di istruzioni che istruiscono il computer sul modo di accedere ai dischi magnetici Informatica Generale (CdL in E&C), A.A. 2000-2001 55 GESTIONE DELL’INPUT/OUTPUT Informatica Generale (CdL in E&C), A.A. 2000-2001 56 28 Interfaccia di I/O • Scheda di interfaccia (fra bus e periferica) • Modalità di trasferimento – seriale: mouse, tastiera (standard RS232C) – parallelo: stampante (standard centronics) • Gestione dell’I/O – a controllo di programma – mediante interruzione – con accesso diretto alla memoria (Direct Memory Address, o DMA) Informatica Generale (CdL in E&C), A.A. 2000-2001 57 Esempio di gestione della stampa di una riga • A controllo di programma → Il processore invia un carattere alla scheda di interfaccia, attende che questa segnali l’avvenuta stampa, quindi invia il carattere successivo. • Mediante interruzione → Il processore invia un carattere alla scheda, quindi si “occupa d’altro”. Quando la stampa termina, l’interfaccia manda un segnale di interruzione al processore per segnalare la nuova disponibilità dell’unità periferica. • Con accesso diretto alla memoria → Il processore invia ad una opportuna unità DMA l’indirizzo di memoria e la lunghezza del blocco dati da stampare. L’unità DMA gestisce quindi l’I/O. Informatica Generale (CdL in E&C), A.A. 2000-2001 58 29