Post on 16-Feb-2019
FONDAMENTI DI INFORMATICA STRUTTURA DEI CALCOLATORI 1
Architettura di un Sistema di Elaborazione
Hardware e Software:
Prima scomposizione di un "sistema informatico":
• Hardware: componenti fisici del sistema
• Software: i programmi che vengono eseguiti dal sistema
Il confine tra hardware e software in realta‘ non e‘ sempreben definito (v. firmware).
Hardware
Software
Firmware
UTENTE
FONDAMENTI DI INFORMATICA STRUTTURA DEI CALCOLATORI 2
Modello di Von Neumann Architettura di unelaboratore
Organizzata secondo il modelIo della macchina di vonNeumann definita nei tardi anni ’40 all’Institute for AdvancedStudy di Princeton.
E` costituita da quattro elementi funzionali fondamentali:
• Unità centrale di elaborazione (CPU);• Memoria Centrale;• Periferiche;• Bus di sistema.
Unita’ di elabora-
zione
Memoria centrale
Interfacce verso pe- riferiche
Bus di sistema
Architettura di un elaboratore
FONDAMENTI DI INFORMATICA STRUTTURA DEI CALCOLATORI 3
• La CPU contiene i dispositivi elettronici in grado di acquisire,interpretare ed eseguire le istruzioni di ogni programma,trasformando i dati. Le istruzioni vengono eseguite in sequenza.Dati ed istruzioni vengono trasferiti da (e verso) la memoriacentrale.
• La memoria centrale contiene sia le istruzioni che i dati(informazioni necessarie per eseguire un programma). Hadimensioni limitate ed e` volatile (cioe` le informazionimemorizzate vengono perse allo spegnimento del computer).
• Le periferiche consentono uno scambio di informazioni fral'elaboratore e l'esterno (ingresso/uscita, memoria secondaria). Inparticolare, la memoria secondaria (o memoria di massa) vieneutilizzata per memorizzare grandi quantita' di informazioni inmodo persistente. Ha dimensioni elevate, ma l’accesso e' menorapido, rispetto alla memoria centrale.
• Il bus di sistema collega questi elementi funzionali.Fornisce il supporto fisico per la trasmissione dei dati tra i varielementi.
2Fondamenti di Informatica – Architettura Calcolatori
Introduzione
Che cos’è un calcolatore? Come funziona un calcolatore?
➔ è possibile rispondere a queste domande in molti modi, ciascuno relativo a un diverso punto di vista
➔ in questo corso, il punto di vista prevalente è quello del calcolatore come macchina programmabile, ovvero in grado di eseguire programmi
4Fondamenti di Informatica – Architettura Calcolatori
Hardware e software
La prima decomposizione di un calcolatore è relativa alle seguenti macro- componenti:hardware➔ la struttura fisica del calcolatore, costituita da
componenti elettronici ed elettromeccanici
software➔ l’insieme dei programmi che consentono all’hardware
di svolgere dei compiti utili➔ il software comprende il software di base (tra cui il
sistema operativo) e il software applicativo
5Fondamenti di Informatica – Architettura Calcolatori
Organizzazione a livelli
Hardware e software sono organizzati a livelli (o strati).
Ogni livello usa i servizi offerti dal livello sottostante.
Un utente agisce usando i servizi del livello software applicativo (web, videogames, programmi di grafica etc)
Le applicazioni a loro volta usano i servizi del software di base (es. sistema operativo)
Il livello software di base, utilizza il livello hardware.
Software applicativo
Software di base
Hardware
Utente
Architettura dei calcolatori8
Macchina di Von Neumann
L’architettura dell’hardware di un calcolatore reale è molto complessa
n viene introdotta la macchina di Von Neumann , che è un modello semplificato dei calcolatori moderni l Von Neumann è stato il progettista (intorno al 1950) del
primo calcolatore in cui i programmi potevano essere memorizzati anziché codificati mediante cavi e interruttori
ENIAC girls
US-Army photo
Architettura dei calcolatori9
Elementi della macchina di Von Neumann
La macchina di Von Neumann è composta da quattro tipologie di componenti funzionali fondamentali
n unità centrale di elaborazione (CPU) l componente in grado di eseguire istruzioni per
l’elaborazione dei dati l svolge anche funzioni di controllo (ovvero, di
coordinamento) delle altre componenti funzionali
n memoria centrale l memorizza e fornisce l’accesso a dati e programmi
n interfacce di ingresso e uscita
l componenti di collegamento con le periferiche del calcolatore (considerate esterne al calcolatore), che consentono lo scambio di dati tra calcolatore e utente
n bus l svolge la funzionalità di trasferimento di dati e di
informazioni di controllo tra le varie componenti funzionali
6Fondamenti di Informatica – Architettura Calcolatori
Vista funzionale di un Calcolatore
AmbienteTrasferimento
Elaborazione
Controllo
Memorizzazione
7Fondamenti di Informatica – Architettura Calcolatori
Componenti di un Calcolatore
FONDAMENTI DI INFORMATICA STRUTTURA DEI CALCOLATORI 4
Rappresentazione delle Informazioni eMemorizzazione: Unita‘ di misura
I sistemi di elaborazione sono realizzati con tecnologia digitale: leinformazioni sono rappresentate mediante segnali elettrici a 2valori di tensione {Vlow, Vhigh} (oppure {0,1}).
• Per questo motivo, l’unita` logica di memorizzazione (e, ingenerale, di rappresentazione delle informazioni) e` il bit (binary digit):
+un bit e` una grandezza il cui dominio di variazione e`composto dai due valori {0,1}.
• il byte equivale ad 8 bit
Unita` successive:
• potenze in base 2 del byte (con esponente multiplo intero di 10):
Kilobyte 210 byte 1024 byte KBMegabyte 220 byte 1048576 byte MBGigabyte 230 byte ~109 byte GBTerabyte 240 byte ~1012 byte TB
Architettura dei calcolatori12
Rappresentazione delle informazioni e dati
Lo scopo fondamentale di un calcolatore è di permettere l’elaborazione di informazioni
n le informazioni sono rappresentate sotto forma di dati n un dato è una informazione elementare
I dati che un calcolatore sa rappresentare ed elaborare direttamente sono molto semplici n i dati vengono rappresentati nel calcolatore mediante delle
codifiche binarie n i tipi di dato in un calcolatore
l numeri interi l numeri razionali l caratteri
l valori di verità (vero/falso) n per essere manipolate da un calcolatore, le informazioni di
interesse devono essere organizzate in termini di questi tipi di dato
Architettura dei calcolatori13
Elaborazione
Le istruzioni del linguaggio macchina di un calcolatore corrispondono ad operazioni elementari di manipolazione dei dati
n operazioni aritmetiche l somma, prodotto, ...
n operazioni relazionali
l confronto tra dati n operazioni su caratteri e valori di verità n altre operazioni numeriche
l calcolo di logaritmi e funzioni trigonometriche
Un calcolatore sa dunque svolgere poche tipologie di operazioni n ma le sa eseguire in modo molto efficiente n un calcolatore può eseguire circa 50-100 milioni di istruzioni
del linguaggio macchina al secondo
L’elaborazione dei dati viene svolta dall’unità aritmetico -logica(ALU), che è un componente dell’unità centrale di elaborazione
Architettura dei calcolatori14
Memorizzazione
Un calcolatore ha la necessità di memorizzare, in modo temporaneo o permanente, i dati per la rappresentazione delle informazioni di interesse
La memoria è l’unità responsabile della memorizzazione dei dati n una unità di memoria è organizzata in celle
l a ciascuna cella è associato un indirizzo, che la identifica l ciascuna cella è in grado di memorizzare un singolo dato
Una unità di memoria fornisce due operazioni n memorizzazione di un dato in una cella (scrittura)
l dato il valore da memorizzare e l’indirizzo della cella, modifica lo stato della memoria
n accesso al dato memorizzato in una cella (lettura) l dato l’indirizzo della cella, restituisce il valore
Nella memoria vengono memorizzati anche i programmi
n viene utilizzata una opportuna codifica delle istruzioni
Architettura dei calcolatori15
Trasferimento
Il bus è il componente del calcolatore dedicato al trasferimento dei dati e di informazioni di controllo tra le varie parti del calcolatore n il bus è l’insieme dei collegamenti su cui vengono trasferiti i
dati e i segnali di controllo in un calcolatore
L’idea alla base del bus
n ci sono due modalità per collegare tutte i componenti di un calcolatore (per permettere lo scambio di dati tra i componenti) l collegare ciascun componente con ogni altro componente l collegare tutti i componenti a un unico insieme di linee (il
bus, appunto)
n l’uso del bus favorisce la modularità e l’espandibilità del calcolatore
Architettura dei calcolatori16
Controllo
Il coordinamento tra le varie parti del calcolatore è svolto dall’unità di controllo
n l’unità di controllo è un altro componente dell’unità centrale di elaborazione
n ogni componente dal calcolatore esegue solo le azioni che gli vengono richieste dall’unità di controllo
L’attività di controllo svolta dall’unità di controllo n avviene in modo sincrono rispetto alla scansione temporale
imposta dall’orologio di sistema (clock)
n è un coordinamento dell’esecuzione temporale delle funzioni che devono essere svolte sia internamente all’unità di elaborazione che negli altri elementi funzionali
Frequenza di clockLa frequenza con cui si eseguono i cicli di esecuzione è scandita dal clock (orologio interno)n ad ogni impulso di clock l’unità di controllo
esegue un ciclo di esecuzionen la velocità di elaborazione di un
microprocessore dipende dalla frequenza del suo clock (300, 400,... MHz) (es.: 300 milioni di cicli al secondo). Attualmente si parla di GHz.
PDF created with pdfFactory trial version www.pdffactory.com
Architettura dei calcolatori17
Unità centrale di elaborazione
L’unità centrale di elaborazione (o processore ) è composta dall’unità di controllo e dall’unità aritmetico-logica
n l’unità centrale di elaborazione controlla l’esecuzione di un programma (memorizzato in memoria centrale sotto forma di una sequenza di istruzioni del linguaggio macchina) eseguendo ordinatamente le istruzioni del programma
L’esecuzione di ciascuna istruzione avviene mediante lo svolgimento delle seguenti tre operazioni di base
n (lettura) fetchl legge dalla memoria la prossima istruzione da eseguire
n (decodifica) decode
l determina il tipo di istruzione che deve essere eseguiton (esecuzione) execute
l richiede lo svolgimento di tutte le azioni necessarie per l’esecuzione dell’istruzione — ciascuna azione viene richiesta al componente opportuno
Architettura dei calcolatori18
Periferiche e interfacce di ingresso-uscita
Un calcolatore può essere collegato a diversi dispositivi di ingresso e/o uscita (chiamati periferiche )
n ad esempio, la tastiera, il mouse, lo schermo, le stampanti, il modem
n anche le memorie di massa (ad esempio, le unità disco e il lettore di CD-ROM) sono considerati periferiche
Nella macchina di Von Neumann, le periferiche non fanno parte del calcolatore n ogni periferica viene controllata mediante un’opportuna
interfaccia n una interfaccia ha il compito di tradurre i segnali interni del
calcolatore in un formato comprensibile alla periferica stessa, e viceversa
Corso di Fondamenti di Informatica 1 per Ingegneria Informatica e delle Telecomunicazioni Corso di Fondamenti di Informatica 1 per Ingegneria Informatica e delle Telecomunicazioni Ing. Giancarlo IannizzottoIng. Giancarlo Iannizzotto
1919
Il Bus di Sistema
� Bus di SistemaBus di Sistema: collega tra loro le varie unità funzionali (la CPU, la memoria e le varie interfacce di I/O).
� In ogni istante, il bus collega 2 unità funzionali, (es. CPU e memoria oppure CPU e l’interfaccia di una specifica periferica).
2 � A rchitettura del calcolatore
Corso di Fondamenti di Informatica 1 per Ingegneria Informatica e delle Telecomunicazioni Corso di Fondamenti di Informatica 1 per Ingegneria Informatica e delle Telecomunicazioni Ing. Giancarlo IannizzottoIng. Giancarlo Iannizzotto
2020
Il Bus di Sistema
• Il bus è sempre sotto il controllo della CPU che:– seleziona l'interconnessione da attivare– indica l'operazione da compiere
• Le altre unità funzionali (slave) si attivano solo dopo essere state selezionate dalla CPU (master)
2 – Architettura del calcolatore
Corso di Fondamenti di Informatica 1 per Ingegneria Informatica e delle Telecomunicazioni Corso di Fondamenti di Informatica 1 per Ingegneria Informatica e delle Telecomunicazioni Ing. Giancarlo IannizzottoIng. Giancarlo Iannizzotto
2121
Il Bus di Sistema
• La durata di un'interconnessione dipende sia dalla velocità di trasmissione del bus, sia dalla velocità dei dispositivi ad esso connessi.
• Le linee del bus vengono suddivise in tre categorie in base al tipo di informazione trasportata:
Il bus di sistema consiste di un bus datibus dati, un
bus indirizzibus indirizzi e un bus controllobus controllo.
2 – Architettura del calcolatore
8Fondamenti di Informatica – Architettura Calcolatori
Tipi di BusBus dati: utilizzato per trasferire dati (es. fra
memoria e CPU, fra CPU e interfacce di I/O)Bus indirizzi: che identifica la posizione delle
celle di memoria un cui la CPU va a scrivere o leggere
Bus di controllo: in cui transitano i segnali di controllo che consentono di selezionare le unità coinvolte in un trasferimento dati (sorgente e destinazione), di definire la direzione dello scambio (scrittura o lettura)
9Fondamenti di Informatica – Architettura Calcolatori
Architettura di Von Neumann Burks, Goldstein e Von Neumann sono stati i primi a proporre che il codice
del programma potesse essere memorizzato nella stessa memoria dei dati
CPU Memoria
Indirizzi
Dati
Controllo
Memoria indifferenziata per dati o istruzioni Solo l'interpretazione da parte di CPU stabilisce se una data configurazione di
bit è da riguardarsi come un dato o come un'istruzione
Calcolatori elettronici – Architettura e organizzazioneGiacomo Bucci
Copyright © 2009 – The McGraw-Hill Companies srl
John Von Neumann (1903-1957)
Calcolatori elettronici – Architettura e organizzazioneGiacomo Bucci
Copyright © 2009 – The McGraw-Hill Companies srl
Organizzazione
Bus indirizzi: origina dalla CPU e contiene gli indirizzi della cella di memoria da leggere/scrivereBus controlli: comandi della CPU, risposte, indicatori di statoBus Dati
Memoria centrale
PDF created with pdfFactory trial version www.pdffactory.com
Memorie RAM e memorie ROM
o Le memorie RAM (random access memory) n possono essere accedute sia in lettura
che in scritturan sono volatili (i dati memorizzati
vengono persi allo spegnimento del calcolatore)
n sono usate per memorizzare dati e programmi
PDF created with pdfFactory trial version www.pdffactory.com
Architettura dei calcolatori27
Memoria centrale
La memoria è la componente del calcolatore in cui vengono immagazzinati e da cui vengono acceduti i dati e i programmi
n la memoria centrale (o principale ) è la memoria che può essere acceduta direttamente dal processore
Una memoria n si compone di celle (o locazioni ) n ogni cella di memoria è in grado di memorizzare una parola
di memoria (ovvero, un sequenza di bit di lunghezza fissata)
n ogni cella è caratterizzata da l un indirizzo , che è un numero che identifica la cella e ne
consente l’accesso l un valore , che è la sequenza di bit memorizzata dalla cella
n fornisce le operazioni di lettura e scrittura
Architettura dei calcolatori28
Struttura di una memoria centrale
La struttura semplificata di una memoria centrale
1 0 1 0 1 0 0 1 1 1 1 1 0 0 0 0
1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0
128 celle di memoria di 16 bit ciascuna
indirizzo della cella
0000000000000001000000100000001100000100000001010000011000000111
0111100001111001011110100111101101111100011111010111111001111111
........
........
........
........
parola letta o da scrivere
bus dati
busindirizzi
cella selezionata
bus dicontrollo
0 1 1 1 1 0 1 0
leggi/scrivi
Corso di Fondamenti di Informatica 1 per Ingegneria Informatica e delle Telecomunicazioni Corso di Fondamenti di Informatica 1 per Ingegneria Informatica e delle Telecomunicazioni Ing. Giancarlo IannizzottoIng. Giancarlo Iannizzotto
1717
La Memoria Centrale• E’ volatile; esistono però anche memorie ROM,
PROM, EPROM...• E’ indirizzabile direttamente tramite il registro
indirizzi di memoria (MAR), che si trova nella CPU
• E’ estendibile in relazione al numero di bit dedicati all’indirizzamento
• è copiabile tramite il registro dati di memoria (MDR)
2 – Architettura del calcolatore
Corso di Fondamenti di Informatica 1 per Ingegneria Informatica e delle Telecomunicazioni Corso di Fondamenti di Informatica 1 per Ingegneria Informatica e delle Telecomunicazioni Ing. Giancarlo IannizzottoIng. Giancarlo Iannizzotto
1818
Parametri caratteristici della memoria
• CapacitàCapacità: quantità di informazione che può essere immagazzinata. Si esprime in numero di byte.
• Tempo di accessoTempo di accesso: tempo necessario all' accesso in lettura o in scrittura, misurato dall'istante in cui si richiede di accedere all'unità di informazione all'istante in cui questa è disponibile (centinaia o decine di nanosecondi, 1ns=10E9s)
2 – Architettura del calcolatore
Architettura dei calcolatori29
Caratteristiche delle memorie centrali
Le caratteristiche principali di una memoria centrale n la capacità
l il numero di bit che possono essere memorizzati, misurati in byte (e multipli del byte)
l 1Kbyte indica 210 byte = 1024 bytel 1Mbyte indica 220 byte = 1024 Kbyte = 1 048 576 byte l 1Gbyte indica 230 byte = 1024 Mbyte = 1 073 741 824
byte
n la velocità di accesso l misura la velocità di esecuzione delle operazioni di
lettura/scrittura n la volatilità
l le memorie RAM (random access memory) possono essere sia lette che scritte, ma i dati memorizzati vengono persi allo spegnimento del calcolatore
l le memorie ROM (read only memory) possono essere solo lette, in cui i dati sono memorizzati in modo permanente
FONDAMENTI DI INFORMATICA STRUTTURA DEI CALCOLATORI 7
Dispositivi fisici utilizzati per la memoriacentrale
• RAM: Random A ccess M emory (ad accesso casuale): su di essa si possono svolgere operazioni sia di lettura che di scrittura.
• ROM: Read O nly M emory (a sola lettura): non volatili e non scrivibili; in esse vengono contenuti i dati e programmi perinizializzare il sistema.
• PROM: Programmable R OM. Si possono scrivere soltanto una volta, mediante particolari apparecchi (detti programmatori diROM).
• EPROM = Erasable-programmable ROM (si cancellanosottoponendole a raggi ultravioletti).
+ Firmware : e‘ costituito dal software memorizzato nelle ROM(codice microprogrammato).
10Fondamenti di Informatica – Architettura Calcolatori
L’Unità Centrale di Elaborazione (CPU)
Architettura dei calcolatori26
Caratteristiche dei microprocessori
Le caratteristiche principali di un microprocessore n repertorio di istruzioni
l le istruzioni del linguaggio macchina del processore
n velocità (misurata come frequenza del clock) l la frequenza del clock misura la durata del ciclo macchina,
che è l’unità di tempo all’interno del processore l va osservato che l’esecuzione di ciascuna istruzione
richiede solitamente più cicli macchina
n ampiezza del bus l numero di bit nel bus interno del processore
n co-processore
l i moderni processori sono integrati a co-processori specializzati (ad esempio, il co-processore matematico)
n cache l una memoria veloce locale al processore, che consente
un’accelerazione nell’esecuzione dei programmi
11Fondamenti di Informatica – Architettura Calcolatori
Elementi di una CPU Unità di controllo
Legge le istruzioni dalla memoria e ne determina il tipo
Unità aritmetico-logicaEsegue le operazioni necessarie per eseguire le istruzioni
RegistriMemoria ad alta velocità usata per risultati temporaneiDetermina il parallelismo della CPUEsistono registri generici e registri specifici
Program Counter (PC) Instruction Register (IR)…
Architettura dei calcolatori24
Struttura di una unità centrale di elaborazione
La struttura semplificata di una unità centrale di elaborazione e dei suoi collegamenti con le altre unità funzionali
unità di controlloPC
IR PSW
MAR
MDR
registro
registro
...
registro
ALU
unità centrale di elaborazione
memoriacentrale
o
periferiche
scrivileggi
buscontrollo
busdati
busindirizzi
operazione
esegui
stato
Architettura dei calcolatori25
Registri
L’unità centrale di elaborazione contiene un numero limitato di celle di memoria (chiamate registri ) con scopi specifici
n registro contatore delle istruzioni (PC, program counter)l indirizzo della prossima istruzione da eseguire
n registro delle istruzioni (IR, instruction register)
l l’istruzione che deve essere eseguita (codificata) n registro di indirizzamento della memoria (MAR)
l indirizzo della cella di memoria che deve essere acceduta o memorizzata
n registro dati di memoria (MDR) l dato che è stato acceduto o che deve essere memorizzato
n parola di stato del processore (PSW)
l contiene informazioni, opportunamente codificate, circa l’esito dell’ultima istruzione che è stata eseguita
n altri registri, utilizzati ad esempio per la memorizzazione degli operandi e del risultato di una operazione
12Fondamenti di Informatica – Architettura Calcolatori
Tre Tipologie di Istruzioni Istruzioni Aritmetico Logiche (Elaborazione dati)
Somma, sottrazione, divisione, …And, Or, Xor, …Maggiore, minore, uguale, maggiore uguale, …
Controllo del flusso delle istruzioniSequenzaSelezioneCiclo a condizione iniziale, a condizione finale, …
Trasferimento di informazioneTrasferimento dati e istruzioni tra CPU e memoriaTrasferimento dati e istruzioni tra CPU e dispositivi di I/O
13Fondamenti di Informatica – Architettura Calcolatori
Struttura del “data path”
A+B
A B
B
A
A+B
ALU
Registri Registri di ingressoall’ALU
Registro di uscitadell’ALU
Bus di ingressoall’ALU
14Fondamenti di Informatica – Architettura Calcolatori
Esecuzione delle Istruzioni Ciclo Fetch-Decode-Execute
Prendi l’istruzione corrente dalla memoria e mettila nel registro istruzioni (IR) [Fetch]
Incrementa il program counter (PC) in modo che contenga l’indirizzo dell’istruzione successiva
Determina il tipo dell’istruzione corrente [Decodifica] Se l’istruzione usa una parola in memoria determina
dove si trova Carica la parola, se necessario, in un registro della
CPU Esegui l’istruzione [Execute] Torna al punto 1.
16Fondamenti di Informatica – Architettura Calcolatori
Esempio: Somma di due registri
Memoriacentrale
operiferiche
PC
IR PSW
Unità di controllo
RegistroRegistro
...Registro
MDR
MAR
ALU
stat
o
Ese
gui
Ope
razi
one
Unità centrale
LeggiScrivi
Bus Controllo
Indirizzo
Dato
Bus Indirizzi
Bus Dati
Fase di Fetch (1 di 2)
17Fondamenti di Informatica – Architettura Calcolatori
Esempio: Somma di due registri
Memoriacentrale
operiferiche
PC
IR PSW
Unità di controllo
RegistroRegistro
...Registro
MDR
MAR
ALU
stat
o
Ese
gui
Ope
razi
one
Unità centrale
LeggiScrivi
Bus Controllo
Indirizzo
Dato
Bus Indirizzi
Bus Dati
Fase di Fetch (2 di 2)
18Fondamenti di Informatica – Architettura Calcolatori
Esempio: Somma tra due registri
Memoriacentrale
operiferiche
PC
IR PSW
Unità di controllo
RegistroRegistro
...Registro
MDR
MAR
ALU
stat
o
Ese
gui
Ope
razi
one
Unità centrale
LeggiScrivi
Bus Controllo
Indirizzo
Dato
Bus Indirizzi
Bus Dati
Decodifica
19Fondamenti di Informatica – Architettura Calcolatori
Esempio: Somma tra due registri
Memoriacentrale
operiferiche
PC
IR PSW
Unità di controllo
RegistroRegistro
...Registro
MDR
MAR
ALU
stat
o
Ese
gui
Ope
razi
one
Unità centrale
LeggiScrivi
Bus Controllo
Indirizzo
Dato
Bus Indirizzi
Bus Dati
Esecuzione
Calcolatori elettronici – Architettura e organizzazioneGiacomo Bucci
Copyright © 2009 – The McGraw-Hill Companies srl
La codifica delle istruzioni
(Linguaggio assemblativo) LD R1, Var ; (forma compatta) R1 � M[Var]
ADD Rd, Rs1, Rs2 ; Rd � Rs1 + Rs2
Calcolatori elettronici – Architettura e organizzazioneGiacomo Bucci
Copyright © 2009 – The McGraw-Hill Companies srl
La codifica delle istruzioni
Rappresentazione binariaCodice operativo su 6 bit: LD -> 100011Id. Registro su 5 bit: R1 -> 00001Indirizzo di memoria su 21 bit -> 0 0000 0000 0011 1111 1100
LD R1, Var -> 10 0011 0 0001 0 0000 0000 0011 1111 1100
Calcolatori elettronici – Architettura e organizzazioneGiacomo Bucci
Copyright © 2009 – The McGraw-Hill Companies srl
La codifica delle istruzioni
Rappresentazione binaria di ADD R7, R10, R3Codice operativo su 6 bit: ADD -> 000101Id. Registro su 5 bit: R7 -> 00111, R10 -> 01010, R3 -> 00011I restanti 11 bit sono inutilizzati
ADD R7, R10, R3 -> 00 0101 0 1010 0 0011 0 0111 xxxxxxxxxxx
Calcolatori elettronici – Architettura e organizzazioneGiacomo Bucci
Copyright © 2009 – The McGraw-Hill Companies srl
Sequenze di istruzioni in memoria
Lo statement a = b + c si traduce come:LD R2, B ;B indirizzo a cui è allocata la parola bLD R3, C ;C indirizzo a cui è allocata la parola cADD R1, R2, R3ST A, R1 ;A indirizzo a cui è allocata la parola a
Calcolatori elettronici – Architettura e organizzazioneGiacomo Bucci
Copyright © 2009 – The McGraw-Hill Companies srl
La CPU
UC: responsabile dell’esecuzione delle istruzioni:- Legge le istruzioni dalla memoria- interpreta il OP e lo trasforma in sequenze temporizzate di comandi alla OU e/o alla memoria / dispositivi di I/O
Calcolatori elettronici – Architettura e organizzazioneGiacomo Bucci
Copyright © 2009 – The McGraw-Hill Companies srl
La CPU
OU: esegue le manipolazioni dell’informazione:- Legge i dati dalla memoria usando registri locali- esegue i comandi della UC sui dati acquisiti attraverso la ALU (rete che esegue operazioni logiche e aritmetiche)- fornisce alla UC informazioni intermedie della elaborazione (condizioni)- produce dati in uscita (memoria – I/O)
Calcolatori elettronici – Architettura e organizzazioneGiacomo Bucci
Copyright © 2009 – The McGraw-Hill Companies srl
La CPUIl funzionamento della CPU èscandito dal clock.
Calcolatori elettronici – Architettura e organizzazioneGiacomo Bucci
Copyright © 2009 – The McGraw-Hill Companies srl
La CPUMacrofasi del processo di elaborazione di una istruzione
Fetch: -viene letta l’istruzione contenuta nella cella indirizzata dal PC (registro Program Counter)-Viene decodificata l’istruzione per pilotare la sua esecuzione
Execute:- Viene eseguita l’istruzione
Calcolatori elettronici – Architettura e organizzazioneGiacomo Bucci
Copyright © 2009 – The McGraw-Hill Companies srl
La CPUMacrofasi del processo di elaborazione di una istruzione
Es. I (LD, R2, B)
a)La UC comanda la lettura della istruzione (parola) presente nell’indirizzo di Memoria contenuto nel PC (registro della CPU che contiene l’indirizzo (puntatore)
dell’istruzione successiva da eseguire).a)In base al OP (LD) la UC pilota la OU alla lettura della parola nell’indirizzo Bin memoria; la OU riceve il dato e lo memorizza nel suo registro R2b)Il PC viene incrementato di 4 per puntare alla instruzione successiva.
Calcolatori elettronici – Architettura e organizzazioneGiacomo Bucci
Copyright © 2009 – The McGraw-Hill Companies srl
PC (Program Counter)
ALU (Arithmetic and Logic Unit): rete combinatoria
IR (Instruction Register) usato per contenere l’istruzione in corso di esecuzioneviene caricato nella fase di fetch e rappresenta l’ingresso che detrmina la azioni svolte nella fase di esecuzione.
General Purpose Registers R1, R2, .. , Rn impiegati per contenere i dati su cui l’ALU esegue le proprie operazioni
MAR (Memory Address Register) deputato a contenere l’indirizzo della locazionedi memoria da leggere o scrivere. La sua uscita è sul bus indirizzi e viene abilitata durante le operazioni di lettura/scrittura
DTR (Data Transfer Register) registro attraverso il quale viene scambiata l’informazione fra la memoria e la CPU
Parti componenti la CPU
Frequenza di clockLa frequenza con cui si eseguono i cicli di esecuzione è scandita dal clock (orologio interno)n ad ogni impulso di clock l’unità di controllo
esegue un ciclo di esecuzionen la velocità di elaborazione di un
microprocessore dipende dalla frequenza del suo clock (300, 400,... MHz) (es.: 300 milioni di cicli al secondo). Attualmente si parla di GHz.
PDF created with pdfFactory trial version www.pdffactory.com
Architettura dei calcolatori18
Periferiche e interfacce di ingresso-uscita
Un calcolatore può essere collegato a diversi dispositivi di ingresso e/o uscita (chiamati periferiche )
n ad esempio, la tastiera, il mouse, lo schermo, le stampanti, il modem
n anche le memorie di massa (ad esempio, le unità disco e il lettore di CD- ROM) sono considerati periferiche
Nella macchina di Von Neumann, le periferiche non fanno parte del calcolatore n ogni periferica viene controllata mediante un’opportuna
interfaccian una interfaccia ha il compito di tradurre i segnali interni del
calcolatore in un formato comprensibile alla periferica stessa, e viceversa
Architettura dei calcolatori30
Memorie secondarie
Una memoria secondaria ha le seguenti caratteristiche fondamentali, che la differenziano dalla memoria centrale
n non volatilità l i dati memorizzati non vengono persi allo spegnimento del
calcolatore (perché memorizzati in forma magnetica o ottica e non elettronica)
n grande capacità
l una unità di memoria secondaria ha capacità maggiore (anche di diversi ordini di grandezza) rispetto alla memoria centrale
n bassi costi l il costo per bit di una memoria secondaria è minore (di
diversi ordini di grandezza) rispetto alla memoria centrale
Architettura dei calcolatori31
Memorie secondarie
Altre caratteristiche delle memorie secondarie rispetto alle memorie centrali
n minore velocità di accesso l i tempi di accesso a una memoria secondaria sono
maggiori (di qualche ordine di grandezza) rispetto alla memoria principale
n i dati di una memoria secondaria per essere acceduti dal processore devono comunque transitare nella memoria centrale
In pratica
n la memoria secondaria memorizza tutti i programmi e di dati del calcolatore
n la memoria centrale memorizza i programmi in esecuzione e i dati necessari per la loro esecuzione
Architettura dei calcolatori32
Dischi magnetici
Un disco magnetico (disco fisso) è composto da uno o più piatti di alluminio rotanti ricoperti di materiale magnetico e da testine
n una testina permette la scrittura e lettura di bit su un disco, memorizzati sotto forma di stati di polarizzazione (positiva e negativa)
In un disco magnetico n ciascun piatto è composto da due superfici (facce) n ciascuna faccia è suddivisa in tracce (circolari) e settori (a
spicchio)
l un cilindro è l’insieme delle tracce in una data posizione radiale
n i settori sono le unità logiche di memorizzazione l la capacità di un settore è tipicamente di 512 byte
n l’indirizzo di un settore è dato dalle seguenti informazioni l cilindro, superficie, settore
Architettura dei calcolatori33
Dischi magnetici
Esempio di organizzazione fisica di un disco magnetico
FONDAMENTI DI INFORMATICA STRUTTURA DEI CALCOLATORI 8
Memoria secondaria (o di massa)
La memoria secondaria si basa su dispositivi per lamemorizzazione di grandi masse di dati.
I dati memorizzati in questo tipo di memoria sopravvivonoall’esecuzione dei programmi (persistenti ).
La capacità (dimensione della memoria) varia molto dadispositivo a dispositivo: dalle decine di mega-byte (106 byte) aigiga-byte (109 byte) o tera-byte (1012 byte).
Anche la velocità di accesso/trasferimento varia da dispositivo adispositivo (comunque molto superiore a quella della memoriacentrale).
Taccesso(memoria centrale) ≅ 100 nsec
Taccesso(dischi magnetici) ≅ 10-20 msec
Taccesso (dischetti) ≅ 100 msec
(1 msec = 10-3 sec; 1 nsec = 10-9 sec)
FONDAMENTI DI INFORMATICA STRUTTURA DEI CALCOLATORI 9
Dispositivi di memoria di massa
Due classi fondamentali in base al metodo di accesso consentito:
1. ad accesso sequenziale (ad esempio, nastri): per cercare undato è necessario accedere a tutti quelli che lo precedono suldispositivo;
2. ad accesso diretto ai dati (ad esempio, dischi). E` possibileaccedere direttamente a qualunque dato memorizzato, grazieall’indirizzamento di porzioni (blocchi) del dispositivo.
Nel caso di dispositivi magnetici (nastri o dischi) l’informazione èpresente in memoria come stato di polarizzazione magnetica,che può essere positivo o negativo (codifica binaria).
FONDAMENTI DI INFORMATICA STRUTTURA DEI CALCOLATORI 10
Dischi magnetici
Settore
traccia 0
traccia 100
traccia 200
Un disco e‘ costituito da un certo numero di piatti di materialemagnetizzabile con due superfici che ruotano attorno ad un pernocentrale.
Ciascuna superficie ha una serie di cerchi concentrici o tracce eviene suddivisa in spicchi di ugual grandezza chiamati settori. Tuttele tracce equidistanti dal centro formano un cilindro.
La testina si sposta longitudinalmente lungo le tracce. I dati sonoscritti occupando posizioni successive lungo le tracce.Corrispondono ad uno stato di polarizzazione (positiva o negativa)del materiale magnetizzabile che costituisce i dischi.
Ogni blocco di ingresso/uscita è selezionabile mediante la terna<superficie, traccia, settore> (indirizzo).
Funzionamento
RAMHARD DISK
programma
programma
copia il programma in RAM
esegui le istruzioni del programma
CPU
PDF created with pdfFactory trial version www.pdffactory.com
Dispositivi di input/output (I/O, PERIFERICHE)
oTerminali. Tastiera + Video:n risoluzione, dimensione in pollici,…
oStampanti:n ad aghi, a getto, d’inchiostro, laser,…
oModem: per collegarsi in rete oScanner: per digitalizzare le immagini
PDF created with pdfFactory trial version www.pdffactory.com
Dispositivi di Input
TastieraMouse
Joystick
trackball Touch pad
Penna otticaScanner
Webcam
Fotocam. Dig.
Microfono
Schermi touch screen
Tavoletta grafica
PDF created with pdfFactory trial version www.pdffactory.com
Dispositivi di Output
Monitor
Cuffie
Plotter
Stampante
Casse acustiche Videoproiettore
PDF created with pdfFactory trial version www.pdffactory.com
FONDAMENTI DI INFORMATICA STRUTTURA DEI CALCOLATORI 14
Personal Computer
• Memoria di massa generalmente composta da disco rigido (harddisk) fisso e dischetti (floppy disk) estraibili.
• L'informazione nella memoria di massa e' organizzata in archivi(o file) caratterizzati da un nome.
• Varie classi di PC in base al tipo di processore (Intel, Macintosh,etc.)
FONDAMENTI DI INFORMATICA STRUTTURA DEI CALCOLATORI 15
Personal Computer
“IBM-compatibili”:hanno processori della famiglia Intel 80x86 :
8086 80286 80386 80486 80586 (pentium) ... prestazioni
• le prestazioni sono influenzate anche da altri parametri :- frequenza del clock- dimensione RAM- velocita` del BUS- ...
• unita` di misura delle prestazioni:
MIPS (migliaia di istruzioni per secondo)
Mflops (migliaia di operazioni floating point per secondo)
FONDAMENTI DI INFORMATICA STRUTTURA DEI CALCOLATORI 16
Altri sistemi di calcolo
Workstation:
sistemi generalmente dedicati ad un utente, ma con capacita‘ disupportare piu‘ attivita‘ contemporanee. Prestazioni piu‘ elevatedei PC.
Mini-calcolatori: Macchine capaci di servire decine di utenticontemporaneamente, collegati tramite terminali.
Super-calcolatori:
Hanno molti processori e grandi memorie di massa (centinaia omigliaia di terminali)
+ Possibilita‘ di connettere vari calcolatori di tipo anche diversomediante una rete di interconnessione (Sistemi Distribuiti).
FONDAMENTI DI INFORMATICA STRUTTURA DEI CALCOLATORI 17
Reti locali:
collegano elaboratori fisicamente vicini (nello stesso ufficio ostabilimento). L’obiettivo e` la condivisione di risorse:
Stampante di qualita‘
Stampante ad aghi
Workstation Workstation Workstation Workstation Workstation
Disk server
Bus di rete
Reti geografiche:
collegano elaboratori distribuiti su un’area geografica didimensioni estese (anche intercontinentali).
HostHost
Host
Rete geografica
Rete locale
terminali remoti
mini
PC
printer
Linea telefonica
Evoluzione e complessità' sia dell'hardware che del software(protocolli di collegamento).