Laboratorio di Architettura

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Laboratorio di Architettura"

Transcript

1 Laboratorio di Architettura Lezione 3 Andrea Torsello Dipartimento di Informatica Università Ca Foscari di Venezia p.1/84 PARTE NOIOSA Per arrivare poi a cose più divertenti e stimolanti, occorre prima imparare uno specifico linguaggio macchina/assembly È quello che faremo ora, imparando una specifica architettura MIPS (R2000/R3000 RISC) p.2/84

2 MA PRIMA... Facciamo una breve digressione storica su MIPS e la rivoluzione RISC p.3/84 Sistemi microprogrammati Dalla fine degli anni 50 agli anni 70 l architettura dominante era dei computer microprogrammati L idea era quella di fornire istruzioni molto complesse che rispecchiassero i costrutti dei linguaggi ad alto livello. Misurazioni di performance effettuate durante la metà degli anni 70 hanno dimostrato che la maggior parte delle applicazioni erano dominate da poche semplici istruzioni p.4/84

3 Sistemi microprogrammati Gli ingegneri hanno pensato che i computer avessero bisogno di numerose istruzioni complesse per operare in modo efficiente. È stata una idea sbagliata. Quel tipo di design ha prodotto macchine che non erano solo ornate, ma barocche, perfino rococo Joel Birnbaum (leader progetto 801, Watson Research Center, IBM) p.5/84 Avvento dei sistemi RISC La decade 80 si apre con due progetti presso due grosse università statunitensi il progetto RISC (Reduced Instruction Set Computer) coordinato dal Prof. David Patterson dell Università della Californaia a Berkeley e il progetto MIPS (Million of Instructions Per Second) coordinato dal Prof. John Hennessy dell Università di Stanford p.6/84

4 L intuizione dei sistemi RISC L idea fondamentale dei sistemi RISC è quella di fornire istruzioni molto semplici Istruzioni dal potere descrittivo minimo e dal tempo di esecuzione uniforme In questo modo la complessità viene spostata dal microprocessore (per cui si paga il costo sempre) al compilatore (per cui si paga il costo solo una volta) p.7/84 Il vantaggio dei sistemi RISC Questa semplificazione porta molti vantaggi: lo spazio risparmiato dall implementazione di istruzioni complesse può essere usato per memoria (cache) e altri trucchi che velocizzano l esecuzione delle istruzioni rimaste l uniformità delle istruzioni permette di velocizzarne la decodifica ma soprattutto... l uniformità e prevedibilità dei tempi di esecuzione delle istruzioni permette di eseguire più operazioni in parallelo p.8/84

5 Parallelismo Il maggiore parallelismo nell esecuzione delle istruzioni è di due tipi: Duplicazione delle unità di esecuzione Pipelining p.9/84 Pipelining L esecuzione viene divisa in più fasi distinte tutte della stessa durata Ad ogni fase corrisponde una zona del microprocessore Quando una istruzione ha passato una fase l istruzione successiva può iniziare l esecuzione di quella stessa fase Anche se ogni istruzione ci mette lo stesso tempo, vengono eseguite più istruzioni per unità di tempo Tutte le parti del microprocessore sono in attività in ogni momento p.10/84

6 Pipelining Assumiamo che ci siano 5 fasi: 1. IF (instruction fetch): l istruzione successiva viene caricata 2. ID (instruction decoding): l istruzione viene decodificata 3. EX (execution): In questa fase avvengono i conti aritmetici 4. MEM (Memory access): In questa fase si accede alla memoria 5. WB (write back): I risultati vengono scritti p.11/84 Pipelining Se si aspetta che ogni fase sia terminata per iniziare l istruzione successiva, si esegue una istruzione ogni 260 ns IF 50 ID 50 EX 60 MEM 50 Istruzione 1 WB 50 IF 50 ID 50 EX 60 MEM 50 Istruzione 2 WB 50 IF 50 ID 50 EX 60 MEM 50 Istruzione 3 WB 50 p.12/84

7 Pipelining Allunghiamo tutte le fasi in modo che ci mettano quanto la più lenta più un overhead dovuto all implementazione della pipeline (65 ns). Il tempo per terminare una istruzione aumenta (da 260 ns a 325 ns) Facciamo partire l istruzione successiva appena l istruzione corrente supera la prima fase. Portiamo a termine una istruzione ogni 65 ns Istruzione 1 Istruzione 2 Istruzione 2 IF 65 ID 65 IF 65 EX 65 ID 65 IF 65 MEM 65 EX 65 ID 65 WB 65 MEM 65 EX 65 WB 65 MEM 65 WB 65 p.13/84 Pipelining La tecnica del pipelining era nota anche prima......ma richiedeva logica aggiuntiva (interlock) per bloccare l immissione di nuove istruzioni quando erano presenti istruzioni che usavano più cicli Questi interlock richiedevano tempo e limitavano l incremento di velocità L uniformità dei tempi di esecuzione delle istruzioni ha eliminato la necessità degli interlock p.14/84

8 L eredità dei sistemi RISC L ondata di semplificazione ha permesso lo sviluppo di tecniche di ottimizzazione molto spinte Questo ha portato ad una nuova sensibilità per analisi più quantitative della performance dei sistemi Tutti i microprocessori attuali devono molto alla rivoluzione RISC (anche se alcuni sistemi come gli Intel x86 fanno di tutto per nasconderlo) p.15/84 ISA MIPS oggi Il set di istruzioni MIPS è diventato uno standard. Può essere trovato in: chip embedded (frigoriferi, microonde, lavastoviglie,...) sistemi di telecomunicazioni (router Cisco, modem ADSL,...) palmari (Windows CE) console (Playstation, Nintendo 64, Playstation 2, Playstation Portable) ed altro (smartcard, set-top boxes, stampanti, robot,...) Attualmente è il secondo set di istruzione per diffusione ISA: Instruction Set Architecture p.16/84

9 Riprendendo... MIPS (R2000/R3000 RISC) È la specifica architettura che useremo durante il corso, come esempio di linguaggio macchina/assembly Quando avremo una certa conoscenza di tale architettura, potremo andare in laboratorio e lavorarci effettivamente (tramite l interprete SPIM) p.17/84 Memoria Abbiamo detto che la memoria si distingue in: memoria a registri (o semplicemente registri), interna al processore memoria esterna (o semplicemente, memoria), esterna al processore p.18/84

