Esplora E-book
Categorie
Esplora Audiolibri
Categorie
Esplora Riviste
Categorie
Esplora Documenti
Categorie
FONDAMENTI DI INFORMATICA 1
Architettura dei calcolatori
a.a. 2019 - 2020
• Rappresentazione dell’informazione
• Descrizione del processo di elaborazione
• Costruzione di un elaboratore elettronico in grado
di eseguire il processo di elaborazione
2
Elaboratore Elettronico
Dispositivo elettronico in grado di eseguire un processo di
trasformazione/elaborazione dell’informazione
3
Breve storia degli elaboratori
• 1642: Pascalina
– In grado di eseguire meccanicamente addizioni e sottrazioni
• 1671: macchina di Leibniz
– Perfeziona la pascalina con la moltiplicazione
• 1871: Macchina analitica di Babbage
– Primo esempio di macchina programmabile
– Oltre agli operandi la macchina è in grado di ricevere in input
la sequenza di operazioni da svolgere attraverso schede
perforate
– Mai portata a termine sia a causa dei costi
sia per la tecnologia meccanica inadeguata
• 1946: ENIAC
– Primo calcolatore digitale elettronico
programmabile
– Segue l’architettura di Von Neumann
4
Architettura di Von Neumann
5
Architettura di Von Neumann
• I moderni calcolatori ricalcano ancor oggi l’architettura
di Von Neumann
• L’insieme delle unità funzionali costituiscono l’hardware
6
Algoritmo
7
Linguaggio
• Nella programmazione di un elaboratore elettronico è
necessario utilizzare un linguaggio con espressioni
non ambigue
– “Luca, vai al supermercato a compare un litro di latte, se ci
sono le uova comprane 6”
– Luca tornò a casa con 6 litri di latte avendo visto che al
supermercato c’erano le uova
8
Istruzioni
• Istruzioni di Trasferimento
– READ: legge da input
– WRITE: scrive in output
– LOAD xxx: legge dall’indirizzo xxx della memoria e copia
nell’accumulatore
– STORE xxx: copia il valore nell’accumulatore all’interno
della cella di memoria xxx
• Istruzioni aritmetiche
– ADD xxx
somma/sottrae/moltiplica/divide il valore
– SUB xxx
dell’accumulatore con il valore nella cella xxx
– MULT xxx
della memoria, il risultato è nell’accumulatore
– DIV xxx
9
Esempio programma
• Somma di numeri interi presenti sul dispositivo di input
10
Macchina Astratta
• L’insieme di strutture dati e delle istruzioni
costituiscono una Macchina Astratta
• Dato un algoritmo A che si vuole eseguire sulla
macchina M è necessario descrivere A utilizzando il
linguaggio LM della macchina M
• Una macchina astratta può essere realizzata in
– Hardware
• Soluzione poco flessibile
• Per macchine complesse i costi possono essere molto onerosi
• Molto efficiente
– Simulazione Software
• Meno efficiente
• Costi ridotti
11
Macchina Astratta
• Si abbia a disposizione la macchina M0 con linguaggio L0
• La macchina astratta M1 con linguaggio L1 può essere
realizzata utilizzando M0 attraverso un software che possa
trasformare i programmi scritti in linguaggio L1 nel
linguaggio L0
• Interpretazione: durante l’esecuzione del programma
scritto in L1 viene effettuata l’interpretazione di ogni
istruzione in una o più istruzioni in L0
– L’interprete introduce inefficienza in esecuzione
– L’interpretazione avviene ad ogni esecuzione
• Compilazione: prima dell’esecuzione il programma viene
tradotto da L1 a L0
– La traduzione avviene solo una volta
– Una volta tradotto si ottiene il programma in linguaggio L0
eseguibile sulla macchina M0
12
Esempio Macchina astratta
• Linguaggio L0
– Consente una sola operazione aritmetica alla volta
– Gli operandi sono solo accumulatore e elemento presente in un
indirizzo di memoria
• somma tra due numeri presenti in memoria agli indirizzi IND1 e IND2
13
Esempio Macchina astratta
• Linguaggio L1
– Consente una sola operazione aritmetica alla volta
– Gli operandi devono essere presenti solo nei registri
– Si usa la notazione infissa
– Si usano nomi simbolici per gli operandi non indirizzi di memoria
14
Esempio Macchina astratta
• Linguaggio L2
– Consente l’uso di espressioni aritmetiche
15
Esempio Macchina astratta
• Linguaggio L3
• Aumenta il livello di astrazione
• Per risolvere equazioni di secondo grado
16
Esempio Macchina astratta
• Problema: risolvere un’equazione di secondo grado
17