Memoria Cache - Dipartimento di Ingegneria Informatica e delle

Facoltà di Ingegneria - Università degli studi di Catania
Corso di Laurea in Ingegneria Civile
Architettura degli Elaboratori
Fondamenti di Informatica
Giovanni Morana
Ing. G. Morana - Fondamenti di Informatica - Lezione 1
Indice
¾ Evoluzione del Computer: tecnologia e tipologia di calcolatori elettronici
¾ Il modello di Von Neumann
¾ Descrizione dell'Architettura da Studiare
¾ Circuiti di Temporizzazioni (Clock)‫‏‬
¾ Memorie RAM, ROM, Cache
¾ Unità centrale di processo (CPU)‫‏‬
¾ Direct Memory Access (DMA)‫‏‬
¾ Circuiti di Interrupt
¾ Chipset
¾ BIOS
¾ Bus di comunicazione
¾ Controllore di periferiche (Controller)‫‏‬
¾ Periferiche e Memorie di Massa
Ing. G. Morana - Fondamenti di Informatica - Lezione 1
Il modello di Von Neumann
CPU
MEMORIA
CENTRALE
INTERFACCIA
I/O
PERIFERICHE
Ing. G. Morana - Fondamenti di Informatica - Lezione 1
Architettura di base
Bus di controllo
DMA
Bus di indirizzi
ROM
RAM
Clock
CPU
Interrupt
BIOS
Bus di dati
Controller
dischi,
CD-ROM,etc.
Connettori
Periferiche
I/O
Bus di I/O
Ing. G. Morana - Fondamenti di Informatica - Lezione 1
Circuiti di Temporizzazione
(Clock)
tempo
T
¾ Il megahertz (MHz) è l'unità di misura della frequenza
alla
quale il processore funziona;
¾ indica quanti milioni di oscillazioni al secondo (1 oscillazione
al secondo = 1 hertz [Hz]) sono generate dal clock.
¾ f=1/T Hz.
Ing. G. Morana - Fondamenti di Informatica - Lezione 1
Circuiti di Temporizzazione
(Clock)‫‏‬
¾ In generale il clock é prodotto da un apposito circuito integrato, la
cui oscillazione é controllata da un cristallo di quarzo.
¾ Il cristallo di quarzo garantisce una elevata stabilita nel tempo e con
il variare della temperatura ed una grande precisione nel valore
della frequenza prodotta, quanto meno possibile influenzato dalla
temperatura e dall' invecchiamento.
¾ In generale il quarzo di partenza é il 14.318 MHz
9Scelta legata alla diffusione e economicità
Ing. G. Morana - Fondamenti di Informatica - Lezione 1
Circuiti di Temporizzazione
(Clock)‫‏‬
¾ Partendo dal quarzo a 14.318MHz, vengono generate
frequenze più elevate (50, 60, 66, 100MHz).
¾ Ogni area del PC che contiene un processore o un
microcontrollore, necessita di un clock, che puó essere
generato in loco o dipendere dal clock principale.
¾ Giá a partire dalle architetture basate sulla CPU 80486, é
diventato comune avere per il processore un clock piú
elevato di quello generale del sistema.
Ing. G. Morana - Fondamenti di Informatica - Lezione 1
Misura della Memoria
™ Informazione di base = bit
™ Raggruppamenti utilizzati:
¾ 1 byte = 8 bit
¾ 1 word = N byte
™ Multipli (bit/byte)‫‏‬
¾ K (Kilo) = 210 (=1024) circa 103
¾ M (Mega) = 220 (=1024*1024=1.048.576) circa 106
¾ G (Giga) = 230 circa 109
¾ T (Tera) = 240 circa 1012
¾ P (Peta) = 250 circa 1015
Ing. G. Morana - Fondamenti di Informatica - Lezione 1
Memoria Interna o Centrale
¾ memorizza programmi e dati su cui lavora la CPU a
cui è collegata tramite il bus principale:
™si accede al singolo bit/byte/word
™tempi di accesso bassi (<70 ns);
™dimensioni tipiche sono 1Gbytes/4Gbytes
™realizzata con circuiti elettronici
Ing. G. Morana - Fondamenti di Informatica - Lezione 1
Memoria Esterna o di Massa
Memorizza dati e programmi sotto forma di file.
Per l’elaborazione, programmi e dati si devono trasferire in memoria centrale:
™ Si accede a blocchi (cluster/settori)
9 Non è possible leggere/scrivere singoli bit/byte
™ tempi di accesso elevati (msec)
™ capacità elevate (centinaia di Gbytes)
™ Può essere:
9 Memoria di Massa on-line - dischi magnetici fissi
9 Memoria di Massa off-line - supporti rimovibili
Ing. G. Morana - Fondamenti di Informatica - Lezione 1
Memoria Interna:
Caratteristiche Generali
¾ Indirizzi e valori: Con n bit di indirizzo si possono selezionare
2n caselle (m=2n).
¾ Strobe: sono segnali generalmente impulsivi che vengono
inviati dopo il posizionamento dell’indirizzo per discriminare tra
operazione di letture e scrittura
Ing. G. Morana - Fondamenti di Informatica - Lezione 1
Memoria Interna:
Caratteristiche Generali
¾ Tempi di servizio: accesso, ciclo.
™ Accesso. E' il tempo necessario affinché la memoria ponga
in uscita il valore richiesto (o possa registrare il valore in
ingresso), dopo aver posizionato l'indirizzo e lo strobe.
™ Ciclo. E' il tempo minimo che deve intercorrere tra due
posizionamenti validi dell’indirizzo e dello strobe.
¾ Modificabilità: Sola Lettura/Riscrivibile.
™ Qualsiasi memoria deve essere scritta almeno una volta.
™ Le memorie che non possono essere riscritte si dicono a
sola lettura;
™ altrimenti sono riscrivibili.
Ing. G. Morana - Fondamenti di Informatica - Lezione 1
Memoria Interna:
Caratteristiche Generali
¾ Persistenza: permanenti/volatili. Sono permanenti le memorie che
mantengono i dati senza bisogno di alimentazione elettrica; altrimenti
si dicono volatili.
¾ Accessibilità: casuale /sequenziale. Se non esiste alcun vincolo
sulla sequenza degli indirizzamenti effettuati, si parla di memoria ad
accesso casuale; quando invece il successivo indirizzo è l’attuale
incrementato di uno si parla di memorie ad accesso sequenziale.
Ing. G. Morana - Fondamenti di Informatica - Lezione 1
Memoria Interna:
Caratteristiche Generali
¾ Possiamo identificare diversi livelli funzionali di memoria:
™ Random Access Memory (RAM)‫‏‬
™ Read Only Memory (ROM)‫‏‬
™ Memoria Cache
Ing. G. Morana - Fondamenti di Informatica - Lezione 1
RAM - Random Access Memory
¾ Attualmente assumono valori tipici di 1-4 di GBytes.
¾ La caratteristica principale delle RAM è il fatto che l'informazione in
esse contenute rimane solo quando esse vengono alimentate.
9 La mancanza di tensione provoca la perdita di tutte le informazioni
contenute.
9 In presenza di tensione, ciascuna informazione memorizzata
rimane fino alla successiva scrittura.
Ing. G. Morana - Fondamenti di Informatica - Lezione 1
RAM - Random Access Memory
¾ La RAM vengono utilizzate per i seguenti scopi:
™ memorizzare il Sistema Operativo (ad esempio Windows).
™ memorizzare
i
programmi
utenti
prima
della
loro
esecuzione.
™ memorizzare i dati utenti provenienti dalle periferiche o
quelli intermedi.
¾ La RAM può essere realizzata in differenti modi, ma quella più
comune è:
™ RAM dinamiche
Ing. G. Morana - Fondamenti di Informatica - Lezione 1
RAM DINAMICHE (DRAM)‫‏‬
¾ La DRAM usa delle capacità (condensatore) interne per memorizzare i dati.
¾ Le capacità perdono la loro carica dopo un certo intervallo di tempo, quindi
necessitano di un costante rinfresco per mantenere i dati
¾ Tra due accessi consecutivi alla memoria, una carica elettrica viene mandata
a rinfrescare la capacità del chip di memoria affinché il dato venga mantenuto
nello stato logico corretto.
¾ Durante il rinfresco della memoria non è possibile accedere ad essa,
rallentando, dunque, le sue prestazioni in termini di accessi in lettura/scrittura.
Ing. G. Morana - Fondamenti di Informatica - Lezione 1
RAM DINAMICHE (DRAM)‫‏‬
¾ Utilizzano un condensatore per
memorizzare 1 Bit
¾ Necessitano di un circuito di Refresh
¾ Consumano poco
¾ Sono abbastanza veloci (da 10 a 70 ns)‫‏‬
¾ Sono utilizzate per le RAM
Ing. G. Morana - Fondamenti di Informatica - Lezione 1
RAM DINAMICHE (DRAM)‫‏‬
¾ SDRAM. Sono memorie dinamiche
di tipo sincrono
¾ RAM BUS (o RDRAM) hanno un
canale da 16 bit a 800 Mhz
¾ Le DDR (double data rate) sono un
tipo di SDRAM che lavorano sui
due fronti del clock.
Ing. G. Morana - Fondamenti di Informatica - Lezione 1
RAM DINAMICHE (DDRII)‫‏‬
¾ Attualmente esistono le DDR-II
¾ Sono caratterizzate da più elevate velocità di clock rispetto a
DDR (circa il doppio), che a sua volta raddoppiò la velocità
della SDRAM.
¾ La maggiore velocità è legata alla presenza di buffer di I/O con
clock doppio rispetto quello di funzionamento
Ing. G. Morana - Fondamenti di Informatica - Lezione 1
RAM DINAMICHE (DRAM)‫‏‬
Sono montate su moduli (schedine):
¾ SIMM (30 pin) single in line module; hanno
una doppia fila di contatti ma connessi a coppie,
quindi è come se avessero la metà dei contatti
attivi; ogni modulo ha parallelismo 1 byte (un
486 usa 4 banchi)‫‏‬
¾ SIMM (72 PIN); i pin sono sempre organizzati a
coppie; ogni modulo supporta 4 byte (il 486
usa un solo banco); montano le EDO RAM
¾ DIMM (168 PIN) Dual Inline Memory Module;
tutti i pin sono indipendenti; gestisce 8 byte (un
P6 usa un banco); Montano le SDRAM
¾ DIMM (184 PIN); montano le DDR; sono uguali
come geometria alle DIMM 168 PIN, ma si
differenziano per il fatto di avere una sola tacca
¾ DIMM con dissipatore per RDRAM
Ing. G. Morana - Fondamenti di Informatica - Lezione 1
RAM DINAMICHE (DRAM)
¾ DIMM per DDR2. I moduli di memoria DDR2 hanno 240 Pin,
e sono quindi incompatibili con quelli DDR che hanno 184
pin.
Ing. G. Morana - Fondamenti di Informatica - Lezione 1
Soluzioni Innovative per
Incrementare le Prestazioni
¾ Velocità dei processori sempre più elevata, crea dei colli di
bottiglia sull’accesso in memoria
¾ Da un pò di anni è stata sviluppata la tecnologia dual-channel
¾ La quantità di dati traferibile dalla CPU alla RAM viene duplicata,
utilizzando due bus di dati a 64 bits
¾ Sia Intel sia AMD la usano, con differenti implementazioni
¾ Gli slot di memoria sulla scheda madre si riconoscono perchè
colorati
Ing. G. Morana - Fondamenti di Informatica - Lezione 1
ROM - Read Only Memory
¾ Il termine ROM significa Read Only Memory.
9 Indicava originariamente il fatto che l'unico tipo di accesso
in queste memorie è la lettura (ovviamente la prima
scrittura deve essere possibile).
¾ Ormai le ROM possono essere anche riscritte.
¾ Nelle ROM l'informazione in esse contenute rimane anche
quando manca la corrente.
¾ Nelle ROM che possono essere riscritte, l'informazione rimane
fino alla successiva scrittura.
Ing. G. Morana - Fondamenti di Informatica - Lezione 1
ROM - Read Only Memory
¾ Le ROM vengono in genere utilizzate per memorizzare programmi e
dati di configurazione essenziali per il funzionamento del computer
che devono essere memorizzati anche quando il computer è spento.
¾ Esistono differenti tipi di ROM:
™ ROM non programmabili
™ PROM. ROM Programmabili
™ EPROM. Erasable Programmable ROM
™ EEPROM. Electrical Erasable Programmable ROM
™ Flash Memory
Ing. G. Morana - Fondamenti di Informatica - Lezione 1
ROM, PROM, EPROM
¾ ROM: sono delle reti combinatorie già predisposte in
fabbrica (tramite il processo di mascheratura). Hanno
alte capacità bassi costi.
¾ PROM: sono delle reti combinatorie programmabili con
un dispositivo da laboratorio. Possono essere
programmate una sola volta.
¾ EPROM: sono programmabili con un dispositivo da
laboratorio. Hanno una finestra di quarzo tramite cui è
possibile esporre il chip ai raggi U.V. e “cancellare “ il
contenuto.
Ing. G. Morana - Fondamenti di Informatica - Lezione 1
EEPROM – FLASH MEMORY
¾ EEPROM: come le EPROM, ma cancellabili con particolari
cicli di segnalazione senza togliere dalla piastra il chip. I
tempi di cancellazione sono di norma molto più lunghi di
quelli di lettura.
¾ Flash Memory: come le EPROM, ma la scrittura avviene
per blocchi e non per byte, molto velocemente.
™ Non può essere usata come la
RAM per via della scrittura a blocchi
™ Si chiama flash perché il microchip
è organizzato in sezioni di celle
cancellabili in un colpo solo (flash).
Ing. G. Morana - Fondamenti di Informatica - Lezione 1
Memoria Cache
¾ Lo scopo della memoria cache è quello di reperire informazioni
utilizzate recentemente senza doverle nuovamente prelevare dalla
RAM.
¾ La memoria cache è generalmente gestita direttamente dalla CPU
tramite bus privati.
¾ L'utilizzo della memoria cache rispetto la RAM è più vantaggioso
perché:
™ il bus di indirizzi e dati è locale (non comune)
™ il tempo di accesso alla cache per lettura/scrittura è molto più
basso di quello della RAM (50-70ns della RAM contro valori
inferiori a 10ns per accedere alla memoria cache).
Ing. G. Morana - Fondamenti di Informatica - Lezione 1
Memoria Cache
¾ L'uso della memoria cache prevede opportuni accorgimenti dovuti al
fatto che la dimensione di una cache è notevolmente inferiore a quella
di una RAM
9 la cache ha dimensioni dell'ordine di alcune centinaia di Kbytes –
pochi Mbyte.
¾ è impensabile poter memorizzare nella cache tutti i dati letti dalla RAM,
ma sarà necessario sovrascrivere alcuni dati contenuti nella cache, per
far spazio a nuovi dati da memorizzare.
¾ In particolare, si adotta la politica di sovrascrivere i dati più vecchi,
ossia quelli non utilizzati da più tempo.
Ing. G. Morana - Fondamenti di Informatica - Lezione 1
Memoria Cache
¾ La gestione della cache, può essere formalizzata nella seguente
maniera:
™ la CPU necessita di un particolare dato
™ la CPU ricerca il dato nella cache
9 se lo trova, lo legge e lo utilizza
9 se non lo trova, lo reperisce nella RAM e lo trasferisce nella
cache nella locazione più "vecchia", ossia da più tempo non
utilizzata.
¾ Generalmente le memorie cache sono realizzate da memorie
statiche
Ing. G. Morana - Fondamenti di Informatica - Lezione 1
Memorie STATICHE
¾ La memoria statica è la memoria più veloce disponibile attualmente
¾ Sono caratterizzate da tempi di accesso dell'ordine delle decine di
nanosecondi (da 6 ns a 25 ns).
¾ Sono costose e possono memorizzare solo 1/4 dei dati rispetto le
memorie dinamiche (DRAM).
¾ A differenza delle DRAM, non occorre il rinfresco periodico.
Ing. G. Morana - Fondamenti di Informatica - Lezione 1
Memorie STATICHE
¾ Utilizzano per ogni bit un flip flop.
¾ Il singolo bit occupa molto spazio (8
transistors).
¾ Consuma molta energia.
¾ E’ molto veloce (< 10 ns).
¾ Ha un elevato costo per bit.
Ing. G. Morana - Fondamenti di Informatica - Lezione 1
Memoria Cache
¾ Attualmente le memorie cache hanno dimensioni medie di
640Kbyte, fino ad arrivare a valori di alcuni Mbytes (cache L2).
¾ Più grande è la cache, migliori saranno le prestazioni della
CPU.
Ing. G. Morana - Fondamenti di Informatica - Lezione 1
Memoria Cache
¾ Per aumentare ulteriormente le prestazioni, si può:
9 Frammentare la cache
9 Trasferire una parte della cache all'interno della CPU
¾ Cache Multi-livello:
9 L1, di dimensioni minori (512KB): è in genere contenuta
all'interno del Core del processore e opera alla frequenza
di clock;
9 L2 (nelle CPU cfino a 2MB): a seconda del tipo di
architettura è posta o all'interno del Core del processore
oppure sulla motherboard; opera a frequenze differenti a
seconda del tipo di architettura, variabili tra la frequenza di
bus e quella di clock.
9 L3: generalmente è un'estensione della L2
¾ Il processore cerca prima nella cache interna L1 e poi in quelle
esterne L2, L3.
Ing. G. Morana - Fondamenti di Informatica - Lezione 1
CPU
¾ Principi di Base
¾ Blocchi Fondamentali: Memoria Cache, Registri, ALU,
Istruction Decoder and Control
¾ Esempio di Funzionamento
¾ Tecnologie di fabbricazione dei microprocessori: la
microelettronica
¾ Tecnologie di fabbricazione dei microprocessori: la
meccanica
¾ Road map dei microprocessori
¾ Indicatori di prestazione
Ing. G. Morana - Fondamenti di Informatica - Lezione 1
CPU-Principi di Base
¾ STRUTTURA DELLA ISTRUZIONE MACCHINA:
9 Si tratta di una stringa binaria che identifica il codice della
operazione da eseguire e le modalità per indirizzare gli operandi
9 Opcode o codici operativi
9 Un programma scritto in Opcode è assai difficile, si utilizza
l’Assembly
¾ ESECUZIONE DI UNA ISTRUZIONE MACCHINA:
9 l’esecuzione di un’istruzione avviene con una sequenza di
microistruzioni a livello circuitale associate all'istruzione
¾ FASI CPU:
9 Ricerca (Fetch), Decodifica (Decode) ed Esecuzione (Execute)‫‏‬
Ing. G. Morana - Fondamenti di Informatica - Lezione 1
CPU-Memoria Cache
La
memoria
non
dovrebbe
far
parte
dell'unità
centrale.
Attualmente, però, c'è la tendenza a fornire CPU che presentino
al loro interno banchi di memoria [Cache di Primo Livello L1
(alcune volte anche la L2)] allo scopo di reperire velocemente
informazioni, senza dover accedere alla memoria centrale.
Ing. G. Morana - Fondamenti di Informatica - Lezione 1
CPU-Registri Interni
¾
Di numero e di caratteristica molto differenziate, i registri interni di
lavoro permettono all'unità centrale lo spostamento, la manipolazione
ed il deposito temporaneo dei dati senza dover ricorrere alla memoria
esterna.
¾
I tipi di registri, le modalità di interconnessione e di comunicazione fra
i vari registi sono una caratteristica del processore
¾
Possiamo tuttavia individuare un set di registri essenziali per il
funzionamento di un qualunque processore, e che, dunque, possono
essere ritrovati in una qualunque architettura.
Ing. G. Morana - Fondamenti di Informatica - Lezione 1
CPU-Registri Interni
¾
Memory Address Register (MAR). E' il registro specializzato per
indirizzare la memoria. Durante l'esecuzione di un programma il MAR
contiene l'indirizzo della locazione di memoria centrale (esterna alla
CPU) alla quale si vuole accedere in quell'istante.
¾
Program Counter (PC). E' il registro specializzato per contenere
l'indirizzo dell'istruzione che deve essere eseguita.
¾
Memory Data Register (MDR). E' il registro da cui transitano tutti i
dati scambiati con la memoria esterna prima di venire smistati, in base
al loro significato, presso gli altri registri interni.
¾
Instruction Register (IR). E' il registro che contiene la parte codice
operativo di un'istruzione, vale a dire quella sequenza di bit che
opportunamente decodificati determineranno le azioni che la CPU
deve eseguire.
Ing. G. Morana - Fondamenti di Informatica - Lezione 1
CPU-Registri Interni
¾
Accumulatore. E' il principale registro di calcolo dell'unità centrale:
contiene sempre uno degli operandi e il risultato dell'operazione
¾
Pointer Registers (PRs). Sono registi specializzati per contenere
indirizzi, solitamente di quei sotto programmi ricorrenti con particolare
frequenza. Alcuni di essi possono venire specializzati a funzioni
particolari.
™
Uno di essi è lo stack pointer, che indirizza la zona di RAM in cui è
stato costruito lo stack. Lo stack e' definita come una porzione di
memoria gestita secondo una politica LIFO (Last In First Out).
9
Risulta estremamente comodo per il salvataggio del program
counter in caso di interruzione (interrupt) o subroutine;
Ing. G. Morana - Fondamenti di Informatica - Lezione 1
CPU-Registri Interni
¾
Status Register. Con registro di stato si intende un registro il cui
contenuto è costituito da un insieme di flag aventi un significato
individuale, anche se può essere manovrato ed elaborato in parallelo.
Il significato dei vari flags costituenti il registro può differire a seconda
del microprocessore, ma avremo sempre alcuni flags fondamentali:
™
CARRY. Viene manipolato dalle operazioni aritmetiche; viene
settato o resettato nel corso di un'istruzione di somma se si è
avuto o no un riporto.
™
OVERFLOW. Risente anch'esso dell'esito delle operazioni
aritmetiche; viene settato a uno se nel corso di una somma o
sottrazione si è avuto un trabocco della capacità dei registi.
Ing. G. Morana - Fondamenti di Informatica - Lezione 1
CPU-Unità Aritmetico Logica ALU
™
Operazioni Aritmetiche: Somma in Complemento a 2
™
Operazioni Logiche: AND, OR e NOT
™
Operazioni sui Bit: Shift e Rotazione
™
Dati in Ingresso: il Contenuto dell'Accumulatore (sempre) e
dei registri interni della CPU (operandi residenti in memoria
centrale vengono trasferiti su registri temporanei)
™
Risultato dell'Operazione: Accumulatore
™
Uscite
Collaterali:
registra
alcune
condizioni
di
fine
esecuzione delle operazioni di ALU al fine di determinare se
procedere con la successiva istruzione in memoria o con
un’altra opportunamente specificata.
9
risultato zero, negativo, riporto, overflow ……
9
registro di stato
Ing. G. Morana - Fondamenti di Informatica - Lezione 1
CPU-Instruction Decoder and Control
¾
E' il cuore del processore
¾
Riceve come dato in ingresso il codice operativo dell'istruzione
presente nell'instruction register (IR).
¾
Questo codice può essere pensato come l'indirizzo di partenza
di un microprogramma interno che agisce a livello circuitale
minimo componendo insieme, in modo opportuno, gruppi di
microistruzioni.
¾
Queste ultime consistono in definitiva nell'emissione di una
serie di segnali e stati logici di controllo che servono:
9 a predisporre la ALU a compiere una particolare funzione
aritmetico logica
9 a smistare attraverso i bus interni i contenuti dei registri
interessati
9 a svolgere i necessari test e gli eventuali scambi di dati con
l'esterno.
Ing. G. Morana - Fondamenti di Informatica - Lezione 1
CPU-Instruction Decoder and Control
¾
Esempio di Microprogramma associato all'istruzione di Somma
del contenuto dell'accumulatore con il contenuto del MDR.
¾
Questa operazione può essere scomposta in sette passi
elementari:
1. Trasferimento del contenuto dell'accumulatore sul bus dati
interno alla CPU.
2. Trasferimento del contenuto del bus dati nella ALU.
3. Trasferimento del contenuto del MDR sul bus dati interno
alla CPU.
4. Trasferimento del contenuto del bus dati nella ALU.
5. Attivazione della logica di somma.
6. Trasferimento del contenuto della ALU (risultato della
somma) sul bus dati.
7. Trasferimento del contenuto della data bus nell'accumulatore
(che conterrà il risultato della somma).
Ing. G. Morana - Fondamenti di Informatica - Lezione 1
CPU - Fasi di Fetch e Execute
In qualunque processore l'esecuzione di una generica istruzione
avviene in due fasi differenti:
™
la fase di ricerca (FETCH): consiste nel prelievo dalla
memoria centrale dell'istruzione
™
la fase di esecuzione (EXECUTE), caratterizzata dalla
decodifica
dell'istruzione
e
dall'attivazione
microprogramma ad essa associato.
Ing. G. Morana - Fondamenti di Informatica - Lezione 1
del
CPU - Fasi di Fetch e Execute
¾
Esempio: Supponiamo che l'istruzione sia di somma fra il
contenuto dell'accumulatore e il contenuto di una cella di
memoria il cui indirizzo sia dato direttamente dalla parte
operando dall'istruzione stessa.
¾
Supponiamo cioè che la cella di memoria contenente l'istruzione
da eseguire sia strutturata come segue:
codice istruzione
indirizzo RAM del secondo operando
Ing. G. Morana - Fondamenti di Informatica - Lezione 1
CPU - Fasi di Fetch e Execute
¾
Fase di ricerca (FETCH):
1.
Il contenuto del Program Counter (PC) è relativo all’indirizzo di
memoria che contiene l’istruzione.
2.
Il contenuto del Program Counter è inviato al MAR (Memory Address
Register) per operare il prelevamento dell'istruzione all'indirizzo di
memoria contenuto nel MAR.
3.
Il dato prelevato dalla memoria è riposto nel MDR (Memory Data
Register).
4.
Il contenuto del MDR, ossia l’istruzione, è messa nel Instruction
Register per essere decodificata.
5.
Il Program Counter viene incrementato per puntare all'istruzione
successiva.
Ing. G. Morana - Fondamenti di Informatica - Lezione 1
CPU - Fasi di Fetch e Execute
¾
¾
Ha inizio a questo punto la fase di esecuzione (EXECUTE):
1.
viene compreso che il secondo operando risiede in memoria
–
la parte dell’istruzione relativa all’indirizzo del secondo
operando viene trasferita nel MAR
1.
L'effettivo operando, prelevato dalla memoria è posto nel
MDR.
2.
L’operando viene presentato ad un ingresso della ALU.
3.
All'altro ingresso dell’ALU viene presentato il contenuto
dell'accumulatore.
4.
L'ALU, predisposta dall'Instruction Register ad eseguire la
somma, pone il suo risultato nell'accumulatore.
La fase di esecuzione è terminata ed il processore prosegue con
la fase di ricerca dell'istruzione successiva.
Ing. G. Morana - Fondamenti di Informatica - Lezione 1
Tecnologie di fabbricazione: la
microelettronica
™ Il Canale (0,065µ/0,09µ/0,13µ/0,18µ): indica il più piccolo spessore di
silicio nel transistor che si riesce a trattare con procedimenti fotochimici
e quindi concorre a determinare la densità di transistor che si può
ottenere
9 0,065µ(micron)=65 nm (nanometri)‫‏‬
™ L’Area Chip (140mmq-300mmq): aumentando l’area del chip si
aumentano le funzioni logiche implementabili
™ Numero Transistor/Chip > Centinaia di Milioni - 1 Miliardo
Ing. G. Morana - Fondamenti di Informatica - Lezione 1
Tecnologie di fabbricazione:
la meccanica
¾ Il Packaging: il contenitore in cui è incapsulato il chip della
CPU ( si usano ceramiche particolari ).
¾ La Piedinatura: l’aumento della memoria indirizzabile, del
parallelismo di trasferimento con la memoria centrale, delle
funzionalità avanzate hanno determinato un crescente
numero di punti esterni di connessione (pin).
¾ Il Socket: il socket è l’elemento meccanico di
interconnessione tra il chip e la scheda madre.
¾ Il Raffreddamento: le sempre maggiori potenze impegnate
richiedono ventole montate su CPU e su chassis più potenti
e controlli automatici di temperatura
Ing. G. Morana - Fondamenti di Informatica - Lezione 1
Ultime Soluzioni per
Incremento di Prestazioni
¾ Soluzione DUAL CORE: unione di due processori indipendenti
™ Aumento di potenza di calcolo senza aumentare la frequenza
di clock
™ Motivo: aumento della frequenza di clock comporta consumi
più alti e problemi di riscaldamento
™ Si punta al parallelismo delle istruzioni eseguite in ogni ciclo
di clock
¾ Soluzione QUAD CORE: unione di 4 processori indipendenti
Ing. G. Morana - Fondamenti di Informatica - Lezione 1
Indicatori di prestazione
¾ Un Benchmark è un programma che consente di valutare
comparativamente le prestazione di due sistemi relativamente a:
™ Tempo di risposta (secondi)‫‏‬
™ Throughput (Numero di bit /secondo)‫‏‬
™ Fotogrammi / secondo
¾ Alcuni programmi di Benchmark:
™ Stream (misura la banda delle RAM in Mbytes/s)‫‏‬
™ Video Giochi: 3D Mark, Mercedes Benz Truck Racing (fps)‫‏‬
™ Applicativi: Sysmark 2000 (sec)
Ing. G. Morana - Fondamenti di Informatica - Lezione 1
Sottosistema di I/O
¾ I Bus: Bus di I/O
¾ Interfacce: Seriali, Parallele, USB, FireWire
¾ Controller
¾ Schede Grafiche, Audio e di Acquisizione Video
Ing. G. Morana - Fondamenti di Informatica - Lezione 1
Bus di I/O
¾ Il bus di I/O ha il compito di connettere la CPU alle periferiche di I/O
¾ Esistono diverse tipologie che si differenziano per: numero di bit e
larghezza di banda (bit/sec)
¾ Considerando l'architettura Intel, esistono i seguenti tipi di bus I/O:
™ ISA. Il termine ISA significa Industry Standard Architecture. La prima
versione del bus ISA era a 8 bit, presente ad esempio negli IBM
compatibili AT. Molto più recente ed utilizzato è il bus ISA a 16 bit.
™ EISA. Il termine significa Extended Industry Standard Architecture.
EISA è un'evoluzione del bus ISA ed è teoricamente compatibile con
questo. E' caratterizzato da prestazioni superiori rispetto il bus ISA,
principalmente dovute alla doppia capacità del bus e all'uso di un
proprio dispositivo DMA (Direct Memory Access).
Ing. G. Morana - Fondamenti di Informatica - Lezione 1
Bus di I/O
™ PCI (Peripheral Component Interconnect). I dati vengono
trasferiti in blocchi di 32 bit (a differenza dell'ISA caratterizzato
da trasferimenti a 16 bit).
9 32 bit @ 33 MHz => 132 MByte/sec
9 32 bit @ 66 MHz => 264 MByte/sec (bus PCI 2.1, che lavora ad
una frequenza di 66 MHz)‫‏‬
™ AGP (Accelerated Graphic Port). Viene utilizzata esclusivamente
per la connessione a particolari schede video accelerate (ossia
dotate di processore interno che elabora informazioni visive).
Ing. G. Morana - Fondamenti di Informatica - Lezione 1
Interfacce
¾ Esistono differenti connettori che permettono il collegamento
con le periferiche esterne (mouse, tastiera, stampante, etc.).
¾ Generalmente tali connettori si collegano al bus di I/O. I più noti
e vecchi connettori sono:
™ COM1, COM2: RS 232, 9 e 25 poli maschio.
™ Porta Parallela. Sono connettori a 25 poli femmina.
Ing. G. Morana - Fondamenti di Informatica - Lezione 1
Interfaccia USB
¾ E' l'acronimo di Universal Serial Bus;
¾ Fino a 127 periferiche in catena.
¾ L'USB è stato introdotto per fornire uno standard che superasse
in prestazioni le ormai vetuste porte seriale e parallela;
¾ USB è quindi la soluzione ideale per le periferiche di media
velocità quali modem esterni, webcam, lettori CD-Rom esterni
ecc.
¾ E' possibile collegare le periferiche con PC
acceso
¾ E'
possibile
fornire
direttamente
l'alimentazione ad alcuni tipi di periferiche.
¾ Due Versioni:
¾ USB 1.0: 12 Mbit/sec
¾ USB 2.0: 480 Mbit/sec
Ing. G. Morana - Fondamenti di Informatica - Lezione 1
Interfaccia FireWire
IEEE1394
¾ Si tratta di uno standard di comunicazione ideato da Apple e
sviluppato insieme a IEEE (e quindi conosciuto anche come
standard IEEE 1394).
¾ Bus digitale di comunicazione che permette
un
transfer
rate
massimo
di
400
Mbit/secondo e di collegare 64 periferiche in
cascata;
¾ Esiste la versione IEEE 1394b a 800 Mbps
¾ La porta FireWire consente di collegare al
computer periferiche ad alta velocità, ad
esempio videocamere digitali, riproduttori
audio, unità Zip e altri dispositivi di
memorizzazione esterni.
Ing. G. Morana - Fondamenti di Informatica - Lezione 1
Controller
¾ Esistono particolari periferiche, quali dischi fissi, CD-ROM,
nastri magnetici (o unità di back-up), e scanner, che
necessitano di particolari circuiti di interfaccia chiamati
controller (controllori).
¾ Il compito principale di un controllore è quello di garantire il
trasferimento dati tra il computer e la periferica, risolvendo
alcuni problemi tra cui l'adattamento di segnali elettrici,
l'adattamento di impedenza, il collegamento fisico tra il bus del
computer e quello relativo alla periferica, ecc.. Dunque il suo
cavo
ruolo è essenziale al fine di massimizzare il trasferimento
dati.
¾ Controller IDE e SCSI
Circuiti digitali
ed analogici
Periferica
Parte elettromeccanica
Ing. G. Morana - Fondamenti di Informatica - Lezione 1
Schede Video Acceleratrici
¾ Le schede video permettono oggi di ottenere risoluzioni molto
elevate ed effetti grafici sofisticati.
¾ Questi miglioramenti di grafica sono apprezzati dai giocatori di
videogame e da importanti professionisti web-designer e no.
¾ Hanno memoria video DDR (circa 256MBytes) e un processore di
immagini
Ing. G. Morana - Fondamenti di Informatica - Lezione 1
Schede Audio
¾ Le schede audio permettono di produrre e analizzare suoni
stereo di alta qualità utilizzando appositi programmi.
¾ Possono essere a 16 o a 24 bit a seconda delle capacità di
campionamento e di elaborazioni che i circuiti utilizzati
consentono.
Ing. G. Morana - Fondamenti di Informatica - Lezione 1
Schede di Acquisizione Video
¾ Elabora i dati (analogici/digitali) che arrivano da telecamere
(analogiche/digitali) e li trasforma in files in differenti formati
selezionabili dall'utente (ad esempio AVI, MPEG).
¾ Il processore on-board permette di realizzare effetti di montaggio
real-time.
Ing. G. Morana - Fondamenti di Informatica - Lezione 1
Tecnologie avanzate
¾ Metodi di I/O: Interrupt e DMA
¾ La Scheda Madre
¾ Il ChipSet
¾ Il BIOS
Ing. G. Morana - Fondamenti di Informatica - Lezione 1
Metodi di I/O: Interrupt
¾ L'attività che svolge la CPU non è mai continua: viene interrotta da
particolari segnali provenienti principalmente da dispositivi esterni
alla CPU stessa.
¾ Tali interruzioni comunicano alla CPU che si è verificato un
particolare eventola necessità che essa esegua particolari
programmi.
¾ In termini tecnici queste interruzioni prendono il nome di
INTERRUPT. Ogni interrupt è caratterizzato da una sua priorità al
fine di poter gestire la contesa nel caso in cui più interrupt arrivino
contemporaneamente alla CPU.
¾ Ad ogni interrupt è associato sempre il programma che deve essere
eseguito.
Ing. G. Morana - Fondamenti di Informatica - Lezione 1
Metodi di I/O: Interrupt
¾ All'arrivo di un interrupt, la CPU deve eseguire le seguenti
funzioni:
¾ deve salvare nello stack lo stato corrente del programma
che stava eseguendo fino a quel momento (lo stato è
dunque rappresentato dal contenuto di alcuni registri quali
il Program Counter)‫‏‬
¾ deve identificare l'interrupt ed eseguire il programma di
interrupt ad esso associato
¾ alla fine dell'esecuzione del programma di interrupt, deve
prelevare lo stato dallo stack e ripristinare lo stato corrente
prima che venisse l'interrupt
¾ continuare l'esecuzione dallo stato appena ripristinato
Ing. G. Morana - Fondamenti di Informatica - Lezione 1
Direct Memory Access (DMA)
¾ E’ una tecnica di gestione del bus che conduce i dati nella
memoria RAM senza che sia necessario l'intervento della CPU. Si
occupa di effettuare tale trasferimento, alleggerendo la CPU.
¾ Il DMA viene utilizzato quando si hanno periferiche veloci che
devono accedere alla memoria. In tal caso l'accesso potrebbe
essere rallentato dalla CPU, nel caso in cui essa non sia
particolarmente veloce o sia occupata in altri lavori.
CPU
RAM
DMA
I/O
bus
Ing. G. Morana - Fondamenti di Informatica - Lezione 1
La Scheda Madre
Ing. G. Morana - Fondamenti di Informatica - Lezione 1
Il Chip Set
¾Viene detto "chipset" un gruppo di circuiti integrati (in gergo
elettronico, chip) che sono direttamente saldati sulla scheda madre
e si incaricano di tutte le operazioni di normale gestione, quali:
9 il risparmio energetico,
9attività sul bus: controllo e gestione del flusso di dati tra i vari
componenti.
¾Il chipset fa parte integrante della scheda madre, e non può essere
aggiornato.
Ing. G. Morana - Fondamenti di Informatica - Lezione 1
Il Chip Set
CPU
Sono due i chip:
AGP BUS
AGP
Northbridge: scambio dati
tra CPU, RAM, Comparto
NORTH
BRIDGE
ISA, porte USB
SRAM
PCI Bus
Grafico
SouthBridge: I/O, slot PCI
Memory Bus
SOUTH
BRIDGE
LAN
SCSI
ISA
USB
Ing. G. Morana - Fondamenti di Informatica - Lezione 1
BIOS
BIOS
™ Il nome BIOS significa Basic Input Output System, ossia sistema
di base per ingressi e uscite.
™ Il BIOS è essenzialmente un "software", ossia un programma.
Esso é contenuto in un chip di memoria non volatile (EEPROM o
Flash Memory)
™ Le funzioni svolte dal BIOS sono essenzialmente:
–
Funzione di Avvio del Computer, Boot
¾ Funzione di POST (Power-On Self Test)
9 Beep che codificano eventuali errori o anomalie
¾ Caricamento drivers (es.scheda video)
¾ Check memoria
¾ Caricamento S.O. (da disco di boot)
Ing. G. Morana - Fondamenti di Informatica - Lezione 1
BIOS: avvio del Computer
¾ Quando si accende il PC, si inizializza l'alimentatore interno.
Non appena la tensione si stabilizza il chipset invia un
comando di reset del processore.
¾ Il comando reset richiede alla CPU di eseguire l'istruzione
posta sempre in una locazione fissa prestabilita nella ROM
del BIOS e denominata indirizzo di jump.
¾ La CPU esegue l'istruzione, che copia in memoria i
programmi del BIOS e inizia l'esecuzione del BIOS.
Ing. G. Morana - Fondamenti di Informatica - Lezione 1
BIOS: avvio del Computer
¾ La prima azione eseguita dal programma di BIOS è il POST (PowerOn Self-Test):
9 Verifica e controlla la configurazione hardware memorizzata
nelle informazioni di configurazione del BIOS.
9 In caso di errore invia indicazioni acustiche o visualizza un
messaggio d'errore e il processo di boot si arresta.
9 Se il POST non incontra problemi, il processo di boot continua.
¾ Il BIOS cerca il BIOS dell'adattatore video e lo attiva. Quasi tutti i
dispositivi periferici di un PC dispongono di un proprio BIOS.
Ing. G. Morana - Fondamenti di Informatica - Lezione 1
BIOS: avvio del Computer
¾ Vengono inizializzate le routine del BIOS delle periferiche
presenti.
¾ Il BIOS effettua poi una serie di test nel sistema, inclusa la
dimensione della memoria rilevata.
¾ Il BIOS verifica che i dispositivi elencati nei dati di configurazione
siano presenti e funzionanti.
9 viene visualizzato un messaggio che comunica che il
dispositivo è stato trovato, configurato e verificato.
¾ Se il BIOS supporta la tecnologia PnP (Plug and Play), qualsiasi
dispositivo PnP rilevato sarà configurato.
Ing. G. Morana - Fondamenti di Informatica - Lezione 1
BIOS: avvio del Computer
¾ Alla fine della sequenza di test e configurazione, il BIOS
visualizzerà una schermata che riassume i dettagli del PC verificati
dal BIOS, per indicare che il sistema è pronto per l'uso.
¾ Il BIOS dovrà trovare il sistema operativo ed essere in grado di
accedervi, per poterlo attivare.
9 Il BIOS contiene la lista delle unità disco (floppy, hard disk o
CD-ROM) e l'ordine di accesso per il caricamento del sistema
operativo.
9 Se il programma di boot non viene trovato nel primo
dispositivo elencato, verrà ricercato nel dispositivo successivo
e così via;
Ing. G. Morana - Fondamenti di Informatica - Lezione 1
BIOS: Memorizzazione Configurazione
™ Il BIOS memorizza la configurazione hardware del computer
(periferiche non plug&play) e i parametri del chipset e ne permette
all’utente la modifica.
™ In genere ogni versione di BIOS permette di intervenire su taluni
parametri del chipset ma non su altri.
¾ Esempio: alla voce Chipset Features Setup (o Advanced Chipset
Setup) e possibile intervenire sui tempi di accesso alla memoria
e su altri parametri del chipset, così da migliorare anche
sensibilmente le prestazioni del computer;
™ C'è il rischio di impostare alcuni parametri troppo performanti per
l'hardware installato e il sistema si bloccherà durante il
funzionamento.
Ing. G. Morana - Fondamenti di Informatica - Lezione 1
BIOS: Interfaccia Sistema Operativo
™ L'hardware può presentare notevoli differenza da costruttore a
costruttore o da modello a modello.
™ Se il S.O. deve ad esempio recuperare un file dal disco rigido,
esegue tale lettura "chiedendo" al BIOS di leggere il file, senza
occuparsene direttamente.
™ Il BIOS contiene programmi usati dal sistema operativo e
software applicativo per interagire con l'hardware.
™ Visto che il BIOS è strettamente legato all’hardware, è facile
comprendere è che ogni diverso computer possiede un diverso
BIOS.
Ing. G. Morana - Fondamenti di Informatica - Lezione 1