Corso di Laurea in Informatica Architettura degli elaboratori a.a. 2014-15 La macchina programmata (3) Istruzioni J-type Istruzioni di salto Istruzioni.

Slides:



Advertisements
Presentazioni simili
Organizzazione della memoria
Advertisements

Definizione e tipi di implementazione
Introduzione allarchitettura dei calcolatori 2/ed Carl Hamacher, Zvonko Vranesic, Safwat Zaky Copyright © 2007 – The McGraw-Hill Companies srl Versione.
Algoritmi e Programmazione
Informatica Generale Susanna Pelagatti
Architettura di un sistema informatico Hardware
Il Linguaggio Macchina
Architetture dei Calcolatori (Lettere j-z) Il Processore (2)
Università degli Studi di Roma La Sapienza Architettura degli elaboratori II Funzioni.
1 Corso di Informatica (Programmazione) Lezione 4 (24 ottobre 2008) Architettura del calcolatore: la macchina di Von Neumann.
Caratteristiche principali dell’architettura del processore MIPS
Caratteristiche principali dell’architettura del processore MIPS
Gestione delle subroutine
Criticità sui dati (1° esempio)
Caratteristiche principali dell’architettura del processore MIPS
Criticità sul controllo
Criticità sul controllo
Criticità sul controllo
Corso di Informatica Applicata - Lezione 3 - © 2005 Saverio De Vito Corso di Informatica Applicata Lezione 3 Università degli studi di Cassino Corso di.
Il livello Microarchitetturale
Il Linguaggio Macchina
Com’è fatto un elaboratore?
1 Generazione codice Daniela Briola Lorena Bellino.
Codifica di algoritmi linguaggio macchina vs programmazione strutturata Lab Programmazione - turno /2006.
Architettura di un calcolatore
Introduzione al linguaggio assemby del microprocessore a parte
I vettore interruzioni
Architetture dei Calcolatori (Lettere j-z ) Il Processore
Architettura del calcolatore
Architettura degli Elaboratori II (canale P-Z) Istruzioni di controllo Dott. Franco Liberati.
Architettura degli Elaboratori II (canale P-Z) Modi di Indirizzamento Dott. Franco Liberati.
Informatica Lezione 4 Scienze e tecniche psicologiche dello sviluppo e dell'educazione Anno accademico:
1 M. Rebaudengo, M. Sonza Reorda Politecnico di Torino Dip. di Automatica e Informatica M. Rebaudengo - M. Sonza Reorda L’Assembler 8086 Istruzioni per.
Architettura di una CPU
Corso di Laurea in Informatica Architettura degli elaboratori a.a La macchina programmata Instruction Set Architecture (1) Schema base di esecuzione.
Informatica A.A. 2009/2010 Parte 2 L’Elaboratore Corso A: Prof. Stefano Berardi Corso B: Prof. Ugo de’ Liguoro
Calcolatori Elettronici Il Processore
Sistemi Elettronici Programmabili: Riepilogo 1 Sistemi digitali : Riepilogo Sistemi Elettronici Programmabili.
Informatica Lezione 5 Scienze e tecniche psicologiche dello sviluppo e dell'educazione (laurea triennale) Anno accademico:
Calcolatori Elettronici Il Processore (2)
Corsi di Laurea in Biotecnologie
Programmazione Assembly
CALCOLATORI ELETTRONICI
Corso di Laurea in Informatica Architettura degli elaboratori a.a La macchina programmata Instruction Set Architecture (2) Istruzioni I-type Indirizzamento.
1 M. Rebaudengo, M. Sonza Reorda Politecnico di Torino Dip. di Automatica e Informatica M. Rebaudengo - M. Sonza Reorda L’Assembler 8086 Istruzioni per.
1 Fabio Scotti – Università degli Studi di Milano Fabio Scotti ( ) Laboratorio di programmazione per la sicurezza Valentina Ciriani ( )
Corso di Laurea in Informatica Architettura degli elaboratori a.a ISA e Asm: esempi e suggerimenti.
Corso di Informatica Corso di Laurea in Conservazione e Restauro dei Beni Culturali Gianluca Torta Dipartimento di Informatica Tel: Mail:
Introduzione Laboratorio di Calcolo Corso di Laurea in Fisica Università degli Studi di Roma “La Sapienza”
Architettura di un calcolatore e linguaggio macchina.
Università degli Studi di Bergamo Facoltà di Lingue e Letterature Straniere Facoltà di Lettere e Filosofia A.A Informatica generale 1 Appunti.
L’esecuzione dei programmi
SPIM Esercizi. Esercizio 1 – il comando ‘li’ Il codice deve eseguire una singola operazione: mettere il valore immediato 1023 nel registro s3.
Informatica Generale Marzia Buscemi
2 bits di mantissa e 3 di esponente = 0 =
Sistemi Elettronici Programmabili1 Istruzioni macchina Sistemi Elettronici Programmabili.
Fondamenti di Informatica1 Linguaggi Diversi tipi di linguaggi: –Imperativi –Funzionali –Dichiarativi Tutti basati sulla traduzione nell'unico linguaggio.
Corso di Laurea in Biotecnologie corso di Informatica Paolo Mereghetti DISCo – Dipartimento di Informatica, Sistemistica e Comunicazione.
1 Informatica Generale Marzia Buscemi Ricevimento: Giovedì ore , Dipartimento di Informatica, stanza 306-PS o per posta.
Esercizi.
Esempio scriviamo un programma in linguaggio macchina che: trasferisce il contenuto delle 2 parole della RAM di indirizzi 64 e 68 nei registri R 0 ed R.
Corso di Laurea in Informatica Architettura degli elaboratori a.a Programmazione Assembly: procedure (1) Supporto hardware alle procedure Passaggio.
Hardware Struttura fisica (architettura) del calcolatore formata da parti meccaniche, elettriche, elettroniche.
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.
Click to add text L’ Unità di Elaborazione. Struttura : Unità di controllo: coordina attività CPU ALU: unità aritmetico-logica, esegue operazioni tra.
Hardware Struttura fisica (architettura) del calcolatore formata da parti meccaniche, elettriche, elettroniche.
Corso di Laurea in Informatica Architettura degli elaboratori a.a ISA e Asm: esempi e suggerimenti.
Cammino dei Dati (Datapath)
Transcript della presentazione:

Corso di Laurea in Informatica Architettura degli elaboratori a.a La macchina programmata (3) Istruzioni J-type Istruzioni di salto Istruzioni logiche Catena di programmazione Linguaggio Assembly

Istruzione R-Type (già vista) Se rs contiene inizialmente 64 ( ) rt contiene inizialmente 4 ( ) dopo l’esecuzione rd contiene 68 ( ) Formato Assembly (prossime lezioni) Add $t2, $t0, $t1 (attenzione all’ordine degli operandi) A.A ISA (3)2 6 bits5 bits 6 bits “somma i contenuti del registro 8 e del registro 9 e metti il risultato nel registro 10” quello che si vuole fare (in italiano) numeri decimali (per comodità) op (operation code) operazione base x rs primo registro sorgente rt secondo registro sorgente rd registro destinazione shamt shift funct variante della operazione 32 – – 0x

Istruzione I-type (add immediate, già vista) A.A ISA (3)3 6 bits5 bits 16 bits “somma il valore 4 al registro 8 e metti il risultato nel registro 10” quello che si vuole fare (in italiano) numeri decimali (per comodità) op (operation code) add immediate rs primo registro (sorgente) rt secondo registro (destinazione) valore immediato se rs contiene inizialmente 64 ( ) dopo l’esecuzione rt contiene 68 ( ) Problema: qual è il range di valori immediati che si può esprimere con 16 bit in complemento a 2? ( <= valore <= 32767). Se serve un valore più grande, va gestito a livello programmativo.

Istruzione I-type load word (già vista) A.A ISA (3)4 6 bits5 bits 16 bits “carica nel registro 10 il contenuto della parola (32 bit) che è all’indirizzo di memoria ottenuto come somma del registro 8 e dell’offset immediato 4” quello che si vuole fare (in italiano) numeri decimali (per comodità) op (operation code) Load Word (lw) rs registro base rt registro destinazione offset (immediato) se rs contiene inizialmente 64 ( ) l’indirizzo in memoria della word da caricare è 68 ( ) in rt vengono copiati 32 bit (1 word) a partire dall’indirizzo… …qualunque sia il significato di quei 32 bit

Istruzione J-Type (Jump) A.A ISA (3)5 6 bits 26 bits op (operation code) Jump – 0x Jump word address “salta all’istruzione il cui indirizzo è 00010e8 16 ” Carica in PC poiché le istruzioni devono essere allineate al word (responsabilità di chi scrive e carica i programmi in memoria; in pratica, assembler e loader) Quindi con 26 bit si indirizzano 2 28 kByte di memoria programma I 4 bit più significativi sono i 4 bit più significativi di PC

Istruzione I-type (branch) A.A ISA (3)6 6 bits5 bits 16 bits “salta a Branch Address se il contenuto di rs è diverso dal contenuto di rt” op (operation code) Branch on not equal rs primo Registro rt Secondo registro ?????? BA Branch Address (???) Formato Assembly: bne $s0, $s1, Exit Exit è una etichetta che l’assembler traduce in uno spiazzamento Problema 1: “dove” si può saltare? (valore immediato – 2 15 <= BA < 2 15 ) Soluzione 1: usare un registro base R (indirizzo di salto = R + BA) Soluzione 2: Usare PC come registro base Se CA è l’indirizzo dell’istruzione corrente, si salta a CA BranchAddr (PC è già stato incrementato, quindi PC contiene CA + 4) Ampiezza del salto: rispetto a PC Adeguata in moltissimi casi (loop, if…)

Istruzione R-Type (shift left) Se rt contiene inizialmente 9 ( ) (= 9 16 ) dopo l’esecuzione rd contiene 144 ( ) (= ) A.A ISA (3)7 6 bits5 bits 6 bits “shift di 4 bit a sinistra i contenuti del registro 16 e metti il risultato nel registro 10” quello che si vuole fare (in italiano) numeri decimali (per comodità) op (operation code) operazione base x rt registro sorgente rd registro destinazione 10 – a shamt Shift amount funct variante della operazione 00000

Immediate addressing A.A ISA (3)8 oprsrtvalore immediato

Register addressing A.A ISA (3)9 oprsrtrd...funct Register

Base addressing A.A ISA (3)10 oprsrt Address Register + Memory Word Halfword Byte Memory

PC-relative addressing A.A ISA (3)11 oprsrt Address PC + Memory Word Memory

Pseudodirect addressing A.A ISA (3)12 op Address : Memory Word Memory PC