La macchina di Von Neumann Lo schema della macchina di Von Neumann, modello sul quale si basano praticamente tutti i moderni computer è basato su quattro elementi fondamentali: Architettura di un elaboratore •La memoria •L’unità aritmetico logica (ALU) • • • Ciclo fondamentale della macchina di Von Neumann Uno sguardo ai PC Oltre Von Neumann ? Processore •L’unità di controllo •Le unità di Ingresso/Uscita (I/O) Corso di Informatica 2005-2006 2 3 - Architettura di un Elaboratore Esecuzione di un programma: instruction fetch Esecuzione di un programma RAM CU … 0001 … 0010 … 0011 00010001 indirizzi 0001000111110000 0000 Bus IR dati Ciclo di esecuzione di un programma: •Instruction fetch •Decodifica •Esegui controlli PC: 0011 Bus ++ Bus Una volta introdotta la metodologia di codifica dell’informazione per un calcolatore possiamo descrivere con maggiore dettaglio le fasi di esecuzione di un programma che, come visto, sono: 0100 11110000 0101 … 0110 … 0111 … F/S: F MAR: 0011 MDR: 0001000111110000 Corso di Informatica 2005-2006 3 - Architettura di un Elaboratore 3 Corso di Informatica 2005-2006 3 - Architettura di un Elaboratore 4 Esecuzione di un programma: decodifica CU IR R1: R2: R2: R15: 25 R15: 25 R15: 25 R24: 33 R24: 33 R24: 58 R2: 01111 =R15 PC: 0101 R1: R1: 000100=ADD ADD R15 R24 11000 = R24 0001000111110000 SR: Corso di Informatica 2005-2006 3 - Architettura di un Elaboratore 5 In generale per una data architettura la velocità aumenta con l’aumentare della frequenza di clock. Se la fase IF è l’unica che richiede accesso alla RAM, e le fasi di decodifica ed esecuzione sono molto più rapide, questo suggerisce la tecnica del pipelining Instruction Fetch Dimensione della cache limitata da: •Costo elevato •Aumento di complessità del processore 3 - Architettura di un Elaboratore 6 3 - Architettura di un Elaboratore La sequenza di passi del processo di esecuzione è sincronizzata da un segnale esterno periodico (clock). Frequenze tipiche del clock Per un moderno calcolatore variano tra alcune centinaia di MHz e 1-2 GHz Idea: integrare la CPU con memoria locale veloce contenente i dati a cui si è avuto accesso più di recente: la memoria cache Questo è un esempio del concetto di buffer, largamente usato in informatica. Corso di Informatica 2005-2006 Corso di Informatica 2005-2006 Clock e pipelining Lo scambio di informazioni all’interno della CPU, ad es. fra CU e ALU avviene a velocità molto maggiore di quella con cui la CPU accede alla RAM. Cache SR: + SR: Buffer e cache CPU ALU ALU ALU Decodifica ++ Esecuzione di un programma: esecuzione dell’istruzione Decodifica Esecuzione Instruction Fetch 7 Corso di Informatica 2005-2006 3 - Architettura di un Elaboratore 8 CISC vs RISC Complex Instructions Set Computer Il pentium, prodotto da Intel è il più diffuso processore per personal computer Reduced Instructions Set Computer Istruzioni complesse che impiegano più cicli di clock Istruzioni semplici che impiegano al più un ciclo Ogni istruzione può accedere alla RAM Solo LOAD e STORE accedono alla RAM, le altre operano sui registri Pipeline scarso o assente Pipelining spinto Microprogrammazione Istruzioni eseguite dall’hardware Istruzioni a formato variabile Istruzioni a formato fisso Molte (O(300)) istruzioni Poche (O(30)) istruzioni Singolo set di registri Set di registri multipli Corso di Informatica 2005-2006 Un esempio di CISC: il Pentium 3 - Architettura di un Elaboratore Alcune caratteristiche salienti: •Due livelli di cache fino a 512 K •MMX : istruzioni dedicate per applicazioni multimediali •Branch prediction: in caso di salto condizionato il processore esegue un pre-fetch dell’istruzione seguita al passo precedente. In un ciclo questo permette di caricare la giusta istruzione tranne che all’ultimo passo del ciclo. 9 Utilizzato in molte workstation Unix, l’Ultra SPARC I possiede alcune delle caratteristiche migliori del Pentium: due livelli di cache, dynamic branch prediction. 10 1 MIPS (Millions of Instructions per Second) = 106 operazioni logiche o fra interi al s 1 MFlOPS (Millions of Floating point Operations per Second) = 106 operazioni in virgola mobile al s Inoltre possiede un bus a 128 bit fra memoria e processore e una doppia pipeline. Una graphics unit permette di gestire applicazioni 2D-3D. 3 - Architettura di un Elaboratore 3 - Architettura di un Elaboratore Prestazioni di un calcolatore (I) Unità “assolute”: Un esempio di RISC: SUN SPARC Corso di Informatica 2005-2006 Corso di Informatica 2005-2006 Sono piuttosto inadatte a misurare le prestazioni per l’utente finale, ovvero il tempo effettivo di esecuzione di un dato programma, e il loro valore dipende da molti fattori, fra cui: •Il set di istruzioni del calcolatore •Il programma utilizzato per calcolarli 11 Corso di Informatica 2005-2006 3 - Architettura di un Elaboratore 12 Prestazioni di un calcolatore (II)di programmi scritti in un Concetto di benchmark: un insieme Uno sguardo ai PC linguaggio di alto livello (e quindi portabili da un calcolatore all’altro). SPEC: Standard Performance Evaluation Corp. (http://www.specbench.org) I personal computers (PC) sono oggi i più diffusi strumenti informatici. Vediamone le caratteristiche più importanti. Esempio: SPECint2000 (e SPECfp2000) Un case formato ATX Corso di Informatica 2005-2006 3 - Architettura di un Elaboratore 13 Corso di Informatica 2005-2006 La scheda madre 3 - Architettura di un Elaboratore 14 Il processore La scheda madre o motherboard è l’elemento hardware che contiene tutti i principali circuiti necessari al corretto funzionamento di CPU, memoria e dispositivi di I/O….quindi…mai risparmiare sulla scheda madre nell’acquisto di un PC !!!!! Corso di Informatica 2005-2006 3 - Architettura di un Elaboratore Il processore comprende, come visto, ALU, CU e memoria cache, ovvero memoria locale veloce. I processori più diffusi per PC sono il Pentium prodotto da Intel, giunto ormai alla IV generazione con frequenze di clock oltre i 3 GHz, e i processori prodotti da AMD (es. Athlon) con prestazioni comparabili. I due processori sono praticamente del tutto compatibili dal punto di vista software. 15 Corso di Informatica 2005-2006 3 - Architettura di un Elaboratore 16 Il clock La memoria Le operazioni di una macchina di Von Neumann vengono eseguite in sequenza: il numero di operazioni che essa svolge in un secondo è dato dalla frequenza di clock. Le frequenze di clock sono aumentate dai 4.77 MHz (ovvero 4.77 milioni di operazioni al secondo) dei primi personal computers IBM agli oltre 3 GHz (ovvero 3 miliardi di operazioni al secondo) degli odierni pentium. La RAM correntemente utilizzata sui PC è oggi di tipo volatile, basata su tecnologia a semiconduttori. Il tipo più diffuso è la syncronous dynamic RAM o SDRAM. Dimensioni tipiche della memoria di un PC sono dell’ordine di 256-512 MB. I tempi di accesso vanno da qualche ns a qualche decina di ns La velocità di un computer non dipende però soltanto dalla frequenza di clock del processore, ma oggi anche (o soprattutto) da altri fattori: •Velocità di comunicazione con la RAM (bus) •Quantità di memoria cache •Quantità di memoria RAM Corso di Informatica 2005-2006 3 - Architettura di un Elaboratore Una SDRAM DIMM a 168 pin 17 Corso di Informatica 2005-2006 3 - Architettura di un Elaboratore Dispositivi di I/O La tastiera Come già accennato i dispositivi di I/O sono di tipo più vario. In generale però essi utilizzeranno: Il più utilizzato dispositivo di input. La tastiera comprende più di 100 tasti e permette di introdurre caratteri speciali. La disposizione “qwerty” è quella storica della macchina da scrivere. Esc •Un bus di I/O, che permette ai dispositivi ad esso collegati di comunicare con il resto del sistema Tasti funzione 18 Tasti speciali •Una interfaccia hardware fra il dispositivo e il PC •Un protocollo software per gestire i dati provenienti dall’interfaccia. Tastiera alfanumerica Corso di Informatica 2005-2006 3 - Architettura di un Elaboratore 19 Corso di Informatica 2005-2006 Tastierino numerico 3 - Architettura di un Elaboratore 20 Il mouse Memorie di massa Comunissimo dispositivo di input. Dispone di due tasti per compiere azioni e sempre più spesso di una rotellina per far scorrere il testo. Come già ricordato nei moderni PC la memoria RAM è volatile: una volta spento il computer tutta l’informazione in essa contenuta viene perduta. Esistono però dispositivi di I/O su cui possono essere memorizzati dati in modo permanente: le memorie di massa. Si dividono essenzialmente in: •Dispositivi magnetici: Hard disk, Floppy Disk, Nastri •Dispositivi ottici: CD, CDROM, CD-R, CD-RW, DVD Corso di Informatica 2005-2006 21 3 - Architettura di un Elaboratore Corso di Informatica 2005-2006 La struttura Cylinder-Head-Sector è trasparente per l’utente, ma viene gestita dal sistema operativo tramite l’operazione di formattazione del disco. Il settore è l’unità minima di informazione in lettura/scrittura. Cylinder Corso di Informatica 2005-2006 Sector I due standard più diffusi per gli hard disk sono il protocollo EIDE (economico e dalle prestazioni medio basse) e quello SCSI (più costoso e dalle prestazioni elevate). Tipiche capacità vanno da 40 a 250 GB Velocità tipiche di rotazione: 5400-7200 rpm (giri/minuto). Tempi tipici di accesso: 10-15 ms (seek+latency) 3 - Architettura di un Elaboratore 22 Hard disk (II) Hard disk Head 3 - Architettura di un Elaboratore 23 Corso di Informatica 2005-2006 3 - Architettura di un Elaboratore 24 Lettori ottici Floppy disk In questi dispositivi la testina magnetica è sostituita da un raggio laser. La presenza o assenza di riflessione su una traccia determina la sequenza di 0 e 1 . La capacità di un disco ottico è generalmente inferiore rispetto a quella di un hard disk, anche se la densità di memorizzazione è in realtà più elevata. Ovvi vantaggi sono la portatilità ed economicità del supporto. Si trovano in commercio diversi tipi di dischi ottici: Storicamente fra i primi dispositivi di memoria di massa utilizzati. La capacità è molto ridotta (1.44 MB). Sono dispositivi molto economici, ma anche estremamente poco affidabili. •CD audio (558 MB) •CDROM, sola lettura , 640 MB •CD-R, 640 MB, scrivibili 1 volta •CD-RW, 640 MB riscrivibili •DVD da 4 a 17 GB Corso di Informatica 2005-2006 3 - Architettura di un Elaboratore 25 Corso di Informatica 2005-2006 Altri dispositivi di I/O Il bus USB Nasce per risolvere in modo generale il problema della connessione di numerose periferiche al PC. Modem: permette di trasmettere informazioni sulla linea telefonica e di connettersi, tramite un provider, alla rete Internet L’idea di fondo è che ogni dispositivo collegato al bus possa fare da hub, ovvero da fulcro di una rete a stella di altri dispositivi ad esso collegati. In tal modo si possono collegare fino a 127 dispositivi con velocità di trasferimento 1.5 MB/s (o 12 Mb/s) I cavi di collegamento forniscono anche una tensione di 5 V. Stampante: permette di stampare pagine di testo, fotografie, disegni etc. Le più diffuse sono del tipo a getto di inchiostro, quelle usate in ambiti professionali sono di tipo laser Mouse Scanner: permette di acquisire in forma digitalizzata un’immagine, che viene quindi trasformata in un file, che poi può essere eventualmente ristampato (come in una fotocopiatrice) o inviato in rete (come in un fax) Corso di Informatica 2005-2006 3 - Architettura di un Elaboratore 26 3 - Architettura di un Elaboratore Modem PC Tastiera (+ hub) 27 Corso di Informatica 2005-2006 Scanner Fotocamera digitale Stampante (+hub) 3 - Architettura di un Elaboratore 28 Tenersi aggiornati Firewire & USB 2.0 Il mondo del PC è in così rapida evoluzione che la maggior parte delle informazioni di questa presentazione sarà obsoleta (o quasi) in un tempo piuttosto breve. • Il bus USB è inadeguato nelle situazioni in cui è richiesta un’alta velocità di trasferimento dati, come ad es. per l’utilizzo di dispositivi di memoria di massa esterni. Utili informazioni sul mondo del PC e sulla miriade di sigle incomprensibili che nascono quasi quotidianamente è il sito (in inglese): http://www.tomshardware.com • Firewire (alias i.Link, ovvero IEEE 1394) e USB 2.0 si contendono attualmente il mercato per quanto riguarda il trasferimento dati ad alta velocità rispettivamente di 400 e 480 Mb/s Corso di Informatica 2005-2006 3 - Architettura di un Elaboratore 29 Corso di Informatica 2005-2006 30 3 - Architettura di un Elaboratore Architettura SIMD Oltre Von Neumann ? Il primo tipo di architettura parallela ad essere implementato è stato lo schema Single Instruction Multiple Data stream Lo schema di Von Neumann domina la scena dei calcolatori da ormai più di mezzo secolo…un tempo lunghissimo in un campo come l’informatica. Unità di Controllo L’unico “punto debole” della macchina di Von Neumann è la sua intrinseca sequenzialità. I tentativi per superare l’approccio alla Von Neumann si basano tutti su una qualche forma di parallelismo. ALU ALU ALU ALU ALU ALU RAM RAM RAM RAM RAM RAM Molto efficace per operazioni su dati di tipo vettoriale Corso di Informatica 2005-2006 3 - Architettura di un Elaboratore 31 Corso di Informatica 2005-2006 3 - Architettura di un Elaboratore 32 Architettura MIMD Uno schema di parallelismo più complesso, e potenzialmente più potente è quello detto di Multiple Instruction Multiple Data stream Rete di connessione CPU CPU CPU CPU CPU CPU RAM RAM RAM RAM RAM RAM Per essere realmente utile richiede la realizzazione di algoritmi paralleli Corso di Informatica 2005-2006 3 - Architettura di un Elaboratore 33