Controllo e microprogrammazione

Slides:



Advertisements
Presentazioni simili
Classe III A A.s – 2011 Sistemi di Elaborazione e Trasmissione dell’Informazione 4 ore settimanali (2 laboratorio) Docenti Prof. Alberto Ferrari.
Advertisements

Organizzazione della memoria
Introduzione allarchitettura dei calcolatori 2/ed Carl Hamacher, Zvonko Vranesic, Safwat Zaky Copyright © 2007 – The McGraw-Hill Companies srl Versione.
Elaboratore e Sistemi Operativo
Massa Laura Mela Enrica
Comandi ai dispositivi di I/O + Si usano due metodi per mandare informazioni a un dispositivo: –Istruzioni specifiche di I/O –I/O mappato in memoria (memory.
1 Programmazione ad oggetti in Java E.Mumolo, DEEI
Terza parte: Programmazione ad oggetti in Java. Cosè Java Linguaggio di programmazione definito dalla Sun Obiettivo: sviluppo di applicazioni sicure,
Il livello Microarchitetturale
Il Linguaggio Macchina
Strutture dei sistemi di calcolo Funzionamento di un sistema di calcolo Struttura di I/O Struttura della memoria Gerarchia delle memorie Architetture di.
EVOLUZIONE DEL PC Legge di Moore: La potenza dei calcolatori raddoppia ogni 18 mesi Metà anni 80 (Personal Computer IBM AT) Architettura 16 bit interna,
Fondamenti di informatica Linguaggio C Main Program: Architettura di un PC Diagrammi di flusso Linguaggio C.
ELETTRONICA DIGITALE (II Parte)
I blocchi fondamentali dell’elaborazione Componenti e funzionamento del calcolatore I blocchi fondamentali dell’elaborazione.
I vettore interruzioni
Architetture dei Calcolatori (Lettere j-z ) Il Processore
Architettura del calcolatore
Passaggio di parametri per indirizzo
Unità centrale di processo

Esempio Area dei metodi x15 0x02 0x15 Control store Stack
STRUTTURA DI UN COMPUTER
Luca Orrù 1 Input/Output. 2 SOMMARIO Organizzazione di sistema Trasferimento dati; Gestione I/O.
Arch. Elab. - S. Orlando 1 Progetto del processore e supporto del processore al SO (interruzioni – eccezioni) Salvatore Orlando.
Calcolatori Elettronici Il Processore
Laboratorio Informatico
CALCOLATORI ELETTRONICI
Corso di Laurea in Informatica Architettura degli elaboratori a.a La macchina programmata Instruction Set Architecture (2) Istruzioni I-type Indirizzamento.
In grado di effettuare molte azioni elementari indipendenti automa universale generatore di sequenze riconoscitore di sequenze circuiti sequenziali sommatore.
Introduzione Laboratorio di Calcolo Corso di Laurea in Fisica Università degli Studi di Roma “La Sapienza”
Architettura di un calcolatore e linguaggio macchina.
L’esecuzione dei programmi
Informatica Generale Marzia Buscemi
1 Informatica Generale Marzia Buscemi Ricevimento: Giovedì ore , Dipartimento di Informatica, stanza 306-PS o per posta.
Struttura Fondamentale degli Elaboratori Elaboratore –È un sistema numerico –È un sistema automatico –È un sistema a programamzione registrabile –Ha una.
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Il sistema di elaborazione Marco D. Santambrogio – Ver. aggiornata al 15 Maggio.
Il Processore Il processore è la componente dell’unità centrale che elabora le informazioni contenute nella memoria principale L’elaborazione avviene eseguedo.
Dalla macchina di Von Neumann …
Presentazione di sistemi Ambrosio Federica Anna Esposito 3C inf.
Click to add text L’ Unità di Elaborazione. Struttura : Unità di controllo: coordina attività CPU ALU: unità aritmetico-logica, esegue operazioni tra.
LA MEMORIA CENTRALE. La memoria nella struttura generale del calcolatore MEMORIA CONTROLLO INGRESSO E USCITA ARITMETICA E LOGICA CPU Dispositivi esterni.
Z iLOG 80 Calcolatori Elettronici Bartolomeo Bajic.
IL PROCESSORE I MICROPROCESSORI INTEL Il microprocessore è un circuito integrato dotato di una struttura circuitale in grado di effettuare un determinato.
Elementi fondamentali dell’ Architettura di di un elaboratore elettronico.
1 La Unità Aritmetico Logica. Aritmetica 32 operation result a b ALU.
Fondamenti di Informatica - D. Talia - UNICAL 1 Fondamenti di Informatica PROBLEMI E ALGORITMI LINGUAGGIO MACCHINA.
Architettura dei calcolatori
Prova d’Esame: selezione di domande
Architettura e funzionalità
Comandi assembly Il termine assembly deriva dal programma traduttore in linguaggio macchina assembler, l’assemblatore non fa altro che assemblare il.
Programmazione per la Musica | Adriano Baratè
I microprocessori Il microprocessore è un circuito integrato costituito da silicio. Il microprocessore svolge fondamentalmente due funzioni: sovraintende.
Cammino dei Dati (Datapath)
JAVA usa una rappresentazione in VIRGOLA MOBILE
Introduzione I microcontrollori.
Architettura dei calcolatori
Domanda 1 A cosa corrisponde in notazione decimale il numero binario positivo senza segno ) 32 2) 48 3) 46 4) 3 5) 36 September 18.
ALU (Arithmetic Logic Unit)
Architettura del calcolatore
IL MODELLO DI VON NEUMANN
Codicfiche Interi Complemento alla base.
Azione delle istruzioni
Scheduling in Linux (Kernel 2.4 e 2.6)
Definizione di linguaggio di programmazione
Esercitazione su Instruction Level Parallelism
LOGICA DI FUNZIONAMENTO
Azione delle istruzioni
Progetto del processore e supporto del processore al SO (interruzioni – eccezioni) Salvatore Orlando.
Relazioni tra CPU e Memoria e Dispositivi I/O
Transcript della presentazione:

