L assembler INTEL IA32. Luigi Palopoli

Save this PDF as:
 WORD  PNG  TXT  JPG

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "L assembler INTEL IA32. Luigi Palopoli"

Transcript

1 L assembler INTEL IA32 Luigi Palopoli

2 Istruzioni e operandi Contrariamente all assembler del MIPS nel caso dell IA32 ci possono essere due o tre operandi anche per le istruzioni logico aritme>ca Inoltre esistono istruzioni ad un operando ES: INC (INCREMENTA) Nella sintassi AT&T che useremo noi l operando des>nazione si scrive sempre in fondo (contrariamente a quanto abbiamo visto per il MIPS) Per alcune istruzioni si da per implicito che l operando e un par>colare registro (dejo accumulatore).

3 Intel Nell'assembler Intel (sintassi AT&T) si usa dis>nguere anche se l'istruzione opera su byte (b), su word a 16bit (w) o su word a 32 bit (l) e si usa % prima di ogni registro Es. movb %Ax, Dest (opera sul byte) movl %EAX, Dest (opera su word) Come accumulatore viene spesso usato EAX (32bit) E' possibile usarne solo 16bit specificando AX: AX a sua volta può essere par>zionato AL (8 bit meno significa>vi) AH (8 bit più significa>vi)

4 Esecuzione delle Istruzioni Gli elaboratori sono macchine sequenziali L esecuzione naturale delle istruzioni è una- dopo- l altra Un programma viene caricato nel processore una istruzione alla volta nell IR Il processore esegue l istruzione e poi carica la successiva a cui punta il PC La fase iniziale si chiama instruc>on fetch (o load, o caricamento) La seconda fase di chiama instruc>on execu>on (o esecuzione)

5 Inizio esecuzione Address Contents Intel i i + 4 i + 8 Movl Add Movl A,%EAX B,%EAX %EAX,C 3- instruc>on program segment In IA32 l esecuzione viene sempre assunta sequenziale A B Data for the program Come per il MIPS esiste la possibilita di fare salti condizionati e incondizionati C

6 Metodi di indirizzamento Una forte differenza con il MIPS e nella modalita di indirizzamento (come si specificano gli operandi di un istruzione) Per il MIPS abbiamo visto si opera solo tra registri, o si possono trasferire da> da/a memoria a/da un registro Inoltre alcune istruzioni si possono eseguire in modalita immediata (con alcuni operandi costan>) Per l intel abbiamo gli operandi possono essere Costan> (modalita immediata) Registri (modalita registro) Indirizzi Contrariamente al MIPS gli indirizzi di memoria possono essere specifica> in varie modalita diverse.

7 Indirizzamento in modo registro In assembler INTEL questo indirizzamento è presente Es. Movl %eax, %ebp Notare che in MIPS una cosa del genere si farebbe cosi : add $ebp, $eax, $zero I registri principali per uso generale sono: eax, ebx, ecx, edx, esi, edi, ebp Nel MIPS I registri sono mol> di piu.

8 Registri IA32

9 Registri IA32 EAX, EBX, ECX, EDX: general purpose EAX: accumulatore EBX: puntatore a memoria ECX: controllo cicli EDX: estende EAX per operazioni a 64bit ESI, EDI: puntatori a stringhe EBP: puntatore alla testa del frame di afvazione ESP: puntatore alla testa della pila EIP: instruc>on pointer CS,..., GS: selejori di segmento EAFLAGS: registro con i flag di stato

10 Indirizzamento immediato Per l'intel (sintassi AT&T), il valore della costante è in preceduto da un $ Es. Move $1, %EAX Add $2, %EAX

11 Indirizzamento in memoria Nell'architeJura intel tuje le modalità di indirizzamento sono casi par>colare di un modo generale: ind = base + (index*scale)+displacement dove base è uno dei registri eax, ebx, ecx, edx, esp, ebp, esi e edi index può essere uno dei precedenti (eccetto esp) scale può essere (1, 2, 4, o 8) displacement è un valore immediato a 8, 16 o 32 bit Per il MIPS abbiamo solo base e displacement Ad esempio movl 10(%ebx,%ecx,2), %eax porta in eax il contenuto di memoria in ebx+2*ecx+10

12 Esempi di indirizzamento

13 Salti e cicli Consideriamo il problema di sommare N numeri Richiede (ad esempio) l uso di un modo indirizzamento indirejo (>po puntatore), in cui un registro viene aggiornato ad ogni ciclo per contenere l indirizzo della locazione di memoria in cui si trova di volta in volta l operando

14 Intel Address LOOP Contents movl movl Addl Addl cmpl JNE Move 0,%ecx $0, %eax a(,%edx,4),%eax $1,%edx %edx, $N LOOP %eax,sum Ini>aliza>on

15 Uso dell indirizzamento indiretto e indicizzato L indirizzamento indicizzato è fondamentale nella ges>one delle strujure da> complesse Immaginiamo di voler ges>re i vo> di tuf gli studen> di un corso, che effejuano 3 test, ad esempio per calcolare la media (o semplicemente la somma complessiva) dei vo> assegna> durante i test

16 Esempio N LIST LIST + 4 LIST + 8 LIST + 12 LIST + 16 n Student ID Test 1 Test 2 Test 3 Student ID Test 1 Test 2 Test 3 Student 1 Student 2

17 Formato assembler Per operare correjamente bisogna definire un formato univoco del linguaggio assembler e>cheje (label), possono avere un nome logico oltre al valore numerico istruzione (opera>on instruc>on) operandi (operands) commen> (comments) label i-code op1,op2,op3 bla,bla,bla,...

18 Somma di 2 numeri... Sintassi gcc per Intel.pippo: movl $27,%eax /*loads the number 27 in the accumulator*/ addl A,%eax /*adds the content of memory location A in the accumulator*/ movl %eax,b /*store the result into B*/

