Integer Java Virtual Machine (IJVM)

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Integer Java Virtual Machine (IJVM)"

Transcript

1 Integer Java Virtual Machine (IJVM) Calcolatori Elettronici II Prof. Antonino Mazzeo Ing. Luigi Romano Ing. Alessandro Cilardo Ing. Luigi Coppolino Architetture a stack (a) (b) (c) (d) PUSH a2 PUSH a3 ADD POP 1

2 Integer Java Virtual Machine Java Virtual Machine IJVM» include un sottoinsieme limitato alle operazioni su interi dell Instruction Set della JVM» non è orientata alla programmazione ad oggetti Mic-1» implementazione della IJVM IJVM: struttura della memoria 2

3 Tempificazione 3

4 Unità Logico-Aritmetica (ALU) Inoltre, sull uscita della ALU opera un blocco shifter che può realizzare:» shift a sinistra di 8 bit (per estendere MBR a 16 bit)» shift a destra di 1 bit Operazioni in memoria (1) Indirizzi a 32 bit Parole dati a 32 bit Opcode da 8 bit 4

5 Operazioni in memoria (2) MAR contiene l indirizzo di parola (da moltiplicare per 4) PC contiene l indirizzo di byte Controllo di flusso nel microprogramma MPC[8] = (JAMZ AND Z) OR (JAMN AND N) OR ADDR[8] MPC[0..7] = ADDR[0..7] OR (MBR[0..7] AND JMPC) 5

6 Instruction Set della IJVM Microprogrammazione 6

7 Ciclo base Microistruzioni: iadd 7

8 Microistruzioni: bipush Microistruzioni: iload 8

9 Microistruzioni: goto Microistruzioni: ifeq 9

10 Microistruzioni: wide iload Microistruzioni: invokevirtual 10

11 invokevirtual: evoluzione della memoria Microistruzioni: ireturn 11

12 ireturn: evoluzione della memoria Simulatore Mic-1 Prerequisiti» JDK1 o superiori Scaricare il file self-extracting ZIP archive dal sito Eseguire il file autoestraente dalla directory di lavoro. Assicurarsi che il path verso la cartella /bin del java SDK sia presente nella variabile di ambiente PATH Aggiungere il percorso completo verso il file classes.zip nella variabile ambiente CLASSPATH 12

13 Utilities: mic1asm mic1asm» assemblatore per il microprogramma > java mic1asm input-file output-file Legge un file testo contenente il microprogramma nel MicroAssembler Language (MAL) per Mic-1 e produce un file binario caricabile nella microrom dell architettura simulata. Esempio: > java mic1asm mic1ijvm.mal mic1ijvm.mic1 Utilities: ijvmasm ijvmasm» compilatore assembler per l ISA della IJVM > java ijvmasm input-file output-file Legge un file testo contenente un programma nel linguaggio assembler IJVM e produce un file binario eseguibile dalla Mic1 e caricabile nel simulatore mic1sim Esempio: > java ijvmasm echo.jas echo.ijvm 13

14 Utilities: mic1sim mic1sim» simulatore della microarchitettura Mic1 > java mic1sim [ mic1-file ] [ ijvm-file ] Simula l architettura Mic1 caricando la microrom con il microprogramma mic1-file e la memoria esterna del processore con il macroprogramma ijvm-file Esempio: > java mic1sim mic1ijvm.mic1 echo.ijvm Simulatore Consente l esecuzione step-by-step del microprogramma, visualizzando il contenuto dei registri macchina ad ogni colpo di clock. E fornito di una console per le operazioni di input/output implementate da due speciali istruzioni a livello ISA:» IN: legge una parola da una speciale locazione di memoria e ne fa il push sullo stack» OUT: fa il pop dallo stack e scrive la parola letta in una speciale locazione di memoria 14

15 Compilazione e simulazione Simulatore in esecuzione 15

16 Struttura del file.mal (1) Con il simulatore è fornito il file mic1ijvm.mal che implementa l ISA della Mic1 descritta nel Cap. 4 del Tanenbaum (più le istruzioni IN e OUT). Il file.mal contiene prima di tutto delle direttive.label che associano ad alcune label utilizzate nel seguito del file gli indirizzi fisici della microrom in cui le corrispondenti microistruzioni saranno poste. Il resto del file contiene coppie label-microistruzione su ciascuna riga. Il next-address di ogni microistruzione è implicitamente fissato alla microistruzione sulla riga successiva, a meno che non siano usati costrutti goto. Struttura del file.mal (2) //.label nop1 0x00.label bipush1 0x10.label ldc_w1 0x13 // Main1 PC = PC + 1; fetch; goto (MBR) nop1 goto Main1 iadd1 iadd2 iadd3 MAR = SP = SP - 1; rd H = TOS MDR = TOS = MDR + H; wr; goto Main1 16

17 Modifica del microassembler Il file.mal può essere modificato per cambiare l implementazione di alcune macroistruzioni o aggiungerne altre Se si aggiungono macroistruzioni, è anche necessario modificare coerentemente il file ijvm.conf, che associa ad ogni codice mnemonico assembler un opcode. Esercizio Estendere l ISA della IJVM con una istruzione di Shift a sinistra che preleva dallo stack due parole: la testa dello stack rappresenta il numero di bit da shiftare, la seconda l operando. Come al solito, il risultato è posto a sua volta nello stack:» BIPUSH 42 // push dell operando ([SP]=42)» BIPUSH 1 // push del numero di bit ([SP]=1)» ISHL // 42 << 1 ([SP]=84) Il codice mnemonico della nuova istruzione sarà ISHL ed il corrispodente opcode 0x78 Il numero di bit da shiftare deve essere compreso tra 0 e 31 17

