Linguaggio Assembly e linguaggio macchina
|
|
|
- Dino Marchi
- 9 anni fa
- Visualizzazioni
Transcript
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/32 Sommario Introduzione Insieme delle istruzioni (ISA) Formato delle istruzioni Codifica delle istruzioni Modalità di indirizzamento L 11 2/32 1
2 Esempio: linguaggio C, Assembly, macchina (MIPS) C: main() { int i; int sum = 0; } for (i = 0; i <= 100; i = i + 1) sum = sum + i*i; Linguaggio macchina (MIPS) 00: : : C: : : : Assembly (MIPS): 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 3/32 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 Assembly è il linguaggio target di compilazione di codice in linguaggi ad alto livello Assembly fornisce limitate forme di controllo del flusso Assembly 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 4/32 2
3 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 L 11 5/32 Fase di compilazione: C Assembly COMPILATORE: sistema automatico di traduzione di un codice da linguaggi ad alto livello a linguaggio 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 6/32 3
4 Compilazione: da C ad assembly MIPS Si consideri il seguente segmento di programma C: f = (g + h) (i + j) utilizza 5 variabili: 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 7/32 Linguaggio macchina Linguaggio macchina: il linguaggio di programmazione direttamente comprensibile dalla macchina Elementi di un linguaggio: Alfabeto Alfabeto binario Parole sono le istruzioni Vocabolario è l insieme delle istruzioni (Instruction Set) L 11 8/32 4
5 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 9/32 Linguaggio macchina e architettura: ISA 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 10/32 5
6 Sommario Introduzione Insieme delle istruzioni (ISA) Formato delle istruzioni Codifica delle istruzioni Modalità di indirizzamento L 11 11/32 L insieme delle istruzioni (ISA) Le istruzioni del linguaggio macchina di ogni calcolatore possono essere classificate 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 12/32 6
7 Istruzioni logico aritmetiche Ogni istruzione aritmetica ha un numero prefissato di operandi generalmente tre L ordine degli operandi è fisso: Prima il risultato Poi i due operandi (registro destinazione) (registri sorgente) In alcuni casi il registro destinazione è implicito (es. moltiplicazione e divisione non floating point) Operandi e risultato sono contenuti nei registri MIPS è un architettura Load/Store L 11 13/32 Trasferimento da/verso memoria Istruzioni: load e 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 14/32 7
8 Istruzioni di salto (condizionato e non) Salto: nel registro PC Program Counter viene caricato l indirizzo di salto, invece dell indirizzo seguente. 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 Istruzioni di salto indirizzato da registro (jump register): salto (incondizionato) all indirizzo contenuto in un registro L 11 15/32 Sommario Il linguaggio assembly Il linguaggio macchina Insieme delle istruzioni I.S.A. Formato delle istruzioni (MIPS) Codifica delle istruzioni (MIPS) Modalità di indirizzamento L 11 16/32 8
9 MIPS: architettura RISC I.S.A. di MIPS: caratteristiche principali È un ISA di tipo RISC: Istruzioni dell ISA eseguite direttamente dall hardware In alcune CPU, l istruzione è eseguita attraverso un microprogramma Istruzioni facili da decodificare Poche istruzioni, tutte di uguale lunghezza Accesso alla memoria solo con istruzioni dedicate di caricamento/memorizzazione (load/store) Gli operandi di un istruzione si trovano necessariamente nei registri del processore. Massimizzazione della velocità di completamento delle istruzioni L 11 17/32 I registri Ogni processore possiede un certo numero di registri MIPS: 32 registri da 32-bit (general purpose) Register File Utilizzo dei registri: In Assembly, li utilizzo per memorizzare informazioni (variabili) Un compilatore associa automaticamente le variabili di programma ai registri Convenzione di rappresentazione dei registri I registri possono essere direttamente indicati con il loro numero (0 31) preceduto da $: $0, $1,, $31 Si usano anche nomi simbolici convenzionali, preceduti da $: $s0,$s1,...,$s7 $t0, $t1,... $t9 Per memorizzare variabili da salvare Per variabili temporanee L 11 18/32 9
10 I registri MIPS Convenzione d uso dei 32 registri general purpose 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 19/32 Registri speciali MIPS Altri registri MIPS utilizzati in programmazione: Registri special purpose, per operazioni particolari: Registro di destinazione per le moltiplicazioni/divisioni [ hi, lo ] Registro doppio: 64 bit Moltiplicazione: hi: MSW, lo: LSW Divisione: hi: resto lo: quoziente 32 registri per le operazioni floating point (virgola mobile) $f0,, $f31 Per le operazioni in doppia precisione si usano registri contigui: $f0, $f2, $f4, L 11 20/32 10
11 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 21/32 Formato di un istruzione Ciclo di esecuzione di un istruzione MIPS Fase di fetch Decodifica Esecuzione Lettura / scrittura Write back Tipo di Istruzione Categoria funzionale (salto, accesso a memoria, logicoaritmetica) Formato e codifica di un istruzione Tipo e dimensione istruzione Posizione operandi e risultato Tipo e dimensione dei dati Operazioni consentite L 11 22/32 11
12 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) Tipo I (immediate) Tipo J (jump) Istruzioni aritmetico-logiche Istruzioni di accesso alla memoria o contenenti delle costanti Istruzioni di salto L 11 23/32 I tipi di istruzione MIPS Tipi di istruzioni MIPS Istruzioni aritmetico-logiche Istruzioni di trasferimento dati Istruzioni di salto L 11 24/32 12
13 Istruzioni aritmetico-logiche MIPS: un istruzione aritmetico-logica possiede tre operandi: due registri contenenti i valori da elaborare (registri sorgente) un registro che conterrà il risultato (registro destinazione) L ordine degli operandi è fisso Prima il registro contenente il risultato, poi i due operandi Struttura istruzione, in Assembly: codice operativo e tre campi relativi ai tre operandi: OPCODE DEST, SORG1, SORG2 32 bit L 11 25/32 Istruzioni: add, sub add: Addizione 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 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 L 11 26/32 13
14 add/sub: varianti addi $s1, $s2, 100 subi $s1, $s2, 100 #add immediate #sub immediate Somma/sottrazione di una costante: il valore del secondo operando è presente nell istruzione come costante (ultimi 16 bit dell istruzione) addu $s0, $s1, $s2 #add unsigned subu $s0, $s1, $s2 #sub unsigned L operazione viene eseguita tra numeri senza segno addiu $s0, $s1, 100 #add immediate unsigned subiu $s0, $s1, 100 #sub immediate unsigned Ilsecondo operando è una costante, senza segno L 11 27/32 Moltiplicazione Assembly MIPS: mult rs rt multu rs rt # multiply # unsigned multiply La moltiplicazione di due numeri di 32 bit dà come risultato un numero rappresentabile in 64 bit Il registro destinazione è implicito: il risultato viene posto sempre in due registri dedicati: [ hi, lo ] HIGH-order 32-bit word LOW-order 32-bit word hi lo rs rt x 64 hi lo L 11 28/32 14
15 Divisione Divisione in MIPS: div rs rt divu rs rt # division: rs/rt # unsigned division Come nella moltiplicazione, anche nella divisione il registro destinazione è implicito, di dimensione doppia: [ hi, lo ] Necessari 64 bit: quoziente (32 bit) + resto (32 bit) Quoziente (intero) della divisione nel registro lo Resto della divisione nel registro hi QUOZIENTE (32-bit) RESTO (32-bit) hi lo L 11 29/32 Moltiplicazione / Divisione 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 Il risultato viene trasferito nel registro destinazione specificato L 11 30/32 15
16 Pseudoistruzioni Per semplificare la programmazione, in ogni Assembly vengono definite alcune pseudoistruzioni Significato intuitivo Non hanno un corrispondente 1 a 1 con le istruzioni dell ISA Vantaggi: Parziale standardizzazione del linguaggio Assembly La stessa pseudoistruzione viene tradotta in modi differenti, per architetture (I.S.A.) differenti Rappresentazione più compatta ed intuitiva di istruzioni Assembly comunemente utilizzate La traduzione della pseudoistruzione nelle istruzioni equivalenti viene attuata automaticamente dall Assembler L 11 31/32 Esempi: Pseudoistruzione: Codice MIPS: move $t0, $t1 # t0 t1 add $t0, $zero, $t1 mul $s0, $t1, $t2 # s0 t1*t2 mult $t1, $t2 mflo $s0 div $s0, $t1, $t2 # s0 t1/t2 div $t1, $t2 mflo $s0 L 11 32/32 16
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
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:
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
MIPS Instruction Set 2
Laboratorio di Architettura 15 aprile 2011 1 Architettura Mips 2 Chiamata a Funzione 3 Esercitazione Registri MIPS reference card: http://refcards.com/docs/waetzigj/mips/mipsref.pdf 32 registri general
Architettura del Set di Istruzioni (ISA)
Architettura del Set di Istruzioni (ISA) Maurizio Palesi Maurizio Palesi 1 Instruction Set Architecture (ISA) Software instruction set Hardware Maurizio Palesi 2 1 Instruction Set Architecture (ISA) Applicazioni
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
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:
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:
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
Architettura MIPS (RISC) Architetture dei Calcolatori (Lettere. Principi di Progettazione ISA MIPS MIPS R3000 ISA. Il Set di Istruzioni MIPS
Architettura MIPS (RISC) Architetture dei Calcolatori (Lettere A-I) Il Set di Istruzioni MIPS Ing.. Francesco Lo Presti Sviluppata e progettata a Stanford (USA) Progettata nei primi anni 80 Prodotta e
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
Informatica Teorica. Macchine a registri
Informatica Teorica Macchine a registri 1 Macchine a registri RAM (Random Access Machine) astrazione ragionevole di un calcolatore nastro di ingresso nastro di uscita unità centrale in grado di eseguire
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
L architettura del calcolatore (Prima parte)
L architettura del calcolatore (Prima parte) Percorso di Preparazione agli Studi di Ingegneria Università degli Studi di Brescia Docente: Massimiliano Giacomin Calcolatore astratto e reale Concetto astratto
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
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
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
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
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: [email protected] Tel.: +39
Fondamenti di Informatica PROBLEMI E ALGORITMI. Fondamenti di Informatica - D. Talia - UNICAL 1
Fondamenti di Informatica PROBLEMI E ALGORITMI Fondamenti di Informatica - D. Talia - UNICAL 1 Specifica di un algoritmo Primo approccio, scrittura diretta del programma: la soluzione coincide con la codifica
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
Il calcolatore. Architettura di un calcolatore (Hardware)
Il calcolatore Prima parlare della programmazione, e' bene fare una brevissima introduzione su come sono strutturati i calcolatori elettronici. I calcolatori elettronici sono stati progettati e costruiti
Architettura dei calcolatori e sistemi operativi. Assemblatore e Collegatore (Linker) Capitolo 2 P&H Appendice 2 P&H
Architettura dei calcolatori e sistemi operativi Assemblatore e Collegatore (Linker) Capitolo 2 P&H Appendice 2 P&H Sommario Il processo di assemblaggio Il collegatore (linker) 2 Assemblatore: traduzione
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
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
Calcolatori Elettronici A a.a. 2008/2009
Calcolatori Elettronici A a.a. 2008/2009 ISA e LINGUAGGIO ASSEMBLY MIPS Massimiliano Giacomin 1 Architettura MIPS Architettura RISC e load-store sviluppata da John Hennessy nel 1981 Usata da NEC, Nintendo,
COMPITINO #1 di CALCOLATORI ELETTRONICI 1 del 03-11-09 COGNOME NOME
MATRICOLA COGNOME NOME 1) [28/40] Trovare il codice assembly MIPS corrispondente dei seguenti micro-benchmark (utilizzando solo e unicamente istruzioni dalla tabella sottostante), rispettando le convenzioni
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
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
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
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
Esercitazioni di Reti Logiche. Lezione 1 Rappresentazione dell'informazione. Zeynep KIZILTAN [email protected]
Esercitazioni di Reti Logiche Lezione 1 Rappresentazione dell'informazione Zeynep KIZILTAN [email protected] Introduzione Zeynep KIZILTAN Si pronuncia Z come la S di Rose altrimenti, si legge come
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
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
CALCOLATORI ELETTRONICI
CALCOLATORI ELETTRONICI Giuseppe Coldani Tel. 0382 985678 e-mail: [email protected] [email protected] orario delle lezioni: Mercoledì 14.00-18.00 orario di ricevimento: su appuntamento 1
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
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
Linguaggio Assembler MIPS
Linguaggio Assembler MIPS Corso di Calcolatori Elettronici Corso di Calcolatori Elettronici A A.A. 2000/2001 Dr. Daniela Fogli Notazione Operazioni aritmetiche: Somma add a, b, c fa la somma di b e c e
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
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
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
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
PARTE III MACCHINE A REGISTRI
PARTE III MACCHINE A REGISTRI Macchine a registri (RAM) Modelli di costo RAM e macchine di Turing Macchine a registri elementari 1 3.1 MACCHINE A REGISTRI (RAM: Random Access Machines) Introdotte da Shepherdson
ToolChain: Come Generare Applicazioni in Linguaggio Macchina
ToolChain: Come Generare Applicazioni in Linguaggio Macchina Luca Abeni e Luigi Palopoli March 30, 2015 La Lingua della CPU Una CPU capisce e riesce ad eseguire solo il linguaggio macchina Linguaggio di
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
Architettura dei Calcolatori Introduzione al corso
Architettura dei Calcolatori Introduzione al corso Ing. dell Automazione A.A. 2011/12 Gabriele Cecchetti [email protected] Rappresentazione dell informazione Sommario: Premessa (struttura generale del
COMPILAZIONE. Tarsformazione di linguaggi
COMPILAZIONE Tarsformazione di linguaggi Le fasi della compilazione File sorgente Compilazione File sorgente File sorgente File sorgente Compilazione Compilazione Compilazione Libreria di run-time File
Calcolo numerico e programmazione Architettura dei calcolatori
Calcolo numerico e programmazione Architettura dei calcolatori Tullio Facchinetti 30 marzo 2012 08:57 http://robot.unipv.it/toolleeo Il calcolatore tre funzionalità essenziali:
Assembly. Motivazioni. Programmazione Assembly
Assembly Programmazione in linguaggio macchina (o meglio in assembly): programmare utilizzando istruzioni direttamente eseguibili dal processore. Questa parte del corsi si accompagna a lezioni in laboratorio:
Calcolatori Elettronici
Calcolatori Elettronici La Pipeline Superpipeline Pipeline superscalare Schedulazione dinamica della pipeline Processori reali: l architettura Intel e la pipeline dell AMD Opteron X4 Ricapitolando Con
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
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
Architettura hardware
Architettura dell elaboratore Architettura hardware la parte che si può prendere a calci Sistema composto da un numero elevato di componenti, in cui ogni componente svolge una sua funzione elaborazione
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
AMBIENTE DI SIMULAZIONE ASIM
LABORATORIO DI ARCHITETTURA DEI CALCOLATORI lezione n 10 Prof. Rosario Cerbone [email protected] http://digilander.libero.it/rosario.cerbone a.a. 2008-2009 AMBIENTE DI SIMULAZIONE ASIM Digitazione
Integer Java Virtual Machine (IJVM)
Integer Java Virtual Machine (IJVM) Calcolatori Elettronici II Prof. Antonino Mazzeo [email protected] Ing. Luigi Romano Ing. Alessandro Cilardo Ing. Luigi Coppolino [email protected] [email protected] [email protected]
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
PROGRAMMA DI SCIENZE E TECNOLOGIE APPLICATE 2015/2016 Classe 2ª Sez. C Tecnologico
ISTITUTO TECNICO STATALE MARCHI FORTI Viale Guglielmo Marconi n 16-51017 PESCIA (PT) - ITALIA PROGRAMMA DI SCIENZE E TECNOLOGIE APPLICATE 2015/2016 Classe 2ª Sez. C Tecnologico Docente PARROTTA GIOVANNI
Linguaggio Assembler MIPS
Linguaggio Assembler MIPS Corso di Calcolatori Elettronici A 2007/2008 Sito Web:http://prometeo.ing.unibs.it/quarella Prof. G. Quarella [email protected] Architettura MIPS Architettura RISC sviluppata
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
DISPENSE DI CALCOLATORI ELETTRONICI 1
UNIVERSITÀ DEGLI STUDI DI SIENA FACOLTÀ DI INGEGNERIA CORSO DI LAUREA IN INGEGNERIA INFORMATICA MODULO PROFESSIONALIZZANTE "TECNOLOGIE PER IL KNOWLEDGE MANAGEMENT" A.A. 2005/2006 DISPENSE DI CALCOLATORI
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
Esempi ed esercizi Aritmetica degli elaboratori e algebra di commutazione
Esempi ed esercizi Aritmetica degli elaboratori e algebra di commutazione Fondamenti di Informatica Michele Ceccarelli Università del Sannio [email protected] Angelo Ciaramella DMI-Università degli
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
In realtà, non un solo microprocessore, ma un intera famiglia, dalle CPU più semplici con una sola pipeline a CPU molto complesse per applicazioni ad
Principi di architetture dei calcolatori: l architettura ARM. Mariagiovanna Sami Che cosa è ARM In realtà, non un solo microprocessore, ma un intera famiglia, dalle CPU più semplici con una sola pipeline
L Assembler 8086. Istruzioni Aritmetiche. M. Rebaudengo - M. Sonza Reorda. Politecnico di Torino Dip. di Automatica e Informatica
L Assembler 8086 M. Rebaudengo - M. Sonza Reorda Politecnico di Torino Dip. di Automatica e Informatica 1 M. Rebaudengo, M. Sonza Reorda Si suddividono in: istruzioni per il calcolo binario istruzioni
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
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
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
PROGETTAZIONE DISCIPLINARE MATEMATICA classe 2^
PROGETTAZIONE DISCIPLINARE MATEMATICA classe 2^ PER RICONOSCERE, RAPPRESENTARE E RISOLVERE PROBLEMI I. Q. II. Q. CONTENUTI / ATTIVITA 1 bim. 2 bim. 3 bim. 4 bim. 1a) Individuazione di situazioni problematiche
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
CLASSE III A I.T.I. (ABACUS) SISTEMI DI ELABORAZIONE E TRASMISSIONE DEI DATI VERIFICA DI RECUPERO
CLASSE III A I.T.I. (ABACUS) SISTEMI DI ELABORAZIONE E TRASMISSIONE DEI DATI VERIFICA DI RECUPERO 1 Domanda [1 punto] Dato il formato in virgola mobile su 32 bit così definito (precisione singola): o 1
Il file system. Le caratteristiche di file, direttorio e partizione sono del tutto indipendenti dalla natura e dal tipo di dispositivo utilizzato.
Il File System Il file system È quella parte del Sistema Operativo che fornisce i meccanismi di accesso e memorizzazione delle informazioni (programmi e dati) allocate in memoria di massa. Realizza i concetti
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.
Il microprocessore 8086
1 Il microprocessore 8086 LA CPU 8086 Il microprocessore 8086 fa parte della famiglia 80xxx della INTEL. Il capostipite di questa famiglia è stato l 8080, un microprocessore ad 8 bit che ha riscosso un
Tutorato Architettura degli elaboratori
Tutorato Architettura degli elaboratori Dott. Damiano Braga Before we start.. Orario 12 Aprile h. 14.00-16.00 aula F6 20 Aprile h. 11.30-13.30 aula F6 10 Maggio h. 14.00-16.00 aula F4 18 Maggio h. 11.30-13.30
ASSEMBLER 68K parte 2
ASSEMBLER 68K parte 2 CORSO DI CALCOLATORI ELETTRONICI I CdL Ingegneria Biomedica (A-I) DIS - Università degli Studi di Napoli Federico II Classi di istruzioni Un calcolatore deve avere istruzioni in grado
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
come tradurre da C a MIPS un modello per generare codice macchina
AXO Architettura dei Calcolatori e Sistemi Operativi come tradurre da C a MIPS un modello per generare codice macchina (tratto da Patterson & Hennessy 4a ed. italiana) catena di traduzione (breve riassunto)
PROGRAMMA DI SISTEMI TERZA AET 2014/2015
PROGRAMMA DI SISTEMI TERZA AET 2014/2015 Docente: Gamerra Giuseppe, Porta Giovanni Testo : manuali originali dello Z80, appunti in classe, dispense sulla intranet, simulatore OSHONSOFT A) Non sono state
Calcolatori Elettronici
Calcolatori Elettronici CPU a singolo ciclo assimiliano Giacomin Schema del processore (e memoria) Unità di controllo Condizioni SEGNALI DI CONTROLLO PC emoria indirizzo IR dato letto UNITA DI ELABORAZIONE
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
Hazard sul controllo. Sommario
Hazard sul controllo Prof. Alberto Borghese Dipartimento di Scienze dell Informazione [email protected] Università degli Studi di Milano Riferimento al Patterson: 4.7, 4.8 1/28 Sommario Riorganizzazione
Lezione 3 Assembly MIPS (2)
Lezione 3 Assembly MIPS (2) http://www.dii.unisi.it/~giorgi/didattica/calel All figures from Computer Organization and Design: The Hardware/Software Approach, Second Edition, by David Patterson and John
Introduzione. Laboratorio di Calcolo Corso di Laurea in Fisica. Università degli Studi di Roma La Sapienza
Introduzione Laboratorio di Calcolo Corso di Laurea in Fisica Università degli Studi di Roma La Sapienza WARNING Questo canale è solo per studenti di Fisica il cui cognome inizia con le lettere A-D Laboratorio
COS È UN LINGUAGGIO? LINGUAGGI DI ALTO LIVELLO LA NOZIONE DI LINGUAGGIO LINGUAGGIO & PROGRAMMA
LINGUAGGI DI ALTO LIVELLO Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware COS È UN LINGUAGGIO? Un linguaggio è un insieme di parole e di metodi di combinazione delle