19 Qualche altra istruzione assembler... Istruzioni logiche sui singoli bit di una parola not and or cmp dst dst1,dst2 dst1,dst2 dst1,dst2 bitwise complement dst, that may be a register or a memory location (mloc) bitwise ANDs the content of dst1/2, that may be registers, mlocs or constants bitwise ORs the content of dst1/2, that may be registers, mlocs or constants compares the content of dst1/2, that may be registers, mlocs or constants, returns 0 if dst1=dst2

20 Qualche altra istruzione assembler... Istruzioni algebriche neg mul dst dst1,dst2, trasforma dst in dst calcola la moltiplicazione tra dst1/2 supposti numeri interi, e memorizza il risultato in dst2, il cui contenuto viene distrutto; resta il problema che il risultato può andare in overflow, problema peraltro comune anche ad Add Nell architettura INTEL esistono anche una seri di istruzioni per gestire direttamente il floating point

21 Intel Istruzioni di Shio logiche shll shrl $N,%dst $N,%dst sposta il contenuto del registro dst a sinistra di N passi, N può usare un sistema di indirizzamento qualsiasi; i bit che escono dal registro sono persi, le posizioni a destra sono rimpiazzate da 0 (operandi a 32bit) sposta il contenuto del registro Ri a destra di N passi, N può usare un sistema di indirizzamento qualsiasi; i bit che escono dal registro sono persi, le posizioni a sinistra sono rimpiazzate da 0 (operandi a 32bit)

22 Intel Istruzioni di Shio aritme>che (mol>plicazione/ divisione per due) sall $N,%dest sposta il contenuto del registro dest a sinistra di N passi, N può usare un sistema di indirizzamento qualsiasi; i bit che escono dal registro sono persi, le posizioni a destra sono rimpiazzate da 0 (identica a LShfL) sarl $N,%dest sposta il contenuto del registrodest a destra di N passi, N può usare un sistema di indirizzamento qualsiasi; i bit che escono dal registro sono persi, le posizioni a sinistra sono rimpiazzate da bit uguali al bit di segno

23 shll C R0 0 before: aoer: (a) Logical/Aritmetical shift left LShiftL #2,R0

24 shrl 0 R0 C before: aoer: (b) Logical shift right LShiftR #2,R0

25 sarl R0 C before: aoer: (c) Arithmetic shift right AShiftR #2,R0

26 Intel Istruzioni di rotazione roll rcll ror rcr $N,%dst $N,%dst $N,%dst $N,%dst sposta ciclicamente il contenuto del registro dst a sinistra di N passi, N può usare un sistema di indirizzamento qualsiasi; come RotL, ma include il bit di carry come RotL, ma verso destra come RotR, ma include il bit di carry

27 roll C R0 before: aoer: (a) Rotate left without carry RotateL #2,R0

28 rcll C R0 before: aoer: (b) Rotate left with carry RotateLC #2,R0

29 ror R0 C before: aoer: (c) Rotate right without carry RotateR #2,R0

30 Qualche altra istruzione assembler... Istruzioni di fine ret: comunica al sistema operativo (o a un altro programma, o al programma principale se stiamo considerando una subroutine) che il programma ha terminato l esecuzione

31 Esecuzione dei programmi l Assembler NON è il linguaggio macchina Assemblatore: traduce l assembler in linguaggio macchina, risolvendo eventuali conflif (es. sal> in avan>) simile a un compilatore Loader: carica un programma in memoria (ad esempio dal disco rigido) al momento dell esecuzione, risolvendo gli indirizzi rela>vi e controllando che ci siano tuf i pezzi necessari all esecuzione correja

32 Funzioni fondamentali di I/O Qualsiasi elaboratore deve poter comunicare con l esterno... almeno tramite una tas>era e un video/stampante Bus Processor DATAIN DATAOUT SIN Keyboard SOUT Display tastiera video e processore sono collegati al bus

33 Funzioni fondamentali di I/O è uso che il processore veda i registri periferici di interfaccia di tas>era e video come delle normali posizioni di memoria (memory mapped I/ O) DATAIN registro di ingresso DATAOUT registro di uscita I/O sono molto più len> del processore Quando sono disponibili i da> su DATAIN? Quando sono sta> lef i da> da DATAOUT?

34 INTEL Il processore deve poter aspejare che l I/O sia abilitato, quindi deve avere un loop per leggere il registro solo al momento opportuno READW test $3, SIN controlla lo stato dell ingresso jnc READW continua il loop se il dato non è disponibile movb Din,%al legge il dato WRITEW test $3, SOUT controlla lo stato dell uscita jnc WRITEW continua il loop se il display non può ricevere il dato movb %al, Dout scrive il dato

35 Un programma per fare l eco di caratteri... fino a CR(IA32)!.BEGIN lea loc,%ebp /*Carica l'indirizzo loc in ebp*/.read testb jnc movb movb inc $3, SIN READ DATAIN,AL AL,(%ebp) %ebp /*controlla lo stato dell ingresso*/ /memorizza il dato */.ECHO testb $3, SOUT controlla lo stato dell uscita jnc ECHO continua il loop se il display non può ricevere il dato movb %al, DATAOUT scrive il dato, facendo l eco e resetta SOUT cmpb $32, al punta alla nuova locazione di memoria jne READ passa a leggere un altro carattere

36 Subroutines e gestione della memoria I programmi sono (auspicabilmente!!) compos> di tante subrou>ne Il programma principale invoca una subrou>ne, che ne invoca un altra, che ne invoca una successiva... Come evolve il program counter? Come viene mantenuto lo stato del programma nel passaggio da una subrou>ne ad un altra?

