Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Fondamenti di INFORMATICA
! È un dispositivo in grado di
Elaborare dati
Memorizzare dati
Trasferire dati da e verso l'esterno
Eseguire operazioni di controllo e coordinamento tra le parti di cui è
composto
Controllo
Ambiente I/O
Esterno
Elaborazione Memoria
Architettura di Von Neumann
DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
RAM
CPU MEMORIA
CENTRALE
BUS INDIRIZZI
BUS DATI
BUS DI CONTROLLO
UNITA’
PERIFERICHE
7
Elementi principali
DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
10
Elementi principali
DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
11
La macchina di Von Neumann
DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
RAM
CPU MEMORIA
CENTRALE
BUS INDIRIZZI
BUS DATI
BUS DI CONTROLLO
UNITA’
PERIFERICHE
12
Le memorie di massa
DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
13
La macchina di Von Neumann
DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
RAM
CPU MEMORIA
CENTRALE
BUS INDIRIZZI
BUS DATI
BUS DI CONTROLLO
UNITA’
PERIFERICHE
15
La memoria centrale
DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
16
La memoria centrale
DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
17
La memoria centrale
DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
Indirizzo cella
Dato da
leggere/scrivere
1023
Spazio di
indirizzamento
210=1024
18
Organizzazione ed indirizzamento della memoria centrale
DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
Esempio di RAM
indirizzi delle celle 0
h =16 bit
k = 12 bit 562
h = 16 bit
1001011001010010
cella selezionata
4.096 celle
4.095
19
Tecnologie di memoria centrale
DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
20
Tecnologie di memoria centrale
DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
21
La macchina di Von Neumann
DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
RAM
CPU MEMORIA
CENTRALE
BUS INDIRIZZI
BUS DATI
BUS DI CONTROLLO
UNITA’
PERIFERICHE
22
La CPU
DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
23
La CPU
DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
25
La CPU
DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
27
Formato delle istruzioni in linguaggio macchina
DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
28
Formato delle istruzioni in linguaggio macchina
DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
29
Fasi del Ciclo di CPU
DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
• Prelievo (o Fetch):
" Contenuto di registro PC trasferito in registro AR
" Lettura da memoria centrale trasferito in registro DR
" Contenuto del registro DR trasferito in registro CIR
" Incremento del contenuto di registro PC
• Decodifica: interpretazione codice operativo
• Esecuzione: attivazione esecuzione pertinente all’operazione
" Dipendono dal tipo di istruzione
30
Fasi del Ciclo di CPU
DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
31
Fasi del Ciclo di CPU
DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
32
Esempio di esecuzione di un programma
DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
33
Esempio di esecuzione di un programma
DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
scanf(“%d”,&a);
scanf(“%d”,&b);
scanf(“%d”,&c);
scanf(“%d”,&d);
z=(a+b)*(c+d);
printf(“%d”,z);
34
Esempio di esecuzione di un programma
DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
35
Esempio di esecuzione di un programma
DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
36
Esempio di esecuzione di un programma
DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
PC 0000000000
Passo 4
Il valore di AR 0000000000
PC viene
incrementato
0000000001 1023
DR 0100000000010000
Passo 3
CIR 0100000000010000
37
Esempio di esecuzione di un programma
DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
CIR 0100000000010000
38
Esempio di esecuzione di un programma
DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
Passo 1
AR 0000010000 1023
DR 0001000000011111
Passo 2
RAM
CPU MEMORIA
CENTRALE
BUS INDIRIZZI
BUS DATI
BUS DI CONTROLLO
UNITA’
PERIFERICHE
40
Il bus di sistema
DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
41
Componenti del bus di sistema
DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
• Bus Dati
" Trasferisce dati da master a slave e viceversa
• Bus Indirizzi
" Trasferisce indirizzi, per esempio l’indirizzo di un dato dal registro
indirizzi alla memoria, per accedere al dato stesso
• Bus di Controllo
" Read/Write
" Errore
" Richiesta e risposta (lavoro eseguito)
" Memoria o I/O
42
Componenti del bus di sistema
DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
CPU
Registro di stato (SR)
Registro contatore
di programma (PC)
A Unità
aritmetico
Registro logica
interruzioni (INTR) (ALU)
B
Registro istruzione
corrente (CIR)
Unità di controllo
(CU)
Clock
Registro indirizzi
Registro dati (DR) (AR)
Bus di sistema
43
Operazioni di trasferimento sul bus
DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
44
Operazioni di trasferimento sul bus
DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
Passo 3 Passo 1
0
SR Passo 2
PC
A
ALU Passo 4
INTR B
123
123 42
CIR
CU
Ck
42
DR 123
AR
1023
READ
OK
45
Operazioni di trasferimento sul bus
DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
46
Operazioni di trasferimento sul bus
DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
Passo 1
Passo 2
SR Passo 30
PC
A Passo 5
ALU
INTR B
123
123 70
42
CIR
CU
Ck Passo 4
70
DR 123
AR
1023
WRITE
OK
47
La macchina di Von Neumann
DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
RAM
CPU MEMORIA
CENTRALE
BUS INDIRIZZI
BUS DATI
BUS DI CONTROLLO
UNITA’
PERIFERICHE
48
Interfacce di I/O
DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
Bus di sistema
49
DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
• Linguaggio Assembly
50
Linguaggio Assembly
DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
del programma
Esempio di istruzioni in linguaggio assemblatore
(o “assembly” ) DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
52
Piccolo esempio di programma assembly
DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
53
Un altro esempio
DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
Calcolare l’espressione (x + y) - (z + w)
1. poni in memoria centrale (rispettivamente nelle celle
16, 17, 18 e 19) i valori di x, y, z, e w
2. esegui l’addizione di z e w:
1. copia da cella 18 a registro A
2. copia da cella 19 a registro B
3. somma i due registri (operazione eseguita dalla ALU che
lascia il risultato nel registro A)
3. immagazzina risultato (che ora è nel registro A) nella
cella 20
54
DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
55
DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
56
Il programma in assembly
DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
57
Il programma in assembly
DIPARTIMENTO DI ELETTRONICA, INFORMAZIONE E BIOINGEGNERIA
0 READ X
1 READ Y
2 READ Z
3 READ W
4 LOADA Z
5 LOADB W
6 ADD
7 STOREA RIS
8 LOADA X
9 LOADB Y
10 ADD
11 LOADB RIS
12 DIF
13 STOREA RIS
14 WRITE RIS
15 HALT
16 ...int....(X)....
17 ...int....(Y)....
18 ...int....(Z)....
19 ...int....(W)....
20 ...int...(RIS)... 58