550 likes | 708 Views
Laboratorio di Informatica. Architettura di un elaboratore Lezione 1. Le principali componenti. Un elaboratore è composto da 3 componenti principali: Il microprocessore La memoria I dispositivi di Ingresso/Uscita. Le componenti sono interconnesse Il processore comunica con la memoria
E N D
Laboratorio di Informatica Architettura di un elaboratore Lezione 1
Le principali componenti • Un elaboratore è composto da 3 componenti principali: • Il microprocessore • La memoria • I dispositivi di Ingresso/Uscita Architettura di un elaboratore
Le componenti sono interconnesse Il processore comunica con la memoria La memoria si interfaccia con le unità periferiche Le unità periferiche si interfacciano con gli utenti Le principali componenti Architettura di un elaboratore
Memoria I/O Processore Schema dell’architettura Architettura di un elaboratore
Le componenti sono tra loro interconnesse Schema delle interconnessioni Architettura di un elaboratore
Il processore • Il processore è composto da due componenti: DATAPATH CONTROLLER Architettura di un elaboratore
Il processore • Il datapath o unità di elaborazione • L’insieme dei circuiti che operano e manipolano i dati • Il controller • L’insieme dei circuiti che interpretano un programma e sovraintendono all’esecuzione delle istruzioni da parte delle altre componenti del calcolatore Architettura di un elaboratore
esegui interpreta Esegui l’istruzione Decodifica l’istruzione Ciclo del processore • Il processore esegue in continuazione il ciclo • preleva-interpreta-esegui Preleva dalla memoria principale la prossima istruzione di un programma preleva Architettura di un elaboratore
Il linguaggio del processore • Ogni modello di microprocessore ha un propriolinguaggio macchina diverso daquello di altri processori • Ogni modello di microprocessore riconosce solo programmi scritti nel proprio linguaggio macchina • Il linguaggio macchina contiene tutte e sole le operazioni che possono essere eseguite dal microprocessore Architettura di un elaboratore
Linguaggio macchina • Un processore con 2 registri R1 e R2 • Si debbono sommare i contenuti delle locazioni di memoria var1 e var2 e archiviare in tot • L’operazione di somma è possibile solo sui dati archiviati nei registri • Trasferisci il contentuto di var1 nel registro R1 • Trasferisci il contentuto di var2 nel registro R2 • Somma il contenuto dei due registri • Trasferisci il risultato nella locazione di memoria tot Architettura di un elaboratore
Linguaggio macchina –2 • È necessario disporre di • Istruzioni per il trasferimento di dati dalla memoria ai registri e viceversa • Istruzioni aritmetiche/logiche • Eventualmente istruzioni di controllo • Esempio: • load R1, var1 • load R2, var2 • add R1, r2 • store R1, tot Architettura di un elaboratore
Linguaggio macchina - 3 se a=b allora c:=0 altrimenti c:=a+b load R1, a load R2, b sub R1, R2 jzero R1, fine load R1, a add R1, R2 fine: store R1, c Architettura di un elaboratore
Le operazioni elementari • Ogni istruzione del linguaggio macchina viene eseguita da un microprocessore svolgendo una serie di passi, le operazioni elementari • Il numero di operazioni elementari necessario a portare a compimento un’istruzione in linguaggio macchina è dell’ordine di 7-10 Architettura di un elaboratore
Il ciclo di clock • Ciclo di clock • Parametro caratteristico di un processore è la durata del ciclo di clock • Indica il tempo richiesto dal microprocessore a compiere un’operazione elementare • La frequenza del clock è espressa in MHz (Mega Hertz) ed è l’inverso della durata del ciclo espressa in μs = 10-6 s Architettura di un elaboratore
La velocità dei processori • Dati 2 processori con lo stesso linguaggio macchina, risulterà più veloce quello con frequenza di clock maggiore • Non è possibile dire nulla su processori con linguaggi macchina diversi • Es. Pentium Vs. PowerPC Architettura di un elaboratore
Confronto tra processori diversi • Dati i calcolatori A e B con diversi linguaggi macchina • Clock di A è 500MHz • Clock di B è 400MHz • Il linguaggio di A richiede l’esecuzione di 10 operazioni elementari per ogni istruzione • Il linguaggio di B ne richiede 6 • Per eseguire un programma di 100M istruzioni di linguaggio macchina • A impiegherà 2s = (100 * 106 * 10)/(500 * 10-6)s • B impiegherà 1,5s = (100 * 106 * 6)/(400 * 10-6)s Architettura di un elaboratore
La frequenza • La frequenza di clock non è quindi un indice assoluto per quanto riguarda la bontà di un microprocessore • Attualmente si trovano in commercio microprocessori che operano a frequenze di 1 GHz (1 Giga Hertz) Architettura di un elaboratore
Processori • I microprocessori più diffusi, prodotti da case diverse, sono: • Intel (x86) • Motorola (68xxx) • IBM (PowerPC) • HP (PA-RISC) • DEC (Alpha) Architettura di un elaboratore
Un processore Architettura di un elaboratore
La memoria • Svolge la funzione di magazzino per i programmi e i dati su cui deve operare il microprocessore • L’informazione digitalizzata viene rappresentata e salvata in memoria sotto forma di numeri binari • Dati e programmi sono memorizzati in unità minime chiamate Byte • Un byte è a sua volta costituito da 8 bit, una sequenza di 8 cifre binarie Architettura di un elaboratore
La memoria BYTE 0 1 1 0 0 0 1 0 BIT Il significato della stringa di bit dipende dalla codifica se letto come testo, è la lettera b se letto come numero, è il valore 98 Architettura di un elaboratore
Rappresentazione binaria • La singola cifra binaria è detta bit(0 o 1) • La scelta è dettata da ragioni di praticità ed economia • Il bit rappresenta due stati • Come una lampadina: accesa (1) o spenta (0) • Combinazioni di bit in sequenze di lunghezza opportuna rappresentano i dati Architettura di un elaboratore
1 bit 2 bit 3 bit 4 bit 0 1 00 01 10 11 000 001 010 011 100 101 110 111 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 Combinazioni di bit Ogni bit in più raddoppia il numero delle combinazioni possibili Architettura di un elaboratore
Combinazioni di bit • Ogni combinazione rappresenta un valore diverso • Ci sono 2N combinazioni lunghe N bit • Quindi, ci vogliono N bit per rappresentare 2N valori distinti 1 bit ? 2 bit ? 3 bit ? 4 bit ? 5 bit ? 21 = 2 valori Quanti valori possiamo rappresentare con 22 = 4 valori 23 = 8 valori 24 = 16 valori 25 = 32 valori Architettura di un elaboratore
9278 9279 9280 9281 9282 9283 9284 9285 9286 Ogni cella ha un indirizzo numerico, che la identifica univocamente Struttura della memoria La memoria è organizzata in locazioni di memoria o celle Architettura di un elaboratore
Struttura della memoria - 2 9278 9279 9280 9281 9282 9283 9284 9285 9286 La memoria è organizzata in celle di una data lunghezza (spesso 1 byte di 8 bit) 10011010 Valori grandi possono essere immagazzinati in celle consecutive (2/4/6 byte) Architettura di un elaboratore
Dimensione della memoria • La capacità di immagazzinare informazione in memoria (storage capacity) è indicata dal numero di byte di cui è costituita • La capacità è espressa in diverse unità di misura: unità simbolo numero di byte KB 210 = 1024 kilobyte megabyte gigabyte terabyte MB 220 (> 1 milione) GB 230 (> 1 miliardo) TB 240 (> 1000 miliardi) Architettura di un elaboratore
La memoria • Per questioni di costi ed efficienza la memoria di un elaboratore è distribuita su dispositivi hardware diversi, che nel loro insieme costituiscono il sistema memoria dell'elaboratore, più comunemente chiamato gerarchia di memoria Architettura di un elaboratore
La memoria • Ai livelli più alti di questa gerarchia sono presenti le memorie più veloci, e quindi più costose. Ai livelli bassi sono presenti le memorie più economiche ma anche più lente • La velocità di una memoria è misurata in base al tempo di accesso speso dal microprocessore Architettura di un elaboratore
La memoria • I livelli di memoria generalmente presenti sono • i registri, le cache, la memoria centrale, i dischi. • Una configurazione standard di un PC • 32 registri, 256Kbyte di cache, 64-128MB di memoria centrale e un disco di 16GB. Architettura di un elaboratore
La memoria • I livelli più alti sono più vicini al processore • registri nel datapath • memoria cache sul chip del processore • Il livello intermedio è la memoria centrale • 64-128KB, su chip separati • I livelli bassi sono fisicamente lontani • dischi, nastri, CD-ROM Architettura di un elaboratore
La memoria Architettura di un elaboratore
Legenda della figura • I registri sono nel chip del processore. • La cache di I livello può anch’essa essere nel processore o esterna. • Backing store quando c’è svolge le funzioni di buffer per i dischi. Questa funzione può essere svolta dalla memoria centrale. • I nastri magnetici sono piuttosto in disuso, al loro posto si usano spesso batterie di cd-rom. Architettura di un elaboratore
Memorie: confronti SRAM (Static RAM) per le cache di I e II livello DRAM (Dynamic RAM) per la memoria Architettura di un elaboratore
La memoria • Esistono due categorie di dispositivi di memoria: • lememorie volatili • le memorie non volatili Architettura di un elaboratore
La memoria • Le memorie volatili sono i dispositivi di memoria che perdono il loro contenuto quando viene loro a mancare l'alimentazione elettrica • Le memorie non volatili invece mantengono l'informazione registrata anche in assenza di alimentazione elettrica Architettura di un elaboratore
Le memorie volatili • genericamente indicate con il termine RAM (Random Access Memory) • i registri di CPU, le cache e la memoria centrale • sono realizzati rifacendosi alla tecnologia dei circuiti integrati Architettura di un elaboratore
Le memorie volatili Architettura di un elaboratore
Le memorie non volatili • I dispositivi più diffusi come memoria non volatile, sono i dischi magnetici Architettura di un elaboratore
La memoria • A elaboratore spento tutte le informazioni risiedono su disco • All'accensione, le informazioni necessarie al funzionamento vengono trasferite da disco a memoria centrale, sino ai livelli più alti della gerarchia di memoria in funzione del loro utilizzo Architettura di un elaboratore
I dispositivi di I/O • Rappresentano l’interfaccia del calcolatore verso il mondo esterno Architettura di un elaboratore
monitor tastiera disco rigido dischetto I dispositivi di I/O Le periferiche di input e output consentono interazione processore schermi tastiere mouse scanner touch screen memoria principale Architettura di un elaboratore
I dispositivi di input • I dispositivi di input acquisiscono informazioni espresse in un formato consono all’operatore umano • Le traducono in un formato consono all’elaboratore • le trasmettono alle componenti opportune del calcolatore • Es.: mouse, tastiera, scanner, microfono Architettura di un elaboratore
I dispositivi di output • I dispositivi di output acquisiscono informazioni dall’elaboratore nel formato di rappresentazione interno • le traducono in un formato consono all’operatore umano • le visualizzano • Es.: video, stampante Architettura di un elaboratore
I dispositivi di I/O • Ogni periferica è costituita da 3 componenti: • Una componente visibile, il dispositivo in senso lato detto device • Una componente elettronica di controllo chiamato device controller • Una componente software device driver Architettura di un elaboratore
Il controller • Riceve gli ordini dal microprocessore e li impartisce al dispositivo fisico • Risiede su un circuito stampato ed è solitamente esterno all’unità periferica ed all’interno dello chassis • Il collegamento tra il controller e la periferica avviene attraverso opportuni connettori Architettura di un elaboratore
Il device driver • Componente sw necessaria per la gestione della periferica • Ogni periferica ha un proprio driver che viene consegnato su un disco all’atto dell’acquisto della periferica • Prima di utilizzare la periferica è necessario installare il driver corrispondente Architettura di un elaboratore