37 Subroutines e gestione della memoria Come si ges>sce la memoria del processore per evitare conflif tra subrou>nes? Come si possono passare parametri e risulta> tra subrou>nes diverse? In par>colare come si passano tra una subrou>ne chiamante ed una chiamata?

38 Tecniche di gestione della memoria Coda spazio di memoria in cui gli elemen> che entrano per primi saranno anche i primi a uscire (FIFO First In First Out) Realizzabile in memoria tramite un buffer circolare ges>to da puntatori dinamici Stack spazio di memoria in cui gli elemen> che entrano per primi gli ulkmi a uscire (LIFO Last In First Out) Realizzabile in memoria tramite un buffer circolare ges>to con un puntatore sta>co e uno dinamico

39 Stack Come la pila dei giornali in salojo... Un puntatore (fisso) segna il fondo della coda Un puntatore (mobile) segna l ul>mo elemento entrato nello stack e anche il primo ad uscirne La ges>one di uno stack in memoria si può fare semplicemente con una locazione di memoria (in genere un registro specializzato) che svolge il ruolo di puntatore e delle operazioni di move per scrivere e leggere gli elemen> è u>le effejuare dei controlli per evitare di leggere elemen> da uno stack vuoto o di riempire lo stack all infinito

40 Stack ScriJura 0 Stack Pointer register SP Stack BOTTOM Current top element BoQom element add $- 4,%SP mov ITEM,(%SP) LeJura mov (%SP),ITEM Add $4,SP

41 Push e Pop Le operazioni di lejura e scrijura in uno stack in genere si chiamano PUSH ITEM per la scrijura e POP ITEM per la lejura Le operazioni di push e pop sono normalmente realizzate con subrou>nes che controllano lo stato dello stack stesso

42 Push e Pop PUSH Cmp CIMA,%SP controlla che SP non sia già posizionato alla cima della memoria ammessa per lo stack JE FULLERROR se è gia pieno salta a una routine di errore Add $-4,%SP Move ITEM,(%SP) Routine di PUSH con controllo dello riempimento POP CMP FONDO,%SP controlla che SP non sia già posizionato alla fondo della memoria riservata allo stack JE EMPTYRROR se è gia pieno salta a una routine di errore Add $4,%SP Move (%SP),ITEM Routine di POP con controllo dello riempimento

43 Subroutines e Stack Lo stack è la strujura usata abitualmente per il passaggio dei parametri e del controllo tra subrou>nes Consente in modo naturale la ricorsione e l annidamento di subrou>nes senza nessun vincolo a priori sul livello di annidamento Noi daremo per scontato che esistono le rou>nes pop e push (con un solo parametro) e usiamo quelle per ges>re lo stack, ovviamente invocando POP e PUSH... usiamo lo stack!!

44 Salvataggio del PC Passando il controllo del programma ad una subrou>ne bisogna salvare il Program Counter per sapere da dove riprendere l esecuzione Memory locakon Calling program Memory locakon SubrouKne SUB 200 Call SUB 1000 first instruckon 204 next instruckon Return

45 Salvataggio del PC L istruzione Call salva il PC nello stack del processore e poi esegue un branch incondizionato all istruzione di inizio della subrou>ne Bisogna sempre ricordare che una subrou>ne in assembler non è nient alto che una sequenza di istruzioni in un area di memoria PUSH JMP %PC PIPPO salva il program counter salta alla prima istruzione della subroutine istruzioni equivalenti alla Call di una subroutine

46 Subroutines e parametri Nei linguaggi di alto livello i parametri si passano... tra parentesi call subr(par1,par2,par3) In assembler invocare una subrou>ne vuol dire solamente effejuare un salto incondizionato a una locazione di memoria Call SUBR JMP SUBR I parametri che userà la subrou>ne devono già essere in una opportuna area di memoria... in cima allo stack I parametri res>tui> dalla subrou>ne saranno anche loro passa> ajraverso lo stack

47 Subroutines e parametri Invocando una subrou>ne in un linguaggio di alto livello es: is_date(day,month,year) Si ofene una sequenza di istruzioni in assembler del >po Push PAR3 Push PAR2 Push PAR1 Call ISDATE Dove PAR1, PAR2 e PAR3 sono le locazioni di memoria in cui sono state memorizzate le variabili day, month e year

48 Passaggio dei parametri SP Return address (PC) PAR1 PAR2 PAR3 I parametri vengono scrif nello stack (ad esempio in ordine inverso) Per ul>mo viene salvato il PC in modo da sapere l indirizzo dove si dovrà ritornare in uscita dalla subrou>ne I parametri possono anche essere variabili in uscita, che userà il programma chiamante

49 Salvataggio dei registri SP [ESI] [EDI] [EDX] Return address (PC) PAR1 PAR2 PAR3 Se una subrou>ne deve usare del registri (diciamo ESI, EDI ed EDX) deve garan>re di non distruggere il loro contenuto, per poterlo ripris>nare in uscita Li memorizza in cima allo stack

50 Variabili locali e Frame Pointer (FP) In mol> linguaggi le subrou>nes possono avere variabili locali che non sono viste dal resto del programma e la cui memoria viene rilasciata all uscita dalla subrou>ne Il luogo naturale di memorizzazione è nuovamente lo stack dove la memoria può essere assegnata all ingresso in una subrou>ne e rilasciata in uscita Per mantenere chiaramente separate le variabili globali salvate nello stack e quelle locali si usa un ulteriore puntatore chiamato Frame Pointer

51 Variabili locali e Frame Pointer (FP) SP FP saved [R1] saved [R0] localvar3 localvar2 localvar1 saved [FP] Return address param1 param2 param3 param4 Stack frame for called subroukne Old TOS (top- of- stack) FP separa la parte di memoria dedicata al passaggio dei parametri dalla memoria locale I registri R1 ed R0 sono salva> perchè assumiamo che la subrou>ne li userà FP non varia durante l esecuzione della subrou>ne