18 Modifica del file.conf Aggiungere nel file ijvm.conf la seguente riga. 0x78 è l opcode della nuova istruzione (ma anche l indirizzo fisico nella microrom che conterrà la prima microistruzione che la implementa) 0x78 ISHL Modifica del file.mal Copiare il vecchio file mic1ijvm.mal in un nuovo file (ad es. newmic1.mal) ed aggiungere le seguenti righe, che rappresentano le microistruzioni che implementano la ISHL.label ishl1 0x78 ishl1 MAR = SP = SP - 1; rd ishl2 ishl3 H = OPC = MDR ishl4 Z = TOS; if (Z) goto NoShift; else goto DoShift DoShift OPC = H = OPC + H DoShift2 TOS = TOS - 1; goto ishl4; NoShift MDR = TOS = OPC; wr; goto Main1 18

19 Programma assembler di test: echo.main L1: IN // request character input from memory DUP // duplicate top of stack (inputed char) for comparing BIPUSH 0x0 // push 0x0 for comparison IF_ICMPEQ L2 // if no characters are available for input, loop BIPUSH 1 ISHL OUT // else, print character GOTO L1 // loop back to beginning of program L2: POP // No key has been pushed, so clear the stack, GOTO L1 // and start over.end-main Compilazione e Simulazione 19

20 Simulatore in esecuzione Il programma riceve caratteri ASCII in ingresso, shifta il corrispondente codice esadecimale di un bit a sinistra, e stampa il risultato. Nell esempio, l utente ha digitato i caratteri 1 (0x31) e 2 (0x32), e riceve in output b (0x62) e d (0x64) Esercizio L istruzione ISHL implementata in precedenza non esegue alcun controllo sul numero di bit da shiftare (prima parola prelevata dallo stack). Ovviamente, questo meccanismo non garantisce un limite accettabile sul numero di passi che l istruzione compie (potrebbero arrivare a !). Come esercizio, imporre che la ISHL consideri solo i 5 bit meno significativi della parola contenente il numero di shift da effettuare, in modo tale che tale numero sia minore o uguale a

06 Livello di micro architettura

06 Livello di micro architettura Livello di micro architettura Pagina 2 Introduzione il livello di micro architettura implementa le funzioni del livello sovrastante (ISA) come livello ISA di riferimento si sceglie una parte della JVM

Dettagli

La microarchitettura. Didattica della strumentazione digitale e sistemi a microprocessore anno accademico 2006 2007 pagina 1

La microarchitettura. Didattica della strumentazione digitale e sistemi a microprocessore anno accademico 2006 2007 pagina 1 La microarchitettura. anno accademico 2006 2007 pagina 1 Integer Java virtual machine Ogni microprocessore può avere una microarchitettura diversa, ma la modalità di funzionamento per certi aspetti è generale.

Dettagli

Il livello della CPU, e in particolare come le istruzioni ISA (Instruction Set Architecture) che costituisce la CPU.