10 I REGISTRI Ci sono 32 REGISTRI (+3): $zero, $v0, $v1, $k0, $k1 $sp, $ra, $at, $gp, $fp $s0, $s1, $s2,..., $s7 $t0, $t1, $t2,..., $t9 $a0, $a1, $a2, $a3 Hi, Lo, PC NOTA: questi sono nomi convenzionali dell assembler SPIM. Altri assembler possono dare altri nomi (es. $0, $1,..., $31) p.19/84 A cosa servono? Lo vedremo man mano che esploreremo le istruzioni del linguaggio macchina p.20/84

11 Le istruzioni RISC: Reduced Instructions Set Computer Tutte le istruzioni hanno la stessa lunghezza Nel nostro caso (MIPS), tale lunghezza è 32 BITS p.21/84 La prima metà La prima metà ha quasi sempre la stessa struttura per tutte le istruzioni: 6 BITS 5 BITS 5 BITS op = opcode op reg1 reg2 reg1 = primo registro reg2 = secondo registro p.22/84

12 L Opcode I primi 6 bits (op), sono l OPCODE (OPerational CODE: codice operazionale) Determinano di che operazione si tratta E.g. add, sub, mult,... p.23/84 Reg 1 e Reg2 Nei successivi bits, c è spazio per indicare due registri. I dati contenuti in questi registri vengono usati nell operazione NON SEMPRE servono tutti e due, ma lo spazio è prefissato p.24/84

13 La seconda metà La struttura della seconda metà invece non è unica Ci sono essenzialmente due possibilità, a seconda che ci sia bisogno di una costante letterale Es. la costante 1 in b=a+1 p.25/84 Primo caso: tipo R Nel cosiddetto tipo R tutti gli operandi sono contenuti in registri 5 bits 5 bits 6 bits dest spost variant p.26/84

14 Spiegazione dest è il registro destinatario spost è lo spostamento (shift) variant è usato per specificare particolari varianti dell operazione p.27/84 Tipicamente... spost è zero (zero spostamento) variant è zero (nessuna variante) Quindi l istruzione tipica del tipo R è: 6 bits 5 bits 5 bits 5 bits 5 bits 6 bits op reg1 reg2 dest 0 0 l istruzione vuol dire fai qualcosa con i registri reg1 e reg2, e metti il risultato in dest p.28/84

15 Secondo caso: tipo I Nel tipo I, invece, tutta la seconda metà ha un solo valore Immediato: 16 bits indirizzo p.29/84 L eccezione: tipo J C è infine un terzo formato di istruzioni, usato per contenere dati ancora più grandi Il suo formato è: 6 bits 26 bits op indirizzo p.30/84

16 Le tre famiglie fondamentali Come detto nella lezione precedente, ci sono tre famiglie fondamentali di istruzioni, per: 1. Manipolazione di dati 2. Movimento di dati 3. Flusso di dati p.31/84 1. Manipolazione di dati 1.1 Aritmetica di base: +, -, *, /, < 1.2 Operazioni logiche p.32/84

17 1.1 Aritmetica di base Ovviamente, si possono eseguire le quattro operazioni fondamentali: +, -, *, / Più un test di diseguaglianza ( < ) p.33/84 ADDIZIONE In assembly: add dest, reg1, reg2 In linguaggio macchina dunque: 0 reg1 reg2 dest 0 variant=20 hex Istruzione di tipo R p.34/84

18 SOTTRAZIONE In assembly: sub dest, reg1, reg2 In linguaggio macchina dunque: 0 reg1 reg2 dest 0 variant=22 hex p.35/84 MOLTIPLICAZIONE In assembly: Mult reg1,reg2 In linguaggio macchina: 0 reg1 reg2 0 0 variant=18 hex NON C È IL DESTINATARIO p.36/84

19 MOLTIPLICAZIONE Non c è il registro destinatario perché stiamo moltiplicando due registri (reg1 e reg2) Ogni registro è grande 32 bits, quindi il risultato è di 64 bits: servono DUE registri per tenere il risultato, non ne basta uno La scelta fatta è stata dunque quella di FISSARE i due registri dove andrà il risultato il risultato va nei due registri $Hi e $Lo (i primi 32 bits in $Hi, gli altri 32 in $Lo) p.37/84 DIVISIONE In assembly: div reg1, reg2 In linguaggio macchina: 0 reg1 reg2 0 0 variant=1a hex NEANCHE QUI C È IL DESTINATARIO p.38/84

20 DIVISIONE Questa volta, il risultato STAREBBE in un registro (dividiamo un registro per qualcosa, quindi il risultato starebbe comodamente in un registro) MA... anche qui, per parallelismo con la moltiplicazione, si fissa il registro risultato il risultato va nel registro $Lo BONUS: viene anche calcolato il RESTO della divisione, che va nel registro $Hi p.39/84 < (minore) In assembly: slt dest,reg1,reg2 slt = set less than Pone dest = 1 se reg1 < reg2, e 0 altrimenti In linguaggio macchina dunque: 0 reg1 reg2 dest 0 variant=2a hex p.40/84

21 Variante immediata Per tutte queste operazioni, è possibile specificare direttamente un numero (di 16 bits) al posto di uno dei due registri: dest = registro1 operazione numero La corrispondente istruzione immediata si ottiene in assembly aggiungendo una i al nome: addi,... p.41/84 ESEMPI delle varianti immediate Addizione classica add dest, reg1, reg2 Addizione immediata addi dest, reg1, numero Non esite subi, perché? p.42/84

22 1.2 Operazioni Logiche In linguaggio macchina si possono effettuare: Spostamenti (shifts) AND, OR, XOR, NOR p.43/84 Operazioni logiche (cont.) A cosa servono? Servono a manipolare i bit p.44/84

23 Ma prima... Rivediamo la rappresentazione binaria... p.45/84 Numero binario Una word è composta da 32 cifre binarie b 31 b 30 b b 2 b 1 b 0 il suo valore è : b b b b b 0 = 31 i=0 b i2 i Sempre positivo p.46/84

