ARCHITETTURA
DEGLI ELABORATI
+
LAB.
INTRODUZIONE
DOCENTE: Dott.ssa Maria Alessandra Torsello – torsello@di.uniba.it
CFU: 9
ESAMI: prova di laboratorio e prova scritta (o prova orale)
-‐ n° 3 appelli nei mesi di GENNAIO – FEBBRAIO
-‐ n° 2 appelli nel mese di SETTEMBRE
PROGRAMMA:
-‐ Capire come è fatto un elaboratore
Componenti fondamentali costituenti un elaboratore
o
-‐ Capire come funziona un elaboratore
Meccanismi alla base dell’elaborazione automatica dell’informazione
o
-‐ Approccio “strutturato” per livelli
Hardwere … Sistema Operativo
à à
o
TESTI:
-‐ Andrew S. Tanenbaum – ARCHITETTURA DEL COMPUTER: UN APPROCCIO
STRUTTURALE – UTET, Libreria, quinta edizione 2005
-‐ William Stallings – ARCHITETTURA E ORGANIZZAZIONE DEI CALCOLATORI:
PROGETTO E PRESTAZIONI, 6° Edizione
2
INTRODUZIONE AL CORSO
INFORMATICA
Informatica è una parola composta da sue parole: INFORMAZIONE AUTOMATICA.
L’informatica si occupa quindi della rappresentazione e dell’elaborazione
automatica dell’informazione.
Nell’antichità l’obiettivo dell’informatica era quello di avere un “calcolo automatico”
nelle operazioni da svolgere e quindi effettuare calcoli veloci.
L’ELABORATORE è lo strumento o macchina per la rappresentazione, l’elaborazione
e la memorizzazione delle informazioni (dati).
L’elaborazione automatica dell’informazione è quindi un processo in cui
l’elaboratore esegue delle azioni su delle informazioni per risolvere un qualsiasi
problema.
La procedura per eseguire queste azioni deve essere:
-‐ la specifica dei dati da elaborare;
-‐ le azioni da compiere;
-‐ la specifica dei controlli che determinano l’ordine con cui eseguire le azioni.
Le azioni che devono essere eseguite dall’elaboratore sono dette
ALGORITMO, che è
l’insieme delle azioni finite che consentono di risolvere un problema in un tempo
finito.
Ma queste azioni devono essere tradotte in un linguaggio comprensibile alla
macchina ( linguaggio di programmazione) per questo, queste azioni prendono il
nome di PROGRAMMA.
Infine abbiamo l’ELABORATORE che è la macchina che compie le azioni.
MICROCOMPONENTI DELL’ELABORATORE
Le microcomponenti dell’elaboratore sono l’HARDWARE (HW) e il SOFTWERE (SW).
L’hardware (HW) è una struttura fisica costituita da componenti elettronici ed
elettromeccanici.
Il software è invece l’insieme dei programmi che consentono all’HW di realizzare dei
compiti:
-‐ FIRMWARE: software codificato in HW
-‐ SOFTWARE DI BASE: programma di gestione del sistema (sistema operativo)
-‐ SOFTWARE APPLICATIVO: programmi che permettono di svolgere compiti
specifici (ascolto di musica, ritocco foto…)
3
Ma SW e HW sono però equivalenti:
-‐ le operazioni eseguite in HW possono essere eseguite in SW
-‐ le operazioni eseguite in SW possono essere eseguite in HW
Ma perché realizzare funzioni in HW e funzioni in SW?
Per varie ragioni:
-‐ costo;
-‐ velocità;
-‐ affidabilità;
-‐ frequenza di modifiche.
L’ASTRAZIONE IN LIVELLI DI UN ELABORATORE
Un sistema di elaborazione è pensato come stratificazione a livelli.
SCOPO: colmare il divario tra il modo di pensare alla soluzione dell’uomo, e il modo
di pensare alla soluzione della macchina.
Processo di elaborazione
Il processo di elaborazione delle informazioni automatiche è l’insieme delle attività
che l’esecutore deve effettuare attraverso un insieme di dati al fine di risolvere un
problema.
Le fasi sono:
-‐ individuare i dati input
-‐ ordinare le azioni da eseguire
-‐ output soluzione
à
GERARCHIA DI LIVELLI
Per poter essere eseguito sulla macchina reale, un programma scritto in linguaggio
Ln deve essere tradotto in un linguaggio Ln-‐1 e a sua volta in un linguaggio Ln-‐2 fino
ad arrivare al linguaggio L0
TRADUZIONE DI PROGRAMMI
La traduzione da un livello più alto al livello sottostante può essere secondo due
approcci
-‐ compilazione
-‐ interpretazione
4
Compilazione
Ogni istruzione del programma scritto in Ln (programma sorgente) è tradotta in Ln-‐1
A questo punto viene generato un altro programma detto
programma oggetto che
potrà essere successivamente eseguito
PROGRAMMA SORGENTE PROGRAMMA OGGETTO
(Ln) COMPILATORE Ln-‐1
In questo modo:
VENGONO RILEVATI SOLO GLI ERRORI SINTATTICI.
GLI ERRORI SEMANTICI SARANNO RILEVATI IN FASE DI ESECUZIONE
Interpretazione
Ogni istruzione del programma scritto in Ln (programma sorgente) è tradotta in Ln-‐1
e immediatamente eseguita .
-‐ non viene generato il programma oggetto
PROGRAMMA SORGENTE
(Ln) INTERPRETE ESECUZIONE
In questo modo:
VENGONO RILEVATI SIA GLI ERRORI SINTATTICI CHE GLI ERRORI SEMANTICI
LINGUAGGI E TRADUTTORI
LINGUAGGIO DI ALTO LIVELLO
-‐ Linguaggi simbolici
indipendenti dalle caratteristiche dell’elaboratore
Es: C, Fortran, Cobol, Pascal
o
-‐ I compilatori traducono i programmi da un linguaggio di alto livello in un
linguaggio assembly o linguaggio macchina
Traduzione 1 a molti
o
LINGUAGGIO DI BASSO LIVELLO
-‐ Linguaggi simbolici
dipendenti dalle caratteristiche dell’elaboratore
Es: Assembly
o
-‐ Gli assemblatori traducono programmi da linguaggio assembly a linguaggio
macchina
Traduzione 1 a 1
o
5
L’INFORMAZIONE
L’informazione è un qualcosa che fa aumentare la conoscenza.
Informazione e dati
Un dato è una delle possibili rappresentazioni di un’informazione.
La conoscenza aumenta se riceviamo un dato e la relativa chiave di lettura, ma non
aumenta se manca uni di questi elementi.
-‐ Il dato è la parte estensionale di un’informazione
-‐ La chiave di lettura è la parte
intensionale di un’informazione.
Chiave di lettura (intensionale)
INFORMAZIONE
Dati (estensionale)
Esempio:
-‐ Il signor A comunica al signor B il dato 100
Il signor B non può interpretarlo perché non ha una chiave di lettura.
o
-‐ Il signor A comunica al signor B solo la chiave di lettura
Il signor B non può interpretarlo perché non ha i dati di
o un’informazione.
Rappresentazione dell’Informazione
L’informazione è un’entità astratta
Rappresentazione Analogica
La rappresentazione
analogica di un’informazione si basa su un insieme continuo di
valori.
La rappresentazione è analogica quando utilizza un indicatore che mostri, “per
analogia”, l’andamento continuo nello spazio e nel tempo della grandezza.
-‐ segue con continuità un andamento “analogo” a quello della grandezza.
Esempi:
o La lancetta di un orologio che si muove parallelamente allo scorrimento del
§ tempo
Il termometro a mercurio che rappresenta il valore della temperatura in
§ base alla lunghezza della colonnina di mercurio (a ogni minima variazione di
temperatura si ottiene un’analoga variazione di dimensione della colonnina
di mercurio).
6
Rappresentazione Digitale
La rappresentazione
digitale si basa su un insieme discreto di valori.
-‐ l’aggettivo “digitale” (dall’inglese digit: cifra) significa essenzialmente
“numerico”
Un insieme di dati (testo, immagine, suono) è in formato digitale se è rappresentato
attraverso una sequenza di cifre.
-‐ Esempi:
In un orologio digitale le cifre che compongono l’ora, i minuti e i
o secondi indicano solo e soltanto gli 86400 possibili momenti in cui può
essere suddiviso un giorno in secondi.
Si dice digitale un dispositivo che lavora in base a sequenze numeriche
-‐ il computer lavora in base a sequenze di cifre binarie ( bit).
Rappresentazione dell’Informazione
L’informazione per poter essere elaborata da un elaboratore deve essere
rappresentata attraverso grandezze compatibili con le unità che lo compongono.
L’elaboratore è un sistema digitale
-‐ le informazioni sono rappresentate, trasmesse ed elaborate usando livelli
discreti di una grandezza fisica
i &nb
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.