Chi sono e come contattarmi. Corso di Architettura degli Elaboratori. Bibliografia. Bibliografia (breaking news, sigh!)

Documenti analoghi
Corso di Architettura degli Elaboratori

Introduzione. Chi sono? Come contattarmi? II edizione Master Web Technology e Security. Matteo Baldoni

AXO - Architettura dei Calcolatori e Sistema Operativo. organizzazione strutturata dei calcolatori

Il ciclo di base. La sequenza delle istruzioni. Interruzione. CPU - Memoria

Marco Tarini - Università dell'insubria A.A. 2016/17. Università degli Studi dell Insubria Dipartimento di Scienze Teoriche e Applicate

Introduzione. Chi sono? Come contattarmi? Programmazione I e Laboratorio. Matteo Baldoni

Traduzione e interpretazione

Progettare l'isa. Progettare l'isa. Corso di Architettura degli Elaboratori. Interpretazione

Architettura degli Elaboratori 01-Introduzione Introduzione

Calcolatori Elettronici B a.a. 2006/2007

Informatica. Dipartimento di Economia. Ing. Cristiano Gregnanin. 20 ottobre Corso di laurea in Economia

JavaScript Core Language

Fondamenti di Informatica. Cosa è l informazione. Informazione. Informatica e Comunicazione Digitale

Programmazione in Java e gestione della grafica (I modulo) Lezione 1: Presentazione corso

Corso di Laurea Ingegneria Informatica Laboratorio di Informatica

INFORMATICA. L informatica comprende:

Introduzione. Laboratorio di Calcolo Corso di Laurea in Fisica. Università degli Studi di Roma La Sapienza

Modelli di Sistemi. Modelli concettual di supporto allo studio dei sistemi distribuiti Modelli architetturali

Linguaggi di Programmazione

Calcolatori Elettronici B a.a. 2007/2008

LINGUAGGI DI ALTO LIVELLO

Progettare l'isa. Progettare l'isa. Corso di Architettura degli Elaboratori. Interpretazione

Programmare un computer. JavaScript Core Language. Programmare un computer: astrazione. Programmare un computer: astrazione

Fondamenti di Informatica. Cosa è l informazione. A cosa serve. Prof.V.L.Plantamura Informatica e Comunicazione Digitale a.a.

Fondamenti di Informatica

MIPS & SPIM. Modulo del Corso di Architettura degli Elaboratori. Nicola Paoletti. Università di Camerino Scuola di Scienze e Tecnologie

Architettura degli Elaboratori

Cosa è un programma. Informatica di Base -- R.Gaeta 18

Introduzione. Fondamenti di programmazione Java

Linguaggi di alto livello, compilatori e interpreti

Concetti Introduttivi

Architettura degli Elaboratori

Laboratorio di Informatica (Chimica)

Architettura degli Elaboratori

Introduzione alla programmazione. Walter Didimo

Introduzione. Chi sono? Come contattarmi? Laboratorio di Programmazione ad Oggeti. Matteo Baldoni

Fondamenti di Informatica. Cosa è l informazione. A cosa serve. Prof. V.L. Plantamura Informatica e Comunicazione Digitale a.a.

C++ Barriera di astrazione. Barriera di astrazione. Basic. Basic. Lisp. Lisp. Pascal. Prolog. Pascal. Prolog. Cobol. Fortran IMPERATIVI FUNZIONALI

Esecuzione di Programmi Esercitazione

Linguaggi di alto livello. Barriera di astrazione. Pascal. Cobol. Fortran. Basic. Modula-2. Lisp. Simula67 Scheme. Smalltalk C++ Prolog AN

Programmazione. Dipartimento di Matematica. Ing. Cristiano Gregnanin. 29 febbraio Corso di laurea in Matematica

INFORMATICA NOVITÀ IL LINGUAGGIO JAVA. Massimiliano Bigatti. Guida alla programmazione di base IN ALLEGATO AL VOLUME

Il Software programmabili programma algoritmo

Linguaggi di alto livello, compilatori e interpreti

Linguaggi di programmazione

Introduzione a Java. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi132 Sesto San Giovanni

Programmazione per BioInformatica Introduzione. Docente. Programma del corso. Nicola Drago