24 E i negativi? Come facciamo a rappresentare i numeri negativi? Un modo è quello di mantenere un bit per il segno (bit 31), per cui 3 = = p.47/84 Complemento a 1 Questa rappresentazione dei numeri negativi si chiama complemento a 1 è semplice da comprendere e le operazioni aritmetiche sono relativamente semplici da implementare...ma ha due rappresentazioni per 0: 0 = = il complemento a 1 è utilizzato per i numeri con la virgola (verdemo più avanti), ma per gli interi si usa un atra rappresentazione p.48/84

25 Complemento a 2 Il bit 31, invece di corrispondere a 2 31 lo facciamo corrispondere a 2 31 così b 31 b 30 b b 2 b 1 b 0 vale 2 31 b i=0 b i2 i per cui: 3 = = p.49/84 Vantaggi Il bit 31 ci dice comunque il segno Ogni numero è rappresentato in un unico modo Un po più complicato da capire, ma meno di quel che sembra Le operazioni sono semplici. p.50/84

26 Addizione vediamo come funziona l addizione tra due numeri con segno. Se i numeri sono entrambi positivi numeri positivi l operazione è invariata. NOTA: C è errore se c è un riporto alla 32-esima cifra (overflow) Se i numeri sono uno positivo e uno negativo l addizione funziona come se i due numeri non avessero segno! p.51/84 Addizione Se i numeri sono entrambi negativi è come una addizione senza segno delle prime 31 cifre. Il risultato è corretto solo se c è un riporto alla 32-esima cifra (overflow) Esempio (a 4 bit): = ( ) + (-8+4+2) = = (1) =(1) 1101= (1) 101 = 1101 p.52/84

27 MIPS Le operazioni aritmetiche viste sin ora agivano su numeri con il segno Esistono varianti delle operazioni aritmetiche che considerano le words come cifre a 32 bit senza segno Le varianti senza segno si identificano perché finiscono per u: addu, addiu, subu,... p.53/84 Operazioni logiche Torniamo alle operazioni sui bit... p.54/84

28 AND, OR, XOR Codificano le corrispettive operazioni logiche Interpretazione logica sui bits: 0 falso 1 vero p.55/84 AND, OR, XOR (cont.) Tutte queste operazioni, eseguite su numeri più grandi di un singolo bit, vengono eseguito bit a bit Esempio: 1011 and 0110 = 0010 p.56/84

29 AND Tabella della AND ( e ): p.57/84 OR Tabella della OR ( o ): p.58/84

30 XOR Tabella della XOR ( o esclusivo ): p.59/84 Perché proprio queste? Al di là della interpretazione logica, ci sono tantissime altre funzioni possibili Esempio: p.60/84

31 Perché (cont.) Perché tramite queste tre operazioni, possiamo ottenere qualsiasi altra operazione sui bit Questo spiega perché bastano queste tre Non sono le uniche con questa proprietà, ma sono anche tra le più utili in pratica p.61/84 Numero minimo Qual è il numero minimo di operazioni con cui possiamo ottenere ogni altra operazione sui bit? Ne basta una! per esempio... NAND (not and) p.62/84

32 NAND Tabella della NAND: p.63/84 Cosa fanno? Interpretazione funzionale Tramite AND, OR e XOR possiamo modificare un bit a seconda se il secondo operando è 0 o 1 and 0, oppure and 1 p.64/84

33 AND 0 and 0 : 0 and 0 = 0 [copia] 1 and 0 = 0 [metti 0 (spegni)] Cioè: 0 and 0 = 0 [spegni] 1 and 0 = 0 [spegni] and 0 serve a SPEGNERE p.65/84 AND 1 and 1 : 0 and 1 = 0 [copia] 1 and 1 = 1 [copia] and 1 serve a COPIARE p.66/84

34 AND Due operazioni: and 0 : SPEGNERE and 1 : COPIARE p.67/84 In Assembler and agisce su words, il che significa che possiamo agire contemporaneamente sui 16 bits di una word, con le due operazioni sopra dette (CANCELLA o COPIA) p.68/84

35 AND in Assembler Esempio: andi $t0, $t1, 127 andi $t0, $t1, prendi t1, cancella gli 8 bits piu a sinistra, copia gli 8 bits più a destra, e metti il risultato in t0 Se t1= allora con la and t0= p.69/84 AND In assembly: and dest, reg1, reg2 In linguaggio macchina dunque: 0 reg1 reg2 dest 0 variant=24 hex p.70/84

36 A cosa serve? verificare quali bit siano accesi t1 andi è diverso da 0 se e solo se dice se il sesto bit di t1 è acceso. in grafica...per animazione e rilevamento delle collisioni p.71/84 OR 0 or 0 : 0 or 0 = 0 [copia] 1 or 0 = 1 [copia] or 0 serve a COPIARE p.72/84

37 OR 1 or 1 : 0 or 1 = 1 [accendi] 1 or 1 = 1 [copia] Cioè: 0 or 1 = 1 [accendi] 1 or 1 = 1 [accendi] or 1 serve ad ACCENDERE p.73/84 OR In assembly: or dest, reg1, reg2 In linguaggio macchina dunque: 0 reg1 reg2 dest 0 variant=25 hex p.74/84

38 A cosa serve In grafica... per accendere selettivamente (disegnare solo la figura) (Il mouse pointer) p.75/84 XOR 0 xor 0 : 0 xor 0 = 0 [copia] 1 xor 0 = 1 [copia] xor 0 serve a COPIARE p.76/84

39 XOR 1 xor 1 : 0 xor 1 = 1 [accendi] 1 xor 1 = 0 [spegni] Cioè: 0 xor 1 = 1 [inverti] 1 xor 1 = 0 [inverti] or 1 serve ad INVERTIRE p.77/84 XOR Due operazioni: xor 0 : COPIARE xor 1 : INVERTIRE p.78/84

40 XOR In assembly: xor dest, reg1, reg2 In linguaggio macchina dunque: 0 reg1 reg2 dest 0 variant=26 hex p.79/84 Utilità INVERTIRE è una operazione che è reversibile (INVERTI(INVERTI)) = COPIA non necessita di memoria ulteriore... p.80/84

41 Esempi Giochi (trasparenza, refresh, sprites) Grafica e suono... p.81/84 Il miracolo... Volete implementare la funzione SCAMBIA (SWAP), che scambia il contenuto di due registri (o variabili) R1 e R2 Ad esempio, se t0=5 e t1=12, dopo SCAMBIA (t0,t1) avremo t0=12 e t1=5 Quanti registri servono come minimo...? p.82/84