52 Tipico Struttura di una funzione IA32 /* Prologo */ ESP EBP saved register saved register localvar3 localvar2 localvar1 saved [EBP] Return address param1 param2 Stack frame for called subroukne pushl %ebp /*salva ebp */ mov %esp, %ebp /*Memorizza inizio Frame afvazione */ sub $.., %esp /* alloca spazio per variabili locali*/ pushl %esi... /* salva registri.. se occorre */ /* Corpo funzione */... /* epilogo */ popl %esi... /* Ripris>na registri se salva> */ addl $.., %esp /* dealloca variabili locali */ movl %ebp, %esp /* Ripris>na ebp, esp */ popl %ebp /* Queste due istruz. equivalgono a leave*/ ret param3 param4 Old TOS (top- of- stack)

53 IA32 gcc convenzioni di chiamata U>lizzando gcc, per rendere una funzione assembler invocabile dal C, occorre rispejare le seguen> convenzioni: I parametri vengono immessi sullo stack dal chiamante a par>re dall'ul>mo verso il primo. as. es., all'interno della funzione troviamo in (%esp) l'indirizzo di ritorno, 4(%esp) il primo parametro, 8(%esp) il secondo (assumendo che il primo sia a 32 bit) ecc. I registri esp, ebp, esi, edi, ebx devono essere preserva> se si usano bisogna prima salvarli sullo stack e poi ripris>narli i parametri di ritorno, se interi o puntatori, vengono res>tui> in eax

54 Esempio su IA32 Si scriva una funzione Assembly che riceve come parametri un vejore di numeri interi a 8 bit con segno il numero di elemen> del vejore, e res>tuisce la somma a 32- bit di tuf gli elemen> posi>vi.

55 Soluzione... Prologo /* Prologo */ pushl %ebp /*salva ebp */ mov %esp, %ebp /*Memorizza inizio Frame acvazione */ pushl %esi /* salva registri, non ho variabili locali */

56 Soluzione... Corpo funzione movl 8(%ebp), %esi movl 12(%ebp), %ecx xorl %eax, %eax /* azzero eax */ xorl %edx, %edx /* azzero eax */ jecxz.end /*Se ecx 0 finito */.L0: movb (%esi), %dl testb %dl, %dl /*Come la and ma non salva il risultato e seqa solo i flag */ js.l1 /* se il numero è negakvo non lo considero */ addl %edx, %eax.l1: incl %esi loop.l0 /* Decrementa ecx e salta se diverso da 0 */

57 Soluzione... Epilogo.END: popl %esi /* RiprisKna registri leave ret se salvak */

Cenni ad Assembly Intel

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

Dettagli

Tutta la famiglia dei processori Intel (x86) si basa ed e' compatibile con il primo processore di questo tipo: l'8086.

Tutta la famiglia dei processori Intel (x86) si basa ed e' compatibile con il primo processore di questo tipo: l'8086. I processori Intel Tutta la famiglia dei processori Intel (x86) si basa ed e' compatibile con il primo processore di questo tipo: l'8086. L'8086 e' un processore a 16 bit quindi i suoi registri potranno

Dettagli

Istruzioni di modifica della sequenza di elaborazione

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

Dettagli

Processore PC. Spazio di indirizzamento. la ALU (Arithmetic and Logic Unit) la FPU (Floating Point Unit)

Processore PC. Spazio di indirizzamento. la ALU (Arithmetic and Logic Unit) la FPU (Floating Point Unit) Processore PC Faremo riferimento al cosiddetto processore PC, che rappresenta una schematizzazione dei processori a 32 bit presenti nei Personal Computer. Il processore è costituito da due unità fondamentali:

Dettagli

Architettura degli Elaboratori

Architettura degli Elaboratori Architettura degli Elaboratori Corso di Laurea Triennale in Informatica Università degli Studi di Bari Anno Accademico 2009-2010 Laboratorio lez1: il processore 8086/88 Prof. S.Pizzutilo I processori Intel

Dettagli

Architettura del Set di Istruzioni (ISA)

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

Dettagli

Esempio di moltiplicazione come somma e spostamento

Esempio di moltiplicazione come somma e spostamento Esempio di moltiplicazione come somma e spostamento Implementare una moltiplicazione coinvolge algoritmi di shift e somma Istruzioni di Shift:movimento di bit: ROL Rd ROR Rd LSL Rd LSR ASR Rd Rd 22 x 35

Dettagli

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 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

Dettagli

Sommario Introduzione al linguaggio Assembly. Calcolatori Elettronici Prof. Gian Luca Marcialis. Le operazioni fondamentali

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

Dettagli

Programmazione dello Z80

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

Dettagli

PROGRAMMAZIONE MISTA. G. Frosini Programmazione mista Slide 1

PROGRAMMAZIONE MISTA. G. Frosini Programmazione mista Slide 1 PROGRAMMAZIONE MISTA G. Frosini Programmazione mista Slide 1 Caratteristiche del processore PC Processore PC (Processore Completo): processore didattico; schematizzazione (software compatibile) dei processori

Dettagli

STACK, istruzioni PUSH e POP; PROCEDURE, istruzioni CALL e RET

STACK, istruzioni PUSH e POP; PROCEDURE, istruzioni CALL e RET Lo stack STACK, istruzioni PUSH e POP; PROCEDURE, istruzioni CALL e RET Lo stack (tradotto talvolta in italiano con pila o catasta) è un'area di memoria privilegiata, dove il microprocessore può salvare

Dettagli

Calcolatori Elettronici Parte VII: il Livello delle Istruzioni Macchina

Calcolatori Elettronici Parte VII: il Livello delle Istruzioni Macchina Anno Accademico 2013/2014 Calcolatori Elettronici Parte VII: il Livello delle Istruzioni Macchina Prof. Riccardo Torlone Universita Roma Tre Instruction Set Architecture Il livello ISA è l interfaccia

