Università di Salerno Corso di FONDAMENTI DI INFORMATICA Corso di Laurea Ingegneria Corso B Docente : Ing. Secondulfo Giovanni Anno Accademico 2010-2011 Lezione 6: L Architettura del Sistema di Elaborazione. Modello di Von Neumann Lunedì 18 Ottobre 2010
Elementi del modello di Von Neumann: Memoria Memoria Insieme di dispositivi aventi la funzione di memorizzare (mantenere nel tempo) istruzioni e dati Per eseguire in modo efficiente i programmi, la memoria dovrebbe essere: molto veloce molto capiente (dimensioni sufficienti a contenere un programma e tutti i suoi dati) 2
Memoria In un sistema di elaborazione ci sono sempre due tipi di memoria: la memoria centrale, interna al calcolatore, direttamente accessibile dalla CPU realizzata da componenti a semiconduttore la memoria secondaria o di massa, esterna al calcolatore realizzata da componenti magnetici, ottici, a stato solido (dischi, nastri, memory card, ecc.) R.A.M. R.O.M. Disco Fisso floppy CDROM nastri DVD Penne USB C.P.U. Memoria Cache Memoria Primaria Memoria Secondaria Memoria di Archiviazione Memorie in linea Memorie fuori linea 3
4
Elementi del modello di Von Neumann: Memoria Centrale La memoria centrale è una parte del sistema di memoria illustrato precedentemente e rappresenta la memoria interna al calcolatore direttamente accessibile dalla CPU La memoria centrale mantiene: i programmi (istruzioni) i dati necessari all'esecuzione dei programmi 5
Elementi del modello di Von Neumann: Memoria Centrale E un insieme finito di locazioni (celle o registri) di uguali dimensioni Ogni locazione di memoria consta di n bit, ciascuno dei quali può rappresentare una informazione binaria (valori 0 e 1) Ogni locazione è caratterizzata da un indirizzo e dal contenuto L indirizzo di una locazione è la posizione che questa occupa nella memoria rispetto alla prima locazione che ha indirizzo zero Il contenuto di una locazione è l'informazione in essa registrata (parola di memoria - WORD) 6
Elementi del modello di Von Neumann: Memoria Centrale 7
Elementi del modello di Von Neumann: Memoria Centrale La memoria centrale è caratterizzata: Dalla lunghezza di una parola di memoria che può variare da calcolatore a calcolatore, ma comunque è un multiplo del byte (es. 8,16,32,64 bit) Dalla capacità ovvero dal numero totale di locazioni di memoria La capacità della memoria si misura in byte o in multipli del byte. 8
Elementi del modello di Von Neumann: Memoria Centrale Alla memoria centrale si accede per effettuare operazioni di lettura o scrittura Ciascuna locazione di memoria può essere selezionata specificando il suo indirizzo nel registro degli indirizzi (MAR, Memory Address Register) L'indirizzamento di una locazione di memoria consiste nel selezionare elettricamente la locazione relativa all'indirizzo specificato Se il registro degli indirizzi (MAR) ha k bit può indirizzare 2 k celle di memoria i cui indirizzi variano da 0 a 2 k -1 Con un MAR di 10 bit si possono indirizzare 2 10 ovvero 1024 locazioni di memoria 9
Elementi del modello di Von Neumann: Memoria Centrale Memoria con: 2 3 =8 locazioni di 8 bit Capacità = 8*8 = 64 bit 1 0 0 000 001 010 011 100 101 110 111 0 0 0 1 0 1 0 0 indirizzo 4 contenuto 0 0 0 1 0 1 0 0 MDR a 8 bit MAR a 3 bit 10
Elementi del modello di Von Neumann: Memoria Centrale La memoria centrale a cui ci siamo fino ad ora riferiti viene anche detta memoria RAM (Random Access Memory) La RAM è volatile ovvero in assenza di alimentazione elettrica perde il suo contenuto Quando si spegne il computer, tutto quello che è stato caricato nella memoria RAM viene cancellato 11
Elementi del modello di Von Neumann: Memoria Centrale Una porzione di memoria centrale, identificata con il termine ROM (Read Only Memory) è riservata solo per operazioni di lettura La ROM è realizzata con diversa tecnologia e viene usate dai costruttori per memorizzare in modo permanente informazioni necessarie per l avviamento del sistema (firmware) 12
Le ROM si distinguono a seconda della tecnologia usata per memorizzare le informazioni iniziali in EROM, PROM e EPROM: Le EROM (Erasable ROM) sono ROM cancellabili, in genere questo tipo di ROM sono cancellabili esponendole a raggi ultravioletti Le PROM (Programmable ROM) sono ROM programmabili Le EPROM (Erasable and Programmable ROM) sono ROM cancellabili e programmabili Il software contenuto nelle ROM per distinguerlo da quello contenuto nella RAM viene chiamato firmware 13
Fa parte del firmware, ad esempio, il BIOS, cioè quel gruppo di istruzioni che consente: ai diversi processori di attivarsi al momento dell accensione del computer di effettuare un auto-test di funzionamento di caricare nella RAM il sistema operativo, presente sul disco rigido, a cui viene ceduto il controllo del sistema 14
RAM Volatile Dati e ROM e istruzioni 0 1 h = 16 bit Parola (word) Registro indir. (AR) store Registro dati (DR) k = 10 bit load h = 16 bit Indirizzo cella Dato da leggere/scrivere Spazio di 1023 indirizzamento 2 10 =1024 15
16
Il bus di sistema è l insieme di linee o circuiti, impiegati per il trasferimento di dati tra le componenti di un sistema informatico Questo gruppo di linee trasporta tipi diversi di informazione: dati indirizzi segnali di controllo 17
All interno del modello di Von Neumann Il bus di sistema è il mezzo fisico che, sotto il diretto controllo della CPU, collega le varie unità funzionali della macchina di Von Neumann La CPU, tramite i suoi organi, permette di collegare solo due unità funzionali alla volta: una che trasmette dati una che riceve 18
Alcune specifiche Il bus degli indirizzi, connesso al MAR, ha tanti conduttori quanti sono i bit di un indirizzo (pari quindi alla dimensione del MAR) Questo numero in genere è il logaritmo in base due dello spazio di indirizzamento, ovvero del numero di locazioni di memoria complessivamente indirizzabili Il bus dei dati, connesso al registro MDR ha un numero di conduttori pari alla dimensione di una locazione di memoria, lo stesso numero quindi corrisponde anche alla lunghezza del registro MDR 19
Collegamento aperto ( non limitato agli estremi) Consente la connessione di due dispositivi qualsiasi collegati al bus Consente anche il broadcast di segnali a tutti i dispositivi collegati 20
3 diverse funzionalità: bus dati ( bidirezionale) bus indirizzi ( monodirezionale) bus controlli ( dipende dai segnali) Transazione: scambio completo di informazioni tra due dispositivi o broadcast a tutti i dispositivi Operazioni di lettura e scrittura (avendo la CPU come riferimento) 21
Parallelismo del bus Multiplexing del bus Protocollo di accesso per disciplinare i conflitti (p.es. Master / Slave) Velocità del bus: inverso del tempo necessario a effettuare una transazione Prestazioni: parallelismo x velocità 22
È un canale di comunicazione condiviso dai vari componenti ed attraverso cui essi possono dialogare. In questo contesto, il dialogo consiste nello scambio di dati binari tra registri secondo una modalità parallela. Ciò significa che un certo numero di bit viene contemporaneamente trasferito attraverso il bus da un registro mittente ad un registro destinatario. Durante un operazione di trasferimento, i due registri implicati nella comunicazione si trovano in uno stato di lettura (destinatario) e scrittura (mittente) in modo tale da poter acquisire il dato presente sul bus e da potercelo scrivere, rispettivamente. Tutti gli altri registri sono in uno stato di riposo nel quale non possono né leggere i dati che circolano sul bus né influenzare lo stato del bus con i dati che contengono. Il numero di bit contemporaneamente trasferiti, indica il parallelismo del bus ed è pari al numero di bit contenuti in un singolo registro. Esso caratterizza anche il parallelismo interno del processore. 23
Durante un accesso alla memoria, sia in fase di lettura che in fase di scrittura, il registro MAR contiene l indirizzo della locazione di memoria che viene acceduta. Questo indirizzo, trasferito all organo memoria attraverso l Address Bus, abilita alla comunicazione una sola tra tutte le locazioni disponibili (tipicamente in numero molto elevato). 24
ISA (Industry Standard Architecture Bus) Evoluzione dei bus PC bus e PC/AT bus utilizzati nei primi PC (8086, 80286). Sviluppato da un consorzio in contrapposizione all IBM Microchannel. Contiene 64 + 36 linee Sincrono con Clock a 8,33 MHz. Estensione a 32 bit: EISA PCI (Peripheral Component Interconnect Bus) Sviluppato dalla Intel nel 1992 (in sostituzione del bus ISA). Diverse versioni: PCI, PCI 2.0, PCI 2.1, PCI 2.2, PCI-X, PCI-X DDR. 32 64, PCI-E l Linee dati-indirizzi (sovrapposte) (multiplexed) Clock a 33 66 133 266 MHz. Il trasferimento è un "burst", composto da una fase di indirizzamento e da una o più fasi di dato. Bassa latenza ed elevato throughput. AGP (Accelerated Graphic Port) basato sullo standard PCI 2.1 consente velocità di trasferimento dei dati dal sistema verso la scheda video fino a 2,1 GB/s. Varie versioni denominate AGPnx dove n indica quante volte è stata incrementata la velocità del trasferimento delle informazioni rispetto all AGP di base. Il più recente è l AGP8x. 25
PCI-X Il PCI-X è un'evoluzione del PCI. È stata sviluppata dallo stesso consorzio che sviluppò il PCI. Larghezza di banda fino a 4 GByte. Pur avendo prestazioni molto più elevate del PCI è retrocompatibile con le periferiche PCI e quindi permette il riutilizzo delle schede PCI. PCI Express Il PCI Express è il successore (seriale) del bus di espansione PCI (parallelo) e sarà destinato a sostituire il bus AGP fino ad ora in uso per le schede grafiche. Chiamato PCI-Express è in genere abbreviato in PCIe o PCIx (da non confondere con PCI-X che si trova in molte MB attualmente in commercio). L'architettura è completamente differente dal bus PCI classico. La sua caratteristica seriale aiuta a semplificare il layout del PCB delle schede madri ed è costituito da una serie di canali. Tali canali possono essere aggregati secondo le esigenze rendendo di fatto il sistema molto flessibile. La banda a disposizione di ciascun canale (FULL DUPLEX) è dedicata e quindi non condivisa con gli altri. Un canale PCIe (detto x1) ha una banda disponibile di 266 MByte/sec. Pertanto, nelle moderne schede video che utilizzano 16 canali PCIe la banda a disposizione è di circa 4 GByte/sec (il doppio del bus AGP 8x). 26
IDE (Integrated Drive Electronics) E stata l interfaccia più comune dai primi 90 al 2003. Il nome ufficiale di IDE è ATA, ma spesso è informalmente chiamato Parallel ATA or PATA per differenziarlo dalla nuova interfaccia Serial ATA. La velocità di trasferimento massima è di 100 MB/s con picchi fino a 133 MB/s SCSI (Small Computer System Interface) Collegamento per dispositivi interni o esterni al computer: dischi rigidi, ma anche CD - DVD unità nastro - stampanti - scanner. Versioni: SASI ( 79), SCSI-1, SCSI-2, Fast SCSI-2, Fast & wide SCSI-2, SCSI-3 Ultra. Frequenze: 5 10 20 40 80 160 MHz Banda passante 5-320 MB/sec Collega da 7 a 15 controllori (unità) e massimo 2048 periferiche per controllore. Serial ATA (SATA) Superiore rispetto a PATA rispetto sia per la larghezza di banda che per l'affidabilità. La massima velocità di trasferimento è pari a 150 MB/s per il SATA I e 300 MB/s per SATA II 27
USB (Universal Serial Bus) Bus per il collegamento di periferiche. Sviluppato nel 95 da un consorzio composto da Compact, HP, Intel, Lucent, Microsoft, Nec, Philips. Carateristiche: flessibilità, semplicità; un unico bus per molte periferiche; non sono necessari dispositivi di controllo e porte dedicate; facilmente espandibile; economico; connessioni a caldo; supporto dispositivi tempo reale (audio - telefono). Il cavo è composto da 4 fili: massa, alimentazione (5V), Dati+, Dati-. Larghezza di banda: USB 1.0: 1,5 Mbit/s; USB 1.1: 12 Mbit/s; USB 2.0: 480 Mbit/s. FireWire (IEEE 1394) Molte similitudini con l USB: bus seriale con alimentazione (60W) sviluppato da un consorzio di aziende (1984 - Apple, 1995 Standard, ma con Royalties), connessioni a caldo, meccanismi di identificazione, struttura ad albero. Fino a 780Mbit/s (3.2Gbit/s con connessione ottica) 28
29