• Non ci sono risultati.

Corso di Corso di Architettura degli Elaboratori Architettura degli Elaboratori

N/A
N/A
Protected

Academic year: 2022

Condividi "Corso di Corso di Architettura degli Elaboratori Architettura degli Elaboratori"

Copied!
10
0
0

Testo completo

(1)

Matteo Baldoni Architetture degli Elaboratori 1

Corso di Corso di

Architettura degli Elaboratori Architettura degli Elaboratori

Introduzione:

linguaggi, livelli e macchine virtuali

Matteo Baldoni

Dipartimento di Informatica Università degli Studi di Torino C.so Svizzera, 185 – I-10149 Torino [email protected] http://www.di.unito.it/ ~baldoni

Matteo Baldoni Architetture degli Elaboratori

Chi sono e come contattarmi Chi sono e come contattarmi

Matteo Baldoni

Dipartimento di Informatica Università degli Studi di Torino Corso Svizzera, 185

I-10149 Torino (ITALY)

E-mail: [email protected]

URL: http://www.di.unito.it/ ~baldoni Tel.: +39 011 670 67 56

Fax.: +39 011 75 16 03

Pagina del corso:

http://www.di.unito.it/ ~baldoni/didattica/

Sono nato a Torino nel 1968, nel febbraio 1993 mi sono laureato in Scienze

dell’Informazione e nel febbraio 1998 sono diventato Dottore in Ricerca in Informatica. Dal luglio 1999 sono ricercatore in informatica presso il Dipartimento di Informatica dell’Università degli Studi di Torino.

(2)

Matteo Baldoni Architetture degli Elaboratori 3

Bibliografia Bibliografia

Andrew S. Tanenbaum.

Architettura dei computer, un approccio strutturato.

UTET Libreria, 2000.

€ 40,80.

D. A. Patterson, J. L.

Hennessy. Architettura dei computer: un approccio quantitativo. Jackson Libri, 2001. € 51,50.

Il libro di testo

Altre letture

Andrew S.

Tanenbaum

Matteo Baldoni Architetture degli Elaboratori

L`esame L`esame

L'esame sarà scritto

Per superare lo scritto è necessario studiare sul libro di testo (i lucidi che saranno messi a disposizione non lo sostituiscono)

Stesse modaltà sia per il corso A che il corso B

Il corso A è per chi ha il

cognome dalla lettera A alla

lettera K

(3)

Matteo Baldoni Architetture degli Elaboratori 5

Ricordarsi che Ricordarsi che

potete chiedermi ed

interrompermi se qualcosa non vi è chiaro o avete domande

in genere sono buono e comprensivo ma ...

se farete rumore o disturberete posso incavolarmi e ...

Matteo Baldoni Architetture degli Elaboratori

Obiettivi del corso Obiettivi del corso

Lo studio dell'architettura dei calcolatori

Come è organizzato un calcolatore?

Nel libro sono discussi:

Pentium II

UltraSPARC

Java Chip

Ma questo non è un corso

di hardware!!

(4)

Matteo Baldoni Architetture degli Elaboratori 7

Livelli come astrazioni Livelli come astrazioni

Un computer è una macchina programmabile, tuttavia esso non è direttamente utilizzabile da parte degli utenti poiché richiederebbe la conoscenza sull’organizzazione fisica della specifica macchina e del suo linguaggio macchina

Ogni machina avrebbe le sue differenti caratteristiche

Il linguaggio macchina è

estremamente complicato e non di facile gestione

Linguaggio Macchina

Utente

?

? ?

Matteo Baldoni Architetture degli Elaboratori

Livelli come astrazioni Livelli come astrazioni

In altre parole desideriamo astrarci dai dettagli fisici della macchina in oggetto e dal suo specifico linguaggio macchina

L’idea è quella di realizzare al di sopra della macchina reale una macchina virtuale astratta che abbia le funzionalità desiderate e che sia facile da utilizzare per l’utente

L’utente interagisce con la macchina virtuale, ogni comando viene poi tradotto nei

corrispondenti comandi sulla macchina fisica

La macchina virtuale è realizzata mediante software (programmi)

traduzione in LM Software

Macchina Virtuale

Utente

Linguaggio Macchina

(5)

Matteo Baldoni Architetture degli Elaboratori 9

Livelli come astrazioni Livelli come astrazioni

La macchina virtuale viene realizzata in genere mediante il software di base:

Sistema Operativo: file system, memoria, cpu, risorse ausiliarie, comunicazione

Linguaggi e ambienti di

programmazione ad alto livello:

interpreti e compilatori

Non vi sono limiti al numero e al tipo di macchine virtuali che possono essere realizzate

In genere nelle macchine moderne sono strutturate su più livelli (struttura a cipolla)

traduzione in LM Software

Macchina Virtuale

Utente

Linguaggio Macchina traduzione

Software

Macchina Virtuale

Matteo Baldoni Architetture degli Elaboratori

Livelli come astrazioni Livelli come astrazioni

Un browser è un programma

Un browser interpreta il linguaggio HTML e visualizza le pagine sullo schermo

Per la visualizzazione delle pagine un browser che per farlo si

appoggia al software di base

Il software di base si appoggia alla macchina fisica per realizzare effettivamente il “rendering” della pagina su video

traduzione in LM Software

Macchina Virtuale

Utente

Linguaggio Macchina traduzione

BROWSER