Dettagli

Hardware di un Computer

Hardware di un Computer Hardware di un Computer Monitor Mouse Tastiera Printer Disk CPU Graphics Adapter USB Controller Parallel Port Disk Controller BUS Memoria RAM Memoria ROM (BIOS) DMA CPU esegue istruzioni, effettua calcoli,

Dettagli

Architettura degli elaboratori (A)

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

Dettagli

Il processore. Il processore. Il processore. Il processore. Architettura dell elaboratore

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

Dettagli

Il livello architettura e set di istruzioni

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

Dettagli

Linguaggio macchina e linguaggio assembler

Linguaggio macchina e linguaggio assembler FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Linguaggio macchina e linguaggio assembler 2000 Pier Luca Montessoro (si veda la nota di copyright

Dettagli

Ing. Paolo Domenici PREFAZIONE

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

Dettagli

La microarchitettura. Didattica della strumentazione digitale e sistemi a microprocessore anno accademico 2006 2007 pagina 1

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.

Dettagli

CAP. 4: Aspetti generali del Sistema Operativo Linux. l http://home.dei.polimi.it/silvano/acso.htm

CAP. 4: Aspetti generali del Sistema Operativo Linux. l http://home.dei.polimi.it/silvano/acso.htm Struttura interna del sistema Operativo Linux CAP. 4: Aspetti generali del Sistema Operativo Linux CAP. 5: Funzionalità del calcolatore l http://home.dei.polimi.it/silvano/acso.htm Funzionalità del Sistema

Dettagli

L architettura di riferimento

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

Dettagli

ARCHITETTURA DEI CALCOLATORI VOLUME I

ARCHITETTURA DEI CALCOLATORI VOLUME I Graziano Frosini ARCHITETTURA DEI CALCOLATORI VOLUME I ASSEMBLER E CORRISPONDENZA FRA C++ E ASSEMBLER CON RIFERIMENTO AL PERSONAL COMPUTER E ALL AMBIENTE DI PROGRAMMAZIONE DJGPP Copyright MMIX ARACNE editrice

Dettagli

Lezione n.9. Introduzione al linguaggio macchina

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

Dettagli

Lezione 16: L architettura LC-3

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

Dettagli

L unità di controllo. Il processore: unità di controllo. Le macchine a stati finiti. Struttura della macchina a stati finiti

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

Dettagli

Quinto Homework. Indicare il tempo necessario all'esecuzione del programma in caso di avvio e ritiro fuori ordine.

Quinto Homework. Indicare il tempo necessario all'esecuzione del programma in caso di avvio e ritiro fuori ordine. Quinto Homework 1) Si vuole progettare una cache a mappatura diretta per un sistema a 32 bit per una memoria da 2 GB (quindi sono solo 31 i bit utili per gli indirizzi) e blocchi di 64 byte. Rispondere

Dettagli

Famiglia dei processori INTEL

Famiglia dei processori INTEL Famiglia dei processori INTEL 1975 2002 8080-8086 - 80286-80386 - 80486 - Pentium - Pentium II-III-IV - Itanium Compatibilità del SW (assemby) 8086 80286 80386 80486 Pentium Pentium III Perché studiare

Dettagli

.: CALCOLATORI 7 MAGGIO 2015

.: CALCOLATORI 7 MAGGIO 2015 .: CALCOLATORI 7 MAGGIO 2015 .: AGENDA.: MIPS, X86, ARM.: CARATTERISTICHE DI ARM ( CONFRONTO A MIPS ).: ESEMPIO COPIA_STRINGA SU ARCHITETTURA ARM.: ESEMPIO FATTORIALE SU MIPS, ARM ADVANCED RISC MACHINE.:

Dettagli

ARCHITETTURA DI UN SISTEMA A MICROPROCESSORE

ARCHITETTURA DI UN SISTEMA A MICROPROCESSORE ARCHITETTURA DI UN SISTEMA A MICROPROCESSORE 1. INTRODUZIONE In questo capitolo viene presentata la struttura, sia interna che esterna, di un microprocessore generico riprendendo i concetti esposti nella

Dettagli

Architettura di tipo registro-registro (load/store)

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

Dettagli

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 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

Dettagli

Esegue la sommatral'accumulatoreac e Se I=1, ilcontenutodellacelladi memoriailcui indirizzoè

Esegue la sommatral'accumulatoreac e Se I=1, ilcontenutodellacelladi memoriailcui indirizzoè Parte II AND 104 I, micro-operazioni c 0 t 0 : MAR PC c 0 t 1 : MBR M, PC PC+1 c 0 t 2 : OPR MBR(OP), I MBR(I) q 7 Ic 0 t 3 : R 1 Ciclo di fetch (q 7 +I )c 0 t 3 : F 1 c 1 t 0 : MAR MBR(AD); / 104 da Hex

Dettagli

Introduzione. Corso di Informatica Applicata. Università degli studi di Cassino

Introduzione. Corso di Informatica Applicata. Università degli studi di Cassino Università degli studi di Cassino Corso di Laurea in Ingegneria della Produzione Industriale Corso di Informatica Applicata Introduzione Ing. Saverio De Vito e-mail: saverio.devito@portici.enea.it Tel.:

Dettagli

PD32. Interfacciamento con i dispositivi di I/O (V)

PD32. Interfacciamento con i dispositivi di I/O (V) PD32 Interfacciamento con i dispositivi di I/O (V) Interazione CPU - dispositivi Soluzioni possibili Busy Waiting Utilizzabile quando CPU esegue solo il task di dialogo con la periferica Interruzioni D.M.A.

Dettagli

PD32. Esercitazione sull interfacciamento con un dispositivo di IO

PD32. Esercitazione sull interfacciamento con un dispositivo di IO PD32 Esercitazione sull interfacciamento con un dispositivo di IO Domanda #5 14/09/2000 Si dispone di un PD32 per effettuare il collaudo di un circuito integrato combinatorio con 5 ingressi e una uscita,

Dettagli

ARCHITETTURA DEI MICROPROCESSORI INTEL 8086/8088

ARCHITETTURA DEI MICROPROCESSORI INTEL 8086/8088 ARCHITETTURA DEI MICROPROCESSORI INTEL 8086/8088 microprocessori Intel di terza generazione progetto originario del 1979, ancora oggi interessanti per: 1. motivi didattici: l architettura dei processori

Dettagli

Von Neumann. John Von Neumann (1903-1957)

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

Dettagli

SET/CLEAR LOAD DATA FROM STRING

SET/CLEAR LOAD DATA FROM STRING SET/CLEAR STD CLD AZIONE: Imposta ad 1 (STD) o a zero (CLD) il valore del flag DF. Sono istruzioni senza parametri. Vanno sempre messi!! FLAG di cui viene modificato il contenuto: Nessuno (a parte DF).

Dettagli

Calcolatori Elettronici Parte X: l'assemblatore as88

Calcolatori Elettronici Parte X: l'assemblatore as88 Anno Accademico 2013/2014 Calcolatori Elettronici Parte X: l'assemblatore as88 Prof. Riccardo Torlone Università Roma Tre L'assemblatore as88 Disponibile presso: CD-ROM allegato al libro di testo del corso

Dettagli

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 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

Dettagli

Calcolatori Elettronici

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:

Dettagli

AMBIENTE DI SIMULAZIONE ASIM

AMBIENTE DI SIMULAZIONE ASIM LABORATORIO DI ARCHITETTURA DEI CALCOLATORI lezione n 10 Prof. Rosario Cerbone rosario.cerbone@uniparthenope.it http://digilander.libero.it/rosario.cerbone a.a. 2008-2009 AMBIENTE DI SIMULAZIONE ASIM Digitazione

Dettagli

COMPITINO #1 di CALCOLATORI ELETTRONICI 1 del 03-11-09 COGNOME NOME

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

Dettagli

Il microprocessore 8086

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

Dettagli

Corso di Sicurezza Informatica

Corso di Sicurezza Informatica Corso di Sicurezza Informatica Sicurezza del Software Ing. Giuseppe D Aquì Sicurezza nell informatica Un computer sicuro è un computer spento (Kevin Mitnick) Attacchi informatici Gli attacchi informatici,

Dettagli

ARCHITETTURA DELLE CPU come ARCHITETTURA DEL SET DI ISTRUZIONI

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

Dettagli

Introduzione. Indice. Linguaggio macchina. Linguaggio assembler

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

Dettagli

Esercizi. Assembly. Alessandro A. Nacci alessandro.nacci@polimi.it ACSO 2014/2014

Esercizi. Assembly. Alessandro A. Nacci alessandro.nacci@polimi.it ACSO 2014/2014 Esercizi Assembly Alessandro A. Nacci alessandro.nacci@polimi.it ACSO 2014/2014 1 RIPASSO Architettura dei registri del 68K Di (0 i 7): registri di dato a 8, 16, 32 bit Ai (0 i 7): resgistri di a 16, 32

Dettagli

CPU. Maurizio Palesi

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

Dettagli

E una notazione per descrivere gli algoritmi.

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

Dettagli

JPD132. Microprocessore e assembly

JPD132. Microprocessore e assembly JPD132 Microprocessore e assembly Il processore JPD132 Il JPD132 è un ipotetico processore che estende le possibilità del PD32 principalmente con un linguaggio assembly comprendente nuovi metodi di indirizzamento,

Dettagli

Architettura di un Elaboratore

Architettura di un Elaboratore Architettura di un Elaboratore Fabio Massimo Zanzotto Ricapitoliamo puntate precedenti Cosa abbiamo a disposizione: Concetto di algoritmo (con eventuale parametrizzazione) Rappresentazione dell informazione

Dettagli

L Assembler 8086. Istruzioni Aritmetiche. M. Rebaudengo - M. Sonza Reorda. Politecnico di Torino Dip. di Automatica e Informatica

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

Dettagli

Architettura di una CPU

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

Dettagli

Architetture dei Calcolatori (Lettere. Installazione di SPIM. Interfaccia Grafica

Architetture dei Calcolatori (Lettere. Installazione di SPIM. Interfaccia Grafica SPIM Architetture dei Calcolatori (Lettere A-I) SPIM Ing.. Francesco Lo Presti Simulatore che esegue programmi assembler per architetture RISC MIPS R2000/R3000 Legge programmi in assembler MIPS e li traduce

Dettagli

Linguaggio Assembly. Architettura di riferimento Formato istruzioni Classi di istruzioni Modalità di indirizzamento Direttive Codice macchina

Linguaggio Assembly. Architettura di riferimento Formato istruzioni Classi di istruzioni Modalità di indirizzamento Direttive Codice macchina Linguaggio Assembly Architettura di riferimento Formato istruzioni Classi di istruzioni Modalità di indirizzamento Direttive Codice macchina Modello di architettura di riferimento Nel seguito faremo riferimento

Dettagli

Architettura del calcolatore

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

Dettagli

Calcolo numerico e programmazione Architettura dei calcolatori

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:

Dettagli

I.T.I. A. RIGHI e VIII Napoli Specializzazione Informatica Tradizionale Corso D Materia: Sistemi. Elementi di Assembly 8086

I.T.I. A. RIGHI e VIII Napoli Specializzazione Informatica Tradizionale Corso D Materia: Sistemi. Elementi di Assembly 8086 I.T.I. A. RIGHI e VIII Napoli Specializzazione Informatica Tradizionale Corso D Materia: Sistemi Elementi di Assembly 8086 1 Assembly 8086 I registri Per poter elaborare le informazioni ricevute dall esterno,

Dettagli

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 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

Dettagli

L ambiente di simulazione SPIM

L ambiente di simulazione SPIM Architettura degli Elaboratori e delle Reti Lezione 14 L ambiente di simulazione SPIM Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 14 1/28

Dettagli

Introduzione ai linguaggi di programmazione

Introduzione ai linguaggi di programmazione Università degli Studi di Milano Laurea Specialistica in Genomica Funzionale e Bioinformatica Corso di Linguaggi di Programmazione per la Bioinformatica Introduzione ai linguaggi di programmazione Giorgio

Dettagli

Elementi di Informatica e Programmazione. # Memoria di massa. Problema: comprare un PC. Architettura del calcolatore. Architettura di Von Neumann

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:

Dettagli

INFORMATICA 1 L. Mezzalira

INFORMATICA 1 L. Mezzalira INFORMATICA 1 L. Mezzalira Possibili domande 1 --- Caratteristiche delle macchine tipiche dell informatica Componenti hardware del modello funzionale di sistema informatico Componenti software del modello

Dettagli

ASM: catena di compilazione

ASM: catena di compilazione ASM: catena di compilazione Lorenzo Dematté October 2, 2011 1 La nostra Macchina Virtuale Una macchina virtuale o modello di programmazione è l ambiente nel quale i programmi girano. Di solito si parla

Dettagli

Parte II.2 Elaboratore

Parte II.2 Elaboratore Parte II.2 Elaboratore Elisabetta Ronchieri Università di Ferrara Dipartimento di Economia e Management Insegnamento di Informatica Dicembre 1, 2015 Elisabetta Elisabetta Ronchieri II Software Argomenti

Dettagli

Architettura hardware

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

Dettagli

Linguaggio macchina. 73.1 Organizzazione della memoria. 73.1.1 Pila per salvare i dati. 73.1 Organizzazione della memoria... 37

Linguaggio macchina. 73.1 Organizzazione della memoria. 73.1.1 Pila per salvare i dati. 73.1 Organizzazione della memoria... 37 37 Linguaggio macchina Capitolo 73 73.1 Organizzazione della memoria.............................................. 37 73.1.1 Pila per salvare i dati............................................... 37 73.1.2

Dettagli

Capitolo 3 Operazioni di ingresso e uscita

Capitolo 3 Operazioni di ingresso e uscita Capitolo 3 Operazioni di ingresso e uscita 3.1. Per assicurare che i dati siano letti solo una volta. 3.2. Assumendo i registri dell interfaccia dello schermo in Figura 3.3, si può usare il seguente programma:

Dettagli

Architettura (10/9/2003) Pag. 1/6. Cognome e Nome (in stampatello):

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

Dettagli

Università degli Studi G. d'annunzio C.L. Economia e Informatica per l'impresa. Sistemi Operativi e Reti A.A. 2014/2015 prof.

Università degli Studi G. d'annunzio C.L. Economia e Informatica per l'impresa. Sistemi Operativi e Reti A.A. 2014/2015 prof. Università degli Studi G. d'annunzio C.L. Economia e Informatica per l'impresa Sistemi Operativi e Reti A.A. 2014/2015 prof. Gianluca Amato Architettura degli elaboratori Architettura Hardware Architettura

Dettagli

PROGRAMMA DI SISTEMI TERZA AET 2014/2015

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

Dettagli

Il Processore: i registri

Il Processore: i registri Il Processore: i registri Il processore contiene al suo interno un certo numero di registri (unità di memoria estremamente veloci) Le dimensioni di un registro sono di pochi byte (4, 8) I registri contengono

Dettagli

CALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.7. Il moltiplicatore binario e il ciclo di base di una CPU

CALCOLATORI ELETTRONICI A cura di Luca Orrù. Lezione n.7. Il moltiplicatore binario e il ciclo di base di una CPU Lezione n.7 Il moltiplicatore binario e il ciclo di base di una CPU 1 SOMMARIO Architettura del moltiplicatore Architettura di base di una CPU Ciclo principale di base di una CPU Riprendiamo l analisi

Dettagli

Introduzione. Le istruzioni del livello della macchina standard (livello 2) si possono dividere, con buona approssimazione, in due gruppi:

Introduzione. Le istruzioni del livello della macchina standard (livello 2) si possono dividere, con buona approssimazione, in due gruppi: Appunti di Informatica Appendice 3 Istruzioni e flusso di controllo TIPI DI ISTRUZIONI. 1 Introduzione.. 1 Istruzioni per il movimento dei dati. 2 Istruzioni per operazioni diadiche... 2 Istruzioni per

Dettagli

che vengano generati nell ordine corretto i sistema (es., la memoria, l unità aritmetico-

che vengano generati nell ordine corretto i sistema (es., la memoria, l unità aritmetico- Principi di architetture dei calcolatori: l unità di controllo Mariagiovanna Sami L unità di controllo Per eseguire le istruzioni di macchina, occorre che vengano generati nell ordine corretto i segnali

Dettagli

ASSEMBLER 68K parte 1

ASSEMBLER 68K parte 1 ASSEMBLER 68K parte 1 CORSO DI CALCOLATORI ELETTRONICI I CdL Ingegneria Biomedica (A-I) DIS - Università degli Studi di Napoli Federico II Supporti didattici Fadini Savy, Fond. Inf. 2 parte. III, cap.

Dettagli

La macchina programmata Instruction Set Architecture (1)

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

Dettagli

Il simulatore SPIM SPIM

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

Dettagli

Sistemi Operativi (modulo di Informatica II) Sottosistema di I/O

Sistemi Operativi (modulo di Informatica II) Sottosistema di I/O Sistemi Operativi (modulo di Informatica II) Sottosistema di I/O Patrizia Scandurra Università degli Studi di Bergamo a.a. 2009-10 Sommario L hardware di I/O Struttura Interazione tra computer e controllori

Dettagli

Il calcolatore elettronico. Parte dei lucidi sono stati gentilmente forniti dal Prof. Beraldi

Il calcolatore elettronico. Parte dei lucidi sono stati gentilmente forniti dal Prof. Beraldi Il calcolatore elettronico Parte dei lucidi sono stati gentilmente forniti dal Prof. Beraldi Introduzione Un calcolatore elettronico è un sistema elettronico digitale programmabile Sistema: composto da

Dettagli

CALCOLATORI ELETTRONICI

CALCOLATORI ELETTRONICI CALCOLATORI ELETTRONICI Giuseppe Coldani Tel. 0382 985678 e-mail: giuseppe.coldani@unipv.it giuseppe.coldani@tin.it orario delle lezioni: Mercoledì 14.00-18.00 orario di ricevimento: su appuntamento 1

Dettagli

Lezione n.19 Processori RISC e CISC

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

Dettagli

Linguaggio Assembler MIPS

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

Dettagli

MIPS Instruction Set 2

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

Dettagli

Corso di Sistemi di Elaborazione delle informazioni

Corso di Sistemi di Elaborazione delle informazioni Corso di Sistemi di Elaborazione delle informazioni LEZIONE 2 (HARDWARE) a.a. 2011/2012 Francesco Fontanella Tre concetti Fondamentali Algoritmo; Automa (o anche macchina); Calcolo; 2 Calcolatore MACCHINA

Dettagli

CALCOLATORI ELETTRONICI II

CALCOLATORI ELETTRONICI II CALCOLATORI ELETTRONICI II ARCHITETTURA DEL PROCESSORE 886 PARTE (II) Argomenti della lezione Architettura del processore 886 parte (II) Stack Stack I/O Lo stack Lo stack L'886 prevede alcune strutture

Dettagli

I tipi di dato astratti

I tipi di dato astratti I tipi di dato astratti.0 I tipi di dato astratti c Diego Calvanese Fondamenti di Informatica Corso di Laurea in Ingegneria Elettronica A.A. 001/00.0 0 I tipi di dato astratti La nozione di tipo di dato

Dettagli

ASSEMBLER 68K parte 2

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

Dettagli

Laboratorio di Informatica Corso di Laurea in Matematica A.A. 2007/2008

Laboratorio di Informatica Corso di Laurea in Matematica A.A. 2007/2008 Laboratorio di Informatica Corso di Laurea in Matematica A.A. 2007/2008 Dott.Davide Di Ruscio Dipartimento di Informatica Università degli Studi di L Aquila Lezione del 11/01/08 Nota Questi lucidi sono

Dettagli

Informatica di Base - 6 c.f.u.

Informatica di Base - 6 c.f.u. Università degli Studi di Palermo Dipartimento di Ingegneria Informatica Informatica di Base - 6 c.f.u. Anno Accademico 2007/2008 Docente: ing. Salvatore Sorce Architettura dei calcolatori I parte Introduzione,

Dettagli

Assembler Intel 80x86: Struttura di un programma e Direttive

Assembler Intel 80x86: Struttura di un programma e Direttive Assembler Intel 80x86: Struttura di un programma e Direttive Calcolatori Elettronici B a.a. 2004/2005 Massimiliano Giacomin 1 Istruzioni e direttive Formato generale dei comandi: [nome] codice operazione

Dettagli

Le costanti Le modalità di indirizzamento L assembly del MIPS

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 borghese@dsi.unimi.it Università degli Studi di Milano 1/45 Sommario Le costanti

Dettagli

Elaborazione dei dati

Elaborazione dei dati Elaborazione dei dati Architettura dei computer Esploreremo i fondamenti dell architettura dei computer. Vedremo come un computer elabora i dati e comunica con periferiche come stampanti e tastiere. Linguaggio

Dettagli

FONDAMENTI di INFORMATICA L. Mezzalira

FONDAMENTI di INFORMATICA L. Mezzalira FONDAMENTI di INFORMATICA L. Mezzalira Possibili domande 1 --- Caratteristiche delle macchine tipiche dell informatica Componenti hardware del modello funzionale di sistema informatico Componenti software

Dettagli

Architettura di un calcolatore: introduzione

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

Dettagli

Architettura di un computer

Architettura di un computer Architettura di un computer Modulo di Informatica Dott.sa Sara Zuppiroli A.A. 2012-2013 Modulo di Informatica () Architettura A.A. 2012-2013 1 / 36 La tecnologia Cerchiamo di capire alcuni concetti su

Dettagli

INFORMATICA CORSO DI INFORMATICA DI BASE ANNO ACCADEMICO 2015/2016 DOCENTE: SARRANTONIO ARTURO

INFORMATICA CORSO DI INFORMATICA DI BASE ANNO ACCADEMICO 2015/2016 DOCENTE: SARRANTONIO ARTURO INFORMATICA CORSO DI INFORMATICA DI BASE ANNO ACCADEMICO 2015/2016 DOCENTE: SARRANTONIO ARTURO PROGRAMMA Descrizione funzionale di un calcolatore elementare, COS'E' UN ELETTRONICO HARDWARE SOFTWARE HARDWARE

Dettagli

Architettura dei calcolatori

Architettura dei calcolatori Architettura dei calcolatori Dott. Ing. Leonardo Rigutini Dipartimento Ingegneria dell Informazione Università di Siena Via Roma 56 53100 SIENA Uff. 0577233606 rigutini@dii.unisi.it http://www.dii.unisi.it/~rigutini/

Dettagli