Controllo e microprogrammazione Architettura 1/2000

Cosa imparerete Come una CPU fa quello che fa Schema logico (4.1) Implementazione di base (4.3) Un nuovo ISA: quello usato dalla catena programmativa Java (4.2) December 18

ISA per Java Modello programmativo Istruzioni Programma Java Compilatore Istruzioni della Java Virtual Machine (byte code) December 18

ISA per Java Per semplicita’ si usa una versione semplificata della Java Virtual Machine chiamata Integer JVM. Niente istruzioni floating point Niente gestione delle caratteristiche object-oriented (ad esempio la chiamata a metodi) Niente gestione interruzioni December 18

Cammino didattico Imparare il modello programmativo Imparare le istruzioni IJVM Imparare come le istruzioni Java si mappano in istruzioni IJVM Imparare come le istruzioni IJVM vengono eseguite in una CPU didattica chiamata Mic-1 December 18

Modello programmativo di IJVM Uso della memoria Indirizzo lineare Stack Tipi di memoria: Costanti Parametri e variabili locali Metodi (codice) December 18

Stack Per passare parametri December 18

Stack Per eseguire calcoli a1  a2 + a3 December 18

Stack Le CPU moderne tendono a non usare la stack per i calcoli (ad esempio MIPS) ma ad usarla per il passaggio parametri. JVM e’ intesa principalmente per essere interpretata e fa eccezione: Usa istruzioni molto piccole con pochissimi operandi (byte code). Non usa registri. December 18

Modello di memoria 232 byte o 4 Gbyte Indirizzamento per mezzo di offset da puntatori che definiscono aree di memoria con un uso specifico December 18

Constant pool Costanti, Puntata da un registro (CPP) Area a sola lettura da parte del programma Area scritta dal caricatore quando il programma e’ caricato in memoria Puntata da un registro (CPP) December 18

Frame delle variabili locali Un frame per ciascuna chiamata a metodo: Parametri di chiamata Variabili locali e operandi Delimitata da due registri LV e SP December 18

Area dei metodi Semplicemente il codice Puntata da un registro (PC) December 18

Memoria JVM Sommario December 18

Granularita’ di indirizzamento La memoria JVM e’ indirizzata a word di 4 byte quando si accede ai dati (LV, CPP, SP) La memoria JVM e’ indirizzata a byte quando si accede al codice (PC) December 18

Instruction set (1) BIPUSH byte Push di un byte sulla stack DUP Copia della prima parola sulla stack e push IADD Pop di due parole dalla stack; push della loro somma IAND Pop di due parole dalla stack; push dell’AND logico IOR Pop di due parole dalla stack; push dell’OR logico ISUB Pop due parole dalla stack; push la loro differenza December 18

Instruction set (2) GOTO offset Branch non condizionato IFEQ offset Pop di una parola e branch se è zero IFLT offset Pop di una parola e branch se è negativa IFICMPEQ offset Pop di due parole dalla stack; branch se sono uguali IINC varnum const Somma una costante a una variabile locale ILOAD varnum Push di una variabile locale sulla stack December 18

Instrucion set (3) ISTORE varnum Pop una parola dalla stack e memorizzala in una variabile locale LDCW index Push di una costante dalla constant pool sulla stack NOP Nessuna operazione POP Cancella una parola dalla cima della stack SWAP Scambia le due parole in cima alla stack WIDE Prefisso; l’istruzione seguente ha un indice di 16 bit December 18

Instrucion set (4) INVOKEVIRTUAL disp Chiama un metodo IRETURN Ritorno da un metodo con un valore intero December 18

Chiamata dei “metodi” In realta’ semplicemente una chiamata di funzione in IJVM December 18

Prima e dopo IRETURN December 18

Da Java all’ISA di IJVM December 18

Seconda parte Come si fa ad “eseguire” i byte-code, cioe’ l’ISA, di IJVM? Ciclo fetch-execute Il datapath Il control-path Le microistruzioni December 18

Ciclo fetch-execute Leggi byte da RAM Interpreta byte come istruzione IJVM Esegui istruzione, possibilmente leggendo e scrivendo word (4 byte) in RAM December 18

Data path December 18

ALU Output= December 18

Sincronizzazione del data path December 18

Indirizzamento Dati Codice MAR (indirizzo 30 bit) e MDR (dati 32 bit) PC (indirizzo 32 bit) e MBR (codice 8 bit) December 18

Dettagli dell’accesso in memoria MBR unsigned: portato sul bus con 24 zeri nella parte piu’ significativa MBR signed: portato sul bus con i 24 bit significativi “estesi” dal bit di segno del byte meno significativo Quindi, se il byte conteneva un numero in complemento a due, lo stesso numero sara’ presente nei 32 bit del bus interno December 18

Microistruzioni Quanti segnali sono necessari per controllare il datapath? 9 C-registri 9 registri – B 8 ALU 3 controllo memoria December 18

Formato microistruzioni December 18

Mic-1 December 18

Fetch December 18