42 Soluzione classica Servono tre registri I due registri, più un registro temporaneo TEMP TEMP := R1 R1 := R2 R2 := TEMP p.83/84 Il miracolo di XOR Miracolosamente, invece, usando XOR servono SOLO DUE REGISTRI Paradossale!!!! esercizio (basta usare solo la xor e nessun altra istruzione) capite come si sposta l informazione... p.84/84

Le tre famiglie fondamentali. Laboratorio di Architettura. 1. Manipolazione di dati. 1.1 Aritmetica di base. Lezione 3

Le tre famiglie fondamentali. Laboratorio di Architettura. 1. Manipolazione di dati. 1.1 Aritmetica di base. Lezione 3 Le tre famiglie fondamentali Laboratorio di Architettura Lezione 3 Andrea Torsello Dipartimento di Informatica Università Ca Foscari di Venezia Ci sono tre famiglie fondamentali di istruzioni, per: 1.

Dettagli

PARTE NOIOSA. Laboratorio di Architettura. Sistemi microprogrammati MA PRIMA... MIPS (R2000/R3000 RISC) MIPS e la rivoluzione RISC.

PARTE NOIOSA. Laboratorio di Architettura. Sistemi microprogrammati MA PRIMA... MIPS (R2000/R3000 RISC) MIPS e la rivoluzione RISC. PARTE NOIOSA Laboratorio di Architettura Lezione 3 Andrea Torsello 1 Dipartimento di Informatica Università Ca Foscari di Venezia Per arrivare poi a cose più divertenti e stimolanti, occorre prima imparare

Dettagli

Comunicazioni. Laboratorio di Architettura. Lezione 1. Docente Studenti Studenti Docente Studenti Studenti. Indirizzo del corso:

Comunicazioni. Laboratorio di Architettura. Lezione 1. Docente Studenti Studenti Docente Studenti Studenti. Indirizzo  del corso: Comunicazioni Laboratorio di Architettura Lezione 1 Andrea Torsello Docente Studenti Studenti Docente Studenti Studenti Dipartimento di Informatica Università Ca Foscari di Venezia p.1/35 p.2/35 Docente

Dettagli

Linguaggi. Laboratorio di Architettura INTERPRETI VANTAGGI DEBUG. Lezione 2

Linguaggi. Laboratorio di Architettura INTERPRETI VANTAGGI DEBUG. Lezione 2 Linguaggi Laboratorio di Architettura Lezione 2 Andrea Torsello Dipartimento di Informatica Università Ca Foscari di Venezia È possibile programmare il computer usando vari linguaggi di programmazione

Dettagli

Architettura degli Elaboratori Modulo 2

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

Dettagli

Il set istruzioni di MIPS Modalità di indirizzamento. Proff. A. Borghese, F. Pedersini

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

Dettagli

Il set istruzioni di MIPS Modalità di indirizzamento. Proff. A. Borghese, F. Pedersini

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

Dettagli

Linguaggio Assembly e linguaggio macchina

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

Dettagli

Linguaggio Assembly e linguaggio macchina

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

Dettagli

Linguaggio Assembly e linguaggio macchina

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

Dettagli

Architettura degli Elaboratori

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

Dettagli

Il linguaggio Assembly. Architettura degli Elaboratori e delle Reti Turno I

Il linguaggio Assembly. Architettura degli Elaboratori e delle Reti Turno I Il linguaggio Assembly Architettura degli Elaboratori e delle Reti Turno I Alberto Borghese Università degli Studi di Milano Dipartimento di Scienze dell Informazione borghese@dsi.unimi.it 1 Linguaggio

Dettagli

1. L istruzione li $a0, è un istruzione standard del processore MIPS? Se no, a quali istruzioni corrisponde e come viene eseguita?

1. L istruzione li $a0, è un istruzione standard del processore MIPS? Se no, a quali istruzioni corrisponde e come viene eseguita? 1. L istruzione li $a0, 12345678 è un istruzione standard del processore MIPS? Se no, a quali istruzioni corrisponde e come viene eseguita? 2. Si descriva il formato IEEE 754 per la rappresentazione in

Dettagli

Il linguaggio del calcolatore: linguaggio macchina e linguaggio assembly

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:

Dettagli

Architettura dei calcolatori e sistemi operativi. Architettura MIPS e set istruzioni Capitolo 2 P&H

Architettura dei calcolatori e sistemi operativi. Architettura MIPS e set istruzioni Capitolo 2 P&H Architettura dei calcolatori e sistemi operativi Architettura MIPS e set istruzioni Capitolo 2 P&H Instruction Set Architecture ISA Linguaggio assemblatore e linguaggio macchina ISA processore MIPS Modello

Dettagli

