Linguaggio Assembly e linguaggio macchina
|
|
|
- Nicoletta Federici
- 8 anni fa
- Просмотров:
Транскрипт
1 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 L 11 1/38 Sommario! Il linguaggio assembly! Il linguaggio macchina! Insieme delle istruzioni! Formato delle istruzioni! Codifica delle istruzioni! Modalità di indirizzamento L 11 2/38
2 Linguaggio C: esempio main() { int i; int sum = 0; for (i = 0; i <= 100; i = i + 1) sum = sum + i*i; } printf( La somma da 0 a 100 è %d\n, sum); L 11 3/38 Linguaggio assembly: esempio.text.align 2.globl main main: subu $sp, $sp, 32 sw $ra, 20($sp) sw $a0, 32 ($sp) sw $0, 24($sp) sw $0, 28($sp) loop: lw $t6, 28($sp) lw $t8, 24($sp) mult $t4, $t6, $t6 addu $t9, $t8, $t4 addu $t9, $t8, $t7 sw $t9, 24($sp) addu $t7, $t6, 1 sw $t7, 28($sp) bne $t5, 100, loop L 11 4/38
3 Codifica binaria: esempio MIPS: istruzioni di 32 bit: 00: : : C: : : : L 11 5/38 Linguaggio Assembly! ASSEMBLY: rappresentazione simbolica del linguaggio macchina " Vero e proprio linguaggio di programmazione " Più comprensibile del linguaggio macchina in quanto utilizza simboli invece che sequenze di bit! Rispetto ai linguaggi ad alto livello " Linguaggio target nella compilazione di programmi in linguaggi ad alto livello (es: C, C++, Pascal, ) " Assembly fornisce limitate forme di controllo del flusso " non prevede articolate strutture dati! SVANTAGGI: " Mancanza di portabilità dei programmi " Maggiore lunghezza e difficoltà di comprensione! VANTAGGI: visibilità diretta dell hardware # Massimo sfruttamento delle potenzialità HW della macchina # Ottimizzazione delle prestazioni L 11 6/38
4 Assembly come linguaggio di programmazione LIMITI:! Le strutture di controllo hanno forme limitate! Pochi tipi di dati: interi, virgola mobile, caratteri! Gestione delle strutture dati e delle chiamate a procedura deve essere fatta in modo esplicito dal programmatore! In alcune applicazioni conviene un approccio ibrido: " le parti più critiche del programma sono scritte in Assembly (per massimizzare le prestazioni) " le altre sono scritte in un linguaggio ad alto livello (prestazioni dipendono dalle capacità di ottimizzazione del compilatore) " Esempio: sistemi embedded, applicazioni in tempo reale " COMPILATORI: sistemi automatici di traduzione da linguaggio ad alto livello ad assembly/codice binario L 11 7/38 Fase di compilazione da C ad assembly Programma in linguaggio ad alto livello (C) n_maschi = n_maschi + nuovomaschio n_femmine = n_femmine + nuovafemmina n_personepereta = n_persone[eta] Compilatore Programma in linguaggio assembly (MIPS) add $2, $2, $4 add $3, $3, $2 lw $15, 4($2) L 11 8/38
5 Compilazione: da C ad assembly MIPS! Si consideri il seguente segmento di programma C: " utilizza 5 variabili: f, g, h, i, j f = (g + h) (i + j)! Il compilatore associa ad un istruzione C complessa istruzioni assembly a tre operandi e introduce due variabili temporanee (t0 e t1) add t0, g, h add t1, i, j sub f, t0, t1 # var. temp. t0! g + h # var. temp. t1! i + j # f! t0 t1 L 11 9/38 Sommario! Il linguaggio assembly! Il linguaggio macchina! Insieme delle istruzioni! Formato delle istruzioni! Codifica delle istruzioni! Modalità di indirizzamento L 11 10/38
6 Linguaggio macchina Linguaggio macchina: il linguaggio di programmazione direttamente comprensibile dalla macchina " Alfabeto binario (alfabeto posizionale) " Parole sono le istruzioni " Vocabolario è l insieme delle istruzioni (Instruction Set) L 11 11/38 Da assembly a linguaggio macchina! Compilazione effettuata dall ASSEMBLER Programma in linguaggio assembly (MIPS) add $2, $4, $2 add $3, $3, $2 lw $15, 4($2) Assembler Programma in linguaggio macchina L 11 12/38
7 Linguaggio macchina: architettura! Ogni architettura di processore ha il proprio linguaggio macchina " Architettura definita dall insieme delle istruzioni " Due processori con la stessa architettura hanno lo stesso linguaggio macchina anche se le implementazioni hardware possono essere diverse! ISA (Instruction Set Architecture) L insieme delle istruzioni-macchina eseguibili da una architettura di processore. L 11 13/38 Sommario! Il linguaggio assembly! Il linguaggio macchina! Insieme delle istruzioni (ISA)! Formato delle istruzioni! Codifica delle istruzioni! Modalità di indirizzamento L 11 14/38
8 Insieme delle istruzioni: ISA software instruction (ISA) hardware Quale è più facile modificare? L 11 15/38 L insieme delle istruzioni (ISA)! Le istruzioni del linguaggio macchina di ogni calcolatore possono essere classificate nelle seguenti! Quattro categorie: 1. Istruzioni aritmetico-logiche; 2. Istruzioni di trasferimento da/verso la memoria; 3. Istruzioni di salto condizionato e non condizionato per il controllo del flusso di programma; 4. Istruzioni di trasferimento in ingresso/uscita (I/O). L 11 16/38
9 Trasferimento da/verso memoria! ESECUZIONE istruzione LOAD/STORE: 1. Trasferire l istruzione dalla memoria alla CPU 2. Operandi e risultati delle istruzioni devono essere trasferiti tra memoria e CPU! Necessarie diverse modalità di trasferimento di dati/istruzioni tra memoria e registri della CPU: " load (caricamento) o fetch (prelievo) o read (lettura) " store (memorizzazione) o write (scrittura) L 11 17/38 Istruzioni aritmetiche! Ogni istruzione aritmetica ha un numero prefissato di operandi " generalmente tre! L ordine degli operandi è fisso: " Prima il risultato (registro destinazione) " Poi i due operandi (registri sorgente) " In alcuni casi il registro destinazione è implicito (es. moltiplicazione e divisione non floating point) L 11 18/38
10 Istruzioni di salto (condizionato e non)! ESECUZIONE Nel registro contatore di programma (PC Program Counter) viene caricato l indirizzo di salto " invece dell indirizzo seguente secondo l ordine sequenziale delle istruzioni.! Istruzioni di salto condizionato (branch): " il salto viene eseguito solo se una certa condizione risulta soddisfatta.! Istruzioni di salto incondizionato (jump): " il salto viene sempre eseguito. L 11 19/38 Sommario! Il linguaggio assembly! Il linguaggio macchina! Insieme delle istruzioni! Formato delle istruzioni! Codifica delle istruzioni! Modalità di indirizzamento L 11 20/38
11 MIPS: architettura RISC! Caratteristiche principali di ISA di tipo RISC: " Istruzioni dell ISA eseguite direttamente dall hardware " Massimizzazione della velocità di completamento delle istruzioni " Istruzioni facili da decodificare poche, poco varie, tutte di uguale lunghezza Accesso alla memoria solo con istruzioni dedicate di caricamento/memorizzazione (load/store) Gli operandi di un istruzione devono sempre risiedere nei registri del processore. L 11 21/38 I registri! Il compilatore associa le variabili di programma a registri! Un processore possiede un numero limitato di registri " MIPS: 32 registri di 32-bit (register file)! Per convenzione si usano nomi simbolici preceduti da $ per denotare i registri, ad esempio: $s0,$s1,...,$s7 $t0, $t1,... $t9 Per indicare variabili Indica variabili temporanee! I registri possono essere anche direttamente indicati mediante il loro numero (0,, 31) preceduto da $: ad es. $0, $1,,, $31 L 11 22/38
12 MIPS: Convenzioni d uso dei registri Nome Numero Utilizzo $zero 0 costante zero $at 1 riservato per l assemblatore $v0-$v1 2-3 valori di ritorno di una procedura $a0-$a3 4-7 argomenti di una procedura $t0-$t registri temporanei (non salvati) $s0-$s registri salvati $t8-$t registri temporanei (non salvati) $k0-$k gestione delle eccezioni $gp 28 puntatore alla global area (dati) $sp 29 stack pointer $s8 30 registro salvato (fp) $ra 31 indirizzo di ritorno L 11 23/38 Registri speciali MIPS! Registri special purpose, per l esecuzione di operazioni particolari:! MIPS: 32 registri per le operazioni floating point (in virgola mobile) $f0,, $f31 " Per le operazioni in doppia precisione si usano registri contigui: $f0, $f2, $f4, L 11 24/38
13 Compilazione C! Assembly usando i registri! Si consideri il seguente segmento di programma C che utilizza 5 variabili: f = (g + h) (i + j)! Il compilatore associa alle variabili presenti nel programma i registri presenti nella CPU. " Ad es: variabili f, g, h, i e j associate ai registri $s0, $s1, $s2, $s3, $s4! Il compilatore introduce due variabili temporanee (t0 e t1) che associa a due registri temporanei $t0 e $t1: add $t0, $s1, $s2 add $t1, $s3, $s4 sub $s0, $t0, $t1 # var. temp. t0! g + h # var. temp. t1! i + j # f! t0 t1 L 11 25/38 Formato di un istruzione Ciclo di esecuzione di un istruzione Fase di fetch Decodifica Esecuzione Lettura / scrittura Formato e codifica di un istruzione " Tipo e dimensione istruzione " Posizione degli operandi e risultato " Tipo e dimensione dei dati " Operazioni consentite Write back L 11 26/38
14 Formato delle istruzioni MIPS! Tutte le istruzioni MIPS hanno la stessa dimensione: 32 bit " I 32 bit hanno un significato diverso a seconda del formato (o tipo) di istruzione " il tipo di istruzione è riconosciuto in base al valore di alcuni dei bit più significativi (6 bit: codice operativo - OPCODE)! Le istruzioni MIPS sono di 3 tipi! 3 formati " Tipo R (register) Istruzioni aritmetico-logiche " Tipo I (immediate) Istruzioni di accesso alla memoria o contenenti delle costanti " Tipo J (jump) Istruzioni di salto L 11 27/38 I tipi di istruzione MIPS! Tipi di istruzioni " Istruzioni aritmetico-logiche " Istruzioni di trasferimento dati " Istruzioni di salto L 11 28/38
15 Istruzioni aritmetico-logiche! MIPS: un istruzione aritmetico-logica possiede tre operandi: " due registri contenenti i valori da elaborare (registri sorgente) " il registro contenente il risultato (registro destinazione)! L ordine degli operandi è fisso " Prima il registro contenente il risultato, poi i due operandi! Struttura istruzione assembly: codice operativo e tre campi relativi ai tre operandi: OPCODE DEST, SORG1, SORG2 32 bit L 11 29/38 Istruzione add! add : somma add rd, rs, rt " somma il contenuto di due registri sorgente rs e rt " e mette la somma nel registro destinazione: rd add rd, rs, rt # rd " rs + rt Opcode (6 bit) L 11 30/38
16 Istruzione sub sub: Sottrazione sub rd rs rt! sottrae il contenuto di due registri sorgente rs e rt! e mette la differenza nel registro destinazione rd sub rd, rs, rt # rd " rs - rt Opcode (6 bit) L 11 31/38 Istruzioni aritmetico-logiche! Operazioni con un numero di operandi maggiore di tre devono essere scomposte in operazioni più semplici " Ad esempio, per eseguire la somma delle variabili b,c,d,e nella variabile a servono tre istruzioni: Codice C: A = B + C + D + E Assembly MIPS: add $t0, $s1, $s2 add $t0, $t0, $s3 add $s0, $t0, $s4 L 11 32/38
17 add: varianti addi $s1, $s2, 100 #add immediate " Somma una costante: il valore del secondo operando (ultimi 16 bit) è presente nell istruzione come costante e sommata considerando il segno addu $s0, $s1, $s2 #add unsigned " La somma viene eseguita tra numeri senza segno addiu $s0, $s1, 100 #add immediate unsigned " Somma una costante L 11 33/38 Moltiplicazione! Due istruzioni: mult rs rt multu rs rt # unsigned! Il registro destinazione è implicito. " Il risultato della moltiplicazione viene posto sempre in due registri dedicati (special purpose): hi (high-order word) lo (low-order word) " La moltiplicazione di due numeri di 32 bit dà come risultato un numero rappresentabile in 64 bit L 11 34/38
18 Moltiplicazione! Il risultato della moltiplicazione si preleva dal registro hi e dal registro lo utilizzando le due istruzioni: mfhi rd mflo rd # move from hi: rd $ hi # move from lo: rd $ lo L 11 35/38 Divisione! Due istruzioni: div rs rt divu rs rt # divide rs per rt # unsigned! Come nella moltiplicazione, anche nella divisione il registro destinazione è implicito. " Quoziente della divisione nel registro lo " Resto è posto nel registro hi L 11 36/38
19 Pseudoistruzioni! Per semplificare la programmazione, MIPS fornisce un insieme di pseudoistruzioni! Modo compatto ed intuitivo di specificare un insieme di istruzioni assembly elementari " Non hanno un corrispondente 1 a 1 con le istruzioni dell ISA. " Traduzione della pseudoistruzione nelle istruzioni equivalenti viene attuata automaticamente dall assembler L 11 37/38 Esempio move $t0, $t1 add $t0, $zero, $t1 mul $s0, $t1, $t2 mult $t1, $t2 mflo $s0 div $s0, $t1, $t2 div $t1, $t2 mflo $s0 # t0 $ t1 # s0 $ t1*t2 # s0 $ t1/t2 L 11 38/38
Linguaggio 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
Lezione 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
Il 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
Il 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
Richiami 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
Architettura 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
Università 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
Corso 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
Architettura 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
Le 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):
Lezione4: MIPS e Istruzioni (1 Parte)
Architettura degli Elaboratori Lezione4: MIPS e Istruzioni (1 Parte) Michele Nappi [email protected] http://www.biplab.unisa.it/ Alcune slide di questa lezione sono prodotte dal Prof. Luigi Palopoli AGENDA
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
Architettura 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
Linguaggio 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
Istruzioni 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
Linguaggio 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
Istruzioni 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
Lecture 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
Riassunto. 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
Architettura 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 [email protected] Argomenti Progetto della CPU MIPS a 1 colpo di clock - Istruzioni da implementare - Unità
Linguaggi 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
1. Si effettui la divisione di 7/5 utilizzando un efficiente algoritmo e illustrando la corrispondente architettura hardware.
1. Si effettui la divisione di 7/5 utilizzando un efficiente algoritmo e illustrando la corrispondente architettura hardware. 2. Spiegare i diversi tipi di indirizzamento usati dalle istruzioni del set
ARCHITETTURA DI UN SISTEMA DI ELABORAZIONE
ARCHITETTURA DI UN SISTEMA DI ELABORAZIONE Il computer o elaboratore è una macchina altamente organizzata capace di immagazzinare, elaborare e trasmettere dati con notevole precisione e rapidità. Schematicamente
Accesso 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
Il processore: unità di controllo
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
Modi di indirizzamento
Vari modi di specificare l indirizzo degli operandi Modi di indirizzamento Capitolo 11 Immediato Diretto Indiretto Registro Registro indiretto Spiazzamento Pila 1 2 Indirizzamento immediato L operando
Architettura 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
Architettura di una CPU
Massimo VIOLANTE Politecnico di Torino Dipartimento di Automatica e Informatica Sommario Organizzazione di un processore Linguaggio macchina Modi di indirizzamento Tipi di istruzioni 2 M. Violante 1.1
Corso di Calcolatori Elettronici I Istruzioni macchina ing. Alessandro Cilardo
Corso di Calcolatori Elettronici I Istruzioni macchina ing. Alessandro Cilardo Corso di Laurea in Ingegneria Biomedica Istruzioni del processore Abbiamo visto in precedenza alcuni esempi di istruzioni
I 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
Il 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
Componenti principali. Programma cablato. Architettura di Von Neumann. Programma cablato. Cos e un programma? Componenti e connessioni
Componenti principali Componenti e connessioni Capitolo 3 CPU (Unita Centrale di Elaborazione) Memoria Sistemi di I/O Connessioni tra loro 1 2 Architettura di Von Neumann Dati e instruzioni in memoria
Architettura dei Calcolatori elettronici
Architettura dei Calcolatori elettronici CORSO DI CALCOLATORI ELETTRONICI I CdL Ingegneria Biomedica (A-I) DIS - Università degli Studi di Napoli Federico II Dal punto di vista architetturale un calcolatore
Laboratorio 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
Appunti del corso di Informatica 1 (IN110 Fondamenti) 5 Rappresentazione delle informazioni
Università di Roma Tre Dipartimento di Matematica e Fisica Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN110 Fondamenti) 5 Rappresentazione delle informazioni Marco Liverani ([email protected])
Componenti e connessioni. Capitolo 3
Componenti e connessioni Capitolo 3 Componenti principali CPU (Unità Centrale di Elaborazione) Memoria Sistemi di I/O Connessioni tra loro Architettura di Von Neumann Dati e instruzioni in memoria (lettura
Processore. Memoria I/O. Control (Parte di controllo) Datapath (Parte operativa)
Processore Memoria Control (Parte di controllo) Datapath (Parte operativa) I/O Memoria La dimensione del Register File è piccola registri usati per memorizzare singole variabili di tipo semplice purtroppo
Elaborazione dell informazione
Elaborazione dell informazione Primo esempio Ricominciamo dai numeri (45 + 25) è definita rigorosamente Un primo calcolatore (a) Figura 1.1 Configurazione del pallottoliere (a) prima e (b) dopo l esecuzione
Linguaggi, 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
Laboratorio di Architettura degli Elaboratori LabArch 2007 Terzo Quadimestre, a.a Docente: H. Muccini
[http://www.di.univaq.it/muccini/labarch] Laboratorio di Architettura degli Elaboratori LabArch 2007 Terzo Quadimestre, a.a. 2006-2007 Docente: H. Muccini Lecture 12: - Numeri con segno -Somma e sottrazione
Progetto CPU (ciclo singolo) Salvatore Orlando
Progetto CPU (ciclo singolo) Salvatore Orlando Arch. Elab. - S. Orlando 1 Processore: Datapath & Control Possiamo finalmente vedere il progetto di un processore MIPS-like semplificato Semplificato in modo
Corso 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
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
Il linguaggio del calcolatore: linguaggio macchina e linguaggio assembly
Il linguaggio del calcolatore: linguaggio macchina e linguaggio assembly Ingegneria Meccanica e dei Materiali Università degli Studi di Brescia Prof. Massimiliano Giacomin ORGANIZZAZIONE DEL CALCOLATORE:
Laboratorio 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
Lezione 17: Indirizzamento della memoria LC-3
Lezione 17: Indirizzamento della memoria LC-3 Laboratorio di Elementi di Architettura e Sistemi Operativi 22 Maggio 2013 Riassunto sull architettura LC-3 1. Organizzazione della memoria: La memoria è composta
Fondamenti Teorici. Antonio Pescapè e Marcello Esposito Parte Seconda v2.0
Fondamenti Teorici Antonio Pescapè e Marcello Esposito Parte Seconda v2.0 Agenda Modello di Von Neumann Algoritmo del Processore Linguaggio Macchina e Linguaggio Assembler Hardware e Software Compilatori
Esercizi 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
Implementazione semplificata
Il processore 168 Implementazione semplificata Copre un sottoinsieme limitato di istruzioni rappresentative dell'isa MIPS aritmetiche/logiche: add, sub, and, or, slt accesso alla memoria: lw, sw trasferimento
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 [email protected] Università degli Studi di Milano 1/45 Sommario Le costanti
Il Software programmabili programma algoritmo
Il Software La proprietà fondamentale dei calcolatori e` quella di essere programmabili cioè in grado di svolgere compiti diversi a seconda delle istruzioni fornite dall utente mediante un programma, ossia
Il linguaggio Assembly
Il linguaggio Assembly Linguaggio macchina Linguaggio definito da un insieme di istruzioni, codificate come stringhe di bit, che il processore può interpretare ed eseguire direttamente Linguaggio Assembly
Lezione 12: L architettura LC-3
Lezione 12: L architettura LC-3 Laboratorio di Elementi di Architettura e Sistemi Operativi 24 Maggio 2012 Ricorda... Il ciclo di esecuzione di un istruzione è composto da sei fasi: FETCH DECODE ADDRESS
Struttura CPU. Struttura e Funzione del Processore. Capitolo 12. Compiti CPU:
Struttura e Funzione del Processore Capitolo 12 Struttura CPU Compiti CPU: Prelevare istruzioni Interpretare istruzioni Prelevare dati Elaborare dati Scrivere (memorizzare) dati 1 CPU con bus di sistema
Elementi 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
Istruzioni MIPS per floating point
Istruzioni MIPS per floating point Architetture dei Calcolatori (lettere A-I) Coprocessore per floating point L architettura MIPS ha un coprocessore (indicato con il numero 1) che opera sui numeri in virgola
Il 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
Assembler MIPS R2000/3000
TITLE Assembler MIPS R2000/3000 Alberto Montresor Programma delle lezioni! Introduzione ai concetti di assembler, compilatore, linker, programma eseguibile! Introduzione all assembly Sintassi del linguaggio
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:
Linguaggi 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é
Elementi di Informatica e Programmazione. # Memoria di massa. Problema: comprare un PC. Architettura del calcolatore. Architettura di Von Neumann
Elementi di Informatica e Programmazione Architettura del calcolatore (prima parte) Corsi di Laurea in: Ingegneria Civile Ingegneria per l Ambiente e il Territorio Università degli Studi di Brescia Problema:
Il Modello di von Neumann (2) Prevede 3 entità logiche:
Introduzione all Architettura degli Elaboratori Sommario Macchina di von Neumann Esecuzione dei programmi Rappresentazione dei dati Dati numerici Dati alfabetici 1 2 Il Modello di von Neumann (1) L architettura
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
AXO - 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
STRUTTURA E LOGICA DI FUNZIONAMENTO DEL COMPUTER
1 STRUTTURA E LOGICA DI FUNZIONAMENTO DEL COMPUTER Un computer e una macchina che riceve in ingresso delle informazioni, le elabora secondo un determinato procedimento e produce dei risultati che vengono