Macchina Virtuale

(6)

Matteo Baldoni Architetture degli Elaboratori 11

Interpretazione Interpretazione

Interprete (JavaScript, Scheme, Prolog): Interazione.

Più facile modificare un programma durante l'esecuzione

Sparc/Solaris

Apple Codice Sorgente

Interprete Sparc/Solaris

Interprete MacOS

Interprete Intel/GNU-Linux

Intel/GNU-Linux Intel/Windows

Matteo Baldoni Architetture degli Elaboratori

Interpretazione Interpretazione

Affinché le due persone di lingua diversa possano dialogare tra di loro (nel caso nessuna delle due conosca la lingua dell’altro) è necessario che qualcuno interpreti (traduca sul momento) quanto dice una persona nella propria lingua nella lingua di chi ascolta

Si interpreta quando è necessario una stretta interazione, quando si desidera dialogare e non solo trasmettere un messaggio

(7)

Matteo Baldoni Architetture degli Elaboratori 13

Traduzione o compilazione Traduzione o compilazione

Compilazione (Pascal, C, Ada, C++): Efficienza di esecuzione. Il codice generato dal

compilatore può essere ottimizzato, perché la compilazione è fatta una sola volta

Compilatore Sparc/Solaris

Compilatore MacOS

Compilatore Intel/GNU-Linux

binario binario

binario

Intel/GNU-Linux Intel/Wind

Apple Sparc/Solaris Codice Sorgente

Matteo Baldoni Architetture degli Elaboratori

Traduzione o compilazione Traduzione o compilazione

La traduzione è adatta per comunicare messaggio, come ad esempio una lettera

Anche per effettuare una traduzione è necessario

l’intervento di qualcuno che sia in grado di comprendere le frasi di un linguaggio e riportarle in un altro ma questo può operare in tempi separati rispetto la scrittura del messaggio e la sua lettura

La lettura è più rapida e semplice, il traduttore ha senz’altro avuto tempo per meglio adattare il testo

ma si penalizza l’interattività

(8)

Matteo Baldoni Architetture degli Elaboratori 15

Soluzione mista: Java Soluzione mista: Java

Soluzione mista (Java):Portabilità. Per eseguire un programma su macchine diverse è sufficiente implementare l'interprete del linguaggio intermedio, e non tutto il compilatore

Palm Compilatore

Java

bytecode

Interprete Java/Solaris

Interprete Java/MacOS

Interprete Java/GNU-Linux

Interprete

Java/PalmOS Intel/GNU-Linux

Intel/Wind

Apple Sparc/Solaris

Codice Sorgente

Matteo Baldoni Architetture degli Elaboratori

Panoramica del corso Panoramica del corso

Organizzazione strutturata del calcolatore

Studieremo i livelli 0, 1, 2

Nel secondo anno studierete il livello 3 e 4

Nel primo e secondo trimestre avete

incominciato a studiare il

livello 5 (alcuni con me...)

(9)

Matteo Baldoni Architetture degli Elaboratori 17

Panoramica del corso Panoramica del corso

L'insieme di tipi di dati, operazioni e

caratteristiche di ogni livello si chiama

architetura

Lo studio dei come progettare le parti di un sistema che sono visibili ai programmatori si chiama architettura dei calcolatori

Architettura sinonimo di organizzazione

Matteo Baldoni Architetture degli Elaboratori

Livelli di macchine Livelli di macchine

HARDWARE E SOFTWARE SONO

LOGICAMENTE

EQUIVALENTI

(10)

Matteo Baldoni Architetture degli Elaboratori 19

Hardware

Hardware ≡ ≡ Software Software

Potremmo anche simulare

l'hardware di un intero computer via software

Un esempio è la 'vmware

workstation'

Una virtual machine che simula l'hardware di un PC!

Matteo Baldoni Architetture degli Elaboratori

Hardware

Hardware ≡ ≡ Software Software

Tale software permette di installare un sistema operativo

senza nessuna differenza con una

installazione su un vero

computer

GNU/Linux RedHat Windows 2000

Riferimenti

Documenti correlati

Per evitare confusione (ADA è un nome, ma può essere anche un numero esadecimale; oppure: 139 potrebbe esprimere un numero in base 10 oppure 16) si usano delle

ai programmatori umani viene più naturale scrivere programmi sequenziali: una sola sequenza di istruzioni da eseguire in fila (sequenzialità = il contrario di parallelismo)

Segnali di controllo per i registri EPC, Cause, BadVAddr, e Status Possibilità di caricare PC con l’indirizzo della routine di gestione delle eccezioni. Possibilità di decrementare

•  NOTA: ciascuna somma vale 0 solo per quella data combinazione degli addendi (dei valori delle variabili in input)... Dalle forme canoniche ai circuiti

★ Numero di istruzioni: l’ISA puo’ fornire istruzioni di alto o basso livello (quindi piu’ o meno istruzioni per

  VLSI (Very Large Scale Integrated): > 100.000 porte!. Con tecnologia SSI, gli IC contenevano poche porte, direttamente collegate ai

•  Set deve essere ridiretto verso la 1-bit ALU che fornirà in output il bit meno significativo del risultato!. Il blocco che controlla lʼoverflow lo fa sulla

  ogni passo da eseguire in un ciclo di clock (ciclo più corto rispetto alla CPU a ciclo singolo)!..   importante il bilanciamento della quantità di