Assembly. Linguaggio di programmazione corrispondente al linguaggio macchina P.H. Cap. 2.1, 2.2 e App. A. Linguaggio assembly (App.

Assembly. Linguaggio di programmazione corrispondente al linguaggio macchina P.H. Cap. 2.1, 2.2 e App. A. Linguaggio assembly (App. Assembly Linguaggio di programmazione corrispondente al linguaggio macchina P.H. Cap. 2.1, 2.2 e App. A 1 Linguaggio assembly (App. A) Rappresentazione simbolica del linguaggio macchina Più comprensibile

Dettagli

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 Architettura degli Elaboratori Lez. 8 CPU MIPS a 1 colpo di clock Prof. Andrea Sterbini sterbini@di.uniroma1.it Argomenti Progetto della CPU MIPS a 1 colpo di clock - Istruzioni da implementare - Unità

Dettagli

Capitolo 2. Elaborazione dei dati. Mauro Giacomini Pearson Addison-Wesley. All rights reserved

Capitolo 2. Elaborazione dei dati. Mauro Giacomini Pearson Addison-Wesley. All rights reserved Capitolo 2 Elaborazione dei dati Mauro Giacomini 2007 Pearson Addison-Wesley. All rights reserved Capitolo 2: Elaborazione dei dati 2.1 Architettura del Computer 2.2 Linguaggio macchina 2.3 Esecuzione

Dettagli

Calcolatori Elettronici A a.a. 2008/2009

Calcolatori Elettronici A a.a. 2008/2009 Calcolatori Elettronici A a.a. 2008/2009 Instruction Set Architecture: nozioni generali Massimiliano Giacomin 1 DOVE CI TROVIAMO Livello del linguaggio specializzato Traduzione (compilatore) o interpretazione

Dettagli

Il linguaggio del calcolatore: linguaggio macchina e linguaggio assembly

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

Dettagli

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

Dettagli

Istruzioni e linguaggio macchina

Istruzioni e linguaggio macchina Istruzioni e linguaggio macchina I linguaggi macchina sono composti da istruzioni macchina, codificate in binario, con formato ben definito processori diversi hanno linguaggi macchina simili scopo: massimizzare

Dettagli

Linguaggio macchina. Architettura degli Elaboratori e delle Reti. Il linguaggio macchina. Lezione 16. Proff. A. Borghese, F.

Linguaggio macchina. Architettura degli Elaboratori e delle Reti. Il linguaggio macchina. Lezione 16. Proff. A. Borghese, F. Architettura degli Elaboratori e delle Reti Lezione 16 Il linguaggio macchina Proff. A. Borghese, F. Pedeini Dipaimento di Scienze dell Informazione Univeità degli Studi di Milano L 16 1/32 Linguaggio

Dettagli

Manualino minimale MIPS

Manualino minimale MIPS Università degli Studi dell Insubria Dipartimento di Scienze Teoriche e Applicate Manualino minimale MIPS Marco Tarini Operazioni aritmetiche Nome Comando completo Esempio Sintassi (es) Significato Semantica

Dettagli

Istruzioni macchina. Dove sono gli operandi? Ciclo della CPU. Elementi di un istruzione macchina. Rappresentazione delle istruzioni

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

Dettagli

Architettura di un calcolatore e linguaggio macchina. Primo modulo Tecniche della programmazione

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

Dettagli

Rappresentazione dell informazione

Rappresentazione dell informazione Rappresentazione dell informazione Codifica dei numeri Rappresentazioni in base 2, 8, 10 e 16 Rappresentazioni M+S, C1 e C2 Algoritmi di conversione di base Algoritmi di somma, moltiplicazione e divisione

Dettagli

Macchina di Riferimento: argomenti

Macchina di Riferimento: argomenti Macchina di Riferimento: argomenti L'architettura di una macchina MIPS Organizzazione della memoria I registri della CPU L'esecuzione dei programmi Il ciclo fetch-execute Il simulatore SPIM 1 Architettura

Dettagli

Lezione 20. della CPU MIPS. Prof. Federico Pedersini Dipartimento di Informatica Università degli Studi di Milano

Lezione 20. della CPU MIPS. Prof. Federico Pedersini Dipartimento di Informatica Università degli Studi di Milano Architettura degli Elaboratori Lezione 20 ISA (Instruction Set Architecture) della CPU MIPS Prof. Federico Pedersini Dipartimento di Informatica Università degli Studi di Milano L16-20 1/29 Linguaggio

Dettagli

Lezione 20. della CPU MIPS. Prof. Federico Pedersini Dipartimento di Informatica Università degli Studi di Milano

Lezione 20. della CPU MIPS. Prof. Federico Pedersini Dipartimento di Informatica Università degli Studi di Milano Architettura degli Elaboratori Lezione 20 ISA (Instruction Set Architecture) della CPU MIPS Prof. Federico Pedersini Dipartimento di Informatica Università degli Studi di Milano L16-20 1/29 Linguaggio

Dettagli

L'architettura del processore MIPS

L'architettura del processore MIPS L'architettura del processore MIPS Piano della lezione Ripasso di formati istruzione e registri MIPS Passi di esecuzione delle istruzioni: Formato R (istruzioni aritmetico-logiche) Istruzioni di caricamento

Dettagli

Sistemi di Elaborazione delle Informazioni

Sistemi di Elaborazione delle Informazioni SCUOLA DI MEDICINA E CHIRURGIA Università degli Studi di Napoli Federico II Corso di Sistemi di Elaborazione delle Informazioni Dott. Francesco Rossi a.a. 2016/2017 1 Programma del corso Informatica di

Dettagli

Richiami sull architettura del processore MIPS a 32 bit

Richiami sull architettura del processore MIPS a 32 bit Caratteristiche principali dell architettura del processore MIPS Richiami sull architettura del processore MIPS a 32 bit Architetture Avanzate dei Calcolatori Valeria Cardellini E un architettura RISC

Dettagli

Architettura degli Elaboratori Modulo 2

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

Dettagli

Linguaggio macchina. 3 tipi di istruzioni macchina. Istruzioni per trasferimento dati. Istruzioni logico/aritmetiche

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

Dettagli

La "macchina" da calcolo

La macchina da calcolo La "macchina" da calcolo Abbiamo detto che gli algoritmi devono essere scritti in un linguaggio "comprensibile all'esecutore" Se il nostro esecutore è il "calcolatore", questo che linguaggio capisce? che

Dettagli

Seconda lezione. Rivediamo un po di definizioni principali Proseguiremo con nuovi codici

Seconda lezione. Rivediamo un po di definizioni principali Proseguiremo con nuovi codici Seconda lezione Rivediamo un po di definizioni principali Proseguiremo con nuovi codici 1 Libri di testo Struttura, Organizzazione e progetto dei calcolatori, Patterson e Hennessy, (Jackson Libri) consigliato

Dettagli

Un quadro della situazione. Lezione 14 Il Set di Istruzioni (2) Dove siamo nel corso. I principi di progetto visti finora. Cosa abbiamo fatto

Un quadro della situazione. Lezione 14 Il Set di Istruzioni (2) Dove siamo nel corso. I principi di progetto visti finora. Cosa abbiamo fatto Un quadro della situazione Lezione 14 Il Set di Istruzioni (2) Vittorio Scarano Architettura Corso di Laurea in Informatica Università degli Studi di Salerno Input/Output Sistema di Interconnessione Registri

Dettagli

ARCHITETTURE DEI CALCOLATORI (canale A-I) - Prima prova in itinere del 16/6/2003 Compito tipo A

ARCHITETTURE DEI CALCOLATORI (canale A-I) - Prima prova in itinere del 16/6/2003 Compito tipo A ARCHITETTURE DEI CALCOLATORI (canale A-I) - Prima prova in itinere del 16/6/2003 Compito tipo A *** indicano le affermazioni corrette. 1. Con riferimento alle architetture dei calcolatori ed alla valutazione

Dettagli

Il linguaggio macchina

Il linguaggio macchina Architettura degli Elaboratori e delle Reti Lezione 16 Il linguaggio macchina Proff. A. Borghese, F. Pedeini Dipaimento di Scienze dell Informazione Univeità degli Studi di Milano L 16 1/33 Linguaggio

Dettagli

Le etichette nei programmi. Istruzioni di branch: beq. Istruzioni di branch: bne. Istruzioni di jump: j

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

Dettagli

Floating pointer adder ISA

Floating pointer adder ISA Floating pointer adder ISA Prof. Alberto Borghese Dipartimento di Informatica borghese@di.unimi.it Università degli Studi di Milano Riferimenti sul Patterson, 5a Ed.: 3.4, 3.5, 4.2 1/49 Sommario Somma

Dettagli

Istruzioni e linguaggio macchina

Istruzioni e linguaggio macchina Istruzioni e linguaggio macchina I linguaggi macchina sono composti da istruzioni macchina, codificate in binario, con formato ben definito processori diversi hanno linguaggi macchina simili scopo: massimizzare

Dettagli

Architettura degli Elaboratori

Architettura degli Elaboratori circuiti combinatori: ALU slide a cura di Salvatore Orlando, Marta Simeoni, Andrea Torsello 1 ALU ALU (Arithmetic Logic Unit) circuito combinatorio all interno del processore per l esecuzione di istruzioni

Dettagli

Riassunto. Riassunto. Ciclo fetch&execute. Concetto di programma memorizzato. Istruzioni aritmetiche add, sub, mult, div

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

Dettagli

Architettura degli Elaboratori Modulo 2

Architettura degli Elaboratori Modulo 2 Architettura degli Elaboratori Modulo 2 Salvatore Orlando http://www.dsi.unive.it/~architet Arch. Elab. - S. Orlando 1 Progetti di CPU MIPS-like Contenuti esecuzione di ogni istruzione in un singolo ciclo

Dettagli

Un altro tipo di indirizzamento. L insieme delle istruzioni (3) Istruz. di somma e scelta con operando (2) Istruzioni di somma e scelta con operando

Un altro tipo di indirizzamento. L insieme delle istruzioni (3) Istruz. di somma e scelta con operando (2) Istruzioni di somma e scelta con operando Un altro tipo di indirizzamento L insieme delle istruzioni (3) Architetture dei Calcolatori (lettere A-I) Tipi di indirizzamento visti finora Indirizzamento di un registro Indirizzamento con registro base

Dettagli

Codifica binaria: - numeri interi relativi -

Codifica binaria: - numeri interi relativi - Codifica binaria: - numeri interi relativi - Ingegneria Meccanica e dei Materiali Università degli Studi di Brescia Prof. Massimiliano Giacomin Tipologie di codici Per la rappresentazione di: caratteri

Dettagli

Architettura degli Elaboratori e Laboratorio. Matteo Manzali Università degli Studi di Ferrara Anno Accademico

Architettura degli Elaboratori e Laboratorio. Matteo Manzali Università degli Studi di Ferrara Anno Accademico Architettura degli Elaboratori e Laboratorio Matteo Manzali Università degli Studi di Ferrara Anno Accademico 2016-2017 Analogico vs digitale Segnale analogico Segnale digitale Un segnale è analogico quando

Dettagli

Architettura hardware

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

Dettagli

Fondamenti di Informatica A. A / 1 9

Fondamenti di Informatica A. A / 1 9 Fondamenti di Informatica Prof. Marco Lombardi A. A. 2 1 8 / 1 9 Architettura di Von Neumann Architettura di Von Neumann: l Unità di Elaborazione L Unità di Elaborazione L unità di elaborazione (CPU) contiene

Dettagli

Architettura degli Elaboratori e Laboratorio

Architettura degli Elaboratori e Laboratorio Architettura degli Elaboratori e Laboratorio Docente: Francesco Giacomini Assistente: Matteo Manzali Università di Ferrara, Anno Accademico 2013/2014 Rappresentazione binaria delle informazioni 12 Rappresentazione

Dettagli

Richiami sull architettura del processore MIPS a 32 bit

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

Dettagli

ALU e Control Unit. ALU e Control Unit

ALU e Control Unit. ALU e Control Unit Massimo VIOLANTE Politecnico di Torino Dipartimento di Automatica e Informatica Sommario Unità aritmentica/logica Unità di controllo. 2 M. Violante 1.1 Unità aritmetica/logica Contiene tutti i circuiti

Dettagli

Arithmetic and Logic Unit e moltiplicatore

Arithmetic and Logic Unit e moltiplicatore Arithmetic and Logic Unit e moltiplicatore M. Favalli Engineering Department in Ferrara (ENDIF) ALU - multiplier Analisiesintesideicircuitidigitali 1 / 34 Sommario 1 Arithmetic and Logic Unit - ALU 2 Moltiplicatore

Dettagli

Linguaggio assembler e linguaggio macchina (caso di studio: processore MIPS)

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

Dettagli

Lezione 20. Assembly MIPS: Il set istruzioni, strutture di controllo in Assembly

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

Dettagli

Istruzioni assembler Istruzione N Registri

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

Dettagli

MIPS & SPIM. Modulo del Corso di Architettura degli Elaboratori. Nicola Paoletti. Università di Camerino Scuola di Scienze e Tecnologie

MIPS & SPIM. Modulo del Corso di Architettura degli Elaboratori. Nicola Paoletti. Università di Camerino Scuola di Scienze e Tecnologie MIPS & SPIM Modulo del Corso di Architettura degli Elaboratori Nicola Paoletti Università di Camerino Scuola di Scienze e Tecnologie 10 Aprile 2013 AA 2012/2013 Informazioni utili (1/2) Email: nicola.paoletti@unicam.it

Dettagli

Come si definisce il concetto di performance? Tempo di esecuzione di un programma. numero di task/transazioni eseguiti per unità di tempo

Come si definisce il concetto di performance? Tempo di esecuzione di un programma. numero di task/transazioni eseguiti per unità di tempo Performance Come si definisce il concetto di performance? Tempo di esecuzione di un programma Wall-clock time CPU time tiene conto solo del tempo in cui il programma usa la CPU user time + system time

Dettagli

CPU. ALU e Registri della CPU. Elementi della CPU. CPU e programmazione (Parte 1) Central Processing Unit, processore

CPU. ALU e Registri della CPU. Elementi della CPU. CPU e programmazione (Parte 1) Central Processing Unit, processore CPU CPU e programmazione (Parte 1) La CPU (Central Processing Unit) e` in grado di eseguire dei programmi, cioe` sequenze di istruzioni elementari ( istruzioni macchina ) Idea fondamentale dell'architettura

Dettagli

Laboratorio di Architettura degli Elaboratori LabArch 2007 Terzo Quadimestre, a.a Docente: H. Muccini

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

Dettagli

Pipelining: Unità di Elaborazione e di Controllo Barbara Masucci

Pipelining: Unità di Elaborazione e di Controllo Barbara Masucci Architettura degli Elaboratori Pipelining: Unità di Elaborazione e di Controllo Barbara Masucci Punto della situazione Ø Abbiamo studiato Ø Una prima implementazione hardware (a ciclo singolo) di un sottoinsieme

Dettagli

Laboratorio di Architettura

Laboratorio di Architettura Laboratorio di Architettura Lezione 5 Andrea Torsello Dipartimento di Informatica Università Ca Foscari di Venezia p.1/49 La scorsa lezione Basi della compilazione da alto livello a basso livello Rappresentazione

Dettagli

Architettura e funzionamento del calcolatore

Architettura e funzionamento del calcolatore FONDAMENTI DI INFORMATICA Prof PIER LUCA MONTESSORO Università degli Studi di Udine Architettura e funzionamento del calcolatore Modello di calcolatore Si farà uso di un modello semplificato di elaboratore

Dettagli

Formato delle istruzioni Tipi di istruzione Modi di indirizzamento CISC vs RISC Pipeline Note sui RISC

Formato delle istruzioni Tipi di istruzione Modi di indirizzamento CISC vs RISC Pipeline Note sui RISC Formato delle istruzioni Tipi di istruzione Modi di indirizzamento CISC vs RISC Pipeline Note sui RISC S. Salvatori - Microelettronica aprile 2016 (16 di 39) Compilatore Il progettista del up definisce

Dettagli

Progetto CPU a singolo ciclo

Progetto CPU a singolo ciclo Architettura degli Elaboratori e delle Reti Progetto CPU a singolo ciclo Proff. A. Borghese, F. Pedersini Dipartimento di Informatica Università degli Studi di Milano 1/50 Sommario! La CPU! Sintesi di

Dettagli

CPU a singolo ciclo. Lezione 18. Sommario. Architettura degli Elaboratori e delle Reti

CPU a singolo ciclo. Lezione 18. Sommario. Architettura degli Elaboratori e delle Reti Architettura degli Elaboratori e delle Reti Lezione 18 CPU a singolo ciclo Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 18 1/2 Sommario!

Dettagli

Progetto CPU a singolo ciclo

Progetto CPU a singolo ciclo Architettura degli Elaboratori e delle Reti Progetto CPU a singolo ciclo Proff. A. Borghese, F. Pedersini Dipartimento di Informatica Università degli Studi di Milano 1/60 Sommario v La CPU v Sintesi di

Dettagli

Lezione 20. Assembly MIPS: Il set istruzioni, strutture di controllo in Assembly

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

Dettagli

Corso di Informatica

Corso di Informatica CdLS in Odontoiatria e Protesi Dentarie Corso di Informatica Prof. Crescenzio Gallo crescenzio.gallo@unifg.it Il Processore (CPU) 2 rchitettura del processore CPU Unità di Controllo Unità ritmetica Logica

Dettagli

INPUT COMPUTER OUTPUT

INPUT COMPUTER OUTPUT 1) Cos è un computer? INPUT COMPUTER OUTPUT E una macchina programmabile in grado di produrre dati in output attraverso l elaborazione di dati forniti in input 2) Cos è un programma? E l elenco di istruzioni