Il livello della CPU, e in particolare come le istruzioni ISA (Instruction Set Architecture) che costituisce la CPU. Il livello della microarchitettura descrive il funzionamento interno di una CPU, e in particolare come le istruzioni ISA (Instruction Set Architecture) vengono interpretate ed eseguite dall hardware (livello

Dettagli

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

Progettare l'isa. Progettare l'isa. Corso di Architettura degli Elaboratori. Interpretazione Corso di Architettura degli Elaboratori Il livelo ISA: ISA IJVM, tipi di dati e formato delle istruzioni Matteo Baldoni Dipartimento di Informatica Università degli Studi di Torino C.so Svizzera, 185 I-10149

Dettagli

AXO Achitettura dei Calcolatori e Sistema Operativo. Instruction Set Architecture (ISA) e 68000

AXO Achitettura dei Calcolatori e Sistema Operativo. Instruction Set Architecture (ISA) e 68000 AXO Achitettura dei Calcolatori e Sistema Operativo Instruction Set Architecture (ISA) e 68000 introduzione a ISA ISA - Instruction Set Architecture insieme delle istruzioni (instruction set) che possono

Dettagli

Laboratorio di Architettura degli Elaboratori

Laboratorio di Architettura degli Elaboratori Laboratorio di Architettura degli Elaboratori Dott. Massimo Tivoli Introduzione a MARS: interfaccia, struttura di un programma, gestione dell input L assemblatore e simulatore MARS Permette di eseguire

Dettagli

Lezione n.9. Introduzione al linguaggio macchina

Lezione n.9. Introduzione al linguaggio macchina Lezione n.9 Autore:Luca Orrù 1 Sommario Esecuzione delle istruzioni Architettura interna ed esterna Linguaggio assembler e modi d indirizzamento Consideriamo ora la singola istruzione e la scomponiamo

Dettagli

Esempio di moltiplicazione come somma e spostamento

Esempio di moltiplicazione come somma e spostamento Esempio di moltiplicazione come somma e spostamento Implementare una moltiplicazione coinvolge algoritmi di shift e somma Istruzioni di Shift:movimento di bit: ROL Rd ROR Rd LSL Rd LSR ASR Rd Rd 22 x 35

Dettagli

Corso di Informatica Applicata. Lezione 3. Università degli studi di Cassino

Corso di Informatica Applicata. Lezione 3. Università degli studi di Cassino Università degli studi di Cassino Corso di Laurea in Ingegneria della Produzione Industriale Corso di Informatica Applicata Lezione 3 Ing. Saverio De Vito e-mail: saverio.devito@portici.enea.it Tel.: +39

Dettagli

Macchina di von Neumann

Macchina di von Neumann Il processore PD32 Macchina di von Neumann Unità di Ingresso Memoria di lavoro Unità di Uscita Unità di Calcolo Unità di Controllo Suddivisione SCA-SCO Unità di Ingresso Memoria di lavoro Unità di Uscita

Dettagli

ARCHITETTURE MICROPROGRAMMATE. 1. Necessità di un architettura microprogrammata 1. Cos è un architettura microprogrammata? 4

ARCHITETTURE MICROPROGRAMMATE. 1. Necessità di un architettura microprogrammata 1. Cos è un architettura microprogrammata? 4 ARCHITETTURE MICROPROGRAMMATE. 1 Necessità di un architettura microprogrammata 1 Cos è un architettura microprogrammata? 4 Struttura di una microistruzione. 5 Esempi di microprogrammi 9 Esempio 1 9 Esempio

Dettagli

Architettura (10/9/2003) Pag. 1/6. Cognome e Nome (in stampatello):

Architettura (10/9/2003) Pag. 1/6. Cognome e Nome (in stampatello): Architettura (10/9003) Pag. 1/6 Esame di Architettura (matr.0-1) del 10/9003 Per Fondamenti di Architettura NON rispondere Per le domande a risposta multipla cerchiare la risposta scelta. Non alle domande

Dettagli

[http://www.di.univaq.it/muccini/labarch]

[http://www.di.univaq.it/muccini/labarch] [http://www.di.univaq.it/muccini/labarch] Modulo di Laboratorio di Architettura degli Elaboratori Corso di Architettura degli Elaboratori con Laboratorio Docente: H. Muccini Lecture 3: Introduzione a SPIM

Dettagli

Lezione 16: L architettura LC-3

Lezione 16: L architettura LC-3 Lezione 16: L architettura LC-3 Laboratorio di Elementi di Architettura e Sistemi Operativi 15 Maggio 2013 Ricorda... Il ciclo di esecuzione di un istruzione è composto da sei fasi: FETCH DECODE ADDRESS

Dettagli

Laboratorio di Informatica Corso di Laurea in Matematica A.A. 2007/2008

Laboratorio di Informatica Corso di Laurea in Matematica A.A. 2007/2008 Laboratorio di Informatica Corso di Laurea in Matematica A.A. 2007/2008 Dott.Davide Di Ruscio Dipartimento di Informatica Università degli Studi di L Aquila Lezione del 11/01/08 Nota Questi lucidi sono

Dettagli

Il simulatore SPIM SPIM

Il simulatore SPIM SPIM Il simulatore SPIM Architetture dei Calcolatori (lettere A-I) SPIM SPIM: un simulatore per eseguire programmi assembler scritti per processori MIPS32 Download e materiale relativo alla pagina Web http://www.cs.wisc.edu/~larus/spim.html

Dettagli

Architettura della CPU e linguaggio assembly Corso di Abilità Informatiche Laurea in Fisica. prof. ing. Corrado Santoro

Architettura della CPU e linguaggio assembly Corso di Abilità Informatiche Laurea in Fisica. prof. ing. Corrado Santoro Architettura della CPU e linguaggio assembly Corso di Abilità Informatiche Laurea in Fisica prof. ing. Corrado Santoro Schema a blocchi di una CPU Arithmetic Logic Unit Control Unit Register File BUS Control

Dettagli

La macchina programmata Instruction Set Architecture (1)

La macchina programmata Instruction Set Architecture (1) Corso di Laurea in Informatica Architettura degli elaboratori a.a. 2014-15 La macchina programmata Instruction Set Architecture (1) Schema base di esecuzione Istruzioni macchina Outline Componenti di un

Dettagli

E una notazione per descrivere gli algoritmi.

E una notazione per descrivere gli algoritmi. Linguaggio di Programmazione E una notazione per descrivere gli algoritmi. Programma:: e la rappresentazione di un algoritmo in un particolare linguaggio di programmazione. In generale, ogni linguaggio

Dettagli

Linguaggio macchina e linguaggio assembler

Linguaggio macchina e linguaggio assembler FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Linguaggio macchina e linguaggio assembler 2000 Pier Luca Montessoro (si veda la nota di copyright

Dettagli

Parte II.2 Elaboratore

Parte II.2 Elaboratore Parte II.2 Elaboratore Elisabetta Ronchieri Università di Ferrara Dipartimento di Economia e Management Insegnamento di Informatica Dicembre 1, 2015 Elisabetta Elisabetta Ronchieri II Software Argomenti

Dettagli

Programmazione dello Z80

Programmazione dello Z80 Il microprocessore si incarica di: gestire il programma e i suoi dati di eseguire i calcoli richiesti. Le azioni appena elencate rendono necessario che il microprocessore abbia da qualche parte, al suo

Dettagli

Lezione 1: L architettura LC-3 Laboratorio di Elementi di Architettura e Sistemi Operativi 10 Marzo 2014

Lezione 1: L architettura LC-3 Laboratorio di Elementi di Architettura e Sistemi Operativi 10 Marzo 2014 Lezione 1: L architettura LC-3 Laboratorio di Elementi di Architettura e Sistemi Operativi 10 Marzo 2014 Ricorda... Il ciclo di esecuzione di un istruzione è composto da sei fasi: FETCH DECODE ADDRESS

Dettagli

Lezione n.19 Processori RISC e CISC

Lezione n.19 Processori RISC e CISC Lezione n.19 Processori RISC e CISC 1 Processori RISC e Superscalari Motivazioni che hanno portato alla realizzazione di queste architetture Sommario: Confronto tra le architetture CISC e RISC Prestazioni

Dettagli

Architettura di un calcolatore: introduzione

Architettura di un calcolatore: introduzione Corso di Calcolatori Elettronici I Architettura di un calcolatore: introduzione Prof. Roberto Canonico Università degli Studi di Napoli Federico II Dipartimento di Ingegneria Elettrica e delle Tecnologie

Dettagli

' Z80:' archite:ura'ed'esperienze'di' laboratorio' ' P.'Vicini' ' P.Vicini'('Lab.'Sistemi'e'Segnali' 1'

' Z80:' archite:ura'ed'esperienze'di' laboratorio' ' P.'Vicini' ' P.Vicini'('Lab.'Sistemi'e'Segnali' 1' ' Z80:' archite:ura'ed'esperienze'di' laboratorio' ' P.'Vicini' ' P.Vicini'('Lab.'Sistemi'e'Segnali' 1' Calcolatori Prodotto di una tecnologia estremamente vitale con alto impatto economico e sociale Tecnologia

Dettagli

Esegue la sommatral'accumulatoreac e Se I=1, ilcontenutodellacelladi memoriailcui indirizzoè

Esegue la sommatral'accumulatoreac e Se I=1, ilcontenutodellacelladi memoriailcui indirizzoè Parte II AND 104 I, micro-operazioni c 0 t 0 : MAR PC c 0 t 1 : MBR M, PC PC+1 c 0 t 2 : OPR MBR(OP), I MBR(I) q 7 Ic 0 t 3 : R 1 Ciclo di fetch (q 7 +I )c 0 t 3 : F 1 c 1 t 0 : MAR MBR(AD); / 104 da Hex

Dettagli

Corso di Calcolatori Elettronici I A.A. 2010-2011 Il processore Lezione 18

Corso di Calcolatori Elettronici I A.A. 2010-2011 Il processore Lezione 18 Corso di Calcolatori Elettronici I A.A. 2010-2011 Il processore Lezione 18 Università degli Studi di Napoli Federico II Facoltà di Ingegneria Calcolatore: sottosistemi Processore o CPU (Central Processing

Dettagli

L unità di controllo. Il processore: unità di controllo. Le macchine a stati finiti. Struttura della macchina a stati finiti

L unità di controllo. Il processore: unità di controllo. Le macchine a stati finiti. Struttura della macchina a stati finiti Il processore: unità di lo Architetture dei Calcolatori (lettere A-I) L unità di lo L unità di lo è responsabile della generazione dei segnali di lo che vengono inviati all unità di elaborazione Alcune

Dettagli

Ing. Paolo Domenici PREFAZIONE

Ing. Paolo Domenici PREFAZIONE Ing. Paolo Domenici SISTEMI A MICROPROCESSORE PREFAZIONE Il corso ha lo scopo di fornire i concetti fondamentali dei sistemi a microprocessore in modo semplice e interattivo. È costituito da una parte

Dettagli

che vengano generati nell ordine corretto i sistema (es., la memoria, l unità aritmetico-

che vengano generati nell ordine corretto i sistema (es., la memoria, l unità aritmetico- Principi di architetture dei calcolatori: l unità di controllo Mariagiovanna Sami L unità di controllo Per eseguire le istruzioni di macchina, occorre che vengano generati nell ordine corretto i segnali

Dettagli

Architetture dei Calcolatori (Lettere. Installazione di SPIM. Interfaccia Grafica

Architetture dei Calcolatori (Lettere. Installazione di SPIM. Interfaccia Grafica SPIM Architetture dei Calcolatori (Lettere A-I) SPIM Ing.. Francesco Lo Presti Simulatore che esegue programmi assembler per architetture RISC MIPS R2000/R3000 Legge programmi in assembler MIPS e li traduce

Dettagli

La Macchina Virtuale

La Macchina Virtuale Università degli Studi di Palermo Dipartimento di Ingegneria Informatica Elaborazione di Immagini e Suoni / Riconoscimento e Visioni Artificiali 12 c.f.u. Anno Accademico 2008/2009 Docente: ing. Salvatore

Dettagli

Calcolatori Elettronici

Calcolatori Elettronici Calcolatori Elettronici Classificazione dei calcolatori elettronici Sistemi basati sull architettura di Von Neumann Sistemi basati sull architettura Harward Architettura dei calcolatori: definizioni Evoluzione

Dettagli

Architettura degli elaboratori (A)

Architettura degli elaboratori (A) Laurea in Informatica a.a. 2010-2011 Laboratorio del corso di Architettura degli elaboratori (A) Modulo 1: l Architettura dell 8086 Valeria Carofiglio Linguaggi a vari livelli e loro relazioni Programma

Dettagli

Architettura del calcolatore

Architettura del calcolatore Architettura del calcolatore La prima decomposizione di un calcolatore è relativa a due macro-componenti: Hardware Software Architettura del calcolatore L architettura dell hardware di un calcolatore reale

Dettagli

Calcolatori Elettronici

Calcolatori Elettronici Calcolatori Elettronici ISA di riferimento: MIPS Massimiliano Giacomin 1 DOVE CI TROVIAMO Livello funzionale Livello logico Livello circuitale Livello del layout istruzioni macchina, ISA Reti logiche:

Dettagli

Corso di Laurea in Ingegneria Informatica e Biomedica. Fondamenti di Informatica II A.A. (2002-2003)

Corso di Laurea in Ingegneria Informatica e Biomedica. Fondamenti di Informatica II A.A. (2002-2003) Università degli Studi Magna Græcia di Catanzaro Corso di Laurea in Ingegneria Informatica e Biomedica Fondamenti di Informatica II A.A. (2002-2003) Docente: Prof. Mario Cannataro cannataro@unicz.it www.isi.cs.cnr.it/isi/cannataro

Dettagli

Calcolatori Elettronici A a.a. 2008/2009

Calcolatori Elettronici A a.a. 2008/2009 Calcolatori Elettronici A a.a. 2008/2009 ISA e LINGUAGGIO ASSEMBLY MIPS ESERCIZI Massimiliano Giacomin ESERCIZIO Utilizzando la green card, tradurre in linguaggio macchina le due istruzioni in assembly

Dettagli

Sommario Introduzione al linguaggio Assembly. Calcolatori Elettronici Prof. Gian Luca Marcialis. Le operazioni fondamentali

Sommario Introduzione al linguaggio Assembly. Calcolatori Elettronici Prof. Gian Luca Marcialis. Le operazioni fondamentali Prof. Gian Luca Marcialis Corso di Laurea di Ingegneria Elettronica Capitolo 5 Linguaggio Assembly Fonti principali: Patterson, A.D., Hennessy, J., "Struttura, organizzazione e progetto dei calcolatori

Dettagli

ARCHITETTURA DI UN SISTEMA A MICROPROCESSORE

ARCHITETTURA DI UN SISTEMA A MICROPROCESSORE ARCHITETTURA DI UN SISTEMA A MICROPROCESSORE 1. INTRODUZIONE In questo capitolo viene presentata la struttura, sia interna che esterna, di un microprocessore generico riprendendo i concetti esposti nella

Dettagli

Z80: archite:ura ed esperienze di laboratorio. P. Vicini. P.Vicini - Lab. Sistemi e Segnali

Z80: archite:ura ed esperienze di laboratorio. P. Vicini. P.Vicini - Lab. Sistemi e Segnali Z80: archite:ura ed esperienze di laboratorio P. Vicini 1 Calcolatori Prodotto di una tecnologia estremamente vitale con alto impatto economico e sociale Tecnologia pervasiva: calcolo, controllo,......

Dettagli

Linguaggio Java. Robusto. Orientato agli oggetti. Protegge e gestisce dagli errori. Non permette costrutti pericolosi

Linguaggio Java. Robusto. Orientato agli oggetti. Protegge e gestisce dagli errori. Non permette costrutti pericolosi Linguaggio Java Robusto Non permette costrutti pericolosi Eredità Multipla Gestione della Memoria Orientato agli oggetti Ogni cosa ha un tipo Ogni tipo è un oggetto (quasi) Protegge e gestisce dagli errori

Dettagli

Cenni ad Assembly Intel

Cenni ad Assembly Intel Cenni ad Assembly Intel Luca Abeni April 17, 2015 Architerrura Intel Utilizzata sulla maggior parte dei laptop, desktop e server moderni Lunga storia Dagli anni 70 (Intel 8080-8 bit!)......fino ad oggi

Dettagli

2 - Introduzione al linguaggio Java

2 - Introduzione al linguaggio Java 2 - Introduzione al linguaggio Java Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo

Dettagli

Corso Base. Liceo Norberto Rosa Bussoleno Prof. Angelo GIORGIO

Corso Base. Liceo Norberto Rosa Bussoleno Prof. Angelo GIORGIO Corso Base Liceo Norberto Rosa Bussoleno Prof. Angelo GIORGIO Java Java è un Linguaggio di Programmazione orientato agli oggetti. Un Linguaggio di Programmazione è un linguaggio ad alto livello, dotato

Dettagli

Calcolatori Elettronici Parte VII: il Livello delle Istruzioni Macchina

Calcolatori Elettronici Parte VII: il Livello delle Istruzioni Macchina Anno Accademico 2013/2014 Calcolatori Elettronici Parte VII: il Livello delle Istruzioni Macchina Prof. Riccardo Torlone Universita Roma Tre Instruction Set Architecture Il livello ISA è l interfaccia

Dettagli

Il Processore: i registri

Il Processore: i registri Il Processore: i registri Il processore contiene al suo interno un certo numero di registri (unità di memoria estremamente veloci) Le dimensioni di un registro sono di pochi byte (4, 8) I registri contengono

Dettagli

Struttura del calcolatore

Struttura del calcolatore Struttura del calcolatore Proprietà: Flessibilità: la stessa macchina può essere utilizzata per compiti differenti, nessuno dei quali è predefinito al momento della costruzione Velocità di elaborazione

Dettagli

Architettura di tipo registro-registro (load/store)

Architettura di tipo registro-registro (load/store) Caratteristiche principali dell architettura del processore MIPS E un architettura RISC (Reduced Instruction Set Computer) Esegue soltanto istruzioni con un ciclo base ridotto, cioè costituito da poche

Dettagli

ARCHITETTURA DELLE CPU come ARCHITETTURA DEL SET DI ISTRUZIONI

ARCHITETTURA DELLE CPU come ARCHITETTURA DEL SET DI ISTRUZIONI PROGETTO DELLA CPU MEMORIZZAZIONE DEGLI OPERANDI DOVE SONO MEMORIZZATI GLI OPERANDI NELLA CPU? ARCHITETTURA DELLE CPU come ARCHITETTURA DEL SET DI ISTRUZIONI SCELTE PROGETTUALI: 1. DOVE SONO MEMORIZZATI

Dettagli

IL LINGUAGGIO JAVA: CARATTERISTICHE

IL LINGUAGGIO JAVA: CARATTERISTICHE CHE COS È JAVA È un linguaggio (e relativo ambiente di programmazione) definito dalla Sun Microsystems per permettere lo sviluppo di applicazioni sicure, performanti e robuste su piattaforme multiple,

Dettagli

Quinto Homework. Indicare il tempo necessario all'esecuzione del programma in caso di avvio e ritiro fuori ordine.

Quinto Homework. Indicare il tempo necessario all'esecuzione del programma in caso di avvio e ritiro fuori ordine. Quinto Homework 1) Si vuole progettare una cache a mappatura diretta per un sistema a 32 bit per una memoria da 2 GB (quindi sono solo 31 i bit utili per gli indirizzi) e blocchi di 64 byte. Rispondere

Dettagli

Informatica di Base - 6 c.f.u.

Informatica di Base - 6 c.f.u. Università degli Studi di Palermo Dipartimento di Ingegneria Informatica Informatica di Base - 6 c.f.u. Anno Accademico 2007/2008 Docente: ing. Salvatore Sorce Architettura dei calcolatori I parte Introduzione,

Dettagli

3. Programmazione strutturata (testo di riferimento: Bellini-Guidi)

3. Programmazione strutturata (testo di riferimento: Bellini-Guidi) Corso di Fondamenti di Informatica Corso di Laurea in Ingegneria Meccanica (A-K) 3. (testo di riferimento: Bellini-Guidi) Ing. Agnese Pinto 1 di 28 Linguaggi di programmazione Un programma è un algoritmo

Dettagli

Ciclo di Istruzione. Ciclo di Istruzione. Controllo. Ciclo di Istruzione (diagramma di flusso) Lezione 5 e 6

Ciclo di Istruzione. Ciclo di Istruzione. Controllo. Ciclo di Istruzione (diagramma di flusso) Lezione 5 e 6 Ciclo di Istruzione Può essere suddiviso in 4 tipi di sequenze di microoperazioni (cioè attività di calcolo aritmetico/logico, trasferimento e memorizzazione dei dati), non tutte necessariamente da realizzare

Dettagli

Calcolatori Elettronici Parte VI: Microarchitetture, Cache e Pipeline

Calcolatori Elettronici Parte VI: Microarchitetture, Cache e Pipeline Anno Accademico 2013/2014 Calcolatori Elettronici Parte VI: Microarchitetture, Cache e Pipeline Prof. Riccardo Torlone Universita di Roma Tre Ritorniamo all approccio di San Clemente.. Riccardo Torlone

Dettagli

MPLAB - IDE. Introduzione. 1. Benvenuti in MPLAB. Introduzione

MPLAB - IDE. Introduzione. 1. Benvenuti in MPLAB. Introduzione MPLAB - IDE Introduzione 1. Benvenuto in MPLAB 2. Creare un progetto 3. Creare un nuovo file assembler 4. Scrivere un programma 5. Toolbar icons 6. Simulatore MPSIM Introduzione MPLAB è un programma che

Dettagli

Prelievo di un istruzione. Istruzioni macchina. Tipi di istruzioni. Registri principali della CPU e loro ruolo

Prelievo di un istruzione. Istruzioni macchina. Tipi di istruzioni. Registri principali della CPU e loro ruolo Registri principali della CPU e loro ruolo CPU e linguaggio macchina domande ed esercizi PC: indirizzo prossima IR: corrente MAR: indirizzo cella di M da leggere/scrivere MBR: contenuto cella di M letta

Dettagli

CALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.6. Unità di controllo microprogrammata

CALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.6. Unità di controllo microprogrammata Lezione n.6 Unità di controllo microprogrammata 1 Sommario Unità di controllo microprogrammata Ottimizzazione, per ottimizzare lo spazio di memoria occupato Il moltiplicatore binario Esempio di architettura

Dettagli

Calcolatori Elettronici Parte X: l'assemblatore as88

Calcolatori Elettronici Parte X: l'assemblatore as88 Anno Accademico 2013/2014 Calcolatori Elettronici Parte X: l'assemblatore as88 Prof. Riccardo Torlone Università Roma Tre L'assemblatore as88 Disponibile presso: CD-ROM allegato al libro di testo del corso

Dettagli

Il processore - CPU. PDF created with pdffactory trial version www.pdffactory.com

Il processore - CPU. PDF created with pdffactory trial version www.pdffactory.com Il processore - CPU (CENTRAL PROCESSING UNIT) Funzionamento o Programmi e dati risiedono in file memorizzati in memoria secondaria. o Per essere eseguiti (i programmi) e usati (i dati) vengono copiati

Dettagli

Assembler di Spim. Assembler di SPIM. Struttura di un programma assembler. Direttive

Assembler di Spim. Assembler di SPIM. Struttura di un programma assembler. Direttive Assembler di Spim Assembler di SPIM Il programma è organizzato in linee Ogni linea può contenere un commento che parte dal carattere # e si estende fino alla fine della linea Ogni linea che non sia bianca

Dettagli

Corso di Sistemi di Elaborazione delle informazioni

Corso di Sistemi di Elaborazione delle informazioni Corso di Sistemi di Elaborazione delle informazioni LEZIONE 2 (HARDWARE) a.a. 2011/2012 Francesco Fontanella Tre concetti Fondamentali Algoritmo; Automa (o anche macchina); Calcolo; 2 Calcolatore MACCHINA

Dettagli

Architettura di un computer

Architettura di un computer Architettura di un computer Modulo di Informatica Dott.sa Sara Zuppiroli A.A. 2012-2013 Modulo di Informatica () Architettura A.A. 2012-2013 1 / 36 La tecnologia Cerchiamo di capire alcuni concetti su

Dettagli

Architettura del Calcolatore. Emilio Di Giacomo e Walter Didimo

Architettura del Calcolatore. Emilio Di Giacomo e Walter Didimo Architettura del Calcolatore Emilio Di Giacomo e Walter Didimo Computer e programmi Il computer è una macchina programmabile Grazie alla possibilità di eseguire programmi diversi, il computer può svolgere

Dettagli

Anatomia e fisiologia del computer: l architettura del calcolatore

Anatomia e fisiologia del computer: l architettura del calcolatore Corso di Laurea Ingegneria Civile Fondamenti di Informatica Dispensa 01 Anatomia e fisiologia del computer: l architettura del calcolatore Marzo 2009 L architettura del calcolatore 1 Nota bene Alcune parti

Dettagli

Il processore. Il processore. Il processore. Il processore. Architettura dell elaboratore

Il processore. Il processore. Il processore. Il processore. Architettura dell elaboratore Il processore Architettura dell elaboratore Il processore La esegue istruzioni in linguaggio macchina In modo sequenziale e ciclico (ciclo macchina o ciclo ) Effettuando operazioni di lettura delle istruzioni

Dettagli

CALCOLATORI ELETTRONICI 15 aprile 2014

CALCOLATORI ELETTRONICI 15 aprile 2014 CALCOLATORI ELETTRONICI 15 aprile 2014 NOME: COGNOME: MATR: Scrivere nome, cognome e matricola chiaramente in caratteri maiuscoli a stampa 1 Di seguito è riportato lo schema di una ALU a 32 bit in grado

Dettagli

Il Software... A.A. 2013-14 Informatica 96

Il Software... A.A. 2013-14 Informatica 96 Il Software... A.A. 2013-14 Informatica 96 Il software L hardware non è direttamente utilizzabile Sono necessari dei programmi per far svolgere delle funzioni all insieme di circuiti Informatica 97 Il

Dettagli

Testi di Esercizi e Quesiti 1

Testi di Esercizi e Quesiti 1 Architettura degli Elaboratori, 2009-2010 Testi di Esercizi e Quesiti 1 1. Una rete logica ha quattro variabili booleane di ingresso a 0, a 1, b 0, b 1 e due variabili booleane di uscita z 0, z 1. La specifica

Dettagli

UN PO DI STORIA, CONCETTI BASE e DEFINIZIONI GENERALI

UN PO DI STORIA, CONCETTI BASE e DEFINIZIONI GENERALI 1 RICHIAMI SUL MIPS UN PO DI STORIA, CONCETTI BASE e DEFINIZIONI GENERALI L ARCHITETTURA DI RIFERIMENTO: LA MACCHINA MIPS INSTRUCTION SET MIPS R2000 ISTRUCTION SET SEMPLIFICATO: emips ESEMPI DI PROGRAMMAZIONE

Dettagli

Lezione 7 Sommatori e Moltiplicatori

Lezione 7 Sommatori e Moltiplicatori Architettura degli Elaboratori e delle Reti Lezione 7 Sommatori e Moltiplicatori Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 7 1/36 Sommario!

Dettagli

UN PO DI STORIA, CONCETTI BASE e DEFINIZIONI GENERALI

UN PO DI STORIA, CONCETTI BASE e DEFINIZIONI GENERALI 1 RICHIAMI SUL MIPS UN PO DI STORIA, CONCETTI BASE e DEFINIZIONI GENERALI L ARCHITETTURA DI RIFERIMENTO: LA MACCHINA MIPS INSTRUCTION SET MIPS R2000 ISTRUCTION SET SEMPLIFICATO: emips ESEMPI DI PROGRAMMAZIONE

Dettagli

L architettura di riferimento

L architettura di riferimento Architetture degli elaboratori e delle reti Lezione 10 L architettura di riferimento Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 10 1/27

Dettagli

CPU. Maurizio Palesi

CPU. Maurizio Palesi CPU Central Processing Unit 1 Organizzazione Tipica CPU Dispositivi di I/O Unità di controllo Unità aritmetico logica (ALU) Terminale Stampante Registri CPU Memoria centrale Unità disco Bus 2 L'Esecutore

Dettagli

Il livello architettura e set di istruzioni

Il livello architettura e set di istruzioni Corso di Informatica 2 Prof. Sciuto Il livello architettura e set di istruzioni Daniele Paolo Scarpazza Dipartimento di Elettronica e Informazione Politecnico di Milano 7 Giugno 2004 Daniele Paolo Scarpazza

Dettagli

Tutta la famiglia dei processori Intel (x86) si basa ed e' compatibile con il primo processore di questo tipo: l'8086.

Tutta la famiglia dei processori Intel (x86) si basa ed e' compatibile con il primo processore di questo tipo: l'8086. I processori Intel Tutta la famiglia dei processori Intel (x86) si basa ed e' compatibile con il primo processore di questo tipo: l'8086. L'8086 e' un processore a 16 bit quindi i suoi registri potranno

Dettagli

Guida rapida all'insegnamento

Guida rapida all'insegnamento Guida rapida all'insegnamento Architettura degli elaboratori Docente: Giuseppe Scollo Università di Catania Facoltà di Scienze Matematiche, Fisiche e Naturali Corso di Laurea in Informatica, AA 2010-11

Dettagli

Il processore - CPU (CENTRAL PROCESSING UNIT)

Il processore - CPU (CENTRAL PROCESSING UNIT) Il processore - CPU (CENTRAL PROCESSING UNIT) Funzionamento Programmi e dati risiedono in file memorizzati in memoria secondaria. Per essere eseguiti (i programmi) e usati (i dati) vengono copiati nella

Dettagli

Calcolatori Elettronici

Calcolatori Elettronici Calcolatori Elettronici Classificazione dei calcolatori elettronici Sistemi basati sull architettura di von Neumann rchitettura dei calcolatori: definizioni Evoluzione dell architettura rchitettura della

Dettagli

Programmazione per Bioinformatica Il Calcolatore e la Programmazione. Dr Damiano Macedonio Università di Verona

Programmazione per Bioinformatica Il Calcolatore e la Programmazione. Dr Damiano Macedonio Università di Verona Programmazione per Bioinformatica Il Calcolatore e la Programmazione Dr Damiano Macedonio Università di Verona Architettura del calcolatore La prima decomposizione di un calcolatore è relativa a due macrocomponenti:

Dettagli

Scrivere un programma in Java

Scrivere un programma in Java Programmare in JAVA Leonardo Rigutini Dipartimento Ingegneria dell Informazione Università di Siena Via Roma 56 53100 SIENA uff. 0577 234850 - interno: 7102 Stanza 119 rigutini@dii.unisi.it http://www.dii.unisi.it/~rigutini/

Dettagli

CALCOLATORI ELETTRONICI

CALCOLATORI ELETTRONICI CALCOLATORI ELETTRONICI Giuseppe Coldani Tel. 0382 985678 e-mail: giuseppe.coldani@unipv.it giuseppe.coldani@tin.it orario delle lezioni: Mercoledì 14.00-18.00 orario di ricevimento: su appuntamento 1

Dettagli

I sistemi di elaborazione

I sistemi di elaborazione 2 I sistemi di elaborazione 2.0 I sistemi di elaborazione c Diego Calvanese Fondamenti di Informatica Corso di Laurea in Ingegneria Elettronica A.A. 2001/2002 2.0 0 2 I sistemi di elaborazione Architettura

Dettagli

Le costanti Le modalità di indirizzamento L assembly del MIPS

Le costanti Le modalità di indirizzamento L assembly del MIPS Le costanti Le modalità di indirizzamento L assembly del MIPS Prof. Alberto Borghese Dipartimento di Scienze dell Informazione borghese@dsi.unimi.it Università degli Studi di Milano 1/45 Sommario Le costanti

Dettagli

ARCHITETTURA elementi di base

ARCHITETTURA elementi di base ARCHITETTURA elementi di base Contenuto della lezione Richiami sulla struttura del calcolatore (CPU) Logica cablata/microprogrammazione Repertorio istruzioni (RISC/CISC) Prestazioni Classificazione architetture

Dettagli

Laboratorio di Programmazione Strutturata

Laboratorio di Programmazione Strutturata Laboratorio di Programmazione Strutturata Facoltà di Scienze e Tecnologie per i Media Anno 2008/2009 Dati Generali Docente del corso : Dott. Tulimiero Davide Materiale del corso : Corso completo di programmazione

Dettagli

Corsi Speciali Abilitanti Indirizzo 2: Fisico-Matematico Modulo Didattico: Elementi di Informatica Classi: 48/A TEST D INGRESSO

Corsi Speciali Abilitanti Indirizzo 2: Fisico-Matematico Modulo Didattico: Elementi di Informatica Classi: 48/A TEST D INGRESSO Corsi Speciali Abilitanti Indirizzo 2: Fisico-Matematico Modulo Didattico: Elementi di Informatica Classi: 48/A TEST D INGRESSO NOME: COGNOME: LAUREA IN: ABILITAZIONI CONSEGUITE: ESPERIENZE DIDATTICHE

Dettagli

Struttura schematica di un calcolatore. Processore. Componenti processore: Data Path. Il processore (CPU) Data Path. Micro-operazione.

Struttura schematica di un calcolatore. Processore. Componenti processore: Data Path. Il processore (CPU) Data Path. Micro-operazione. Processore Presentazione a livelli del calcolatore: dopo porte logiche, circuiti base e memorie, esaminiamo il: Processore (CPU - Central Processing Unit): cuore del calcolatore, l à che esegue le istruzioni

Dettagli

Comunicazione. Prof. Antonino Mazzeo. Corso di Laurea Specialistica in Ingegneria Informatica

Comunicazione. Prof. Antonino Mazzeo. Corso di Laurea Specialistica in Ingegneria Informatica Comunicazione Seriale Prof. Antonino Mazzeo Corso di Laurea Specialistica in Ingegneria Informatica UART/USART Intel 8251A Standard Universal Synchronous/Asynchronous Receiver/Trasmitter (USART) Progettata

Dettagli

L ambiente di simulazione SPIM

L ambiente di simulazione SPIM Architettura degli Elaboratori e delle Reti Lezione 14 L ambiente di simulazione SPIM Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 14 1/28

Dettagli

Istruzioni di modifica della sequenza di elaborazione

Istruzioni di modifica della sequenza di elaborazione Istruzioni di modifica della sequenza di elaborazione Permettono di modificare la sequenza di esecuzione delle istruzioni di un programma, normalmente controllata dal meccanismo automatico di avanzamento

Dettagli

Assembler Intel 80x86: Struttura di un programma e Direttive

Assembler Intel 80x86: Struttura di un programma e Direttive Assembler Intel 80x86: Struttura di un programma e Direttive Calcolatori Elettronici B a.a. 2004/2005 Massimiliano Giacomin 1 Istruzioni e direttive Formato generale dei comandi: [nome] codice operazione

Dettagli

Introduzione. Indice. Linguaggio macchina. Linguaggio assembler

Introduzione. Indice. Linguaggio macchina. Linguaggio assembler Indice Linguaggio ad alto livello, linguagio assembler e linguaggio macchina Il linguaggio assembler MIPS: istruzioni aritmetiche, di trasferimento dati e di salto Conversione linguaggio assembler in linguaggio

Dettagli

Introduzione. Corso di Informatica Applicata. Università degli studi di Cassino

Introduzione. Corso di Informatica Applicata. Università degli studi di Cassino Università degli studi di Cassino Corso di Laurea in Ingegneria della Produzione Industriale Corso di Informatica Applicata Introduzione Ing. Saverio De Vito e-mail: saverio.devito@portici.enea.it Tel.:

Dettagli

Architettura degli Elaboratori Modulo 2

Architettura degli Elaboratori Modulo 2 Architettura degli Elaboratori Modulo 2 Salvatore Orlando http://www.dsi.unive.it/~architet Arch. Elab. - S. Orlando 1 Contenuti Approfondiremo il progetto e le prestazioni delle varie componenti di un

Dettagli

Von Neumann. John Von Neumann (1903-1957)

Von Neumann. John Von Neumann (1903-1957) Linguaggio macchina Von Neumann John Von Neumann (1903-1957) Inventore dell EDVAC (Electronic Discrete Variables AutomaFc Computer), la prima macchina digitale programmabile tramite un soiware basata su

Dettagli

Il calcolatore elettronico. Parte dei lucidi sono stati gentilmente forniti dal Prof. Beraldi

Il calcolatore elettronico. Parte dei lucidi sono stati gentilmente forniti dal Prof. Beraldi Il calcolatore elettronico Parte dei lucidi sono stati gentilmente forniti dal Prof. Beraldi Introduzione Un calcolatore elettronico è un sistema elettronico digitale programmabile Sistema: composto da

Dettagli

Informatica Medica C++ Informatica Medica I semestre Docenti: Fabio Solari e Manuela Chessa. Sviluppo di un applicazione eseguibile

Informatica Medica C++ Informatica Medica I semestre Docenti: Fabio Solari e Manuela Chessa. Sviluppo di un applicazione eseguibile Corso di Laurea in Ingegneria Biomedica Informatica Medica I semestre Docenti: Fabio Solari e Manuela Chessa Prof. Fabio Solari: fabio.solari@unige.it (010-3532059) Prof. Manuela Chessa: manuela.chessa@unige.it

Dettagli