Laboratorio di Informatica I

Fondamenti di Informatica T. Il Software

Organizzazione strutturata

Architettura del Calcolatore. Corso di Informatica. CPU e RAM. Architettura del Calcolatore

Fondamenti di Informatica

Informatica 3. LEZIONE 1: Introduzione. Modulo 1: Introduzione al corso Modulo 2: Introduzione ai linguaggi di programmazione

permette di utilizzare lo stesso programma su CPU diverse (con opportuni traduttori)

Lez. 5 La Programmazione. Prof. Salvatore CUOMO

Fondamenti di Informatica

Corso di Fondamenti di Informatica. Dispensa 9: Composizione di Classi. Prof. Domenico Rosaci

Prof. Rossella Cancelliere

la traduzione dei programmi ed introduzione a Java

Programmazione in C. Requisiti didattici

Programmazione. Andrea Passerini Informatica. Programmazione

Architettura degli elaboratori Intro

Informatica 3. Informatica 3. Lezione 1- Modulo 1. LEZIONE 1: Introduzione. Concetti di linguaggi di programmazione. Introduzione

Docente: Prof. Marco Patella Tutor: Stefano Pio Zingaro

WEB:

Programmazione. Andrea Passerini Informatica. Programmazione

Programmazione in Java e gestione della grafica (I modulo) Lezione 2: Prime nozioni di Java

Architettura degli elaboratori

Calcolatori Elettronici B a.a. 2004/2005

TEORIE E TECNICHE PER LA COMUNICAZIONE DIGITALE

Architettura degli Elaboratori - 1. Pagina web del corso. Obiettivi del Corso. Contenuto del Corso. Corso di Laurea in Informatica

Docente: Prof. Marco Patella Tutor: Lorenzo Rosa

Architettura del processore e esecuzione delle istruzioni

Informatica di Base B - MultiDAMS -- Rossano Gaeta

10: I LINGUAGGI di PROGRAMMAZIONE PARTE 1

WEB:

Linguaggi e traduttori

Architettura degli elaboratori

Fondamenti di Informatica MultiDAMS

AMBIENTI DI PROGRAMMAZIONE

Reti Logiche e Architettura dei Calcolatori

Sistemi di Elaborazione

Introduzione al funzionamento di un calcolatore elettronico

Architettura degli Elaboratori - 1

Informazioni sul corso

Linguaggi di programmazione

Concetti Introduttivi. Il Computer

Corso di Informatica. Architettura del Calcolatore. Architettura del Calcolatore. Corso di Laurea in Conservazione e Restauro dei Beni Culturali

Programmazione: Sommario

Architettura dei calcolatori e Software di sistema

3. Programmi e algoritmi

Algoritmo. La programmazione. Algoritmo. Programmare. Procedimento di risoluzione di un problema

I linguaggi. Informatica

MANUALE HOT POTATOES VERSIONE 6.3. A cura di Domenico Paparazzo.

Transcript:

( '! %& % -" A : ;5 L K%. J J % 0 T NM ]\ [ % %R.% J % 0 T P Q n n Corso di Architettura degli Elaboratori Chi sono e coe contattari "! Introduzione: linguaggi, livelli e acchine virtuali, +" * ) 3 * 3 / + 2 5 &98 <1 GHI FE BDC % 0./ 67 5 4 " @?> =&1 K % %1 L % K L 0 %.% R V T RRS S SUT Q P O I Dipartiento di Inforatica Università degli Studi di Torino C.so Svizzera, 185 I-10149 Torino baldoni[ at] di[ dot] unito[ dot] it HZY I W X ` b `a ^ `a ^ \ ^ ` _ b ^ a ]\ [ di Y c F ji lkj h H X i G gf F e F RRS S S T R V T R ( Sono nato a Torino nel 1968, nel febbraio 1993 i sono laureato in Scienze dell Inforazione e nel febbraio 1998 sono diventato Dottore in Ricerca in Inforatica. Dal luglio 1999 sono ricercatore in inforatica presso il Dipartiento di Inforatica dell Università degli Studi di Torino. 1 2 Bibliografia Bibliografia (breaking news, sigh!) Altre letture Il libro di testo Andrew S. Tanenbau. Architettura dei coputer, un approccio strutturato. UTET Libreria, 2000. 40,80. uwv zy{ qrst p op xyps D. A. Patterson, J. L. Hennessy. Architettura dei coputer: un approccio quantitativo. Jackson Libri, 2001. 51,50. La Prentice Hall, controllata dalla Pearson Education Copany, detiene tutti i diritti sul volue originale A. Tanenbau, Structured Coputer Organization (Fourth Edition) La Pearson Education Italia ha recenteente negato i diritti alla UTET Libreria sulla stapa e distribuzione del volue in edizione italiana [counicazione telefonica personale del responsabile delle edizioni universitarie, 16 aprile 2004] La Pearson Education Italia pubblicherà in proprio il volue a solo tra un paio di anni! Beh,... le alternative a questo punto dell'anno non sono olte :-( 3 4

ƒ Bibliografia Lèsae Structured Coputer Organization, Andrew S. Tanenbau, G. Goodan (Editor), US Iports & PHIPEs, ISBN 0130959901 Su Aazon.co.uk: 69.99 (19/ 4/ 2004) Accordi con la Pearson Education Italia perettono di acquistare il libro a un prezzo di favore (raccolgo elenco interessati) L'esae sarà scritto Per superare lo scritto è necessario studiare sul libro di testo (i lucidi che saranno essi a disposizione non lo sostituiscono) Stesse odaltà sia per il corso A che il corso B 5 6 Novità! L'esonero Corso A o B? Quest'anno sperientereo l'esonero Il prio esonero si svolgerà a fine aggio/inizio giugno Il secondo esonero si svolgerà in concoitanza con la pria prova scritta, inizio di luglio Inforazioni più precise vi saranno date più avanti e presso la pagina del corso. j X k gj ~ Xl j X k gj ~~Xl Il corso A è per chi ha il cognoe dalla lettera A alla lettera K Il prograa svolto sarà lo stesso sia per il corso A che B I passaggi da un corso all'altro sono peressi purchè si trovi un collega disposto allo scabio Inviare una ail an entrabi i docenti contenente noe e cognoe, atricola ed eail delle persone che si scabiano entro il 30 aprile 2004 Si è counque liberi di seguire il corso A o B a, se non si è effettuato il passaggio, il copito verrà valutato, corretto e registrato dal docente del corso di appartenenza 7 8

Ricordarsi che potete chiederi ed interroperi se qualcosa non vi è chiaro o avete doande in genere sono buono e coprensivo a... se farete ruore o disturberete posso incavolari e... Lo studio dell'architettura dei calcolatori Obiettivi del corso Coe è organizzato un calcolatore? Nel libro sono discussi: Pentiu II UltraSPARC Java Chip Ma questo non è un corso di hardware!! 9 10 Livelli coe astrazioni Livelli coe astrazioni Un coputer è una acchina prograabile, tuttavia esso non è direttaente utilizzabile da parte degli utenti poiché richiederebbe la conoscenza sull organizzazione fisica della specifica acchina e del suo linguaggio acchina Ogni achina avrebbe le sue differenti caratteristiche Il linguaggio acchina è estreaente coplicato e non di facile gestione??? In altre parole desideriao astrarci dai dettagli fisici della acchina in oggetto e dal suo specifico linguaggio acchina L idea è quella di realizzare al di sopra della acchina reale una acchina virtuale astratta che abbia le funzionalità desiderate e che sia facile da utilizzare per l utente L utente interagisce con la acchina virtuale, ogni coando viene poi tradotto nei corrispondenti coandi sulla acchina fisica La acchina virtuale è realizzata ediante software (prograi) 11 12

Livelli coe astrazioni La acchina virtuale viene realizzata in genere ediante il software di base: Sistea Operativo: file syste, eoria, cpu, risorse ausiliarie, counicazione Linguaggi e abienti di prograazione ad alto livello: interpreti e copilatori Non vi sono liiti al nuero e al tipo di acchine virtuali che possono essere realizzate In genere nelle acchine oderne sono strutturate su più livelli (struttura a cipolla) Livelli coe astrazioni In terini un po più astratti, detto: I h l insiee delle istruzioni che costituiscono il linguaggio LM della acchina virtuale del livello h Mh l insiee delle istruzioni utilizzabili al livello h, a ascherate nei confronti dei livelli superiori C h l insiee dei coandi ipleentati a livello h utilizzando il linguaggio acchina I h Il linguaggio acchina I h+1 della acchina virtuale di livello h+1 puo essere definito nel odo seguente: I h+ 1 = I h + C h - M h h=1 h=0 13 14 Livelli coe astrazioni Interpretazione Un browser è un prograa Un browser interpreta il linguaggio HTML e visualizza le pagine sullo schero Per la visualizzazione delle pagine un browser che per farlo si appoggia al software di base BROWSER Codice Sorgente Sparc/Solaris MacOS Sparc/ Solari s Apple Il software di base si appoggia alla acchina fisica per realizzare effettivaente il rendering della pagina su video Intel/GNU-Linux (JavaScript, Schee, Prolog): Interazione. Più facile odificare un prograa durante l'esecuzione Intel/GNU-Linux Intel/Windows 15 16

Interpretazione Traduzione o copilazione 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 oento) 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 trasettere un essaggio Codice Sorgente Copilatore Sparc/Solaris Copilatore MacOS Copilatore Intel/GNU-Linux Copilazione (Pascal, C, Ada, C++): Efficienza di esecuzione. Il codice generato dal copilatore può essere ottiizzato, perché la copilazione è fatta una sola volta binario binario binario Sparc/ Solari s Intel/GNU- Linux Intel/Wind Apple 17 18 Traduzione o copilazione La è adatta per counicare essaggio, coe ad esepio una lettera Anche per effettuare una è necessario l intervento di qualcuno che sia in grado di coprendere le frasi di un linguaggio e riportarle in un altro a questo può operare in tepi separati rispetto la scrittura del essaggio e la sua lettura La lettura è più rapida e seplice, il traduttore ha senz altro avuto tepo per eglio adattare il testo a si penalizza l interattività 19 Soluzione ista: Java Soluzione ista (Java): Portabilità. Per eseguire un prograa su acchine diverse è sufficiente ipleentare l'interprete del linguaggio interedio, e non tutto il copilatore Codice Sorgente Copilatore Java bytecode Java/PalOS Java/Solaris Java/ GNU-Linux Java/MacOS Sparc/ Solari s Intel/GNU- Linux PalIntel/Wind Apple 20

Panoraica del corso Organizzazione strutturata del calcolatore Studiereo i livelli 0, 1, 2 Nel secondo anno studierete il livello 3 e 4 Nel prio e secondo triestre avete incoinciato a studiare il livello 5 Panoraica del corso Livello 0: Logico-Digitale porte registri eoria Livello 1: Microarchitettura Arithetic Logic Unit (ALU) Data Path icroprograa Livello 2: Instruction set (ISA) Supporti architetturali 21 22 Panoraica del corso Livelli coe astrazioni L'insiee di tipi di dati, operazioni e caratteristiche di ogni livello si chiaa architetura Lo studio dei coe progettare le parti di un sistea che sono visibili ai prograatori si chiaa architettura dei calcolatori Architettura sinonio di organizzazione In terini un po più astratti, detto: I h l insiee delle istruzioni che costituiscono il linguaggio LM della acchina virtuale del livello h Mh l insiee delle istruzioni utilizzabili al livello h, a ascherate nei confronti dei livelli superiori C h l insiee dei coandi ipleentati a livello h utilizzando il linguaggio acchina I h Il linguaggio acchina I h+1 della acchina virtuale di livello h+1 puo essere definito nel odo seguente: I h+ 1 = I h + C h - M h h=1 h=0 23 24

ˆˆ ˆˆ Livelli di acchine Hardware HARDWARE E SOFTWARE SONO LOGICAMENTE EQUIVALENTI Potreo anche siulare l'hardware di un intero coputer via software Un esepio è la 'vware workstation' Una virtual achine che siula l'hardware di un PC! 25 26 Hardware Tale software perette di installare un sistea operativo senza nessuna differenza con una installazione su un vero coputer Windows 2000 GNU/ Linux RedHat 27