Dettagli

Corso integrato di Sistemi di Elaborazione. Modulo I. Prof. Crescenzio Gallo.

Corso integrato di Sistemi di Elaborazione. Modulo I. Prof. Crescenzio Gallo. Corso integrato di Sistemi di Elaborazione odulo I Prof. Crescenzio Gallo crescenzio.gallo@unifg.it Il Processore (CPU) 2 rchitettura del processore CPU Unità di Controllo Unità ritmetica Logica egistri

Dettagli

Fetch Decode Execute Program Counter controllare esegue prossima

Fetch Decode Execute Program Counter controllare esegue prossima Stored Program Istruzioni sono stringhe di bit Programmi: sequenze di istruzioni Programmi (come i dati) memorizzati in memoria La CPU legge le istruzioni dalla memoria (come i dati) Ciclo macchina (ciclo

Dettagli

Architettura degli Elaboratori Modulo 2

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

Dettagli

Architettura degli elaboratori

Architettura degli elaboratori Università degli Studi dell Insubria Dipartimento di Scienze Teoriche e Applicate Architettura degli elaboratori Programmazione in assembly MIPS Marco Tarini Dipartimento di Scienze Teoriche e Applicate

Dettagli

Laboratorio di Architettura degli Elaboratori LabArch 2006 Secondo Quadimestre, a.a Docente: H. Muccini

Laboratorio di Architettura degli Elaboratori LabArch 2006 Secondo Quadimestre, a.a Docente: H. Muccini [http://www.di.univaq.it/muccini/labarch] Laboratorio di Architettura degli Elaboratori LabArch 2006 Secondo Quadimestre, a.a. 2005-2006 Docente: H. Muccini Lecture 2: Prime Istruzioni -Concetti Fondamentali

Dettagli

Il modello di von Neumann

Il modello di von Neumann 1 Organizzazione di (quasi) tutti gli elaboratori moderni: personal computer, workstation, portatili, smartphone,... CPU memoria Control Unit I/O ALU 2 Il cuore è la CPU (Control Processing Unit): esegue

Dettagli

Sia per la II prova intercorso che per le prove di esame è necessaria la PRENOTAZIONE

Sia per la II prova intercorso che per le prove di esame è necessaria la PRENOTAZIONE Seconda Prova Intercorso ed Esami di Febbraio Lezione 24 Valutazione delle Prestazioni Vittorio Scarano rchitettura Corso di Laurea in Informatica Università degli Studi di Salerno Seconda prova intercorso:

Dettagli

ISA (Instruction Set Architecture) della CPU MIPS

ISA (Instruction Set Architecture) della CPU MIPS Architettura degli Elaboratori Lezione 20 ISA (Instruction Set Architecture) della CPU MIPS Prof. Federico Pedersini Dipartimento di Informatica Uniersità degli Studi di Milano L16-20 1 Linguaggio macchina

Dettagli

Corso di Architettura (Prof. Scarano) 10/05/2002

Corso di Architettura (Prof. Scarano) 10/05/2002 Lezione 0 Il Set di Istruzioni (6) Vittorio Scarano Architettura Corso di Laurea in Informatica Università degli Studi di Salerno Le procedure Prima della chiamata di una procedura In ogni linguaggio di

Dettagli

CALCOLATORI ELETTRONICI 25 giugno 2018

CALCOLATORI ELETTRONICI 25 giugno 2018 CALCOLATORI ELETTRONICI 25 giugno 2018 NOME: COGNOME: MATR: Scrivere chiaramente in caratteri maiuscoli a stampa 1. Si implementi per mezzo di porte logiche OR, AND, NOT la funzione combinatoria (a 3 ingressi

Dettagli

Processore. Memoria I/O. Control (Parte di controllo) Datapath (Parte operativa)

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

Dettagli

Il Linguaggio Assembly

Il Linguaggio Assembly Il Linguaggio Assembly Luca Abeni March 16, 2016 Linguaggio Macchina ed Assembly CPU: capisce (e riesce ad eseguire) solo il suo linguaggio macchina Sequenza di 0 e 1 Non proprio utilissimo per noi umani...

Dettagli

Pag. 1. Informatica Facoltà di Medicina Veterinaria a.a. 2012/13 prof. Stefano Cagnoni. Architettura del calcolatore (parte II)

Pag. 1. Informatica Facoltà di Medicina Veterinaria a.a. 2012/13 prof. Stefano Cagnoni. Architettura del calcolatore (parte II) 1 Università degli studi di Parma Dipartimento di Ingegneria dell Informazione Informatica a.a. 2012/13 La inserita nella architettura dell elaboratore Informatica Facoltà di Medicina Veterinaria a.a.

Dettagli

Informazione binaria: - rappresentazione dei numeri naturali e interi relativi -

Informazione binaria: - rappresentazione dei numeri naturali e interi relativi - Informazione binaria: - rappresentazione dei numeri naturali e interi relativi - Percorso di Preparazione agli Studi di Ingegneria Università degli Studi di Brescia Docente: Massimiliano Giacomin Tipologie

Dettagli

Laboratorio di Architettura

Laboratorio di Architettura Laboratorio di Architettura Lezione 2 Andrea Torsello Dipartimento di Informatica Università Ca Foscari di Venezia p.1/50 Linguaggi È possibile programmare il computer usando vari linguaggi di programmazione

Dettagli

La codifica dell informazione

La codifica dell informazione La codifica dell informazione Codifica dati e istruzioni Algoritmi = istruzioni che operano su dati. Per scrivere un programma è necessario rappresentare istruzioni e dati in un formato tale che l esecutore

Dettagli

Unita aritmetica e logica. Input e output della ALU. Rappresentazione degli interi. Rappresentazione in modulo e segno. Aritmetica del calcolatore

Unita aritmetica e logica. Input e output della ALU. Rappresentazione degli interi. Rappresentazione in modulo e segno. Aritmetica del calcolatore Unita aritmetica e logica Aritmetica del calcolatore Capitolo 9 Esegue le operazioni aritmetiche e logiche Ogni altra componente nel calcolatore serve questa unita Gestisce gli interi Puo gestire anche

Dettagli

Architettura degli Elaboratori

Architettura degli Elaboratori Architettura degli Elaboratori Università degli Studi di Padova Scuola di Scienze Corso di Laurea in Informatica docente: Alessandro Sperduti Informazioni Generali Lucidi ed esercizi disponibili in formato

Dettagli

Fondamenti di programmazione parte 2. Elementi di informatica IGLP

Fondamenti di programmazione parte 2. Elementi di informatica IGLP Fondamenti di programmazione parte 2 Elementi di informatica IGLP Questo insieme di trasparenze è stato ideato e realizzato dai ricercatori e professori del Dipartimento di Informatica e Sistemistica dell

Dettagli

Ogni CPU è in grado di eseguire un insieme limitato di istruzioni macchina codificate in binario secondo il seguente schema generale.

Ogni CPU è in grado di eseguire un insieme limitato di istruzioni macchina codificate in binario secondo il seguente schema generale. Ogni CPU è in grado di eseguire un insieme limitato di istruzioni macchina codificate in binario secondo il seguente schema generale. Campo Codice Operativo Campo Operandi K bit n-k bit n bit 1 Istruzione

Dettagli

Calcolatori Elettronici

Calcolatori Elettronici Calcolatori Elettronici LIVELLO ORGANIZZAZIONE: SCHEMI DI BASE ALU e REGISTER FILE Massimiliano Giacomin 1 DOVE CI TROVIAMO LIVELLO SIST. OP. Application Binary Interface (ABI) ISA Instruction Set Architecture

Dettagli

Il linguaggio macchina

Il linguaggio macchina Il linguaggio macchina Un istruzione in linguaggio macchina è, sul piano astratto, una tripla strutturata: i = (f, P1, P2) ove: f F insieme dei codici operativi del processore, cioè delle operazioni elementari

Dettagli

Circuiti combinatori notevoli

Circuiti combinatori notevoli Architettura degli Elaoratori e delle Reti Lezione 5 Circuiti cominatori notevoli F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 5 1 Comparatore! Confronta parole

Dettagli

Unità aritmetica e logica

Unità aritmetica e logica Aritmetica del calcolatore Capitolo 9 Unità aritmetica e logica n Esegue le operazioni aritmetiche e logiche n Ogni altra componente nel calcolatore serve questa unità n Gestisce gli interi n Può gestire

Dettagli