Un quadro della situazione. Lezione 13 Il Set di Istruzioni (1) Organizzazione della lezione. Dove siamo nel corso. Cosa abbiamo fatto
|
|
- Francesco Renzi
- 6 anni fa
- Visualizzazioni
Transcript
1 Un quadro della situazione Lezione Il Set di Istruzioni (1) Vittorio Scarano Architettura Corso di Laurea in Informatica Input/Output Sistema di Interconnessione Registri Central Processing Unit Principale Unità Aritmetico Logica Interconnessione interna alla Cosa abbiamo fatto circuiti combinatori e sequenziali e ALU Dove stiamo andando.. il set di istruzioni Perché: per poter comprendere il funzionamento e poter progettare la Unità di Controllo Università degli Studi di Salerno Unità di Controllo 2 Dove siamo nel corso Organizzazione della lezione Il Set di Istruzioni Codifica della informazione Logica Digitale Unità Aritmetico Logica (ALU) Il set delle istruzioni Processore: unità di elaborazione Processore: unità di controllo Processore: pipeline Valutazione delle prestazioni La programmazione dei calcolatori Alcuni principi progettuali Introduzione al linguaggio macchina MIPS erazioni erandi Operazioni aritmetiche (add e sub) di trasferimento dati (lw e sw) Indirizzamento indicizzato della memoria I formati delle istruzioni formato R formato I Un esempio di memorizzazione di un programma 3
2 Organizzazione della lezione La programmazione dei calcolatori La programmazione dei calcolatori Alcuni principi progettuali Introduzione al linguaggio macchina MIPS erazioni erandi Operazioni aritmetiche (add e sub) di trasferimento dati (lw e sw) Indirizzamento indicizzato della memoria I formati delle istruzioni formato R formato I Un esempio di memorizzazione di un programma 5 Storia programmazione attraverso numeri binari attività tediosa e lunga facile fare un errore linguaggio assembly l assemblatore lo traduce in codice macchina dalla forma simbolica della istruzione machina......al corrispondente formato binario linguaggi ad alto livello compilatore lo traduce in assembly 6 Un esempio: I benefici dei linguaggi ad alto livello C=A+B linguaggio ad alto livello add $t0, $s0, $s1 assembly 1000 linguaggio macchina Notazione naturale vicina al linguaggio corrente e alla notazione algebrica Incremento di produttività Indipendenza dalla architettura (processore) su cui il programma va eseguito Permette l uso di librerie di funzionalità già scritte (riuso del codice) 7 8
3 I benefici del linguaggio assemblatore La compilazione: linguaggio C La dipendenza dal processore permette: programmi più efficienti programmi (potenzialmente) più compatti Importante per: programmazione di controller di processi e macchinari (anche real-time) programmazione di apparati limitati: Portable Devices Telefonini cellulari etc.etc. I compiti del compilatore e del linker #include <stdio.h>... file /* Prototipi funzioni */ stdio.h hello.c compilatore oggetto Libreria di Funzioni I/O standard Interfaccia alla libreria di funzioni I/O standard linker gcc hello.c a.out file eseguibile 9 10 Il processo della compilazione La compilazione: il linguaggio Java Programma C hello.c compilatore Programma in linguaggio assemblatore assemblatore Programma in linguaggio macchina a.out Il compilatore di norma comprende l assemblatore L assembler: permette l uso di pseudoistruzioni Il caricatore (loader) carica il programma in memoria Hello.java... compilatore javac Hello.java Hello.class... Java Virtual Machine java Hello caricatore Programma in memoria 11 12
4 Java: la macchina virtuale Organizzazione della lezione Java Virtual Machine Un programma che esegue programmi Hello.class La programmazione dei calcolatori Alcuni principi progettuali Introduzione al linguaggio macchina MIPS erazioni erandi Operazioni aritmetiche (add e sub) di trasferimento dati (lw e sw) Indirizzamento indicizzato della memoria I formati delle istruzioni formato R formato I Un esempio di memorizzazione di un programma 1 Alcuni principi Il linguaggio del calcolatore Le istruzioni vengono rappresentate da numeri Linguaggio macchina: composto di istruzioni i programmi vengono immagazzinati in memoria insieme ai dati Storicamente: architettura introdotta dall EDVAC posta alla Harvard architecture che aveva spazi di memoria diversi per dati e programmi che compongono l insieme delle istruzioni I principi della progettazione: Obiettivi: un linguaggio macchina che renda facile la costruzione della macchina semplicità per il progettista che renda facile la costruzione dei compilatori offerta delle erazioni più comuni che ottimizzi i costi di produzione 15 che permetta prestazioni alte competitività sul mercato 16
5 La semplicità della realizzazione Organizzazione della lezione Principio guida per tutti i calcolatori dagli anni cinquanta ad oggi Semplice significa economico ( semplicità = regolarità ) affidabile di facile apprendimento ed uso (programmatori) di facile traduzione (compilatori) La programmazione dei calcolatori Alcuni principi progettuali Introduzione al linguaggio macchina MIPS erazioni erandi Operazioni aritmetiche (add e sub) di trasferimento dati (lw e sw) Indirizzamento indicizzato della memoria I formati delle istruzioni formato R formato I Un esempio di memorizzazione di un programma Il processore MIPS Le erazioni e gli erandi Sviluppato e progettato a Stanford progettato durante gli anni 80 (Stanford) prodotto e distribuito da MIPS Technologies nei 90 Tecnologia utilizzata tuttora da Sony (Playstation, Playstation 2, AIBO (cane-robot)) Nintendo 6 Router CISCO Stampanti (HP Laser), Macchine fotografiche digitali, Palmt, Set-t boxes (cable tv e satellite), DVD Operazioni di tipo diverso: erazioni aritmetiche erazioni di trasferimento (memoria registri) erazioni di scelta e controllo del flusso erazioni di supporto alle procedure Operandi: accesso ai registri della macchina accesso alla memoria uso di costanti 19 20
6 Organizzazione della lezione Operazioni aritmetiche La programmazione dei calcolatori Alcuni principi progettuali Introduzione al linguaggio macchina MIPS erazioni erandi Operazioni aritmetiche (add e sub) di trasferimento dati (lw e sw) Indirizzamento indicizzato della memoria I formati delle istruzioni formato R formato I Un esempio di memorizzazione di un programma 21 Fondamentali: le informazioni sono codificate in dati i dati sono rappresentati da numeri Un esempio: per compiere a=b+c e a=b-c add a, b, c sub a, b, c Alcuni commenti: struttura fissa a 3 erandi la semplicità favorisce la regolarità 22 Il prezzo della semplicità Gli erandi Per compiere a=b+c+d+e add a, b, c # calcolo a=b+c add a, a, d # calcolo a=(b+c)+d add a, a, e # calcolo a=(b+c+d)+e Per sommare variabili (b,c,d,e) in a servono 3 istruzioni Commenti: su ogni linea, preceduti da # A differenza dei linguaggi ad alto livello: gli erandi devono provenire da locazioni particolari di memoria dette registri Nei linguaggi ad alto livello non ci si preoccupa: del numero e del tipo di variabili della quantità di memoria utilizzata di dover portare i dati dalla memoria ai registri e dai registri alla memoria è compito del compilatore inserire le istruzioni necessarie 23 2
7 I registri Il ruolo del compilatore Dimensione di un registro MIPS 32 bit (detta parola) Le caratteristiche dei registri: alta velocità di accesso limitati in numero (32 registri) ($0, $1,..$31) Convenzione MIPS: registri rappresentati da: $s0, $s1,..., i registri che contengono variabili $t0, $t1,..., i registri di uso temporaneo Altro principio di progettazione: piccolo = veloce (clock) Assegnare variabili a registri f = ( g + h ) - ( i + j ) add $t0, $s1, $s2 add $t1, $s3, $s sub $s0, $t0, $t1 f $s0 g $s1 h $s2 i $s3 j $s # g+h # i+j # f = (g+h)-(j+j) Organizzazione della lezione Le erazioni e gli erandi La programmazione dei calcolatori Alcuni principi progettuali Introduzione al linguaggio macchina MIPS erazioni erandi Operazioni aritmetiche (add e sub) di trasferimento dati (lw e sw) Indirizzamento indicizzato della memoria I formati delle istruzioni formato R formato I Un esempio di memorizzazione di un programma Operazioni di tipo diverso: erazioni aritmetiche erazioni di trasferimento (memoria registri) erazioni di scelta e controllo del flusso erazioni di supporto alle procedure Operandi: accesso ai registri della macchina accesso alla memoria uso di costanti 27 28
8 Istruzioni trasferimento dati: perchè? La registri $0 $1 $2.. $31.. Il numero limitato di registri rende possibile la realizzazione della velocizza il clock..ma rende necessario introdurre istruzioni per trasferire il contenuto dei registri in memoria e viceversa 29 registri $0 $1 $2.. $31.. Permette l accesso alle locazioni fornendo l indirizzo Come un array monodimensionale, indicizzato tramite l indirizzo 30 Indirizzamento della Istruzioni di trasferimento dati: la load-word registri $0 $1 $2 $31 E possibile l indirizzamento al byte per motivi di efficienza Indirizzamento di una parola è legato a byte quindi gli indirizzi delle parole differiscono di 31 Indirizzamento indicizzato nel registro va caricato l elemento con indirizzo uguale a + il valore in Uso di un registro indice 32
9 Il ruolo del registro indice Istruzione di trasferimento dati: la store-word Utile per scorrere array al variare di Attenzione! Il registro indice deve sempre variare di in 33 sw, () Indirizzamento indicizzato l elemento nel registro va memorizzato nel.. l elemento con indirizzo uguale a + il valore in Uso di un registro indice 3 Un programma di esempio (1) Un programma di esempio (2) $18 add, $18, sw, () 35 $ add, $18, sw, () 36
10 Un programma di esempio (3) Alcuni commenti Le istruzioni di trasferimento dati prevedono: accesso al byte $ add, $18, sw, () accesso a 2 byte (halfword) accesso alla parola (word) Di norma, si usano etichette (label) per indicare l indirizzo di partenza dell array: lw, AStart() Organizzazione della lezione Rappresentazione delle istruzioni La programmazione dei calcolatori Alcuni principi progettuali Introduzione al linguaggio macchina MIPS erazioni erandi Operazioni aritmetiche (add e sub) di trasferimento dati (lw e sw) Indirizzamento indicizzato della memoria I formati delle istruzioni formato R formato I Un esempio di memorizzazione di un programma I numeri all interno di un calcolatore sono rappresentati tramite la notazione binaria I numeri possono rappresentare dati ed istruzioni Per poter interpretare le istruzioni, la parola viene suddivisa in campi (field) 39 0
11 Il formato della istruzione add I campi del formato R La istruzione add, $17, $18 viene rappresentata in una parola di 32 bit: bit 5 bit 5 bit 5 bit 5 bit 6 bit rs rt rd shamt Questa codifica viene detta formato della istruzione register (R) bit 5 bit 5 bit 5 bit 5 bit 6 bit add, $17, $18 rs rt rd shamt Campo : erazione effettuata Campo rs: registro con il primo erando Campo rt: registro con il secondo erando Campo rd: registro destinazione Campo shamt: scorrimento Il formato della istruzione lw I campi del formato I La istruzione viene rappresentata in una parola: bit 5 bit 5 bit 16 bit rs rt indirizzo Questa codifica viene detta formato della istruzione Istruction (I) bit 5 bit 5 bit 16 bit rs rt indirizzo Campo : erazione effettuata Campo rs: registro con indice Campo rt: registro destinazione Campo indirizzo: indirizzo partenza
12 Alcuni commenti sui formati (1) Alcuni commenti sui formati (2) Istruzioni con formato della stessa lunghezza: il compromesso: il formato R permette accessi solamente a registri altrimenti potrebbe indirizzare solamente 2 5 locazioni 6 bit 5 bit 5 bit 5 bit 5 bit 6 bit rs rt rd shamt 00 C è simmetria e similarità tra i formati: R I 6 bit 5 bit 5 bit 5 bit 5 bit 6 bit rs rt rd shamt 6 bit 5 bit 5 bit 16 bit rs rt indirizzo Un programma di esempio (1) Un programma di esempio (2) $18 add, $18, sw, () 7 $ add, $18, sw, () 8
13 Un programma di esempio (3) La memorizzazione del programma $ add, $18, sw, () $18 add, $18, sw, () 9 50 La memorizzazione del programma Esercizi add, $18, sw, () Come si fa a realizzare la istruzione (C) g = h + A[i]? (Vedere esempi a pag. 95) Scrivere un programma che, assumendo di avere dei valori nei registri $s0, $s1 e $s2 scriva nella parola con indirizzo la somma dei tre registri. Scrivere un programma che, assumendo di avere nel registro $s0 il valore 10, nel registro $1 il valore, nel registro $2 il valore 3, scriva nelle parole con indirizzo,,, rispettivamente il valore 10, e
14 Problemi Che tipo di indirizzamento dovremmo avere a disposizione per poter fare a meno dell'indirizzamento indicizzato? Perché le istruzioni di trasferimento dati lw e sw prevedono un metodo di indirizzamento dati indicizzato? Non sarebbe stato più facile prevedere un indirizzamento "diretto" vale a dire specificare direttamente la locazione di memoria da cui (o verso cui) prelevare (o scrivere) il dato di un registro? 53
Lezione 15 Il Set di Istruzioni (1)
Lezione 15 Il Set di Istruzioni (1) Vittorio Scarano Architettura Corso di Laurea in Informatica Università degli Studi di Salerno Un quadro della situazione Input/Output Sistema di Interconnessione Registri
DettagliCorso di Architettura (Prof. Scarano) 09/04/2002
Corso di Architettura (Prof. Scarano) 09/0/2002 Un quadro della situazione Lezione 15 Il Set di Istruzioni (1) Vittorio Scarano Architettura Corso di Laurea in Informatica Università degli Studi di Salerno
DettagliLa programmazione dei calcolatori. L insieme delle istruzioni. Vantaggi e svantaggi dell assembler. Benefici dei linguaggi ad alto livello
La programmazione dei calcolatori L insieme delle istruzioni Architetture dei Calcolatori (lettere A-I) Linguaggio macchina (codifica con numeri binari) Linguaggio direttamente comprensibile dal calcolatore
DettagliL insieme delle istruzioni
L insieme delle istruzioni Architetture dei Calcolatori (lettere A-I) La programmazione dei calcolatori Linguaggio macchina (codifica con numeri binari) Linguaggio direttamente comprensibile dal calcolatore
DettagliArchitettura degli Elaboratori
Architettura degli Elaboratori Linguaggio macchina e assembler (caso di studio: processore MIPS) slide a cura di Salvatore Orlando, Marta Simeoni, Andrea Torsello Architettura degli Elaboratori 1 1 Istruzioni
DettagliLinguaggio Assembly e linguaggio macchina
Architettura degli Elaboratori e delle Reti Lezione 11 Linguaggio Assembly e linguaggio macchina Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano
DettagliIl linguaggio del calcolatore: linguaggio macchina e linguaggio assembly
Il linguaggio del calcolatore: linguaggio macchina e linguaggio assembly Percorso di Preparazione agli Studi di Ingegneria Università degli Studi di Brescia Docente: Massimiliano Giacomin Richiamo sull
DettagliLinguaggio assembler e linguaggio macchina (caso di studio: processore MIPS)
Linguaggio assembler e linguaggio macchina (caso di studio: processore MIPS) Salvatore Orlando Arch. Elab. - S. Orlando 1 Livelli di astrazione Scendendo di livello, diventiamo più concreti e scopriamo
DettagliAssembly. Linguaggio di programmazione corrispondente al linguaggio macchina P.H. Cap. 2.1, 2.2 e App. A. Linguaggio assembly (App.
Assembly Linguaggio di programmazione corrispondente al linguaggio macchina P.H. Cap. 2.1, 2.2 e App. A 1 Linguaggio assembly (App. A) Rappresentazione simbolica del linguaggio macchina Più comprensibile
DettagliRichiami sull architettura del processore MIPS a 32 bit
Caratteristiche principali dell architettura del processore MIPS Richiami sull architettura del processore MIPS a 32 bit Architetture Avanzate dei Calcolatori Valeria Cardellini E un architettura RISC
DettagliLinguaggio Assembly e linguaggio macchina
Architettura degli Elaboratori e delle Reti Lezione 11 Linguaggio Assembly e linguaggio macchina Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano
DettagliLinguaggio Assembly e linguaggio macchina
Architettura degli Elaboratori e delle Reti Lezione 11 Linguaggio Assembly e linguaggio macchina Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano
DettagliLinguaggio macchina: utilizzo di costanti, metodi di indirizzamento
Architetture degli Elaboratori e delle Reti Lezione 17 Linguaggio macchina: utilizzo di costanti, metodi di indirizzamento Proff. A. Borghese, F. Pedeini Dipaimento di Scienze dell Informazione Univeità
DettagliLe etichette nei programmi. Istruzioni di branch: beq. Istruzioni di branch: bne. Istruzioni di jump: j
L insieme delle istruzioni (2) Architetture dei Calcolatori (lettere A-I) Istruzioni per operazioni logiche: shift Shift (traslazione) dei bit di una parola a destra o sinistra sll (shift left logical):
DettagliIl set istruzioni di MIPS Modalità di indirizzamento. Proff. A. Borghese, F. Pedersini
Architettura degli Elaboratori e delle Reti Il set istruzioni di MIPS Modalità di indirizzamento Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano
DettagliRichiami sull architettura del processore MIPS a 32 bit
Richiami sull architettura del processore MIPS a 32 bit Architetture Avanzate dei Calcolatori Valeria Cardellini Caratteristiche principali dell architettura del processore MIPS E un architettura RISC
DettagliCalcolatori Elettronici
Calcolatori Elettronici Il linguaggio assemblativo MIPS (1) Istruzioni di ALU: operazioni ed operandi Trasferimenti tra memoria e CPU Vettori (1) Le costanti Livelli di astrazione s o f t w a r e H W Linguaggio
DettagliLaboratorio di Architettura degli Elaboratori
Laboratorio di Architettura degli Elaboratori Dott. Massimo Tivoli Set di istruzioni del MIPS32: istruzioni aritmetiche e di trasferimento Istruzioni (Alcune) Categorie di istruzioni in MIPS Istruzioni
DettagliCalcolatori Elettronici A a.a. 2008/2009
Calcolatori Elettronici A a.a. 2008/2009 Instruction Set Architecture: nozioni generali Massimiliano Giacomin 1 DOVE CI TROVIAMO Livello del linguaggio specializzato Traduzione (compilatore) o interpretazione
DettagliIl linguaggio macchina
Architettura degli Elaboratori e delle Reti Lezione 16 Il linguaggio macchina Proff. A. Borghese, F. Pedeini Dipaimento di Scienze dell Informazione Univeità degli Studi di Milano L 16 1/33 Linguaggio
DettagliUn altro tipo di indirizzamento. L insieme delle istruzioni (3) Istruz. di somma e scelta con operando (2) Istruzioni di somma e scelta con operando
Un altro tipo di indirizzamento L insieme delle istruzioni (3) Architetture dei Calcolatori (lettere A-I) Tipi di indirizzamento visti finora Indirizzamento di un registro Indirizzamento con registro base
DettagliL insieme delle istruzioni (6)
L insieme delle istruzioni (6) Architetture dei Calcolatori (lettere A-I) Alcune note conclusive I due principi dell architettura a programma memorizzato Uso di istruzioni indistinguibili dai dati Uso
DettagliIstruzioni di trasferimento dati
Istruzioni di trasferimento dati Leggere dalla memoria su registro: lw (load word) Scrivere da registro alla memoria: sw (store word) Esempio: Codice C: A[8] += h A è un array di numeri interi Codice Assembler:
DettagliLinguaggio macchina. Architettura degli Elaboratori e delle Reti. Il linguaggio macchina. Lezione 16. Proff. A. Borghese, F.
Architettura degli Elaboratori e delle Reti Lezione 16 Il linguaggio macchina Proff. A. Borghese, F. Pedeini Dipaimento di Scienze dell Informazione Univeità degli Studi di Milano L 16 1/32 Linguaggio
DettagliL'architettura del processore MIPS
L'architettura del processore MIPS Piano della lezione Ripasso di formati istruzione e registri MIPS Passi di esecuzione delle istruzioni: Formato R (istruzioni aritmetico-logiche) Istruzioni di caricamento
DettagliDAGLI ALGORITMI AI LINGUAGGI. Linguaggi di Programmazione
DAGLI ALGORITMI AI LINGUAGGI Linguaggi di Programmazione E` una notazione con cui e` possibile descrivere gli algoritmi. Programma: e` la rappresentazione di un algoritmo in un particolare linguaggio di
DettagliTraduzione e interpretazione
Traduzione e interpretazione Parte dei lucidi sono stati gentilmente forniti dal Prof. Salza VII.1 Linguaggi di programmazione Linguaggi ad alto livello Maggiore espressività Maggiore produttività Migliore
DettagliArchitettura degli Elaboratori
Architettura degli Elaboratori Università degli Studi di Padova Facoltà di Scienze MM.FF.NN. Corso di Laurea in Informatica docente: Alessandro Sperduti Informazioni Generali Lucidi ed esercizi disponibili
DettagliLezione 22 La Memoria Interna (1)
Lezione 22 La Memoria Interna (1) Vittorio Scarano Architettura Corso di Laurea in Informatica Università degli Studi di Salerno Organizzazione della lezione Dove siamo e dove stiamo andando La gerarchia
DettagliLinguaggi e moduli. Dott. Franco Liberati
(canale A-D) A Linguaggi e moduli Dott. Franco Liberati Linguaggi di programmazione Compilatore Assemblatore Linker (collegatore) LINKER COMPILATORE ASSEMBLATORE LINGUAGGI DI PROGRAMMAZIONE Linguaggio
DettagliLecture 2: Prime Istruzioni
[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 2: Prime Istruzioni
DettagliAXO - Architettura dei Calcolatori e Sistema Operativo. organizzazione strutturata dei calcolatori
AXO - Architettura dei Calcolatori e Sistema Operativo organizzazione strutturata dei calcolatori I livelli I calcolatori sono progettati come una serie di livelli ognuno dei quali si basa sui livelli
DettagliArchitettura degli Elaboratori
Architettura degli Elaboratori Università degli Studi di Padova Scuola di Scienze Corso di Laurea in Informatica docente: Alessandro Sperduti Informazioni Generali Lucidi ed esercizi disponibili in formato
DettagliArchitettura di un calcolatore: Introduzione parte 2
Corso di Calcolatori Elettronici I Architettura di un calcolatore: Introduzione parte 2 Prof. Roberto Canonico Università degli Studi di Napoli Federico II Dipartimento di Ingegneria Elettrica e delle
DettagliIl processore: unità di elaborazione
Il processore: unità di elaborazione Architetture dei Calcolatori (lettere A-I) Progettazione dell unità di elaborazioni dati e prestazioni Le prestazioni di un calcolatore sono determinate da: Numero
DettagliLinguaggi di Programmazione
Linguaggi di Programmazione E una notazione con cui e possibile descrivere gli algoritmi. Programma: e la rappresentazione di un algoritmo in un particolare linguaggio di programmazione. In generale, ogni
DettagliCalcolatori Elettronici Parte VIII: linguaggi assemblativi
Anno Accademico 2013/2014 Calcolatori Elettronici Parte VIII: linguaggi assemblativi Prof. Riccardo Torlone Universita di Roma Tre Linguaggi di Programmazione Linguaggi ad alto livello Maggiore espressività
DettagliIl linguaggio assembly
Il linguaggio assembly PH 2.3 (continua) 1 Argomenti Organizzazione della memoria Istruzioni di trasferimento dei dati Array Istruzioni logiche 2 1 La memoria del MIPS I contenuti delle locazioni di memoria
DettagliUn quadro della situazione. Lezione 6 Aritmetica in virgola mobile (2) e Codifica dei caratteri. Dove siamo nel corso. Organizzazione della lezione
Un quadro della situazione Lezione 6 Aritmetica in virgola mobile (2) e Codifica dei caratteri Vittorio Scarano Architettura Corso di Laurea in Informatica Università degli Studi di Salerno Input/Output
DettagliLinguaggi, compilatori e interpreti
Linguaggi, compilatori e interpreti 1 Il codice macchina Ciascun calcolatore ha un ampio insieme di istruzioni che è in grado di eseguire. Le istruzioni vengono rappresentate mediante sequenze di bit 001000100011
DettagliLezione 20. Assembly MIPS: Il set istruzioni, strutture di controllo in Assembly
Architettura degli Elaboratori Lezione 20 Assembly MIPS: Il set istruzioni, strutture di controllo in Assembly Prof. F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano
DettagliUniversità degli Studi di Cassino
Corso di Istruzioni di confronto Istruzioni di controllo Formato delle istruzioni in L.M. Anno Accademico 2007/2008 Francesco Tortorella Istruzioni di confronto Istruzione Significato slt $t1,$t2,$t3 if
DettagliArchitettura degli Elaboratori
Architettura degli Elaboratori Università degli Studi di Padova Scuola di Scienze Corso di Laurea in Informatica docenti: Silvia Crafa, Nicolò Navarin (lab), Alessandro Sperduti Docenti Silvia Crafa Nicolò
DettagliLaboratorio di Architettura lezione 5. Massimo Marchiori W3C/MIT/UNIVE
Laboratorio di Architettura lezione 5 Massimo Marchiori W3C/MIT/UNIVE Da Alto a Basso livello: compilazione Come si passa da un linguaggio di alto livello a uno di basso livello? Cioe a dire, come lavora
DettagliProgettazione dell unità di elaborazioni dati e prestazioni. Il processore: unità di elaborazione. I passi per progettare un processore
Il processore: unità di elaborazione Architetture dei Calcolatori (lettere A-I) Progettazione dell unità di elaborazioni dati e prestazioni Le prestazioni di un calcolatore sono determinate da: Numero
DettagliArchitettura degli Elaboratori Lez. 8 CPU MIPS a 1 colpo di clock. Prof. Andrea Sterbini
Architettura degli Elaboratori Lez. 8 CPU MIPS a 1 colpo di clock Prof. Andrea Sterbini sterbini@di.uniroma1.it Argomenti Progetto della CPU MIPS a 1 colpo di clock - Istruzioni da implementare - Unità
DettagliLa 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
DettagliLinguaggi di programmazione
Linguaggi di programmazione Fondamenti di Informatica Daniele Loiacono Ho definito un algoritmo e adesso? Daniele Loiacono Dall algoritmo all esecuzione q Come deve essere formalizzato un algoritmo affinché
DettagliIl linguaggio macchina
Il linguaggio macchina Istruzioni macchina (PH 2.4) Indirizzamento (PH 2.9) Costanti a 32-bit (PH 2.9) 1 Linguaggio macchina Le istruzioni in linguaggio assembly devono essere tradotte in linguaggio macchina
DettagliArchitettura degli Elaboratori. Classe 3 Prof.ssa Anselmo. Appello del 18 Febbraio Attenzione:
Cognome.. Nome.... Architettura degli Elaboratori Classe 3 Prof.ssa Anselmo Appello del 18 Febbraio 2015 Attenzione: Inserire i propri dati nell apposito spazio sottostante e in testa a questa pagina.
DettagliLezione 20. Assembly MIPS: Il set istruzioni, strutture di controllo in Assembly
Architettura degli Elaboratori Lezione 20 Assembly MIPS: Il set istruzioni, strutture di controllo in Assembly Prof. F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano
DettagliELABORAZIONE DELLE INFORMAZIONI (ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE)
1 LEZIONE 9 ELABORAZIONE DELLE INFORMAZIONI (ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE) Laboratorio di Informatica per l Educazione A. A. 2014/2015 IN SINTESI (ELABORAZIONE) Con i COMPUTER, le macchine diventano
DettagliISA e linguaggio macchina
ISA e linguaggio macchina Prof. Alberto Borghese Dipartimento di Scienze dell Informazione borghese@di.unimi.it Università degli Studi di Milano Riferimento sul Patterson: capitolo 4.2, 4.4, D1, D2. 1/55
DettagliArchitettura dei calcolatori e sistemi operativi. Il processore Capitolo 4 P&H
Architettura dei calcolatori e sistemi operativi Il processore Capitolo 4 P&H 4. 11. 2015 Sommario Instruction Set di riferimento per il processore Esecuzione delle istruzioni Struttura del processore
DettagliIl calcolatore. È un sistema complesso costituito da un numero elevato di componenti. è strutturato in forma gerarchica
Il calcolatore È un sistema complesso costituito da un numero elevato di componenti. è strutturato in forma gerarchica ogni livello di descrizione è caratterizzato da una struttura rappresentante l organizzazione
DettagliISA (Instruction Set Architecture) della CPU MIPS
Architettura degli Elaboratori Lezione 20 ISA (Instruction Set Architecture) della CPU MIPS Prof. Federico Pedersini Dipartimento di Informatica Uniersità degli Studi di Milano L16-20 1 Linguaggio macchina
DettagliMIPS & SPIM. Modulo del Corso di Architettura degli Elaboratori. Nicola Paoletti. Università di Camerino Scuola di Scienze e Tecnologie
MIPS & SPIM Modulo del Corso di Architettura degli Elaboratori Nicola Paoletti Università di Camerino Scuola di Scienze e Tecnologie 10 Aprile 2013 AA 2012/2013 Informazioni utili (1/2) Email: nicola.paoletti@unicam.it
DettagliCorso di Calcolatori Elettronici MIPS: Istruzioni di confronto Istruzioni di controllo Formato delle istruzioni in L.M.
di Cassino e del Lazio Meridionale Corso di MIPS: Istruzioni di confronto Istruzioni di controllo Formato delle istruzioni in L.M. Anno Accademico 201/201 Francesco Tortorella Istruzioni di confronto Istruzione
DettagliArchitettura hardware
Architettura hardware la parte che si può prendere a calci Architettura dell elaboratore Sistema composto da un numero elevato di componenti, in cui ogni componente svolge una sua funzione elaborazione
DettagliArchitettura di Von Neumann. Memoria centrale. Memoria centrale (o RAM)
Architettura di Von Neumann Unità periferiche L architettura è ancora quella classica sviluppata da Von Neumann nel 1947 L architettura di Von Neumann riflette le funzionalità richieste da un elaboratore:
DettagliAccesso a memoria. Accesso a memoria. Accesso a memoria. Modalità di indirizzamento. Lezione 5 e 6. Architettura degli Elaboratori A.
< < } } Lezione 5 e 6 Accesso a memoria A questo livello di astrazione, la memoria viene vista come un array di byte Per ogni richiesta di un dato ad un certo indirizzo, la CPU ottiene un numero di byte
DettagliArchitettura degli Elaboratori B Introduzione al corso
Componenti di un calcolatore convenzionale Architettura degli Elaboratori B Introduzione al corso Salvatore Orlando http://www.dsi.unive.it/~arcb Studieremo il progetto e le prestazioni delle varie componenti
DettagliCalcolatori Elettronici Prof. Fabio Roli. Linguaggio Assembly. Capitolo 5. Corso di Laurea di Ingegneria Elettronica
Calcolatori Elettronici Prof. Fabio Roli Corso di Laurea di Ingegneria Elettronica Capitolo 5 Linguaggio Assembly Fonti principali: Patterson, A.D., Hennessy, J., "Struttura, organizzazione e progetto
DettagliIstruzioni macchina. Dove sono gli operandi? Ciclo della CPU. Elementi di un istruzione macchina. Rappresentazione delle istruzioni
Istruzioni macchina Linguaggio macchina Insieme delle istruzioni (instruction set) che la CPU puo eseguire Capitolo 10 1 2 Elementi di un istruzione macchina Codice operativo Specifica l operazione da
DettagliAlgoritmi, Strutture Dati e Programmi. UD 2.c: Linguaggi a Basso Livello
Algoritmi, Strutture Dati e Programmi : Linguaggi a Basso Livello Prof. Alberto Postiglione AA 2007-2008 Università degli Studi di Salerno LINGUAGGI DI PROGRAMMAZIONE A BASSO LIVELLO Curtin, cap. 12.2
DettagliStruttura di un elaboratore
Struttura di un elaboratore Fondamenti di Informatica 1 Modello architetturale di un computer Ogni computer è costituito da un insieme di blocchi funzionali tra loro interconnessi da sistemi di comunicazioni,
DettagliIl Processore: l unità di controllo
Il Processore: l unità di controllo La frequenza con cui vengono eseguiti i cicli di esecuzione è scandita da una componente detta clock Ad ogni impulso di clock la UC esegue un ciclo di esecuzione di
DettagliArchitettura di Von Neumann
Architettura di Von Neumann L architettura è ancora quella classica sviluppata da Von Neumann nel 1947. L architettura di Von Neumann riflette le funzionalità richieste da un elaboratore: memorizzare i
DettagliIl linguaggio di programmazione Python
Università Roma Tre Dipartimento di Matematica e Fisica Percorso Abilitante Speciale Classe A048 Matematica Applicata Corso di Informatica Il linguaggio di programmazione Python Marco Liverani (liverani@mat.uniroma3.it)
DettagliLinguaggi di alto livello, compilatori e interpreti
Linguaggi di alto livello, compilatori e interpreti Ingegneria Meccanica e dei Materiali Università degli Studi di Brescia Prof. Massimiliano Giacomin Limiti del linguaggio assembler Esempio: gestione
DettagliLezione 6 Introduzione al C++ Mauro Piccolo
Lezione 6 Introduzione al C++ Mauro Piccolo piccolo@di.unito.it Linguaggi di programmazione Un linguaggio formale disegnato per descrivere la computazione Linguaggi ad alto livello C, C++, Pascal, Java,
DettagliIl Processore: l Unità di Controllo Principale Barbara Masucci
Architettura degli Elaboratori Il Processore: l Unità di Controllo Principale Barbara Masucci Punto della situazione Ø Abbiamo visto come costruire l Unità di Controllo della ALU per il processore MIPS
DettagliArchitettura degli Elaboratori. Classe 3 Prof.ssa Anselmo. Appello del 19 Febbraio Attenzione:
Cognome.. Nome.... Architettura degli Elaboratori Classe 3 Prof.ssa Anselmo Appello del 19 Febbraio 2016 Attenzione: Inserire i propri dati nell apposito spazio sottostante e in testa a questa pagina.
DettagliCorso di Laurea in Informatica
Corso di Laurea in Informatica Architetture degli Elaboratori Corsi A e B Scritto del 13 Dicembre 2004 Esercizio 1 (punti -1, 3) Si consideri l architettura nota come macchina di von Neumann (a) Come le
DettagliRiassunto. Riassunto. Ciclo fetch&execute. Concetto di programma memorizzato. Istruzioni aritmetiche add, sub, mult, div
MIPS load/store word, con indirizzamento al byte aritmetica solo su registri Istruzioni Significato add $t1, $t2, $t3 $t1 = $t2 + $t3 sub $t1, $t2, $t3 $t1 = $t2 - $t3 mult $t1, $t2 Hi,Lo = $t1*$t2 div
DettagliIstruzioni assembler Istruzione N Registri
Istruzioni assembler Istruzione N Registri Aritmetica add a, b, c a = b+c addi a, b, num a = b + sub a, b, c a = b - c mul a, b, c a = b*c div a, b, c a = b/c utilizzati Descrizione 3 Somma. Somma b e
DettagliCorso di Laurea in Ingegneria Elettronica
Esercitazione di Calcolatori Elettronici Ing. Battista Biggio Corso di Laurea in Ingegneria Elettronica Esercitazione 3 (Capitolo 4) Set di istruzioni Outline Set di istruzioni di macchina Metodi di indirizzamento
DettagliLinguaggi di alto livello, compilatori e interpreti
Linguaggi di alto livello, compilatori e interpreti Percorso di Preparazione agli Studi di Ingegneria Università degli Studi di Brescia Docente: Massimiliano Giacomin Il punto della situazione STATO DATI
DettagliArchitettura degli Elaboratori II - Laboratorio
Pietro Codara http://homes.di.unimi.it/ dantona/arch Prima lezione 24 Ottobre 2012 Informazioni pratiche Lezioni frontali: Mer 24 Ottobre 2012, 18.30-21.30, Aula 200 (via Celoria) Ven 26 Ottobre 2012,
DettagliCALCOLATORI ELETTRONICI
DIPARTIMENTO DI INGEGNERIA ELETTRICA ELETTRONICA E INFORMATICA Corso di laurea in Ingegneria informatica Anno accademico 2016/2017-3 anno CALCOLATORI ELETTRONICI 9 CFU - 1 semestre Docente titolare dell'insegnamento
DettagliIl processore. Istituzionii di Informatica -- Rossano Gaeta
Il processore Il processore (detto anche CPU, ovvero, Central Processing Unit) è la componente dell unità centrale che fornisce la capacità di elaborazione delle informazioni contenute nella memoria principale
DettagliEsempio. Le istruzioni corrispondono a quelle di sopra, ma sono scritte in modo simbolico. E indipendente dalla machina
Il compilatore C Astrazione Linguaggio macchina implica la conoscenza dei metodi usati per la rappresentazione dell informazioni nella CPU Linguaggio Assembly è il linguaggio delle istruzioni che possono
DettagliCapitolo 5 Elementi architetturali di base
Capitolo 5 Elementi architetturali di base Giuseppe Lami Istituto di Scienza e Tecnologie dell Informazione CNR Via Moruzzi, 1 - Pisa giuseppe.lami@isti.cnr.it Struttura - Unità di elaborazione e controllo
DettagliEsercitazione 1 Codifica e Rappresentazione dell Informazione Istruzioni Assembly MIPS
Esercitazione 1 Codifica e Rappresentazione dell Informazione Istruzioni Assembly MIPS Claudia Raibulet raibulet@disco.unimib.it Codifica e Rappresentazione dell Informazione Informazioni Generali (I)
DettagliPrimi passi col linguaggio C
Andrea Marin Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time a.a. 2011/2012 Come introdurre un linguaggio di programmazione? Obiettivi: Introduciamo una macchina astratta
Dettagli21 March : ESERCITAZIONE 01 GESTIONE DELLA MEMORIA VETTORI CONTROLLOO O DI FLUSSO DI UN PROGRAMMA. I. Frosio
02: ESERCITAZIONE 01 21 March 2011 GESTIONE DELLA MEMORIA VETTORI CONTROLLOO O DI FLUSSO DI UN PROGRAMMA I. Frosio 1 SOMMARIO Organizzazione della memoria Istruzioni di accesso alla memoria Vettori Istruzioni
DettagliArchitettura di un calcolatore e linguaggio macchina. Primo modulo Tecniche della programmazione
Architettura di un calcolatore e linguaggio macchina Primo modulo Tecniche della programmazione CPU Central Processing Unit, processore Unita logica/aritmetica: elaborazione dati Unita di controllo: coordina
DettagliEsercizi sulla macchina assembler, strutturazione a livelli, spazio di indirizzamento
Architettura degli Elaboratori, a.a. 2005-06 Esercizi sulla macchina assembler, strutturazione a livelli, spazio di indirizzamento Esercizio 1 (svolto) a) Compilare in assembler Risc (Cap. V) un programma
DettagliIl linguaggio macchina
Università degli Studi di Palermo Facoltà di Ingegneria Il linguaggio macchina Edoardo Ardizzone & Ignazio Infantino Appunti per il corso di Fondamenti di Informatica Corso di Laurea in Ingegneria Informatica
DettagliLaboratorio di Calcolo Linguaggi di programmazione
Laboratorio di Calcolo Linguaggi di programmazione Software Insieme di istruzioni e dati trattati dal computer Le istruzioni possono essere a diversi livelli Istruzioni macchina: insieme limitato di funzioni
DettagliCALCOLATORI ELETTRONICI
DIPARTIMENTO DI INGEGNERIA ELETTRICA ELETTRONICA E INFORMATICA Corso di laurea in Ingegneria elettronica Anno accademico 2017/2018-3 anno CALCOLATORI ELETTRONICI 9 CFU - 2 semestre Docente titolare dell'insegnamento
DettagliLa CPU a singolo ciclo
La CPU a singolo ciclo Prof. Alberto Borghese Dipartimento di Scienze dell Informazione borghese@dsi.unimi.it Università degli Studi di Milano Riferimento sul Patterson: capitolo 5 (fino a 5.4) 1/44 Sommario
DettagliComponenti di un processore
Componenti di un processore Unità di Controllo Bus Interno REGISTRI Program Counter (PC) Registro di Stato (SR) Registro Istruzioni (IR) Registri Generali Unità Aritmetico- Logica Registro Indirizzi Memoria
DettagliLinguaggio macchina. 3 tipi di istruzioni macchina. Istruzioni per trasferimento dati. Istruzioni logico/aritmetiche
3 tipi di istruzioni macchina Linguaggio macchina e assembler 1) trasferimento tra RAM e registri di calcolo della CPU 2) operazioni aritmetiche: somma, differenza, moltiplicazione e divisione 3) operazioni
DettagliL unità di controllo di CPU a singolo ciclo
L unità di controllo di CPU a singolo ciclo Prof. Alberto Borghese Dipartimento di Informatica alberto.borghese@unimi.it Università degli Studi di Milano Riferimento sul Patterson: capitolo 4.2, 4.4, D1,
DettagliI Linguaggi di Programmazione
I Linguaggi di Programmazione 1 Linguaggio naturale e linguaggio macchina La comunicazione uomo-macchina avviene attraverso formalismi che assumono la forma di un linguaggio. Caratteristiche del Linguaggio
DettagliElementi di informatica
Elementi di informatica Architetture degli elaboratori Il calcolatore Un calcolatore è sistema composto da un elevato numero di componenti Il suo funzionamento può essere descritto se lo si considera come
DettagliConcetti di Base sulla Programmazione. Prof.Ing.S.Cavalieri
Concetti di Base sulla Programmazione Prof.Ing.S.Cavalieri 1 La Programmazione Dato un problema INFORMATICO, programmare significa: Definire i dati in ingresso e il risultato che si vuole raggiungere Definire
DettagliArchitettura di un elaboratore. Il modello di von Neumann
Architettura di un elaboratore Il modello di von Neumann 4(5) componenti fondamentali unita di elaborazione: CPU memoria centrale: RAM periferiche (memoria di massa) bus di sistema bus di sistema CPU RAM
DettagliLa CPU e la Memoria. Sistemi e Tecnologie Informatiche 1. Struttura del computer. Sistemi e Tecnologie Informatiche 2
La CPU e la Memoria Sistemi e Tecnologie Informatiche 1 Struttura del computer Sistemi e Tecnologie Informatiche 2 1 I registri La memoria contiene sia i dati che le istruzioni Il contenuto dei registri
Dettagli