Fondamenti di Informatica CdL Ingegneria Meccanica A.A. 2013/14

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Fondamenti di Informatica CdL Ingegneria Meccanica A.A. 2013/14"

Transcript

1 Fondamenti di Informatica CdL Ingegneria Meccanica A.A. 2013/14 Docente: Ing. Ivan Bruno Calcolatore e istruzioni assembler 1. Architettura del Calcolatore 2. Assembler e Linguaggio macchina 3. Esecuzione istruzioni 1

2 L elaboratore DATI RISULTATI DATI RISULTATI Programma Architettura generale di un calcolatore 2

3 Alcuni Cenni alle periferiche I/O, Input/Output, Ingressi/Uscita Input: keyboard (tastiera), mouse, scanner Output: monitor, printer Memory, Memoria Di base: RAM, ROM, stato solido. Di Massa: dischi (HD, FD), nastri, CPU, microprocessore ALU (Unità Logico Matematica) Unità di Controllo Registri etc. La Struttura del BUS di Sistema 3

4 Direzione dei Segnali sul BUS CPU RAM ROM IN OUT BUS ADDress BUS DATI READ/WRITE M/IO BUS Controlli La Memoria e l elaboratore Composta da celle o locazioni Ad ogni cella corrisponde un indirizzo Bus Indirizzi: N Bit di Indirizzamento, es: 32 bit Bus Dati: M bit Bus Controlli: Segnali di Controllo, Read, Write, Select. Tempo di lettura: tempo di accesso Si ha una capacita di M*2 N bit 4

5 Big-endian e little-endian Due metodi differenti usati dai calcolatori per immagazzinare in memoria dati di dimensione superiore al byte (es. word, dword, qword). Ad esempio, Intel e Digital usano il formato little endian mentre Motorola, IBM e Sun usano il formato big endian. Il big-endian, dato che è stato scelto come ordine standard in molti protocolli utilizzati in Internet, viene anche chiamato network byte order. Per contro viene chiamato host byte order l'ordine nativo dell'host in uso. big-endian: i byte più significativi sono memorizzati all'indirizzo di memoria più piccolo ed i byte successivi negli indirizzi più grandi little-endian: i byte meno significativi sono memorizzati all'indirizzo di memoria più piccolo ed i byte successivi ad indirizzi via via crescenti. Big-endian e little-endian Nel caso di una WORD (16 bit), il numero esadecimale 0x0123 verrà immagazzinato come: Little endian Big endian x23 0x01 0x01 0x byte: Nel caso di una DWORD (32 bit), il numero esadecimale 0x verrà immagazzinato come: Little endian Big endian x67 0x45 0x23 0x x01 0x23 0x45 0x byte:

6 Transazioni sul bus, Ciclo macchina T1 T2 T3 CPU effettua un ciclo di lettura in 3 cicli di clock T1: CPU: asserisce l indirizzo di memoria, disasserisce i comandi di lettura READ e M T2: la memoria pilota il bus dati con il contenuto della cella T3: CPU legge dal bus dati Ta Ta = Tempo di Accesso Lettura dalla memoria Transazioni sul bus, Ciclo macchina Scrittura in memoria T1 T2 T3 CPU effettua un ciclo di scrittura in 3 cicli di clock T1: CPU: asserisce l indirizzo di memoria, il dato da scrivere e disasserisce il comando di lettura WRITE e M T2: L operazione id scrittura è in corso T3: scrittura completata Tempo di scrittura 6

7 Selezione, Memoria/IO R/W M/IO READ WRITE Action none Read Memory Write Memory imp none Read IO Write IO imp Architettura di Von Neuman Memoria indifferenziata per dati o istruzioni, solo l'interpretazione da parte della CPU stabilisce se una data configurazione di bit è da vedersi come un dato o come un'istruzione 7

8 Architettura Harward Due memorie distinte: la memoria istruzioni e la memoria dati. Il comando di lettura della memoria istruzioni è superfluo, in quanto si può immaginare che questa memoria sia sempre e soltanto letta Confronto Von Neuman Accesso a istruzioni e dati nella stessa memoria Flessibilità nello sfruttamento della memoria Rischio di manipolazione del codice Minore costi di realizzazione Harward Robustezza alla manipolazione del codice Accesso contemporaneo a codice e dati Costi maggiori di realizzazione Minore flessibilità 8

9 CPU Funzioni & Architettura Funzioni principali di una CPU sono: Trasferimento Dati Controllo di Flusso Elaborazioni Aritmetiche e Logiche (Addizioni e Sottrazioni, AND, OR, XOR, NOT, Incrementi, Decrementi, Shift, Clear, ecc ) Ogni CPU ha un array register con almeno: Un Registro ACCUMULATORE (W o Acc o R0) Il PROGRAM COUNTER (PCL) L INSTRUCTION REGISTER (IR) Lo STACK POINTER (SP) CPU - Architettura 9

10 Elementi delle CPU UC: Unità di Controllo, Control Unit Decodifica le istruzioni contenute nell IR e genera i segnali di controllo Controlla le altre unità al fine di completare l istruzione data in IR Produce i segnali che escono dalla CPU Legge alcuni segnali che entrano nella CPU, per esempio il Clock.. UO: Unità operativa Contiene i registri Contiene la ALU Registri di CPU MAR: Memory Address Register contiene l'indirizzo della locazione di memoria da leggere o scrivere. La dimensione di MAR determina l'ampiezza dello spazio di memoria fisica essendo legato al bus indirizzi (es: a 32 bit) DTR: Data Transfer Register registro attraverso il quale viene scambiata l'informazione tra la memoria e la CPU Tradizionalmente dà la misura del grado di parallelismo della macchina (8, 16, 32, 64 bit) R0, R1,...Rn: registri di uso generale Registri di uso generale (general purpose registers), elevata velocità, memorizzazione temporanea dei dati 10

11 Registri di CPU IR: Instruction Register Usato per contenere l'istruzione in corso di esecuzione. Caricato in fase di fetch dalla memoria. Rappresenta l'ingresso che determina le azioni svolte durante la fase di esecuzione. Dall IR viene decodificata l istruzione PC: Program Counter Tiene traccia dell'esecuzione del programma Contiene l indirizzo di memoria della prossima istruzione Viene aggiornato per indirizzare l istruzione successiva o parti di questa I Registri T0 e TI sono registri temporanei in appoggio alla ALU CPU - Esecuzione istruzioni L esecuzione di un istruzione da parte della CPU è divisa in MICROISTRUZIONI ed eseguite in 2 fasi: -Fase di FETCH -Fase di EXECUTE Le Microistruzioni sono la sequenza dei comandi di attivazione dei segnali che controllano e attivano i dispositivi interni alla CPU 11

12 CPU - Esecuzione istruzioni Fase di FETCH - La CPU carica sull address bus l indirizzo dell istruzione da eseguire (MAR) - L indirizzo caricato è fornito dal Program Counter (PC), registro allocato nella Control Unit della CPU - Sul control bus ci sono le informazioni (comandi attivi) per leggere la locazione di memoria il cui indirizzo è sull address bus, mentre sul data bus vengono caricati i dati dalla locazione di memoria contenuta nell instruction register (IR) - Il PC viene aggiornato ed ora punta alla prossima istruzione del programma da eseguire CPU - Esecuzione istruzioni Fase di EXECUTE L istruzione caricata nell IR viene decodificata Vengono eseguiti i trasferimenti di dati necessari e le operazioni logiche e/o aritmetiche derivate dalla decodifica dell op code Il risultato, a seconda del tipo di operazione eseguita è riscritto in un registro o in una locazione di memoria o su un dispositivo di I/O Normalmente, quindi, un istruzione per essere eseguita RICHIEDE ALMENO 2 CICLI MACCHINA (almeno 2 ACCESSI IN MEMORIA, uno in LETTURA e uno in SCRITTURA) 12

13 CISC vs RISC Esistono 2 grandi famiglie di CPU: CISC e RISC. CISC (Complex Instruction Set Computer) In genere le CPU commerciali sono CISC Normalmente utilizzano architetture Von Neumann classiche Molte istruzioni (>100) Molti metodi di indirizzamento Più di 1 ciclo macchina per eseguire un istruzione RISC (Reduced Instruction Set Computer) Poche istruzioni (<50) Pochi metodi di indirizzamento (solo diretto e indiretto) 1 ciclo macchina per eseguire un istruzione (a parte salti e call) Linguaggio Macchina e Assembly Ogni processore e' in grado di eseguire un certo numero di istruzioni, cioè può eseguire un numero più o meno grande di operazioni elementari. Un programma è costituito da una sequenza di tali istruzioni che permette al microprocessore di assolvere ad un determinato compito di calcolo e/o di controllo. Le istruzioni che il microprocessore deve leggere ed eseguire sono immagazzinate nella memoria in forma di codice binario ovvero sono espresse in quello che si chiama "LINGUAGGIO MACCHINA". L'uso del linguaggio Assembly permette di adottare una forma simbolica testuale (codice mnemonico) che richiama con una notazione sintetica il modo di operare di ogni istruzione. 13

14 Linguaggio Macchina e Assembly Il linguaggio Assembly è pertanto più agevole e conserva tutti i vantaggi di sintesi e di capacità di esecuzione, in quanto a ogni istruzione in linguaggio Assembly corrisponde una sola istruzione in linguaggio macchina. La corrispondenza uno a uno fra istruzione di linguaggio Assembly e istruzione in linguaggio macchina vieta la possibilità di un unico linguaggio Assembly che, pertanto, è diverso da microprocessore a microprocessore. Per essere eseguito, un programma in linguaggio Assembly deve essere tradotto in linguaggio macchina da uno specifico programma chiamato Assembler. ASSEMBLY ASSEMBLER CODICE OGGETTO Linguaggio Macchina e Assembly Il codice sorgente di un programma in Assembly è un file di testo, cioè un insieme di caratteri ASCII. Successivamente l Assembler (assemblatore) si occupa di tradurre il file sorgente in un file oggetto, ovvero in un file espresso/codificato in linguaggio macchina. Il file prodotto dall'assemblatore viene poi trattato dal programma detto Linker che fornisce un file effettivamente eseguibile dalla CPU. L'ultimo passo del processo consiste nel caricare e far eseguire il file creato dal linker. Librerie (codici oggetto precedentemente generati) ASSEMBLY ASSEMBLER CODICE OGGETTO LINKER Exe 14

15 Assembly : Tipi di Istruzioni Istruzioni aritmetico-logiche Sono le istruzioni aritmetiche, logiche o in generale tutte le istruzioni che effettuano manipolazioni sui dati. Esse devono specificare i dati su cui devono essere compiute le operazioni e dove depositare il risultato. Istruzioni di ingresso-uscita (READ,WRITE) Adempiono la funzione di trasferimento dati all'interno o all'esterno dell'elaboratore. Esse indicano sia l'unità periferica che deve essere utilizzata sia dove si trova il dato che deve essere emesso all'esterno (oppure dove deve essere depositato il dato immesso all'interno). Istruzioni di salto e controllo di flusso (JMP) Servono per alterare l'esecuzione sequenziale di un programma. Il salto può essere incondizionato o condizionato. Nel primo caso è specificato l'indirizzo di memoria in cui si trova la successiva istruzione da eseguire. Nel secondo caso è specificato anche una condizione necessaria perché il salto avvenga. Istruzioni per il controllo del contesto: permettono di gestire le interruzioni e di salvare e ripristinare il contesto del microprocessore Istruzioni aritmetico-logiche add, addi Problema: a=b+c add a, b, c Somma b con c e memorizza il risultato in a. Quindi: b!=0 e c==0, a assume il valore di b b==0 e c!=0, a assume il valore di c b!=0 e c!=0, a assume il valore di b+c Problema: x=a+b+c add tmp, a, b add x, tmp, c Occorre una variabile di appoggio tmp. 15

16 Istruzioni aritmetico-logiche add, addi Problema: a=b+10 addi a, b, 10 Somma b con il valore costante 10 e memorizza il risultato in a. add immediate opera quindi addizioni nelle situazioni in cui il secondo operando è un valore costante La differenza con add (come vedremo) è nella definizione in termini di linguaggio macchina Istruzioni aritmetico-logiche OSSERVAZIONE: gli operandi a, b, c, tmp. non sono riferimenti a variabili di memoria, in quanto operazioni che coinvolgono la memoria avrebbero il difetto di essere costose dal punto di vista del tempo di esecuzione in quanto il tempo di accesso alla memoria sarebbe dominante (msec). Pertanto le operazioni aritmetiche e logiche vengono eseguite internamente alla CPU e i dati devono trovarsi già all interno gli operandi sono quindi legati ai registri interni alla CPU che hanno tempi di accesso molto più veloci rispetto alla memoria (nsec). 16

17 Istruzioni aritmetico-logiche In virtù di quanto detto, la definizione delle istruzioni add e addi diventano: add $x, $y, $z; addi $x, $y, value; Con: $x: registro destinazione $y e $z: registri sorgente value: il valore della costante (considerata col segno) In modo analogo si definisco le istruzioni: sub (sottrazione), mult (moltiplicazione), and (operatore logico AND bit a bit), Istruzioni aritmetico-logiche Comparazione valori: set on less than slt $x, $y, $z; Con: $x: registro destinazione $y e $z: registri oggetto della comparazione $x=1 se $y<$z, $x=0 altrimenti 17

18 Istruzioni di ingresso-uscita (READ,WRITE) Istruzioni per il trasferimento dati dalla memoria ai registri. Load-word (Read) lw $x, Base[$y]; Carica il registro $x col valore prelevato all indirizzo dato dalla somma del numero Base con il contenuto del registro $y Il valore letto è a 4 byte Store-word (Write) sw $x, Base[$y]; Scrive il valore contenuto nel registro $x all indirizzo dato dalla somma del numero Base con il contenuto del registro $y Indirizzamento Base+offset Nelle istruzioni lw e sw l indirizzamento in memoria prende il nome di Base + offset Base = word Indirizzi crescenti Offset = 4 Indirizzo = E01 AAFF 111A 0000 C0C0 D1CA ACCA

19 Istruzioni di salto e controllo di flusso Consentono di cambiare il regolare flusso di esecuzione sequenziale operando dei salti Consentono: Esecuzione di porzioni di istruzioni assembly in modo ciclico fino al verificarsi di particolari condizioni logico-matematico Saltare ad un porzione di codice al verificarsi di particolari condizioni logicomatematico Sono necessari un test e un riferimento, detto label, all istruzione cui saltare Istruzioni che integrano test+label si definisco istruzioni di conditional brach Istruzioni che eseguono un salto senza un test si definiscono istruzioni di salto incondizionato Istruzioni di salto e controllo di flusso Salto condizionato con l istruzione beq (brach if equal) beq $x,$y,label I valori in $x, $y sono comparati e se: $x==$y si salta ad eseguire l istruzione indicata da label e da lì continua l esecuzione $x!=$y si esegue l istruzione successiva (eseguendo il regolare flusso di istruzioni) Si tratta quindi di un test di uguaglianza In abbinamento all istruzione slt si possono realizzare test basati su condizioni di >, >=, <, <= 19

20 Istruzioni di salto e controllo di flusso Esempio: assumendo $x=0, label = pippo pippo: add $a,$b,$c slt $y,$t,$s beq $x,$y,pippo add $x,$y,$t Si salterà all istruzione identificata da pippo quando $t>=$s ( $y=0) Si continua a saltare fintanto che si verifica la condizione $t>=$s Istruzioni di salto e controllo di flusso Salto incondizionato con l istruzione j (jump) j label Si salta ad eseguire l istruzione indicata da label e da lì continua l esecuzione 20

21 I registri dell R4000 Sono 32 e denotati come $0, $1,,$31 All inizio dell esecuzione di ogni istruzione il registro $0 contiene il valore 0 x=a+b+c l avevamo scritta come add tmp, a, b; add x, tmp, c; Se si considerano pre-caricati i registri: $2 con il valore di a $3 con il valore di b $4 con il valore di c e: $5 il registro d appoggio col ruolo di tmp $6 il registro finale con il risultato finale L espressione precedente diventa: add $5, $2, $3; add $6, $5, $4; Esempio di codice assembly a=b+15-c[2]-c[3] Supponendo che a, b e c siano rispettivamente agli indirizzi 100, 104 e 108, $5 contiene il risultato e $0 ad ogni istruzione contiene lo 0 lw $5, 104[$0]; addi $5, $5,15; addi $6, $0, 2; lw $7, 108[$6]; sub $5, $5, $7; addi $6, $6, 1; lw $7, 108[$6]; sub $5, $5, $7; sw $5, 100[$0]; word AF A1 01AB A1 000F FF 21

22 Memoria organizzata a 32 bit a=b+15-c[2]-c[3] Supponendo che a, b e c siano rispettivamente agli indirizzi 100, 104 e 108, $5 contiene il risultato e $0 ad ogni istruzione contiene lo 0 lw $5, 104[$0]; addi $5, $5,15; addi $6, $0, 2; lw $7, 108[$6]; sub $5, $5, $7; addi $6, $6, 1; lw $7, 108[$6]; sub $5, $5, $7; sw $5, 100[$0]; dword AF A AB A F FF Ciclo iterativo in assembly addi $4, $0, 0; addi $5, $0, 0; addi $6, $0, 10; start_loop: slt $1, $5, $6; beq $0,$1, end_loop; lw $7, 100[$5]; add $4, $4, $7; addi $5, $5, 1; j start_loop; end_loop: sw $4, 612[$0]; 22

23 Formato istruzioni in linguaggio macchina Un'istruzione in linguaggio macchina può essere rappresentata graficamente secondo questo schema generale: CODICE OPERATIVO OPERANDI Il codice operativo specifica l'operazione da compiere. Se si hanno N bit allora e possibile identificare diverse istruzioni. Gli operandi specificano le locazioni delle celle di memoria cui ciascuna operazione si riferisce. Il codice operativo è sempre presente; mentre gli operandi possono mancare. La lunghezza di un'istruzione varia a seconda del tipo di elaboratore. La lunghezza può variare anche da istruzione a istruzione. Il repertorio delle istruzioni Repertorio stile RISC (Mips) caso R4000 le istruzioni hanno tutte la stessa dimensione (4 byte) il campo del codice di operazione (OP) occupa uno spazio predefinito esiste un numero estremamente limitato di formati Formato R (Registri operandi) Formato I (Immediate offset) Formato J (Jump INDirizzo) 23

24 Formato istruzioni add, sub e addi Codifica istruzioni add e sub usa il Formato R op rs rt rd - funct op = 0 per tutte le istruzioni aritmetico-logiche funct definisce il codice dell operazione rs, rt, rd codificano i registri interessati nell operazione Con 5 bit a disposizione si hanno 32 registri numerati da 0 a 31 bit Per la somma (add) funct vale 32 e la codifica è: add $rd, $rs, $rt op=0 rs rt rd - funct= xxxxx xxxxx xxxxx Per la sottrazione (sub) funct vale 34 e la codifica è: sub $rd, $rs, $rt op=0 rs rt rd - funct= xxxxx xxxxx xxxxx Formato istruzioni addi L istruzione addi usa il Formato I op = 8 op rs rd value value definisce il valore della costante rs, rd codificano i registri interessati nell operazione bit Pertanto: addi $rd, $rs, value op=8 rs rd value xxxxx xxxxx xxxxxxxxxxxxxxxx La costante è codificata a 16 bit e consente 2 16 =65536 valori 24

25 Formato istruzione slt (set on less) op rs rt rd - funct slt Usa il Formato R (è un istuzione aritmentico logico) op=0 Funct = 42 rs, rd, rt codificano i registri interessati nell operazione $rd=1 se $rs<$rt, $rd=0 altrimenti Pertanto: bit slt $rd, $rs, $rt op=0 rs rt rd - funct= xxxxx xxxxx xxxxx Formato istruzioni load e store word Le istruzioni lw e sw usano il Formato I lw op rs rd base bit op = 35 base definisce il valore della costante come riferimento dell indirizzo di memoria ed è codificata a 16 bit rs, rd codificano i registri interessati nell operazione $rd registro caricato col valore letto Pertanto: lw $rd,base[$rs] op=35 rs rd base xxxxx xxxxx xxxxxxxxxxxxxxxx 25

26 Formato istruzioni load e store word op rs rd base sw op=43 base definisce il valore della costante come riferimento dell indirizzo di memoria ed è codificata a 16 bit rs, rd codificano i registri interessati nell operazione $rd registro contenente il valore da scrivere in memoria bit Pertanto: sw $rd,base[$rs] op=43 rs rd base xxxxx xxxxx xxxxxxxxxxxxxxxx Formato istruzioni di salto beq e jump op rs rd label beq Usa il Formato I op=4 label definisce il valore della costante che esprime la distanza tra l istruzione corrente e quella a cui saltare (spiazzamento). Si possono indirizzare locazioni, però considerando lo spazio occupato da ciascuna istruzione (4byte), il range di salto effettivo è [-128KB,+128KB] Si utilizza per salti locali ovvero le istruzioni sono vicine rs, rd codificano i registri interessati nell operazione di confronto Pertanto: bit beq $rd, $rs, label op=4 rs rd label xxxxx xxxxx xxxxxxxxxxxxxxxx 26

27 Formato istruzioni di salto beq e j j op label 6 26 Salto incondizionato Usa il Formato J op=2 label a 26 bit (ampiezza salto o spiazzamento) permette salti >128KB Pertanto: bit j label op=2 label xxxxxxxxxxxxxxxxxxxxxxxxxx 27

28 Codifica assembly in forma numerica: linguaggo macchina addi $4, $0, 0; addi $5, $0, 0; addi $6, $0, 10; start_loop: slt $1, $5, $6; beq $0,$1, end_loop; lw $7, 100[$5]; add $4, $4, $7; addi $5, $5, 1; j start_loop; end_loop: sw $4, 612[$0];

29 Esecuzione su un processore Sommatore Porta AND Espansore di Bit Multiplexer Nota: non rappresenta il RISC4000 ma è un modello didattico semplificato Alcuni elementi circuitali L1 L0 n 1/0 Linea dati/indirizzi Una linea di comunicazione a n bits Segnale di Controllo - Abilitata/disabilita un dispositivo es. il wr_enable verso la memoria Multiplexer - Abilitata uno degli ingressi in base al valore del segnale di controllo in ingresso, se 0 attiva la linea L0, se 1 attiva la linea L1. Espansore di bit Estende il numero di bit da 16 a 32, riempendo con 0 la parte significativa a 16 bit. Esempio: la sequenza diventa Porta AND A due ingressi, con uscita asserita (1) se entrambi gli ingressi sono asseriti (1), 0 altrimenti 29

30 Alcuni elementi circuitali Sommatore e PC Sommatore ALU semplificata e ridotta al solo calcolo delle addizioni PC (Program Counter) Registro a 32 bit contenente l istruzione successiva da eseguire. Nel modello utilizzato ogni istruzione occupa 32 bit, il sommatore abbinato al PC ha un ingresso +4 che consente di eseguire l operazione PC=PC+4 Istruzione add data_wr: registro con il risultato dell operazione addr_wr: indirizzo interno del registro di scrittura (rd) $_rs e $_rt: valore operandi in ingresso alla ALU ALU_out: risultato dell operazione op=0 rs rt rd - funct=32 0:5 6:10 11:15 16:20 21:25 26:31 Codifica istruzione add 30

31 Istruzione addi op=8 rs rd value 0:5 6:10 11:15 16:31 Codifica istruzione addi Istruzione sw addr = base + $_rs data_in = $_rt ($rd) op=43 rs rd base 0:5 6:10 11:15 16:31 Codifica istruzione sw 31

32 Istruzione lw addr = base + $_rs data_wr = data_out addr_wr = data_wr ($rd) op=35 rs rd base 0:5 6:10 11:15 16:31 Codifica istruzione lw Istruzione beq PC = PC+4 PC + label rt L1 L0 $_rt brach=1 zero_bit=1 se ($_rs-$_rt)=0 branch AND zero_bit = 1 L1 op=4 rs rt label 0:5 6:10 11:15 16:31 Codifica istruzione beq 32

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

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

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

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

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

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

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

Capitolo 5 Elementi architetturali di base

Capitolo 5 Elementi architetturali di base Capitolo 5 Elementi architetturali di base Giuseppe Lami Istituto di Scienza e Tecnologie dell Informazione CNR Via Moruzzi, 1 - Pisa giuseppe.lami@isti.cnr.it Struttura - Unità di elaborazione e controllo

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

Architettura degli Elaboratori

Architettura degli Elaboratori Architettura degli Elaboratori Linguaggio macchina e assembler (caso di studio: processore MIPS) slide a cura di Salvatore Orlando, Andrea Torsello, Marta Simeoni " Architettura degli Elaboratori 1 1 Istruzioni

Dettagli

Struttura di un elaboratore

Struttura di un elaboratore Struttura di un elaboratore Fondamenti di Informatica 1 Modello architetturale di un computer Ogni computer è costituito da un insieme di blocchi funzionali tra loro interconnessi da sistemi di comunicazioni,

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

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

Architettura di un calcolatore: introduzione. Calcolatore: sottosistemi

Architettura di un calcolatore: introduzione. Calcolatore: sottosistemi Corso di Calcolatori Elettronici I A.A. 2012-2013 Architettura di un calcolatore: introduzione Prof. Roberto Canonico Università degli Studi di Napoli Federico II Dipartimento di Ingegneria Elettrica e

Dettagli

Architettura del calcolatore (Seconda parte)

Architettura del calcolatore (Seconda parte) Architettura del calcolatore (Seconda parte) Ingegneria Meccanica e dei Materiali Università degli Studi di Brescia Prof. Massimiliano Giacomin LINGUAGGIO E ORGANIZZAZIONE DEL CALCOLATORE Linguaggio assembly

Dettagli

A.A. 2018/2019. CPU e Linguaggio Macchina FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE. Docente Prof. Raffaele Pizzolante

A.A. 2018/2019. CPU e Linguaggio Macchina FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE. Docente Prof. Raffaele Pizzolante A.A. 2018/2019 Docente Prof. Raffaele Pizzolante FONDAMENTI DI INFORMATICA E PROGRAMMAZIONE Architettura di Von Neumann Modello concettuale di un architettura di computer che permette di rappresentare,

Dettagli

Un quadro della situazione. Lezione 15 Il Set di Istruzioni (2) Le operazioni e gli operandi. Dove siamo nel corso. Cosa abbiamo fatto

Un quadro della situazione. Lezione 15 Il Set di Istruzioni (2) Le operazioni e gli operandi. Dove siamo nel corso. Cosa abbiamo fatto Un quadro della situazione Lezione 15 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

L unità di controllo di CPU a singolo ciclo

L unità di controllo di CPU a singolo ciclo L unità di controllo di CPU a singolo ciclo Prof. Alberto Borghese Dipartimento di Informatica alberto.borghese@unimi.it Università degli Studi di Milano Riferimento sul Patterson: capitolo 4.2, 4.4, D,

Dettagli

Fondamenti di Informatica e Programmazione. P ro f. G i a n n i D A n g e l o

Fondamenti di Informatica e Programmazione. P ro f. G i a n n i D A n g e l o Fondamenti di Informatica e Programmazione CPU e Linguag gio Macchina P ro f. G i a n n i D A n g e l o Email: giadangelo@unisa.it A.A. 2018/19 Elaborazione dell Informazione L'elaborazione delle informazioni

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

Architettura dei computer

Architettura dei computer Architettura dei computer In un computer possiamo distinguere quattro unità funzionali: il processore la memoria principale (memoria centrale, RAM) la memoria secondaria i dispositivi di input/output La

Dettagli

Elementi base per la realizzazione dell unità di calcolo

Elementi base per la realizzazione dell unità di calcolo Elementi base per la realizzazione dell unità di calcolo Memoria istruzioni elemento di stato dove le istruzioni vengono memorizzate e recuperate tramite un indirizzo. ind. istruzione Memoria istruzioni

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

CPU a singolo ciclo. Lezione 18. Sommario. Architettura degli Elaboratori e delle Reti. Proff. A. Borghese, F. Pedersini

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

Dettagli

La CPU a singolo ciclo

La CPU a singolo ciclo La CPU a singolo ciclo Prof. Alberto Borghese Dipartimento di Scienze dell Informazione borghese@dsi.unimi.it Università degli Studi di Milano Riferimento sul Patterson: capitolo 5 (fino a 5.4) /46 Sommario

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

L architettura del calcolatore (Seconda parte)

L architettura del calcolatore (Seconda parte) L architettura del calcolatore (Seconda parte) Percorso di Preparazione agli Studi di Ingegneria Università degli Studi di Brescia Docente: Massimiliano Giacomin ORGANIZZAZIONE DEL CALCOLATORE: RICHIAMI

Dettagli

La CPU a singolo ciclo

La CPU a singolo ciclo La CPU a singolo ciclo Prof. Alberto Borghese Dipartimento di Scienze dell Informazione borghese@dsi.unimi.it Università degli Studi di Milano Riferimento sul Patterson: capitolo 5 (fino a 5.4) 1/44 Sommario

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

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

Istruzioni di trasferimento dati

Istruzioni di trasferimento dati Istruzioni di trasferimento dati Leggere dalla memoria su registro: lw (load word) Scrivere da registro alla memoria: sw (store word) Esempio: Codice C: A[8] += h A è un array di numeri interi Codice Assembler:

Dettagli

Architettura di un calcolatore: introduzione. Calcolatore: sottosistemi

Architettura di un calcolatore: introduzione. Calcolatore: sottosistemi 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

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

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

ISA (Instruction Set Architecture) della CPU MIPS32

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

Dettagli

Architettura di un calcolatore: introduzione. Calcolatore: sottosistemi

Architettura di un calcolatore: introduzione. Calcolatore: sottosistemi Corso di Calcolatori Elettronici I A.A. 2010-2011 Architettura di un calcolatore: introduzione Lezione 18 Prof. Roberto Canonico Università degli Studi di Napoli Federico II Facoltà di Ingegneria Corso

Dettagli

Architettura dell elaboratore

Architettura dell elaboratore Architettura dell elaboratore Riprendiamo il discorso lasciato in sospeso ad inizio corso Riepilogando I programmi e i dati risiedono nella memoria secondaria Per essere eseguiti (i programmi) e usati

Dettagli

Architettura dell elaboratore

Architettura dell elaboratore Architettura dell elaboratore Riprendiamo il discorso lasciato in sospeso ad inizio corso Riepilogando I programmi e i dati risiedono nella memoria secondaria Per essere eseguiti (i programmi) e usati

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

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 processore. Istituzionii di Informatica -- Rossano Gaeta

Il processore. Istituzionii di Informatica -- Rossano Gaeta Il processore Il processore (detto anche CPU, ovvero, Central Processing Unit) è la componente dell unità centrale che fornisce la capacità di elaborazione delle informazioni contenute nella memoria principale

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

Introduzione all'architettura dei Calcolatori. Maurizio Palesi

Introduzione all'architettura dei Calcolatori. Maurizio Palesi Introduzione all'architettura dei Calcolatori Maurizio Palesi 1 Agenda Architettura generale di un Sistema di Elaborazione La memoria principale Il sottosistema di comunicazione La CPU Miglioramento delle

Dettagli

Architettura dei Calcolatori Elettronici

Architettura dei Calcolatori Elettronici Architettura dei Calcolatori Elettronici Prof. Orazio Mirabella L architettura del Calcolatore: esame delle sue caratteristiche Fondamentali Capacità di eseguire sequenze di istruzioni memorizzate Calcolatore

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

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

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

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

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

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

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

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

ISA e linguaggio assembler

ISA e linguaggio assembler ISA e linguaggio assembler Prof. Alberto Borghese Dipartimento di Informatica borghese@di.unimi.it Università degli Studi di Milano Riferimento sul Patterson: capitolo 4.2, 4.4, D1, D2. 1/39 Introduzione

Dettagli

Lezione 17 Il Set di Istruzioni (3)

Lezione 17 Il Set di Istruzioni (3) Lezione 17 Il Set di Istruzioni (3) Vittorio Scarano Architettura Corso di Laurea in Informatica Università degli Studi di Salerno Organizzazione della lezione Un richiamo su: Operazioni aritmetiche (add

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 Parte di Controllo La Parte Controllo (Control) della CPU è un circuito sequenziale istruzioni eseguite in più cicli di clock

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

Architettura dei calcolatori e sistemi operativi. Il processore Capitolo 4 P&H

Architettura dei calcolatori e sistemi operativi. Il processore Capitolo 4 P&H Architettura dei calcolatori e sistemi operativi Il processore Capitolo 4 P&H 4. 11. 2015 Sommario Instruction Set di riferimento per il processore Esecuzione delle istruzioni Struttura del processore

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

Calcolatore: sottosistemi

Calcolatore: sottosistemi Calcolatore: sottosistemi Processore o CPU (Central Processing Unit) Memoria centrale Sottosistema di input/output (I/O) CPU I/O Memoria Calcolatore: organizzazione a bus Il processore o CPU Unità di controllo

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

Modifiche di orario. Lezione 19 Il Set di Istruzioni (6) Dove siamo nel corso. Un quadro della situazione

Modifiche di orario. Lezione 19 Il Set di Istruzioni (6) Dove siamo nel corso. Un quadro della situazione Modifiche di orario Lezione 19 Il Set di Istruzioni (6) Vittorio Scarano Architettura Corso di Laurea in Informatica Università degli Studi di Salerno Al posto della lezione di domani giovedì 22/5 (12-1)

Dettagli

Linguaggio macchina e register file

Linguaggio macchina e register file Linguaggio macchina e register file Prof. Alberto Borghese Dipartimento di Scienze dell Informazione borghese@di.unimi.it Università degli Studi di Milano Riferimento sul Patterson: capitolo 4.2, 4.4,

Dettagli

Lezione 18 Il Set di Istruzioni (4)

Lezione 18 Il Set di Istruzioni (4) Lezione 18 Il Set di Istruzioni (4) Vittorio Scarano Architettura Corso di Laurea in Informatica Università degli Studi di Salerno Organizzazione della lezione Un richiamo su: Operazioni aritmetiche (add

Dettagli

ARCHITETTURA DI UN SISTEMA DI ELABORAZIONE

ARCHITETTURA DI UN SISTEMA DI ELABORAZIONE ARCHITETTURA DI UN SISTEMA DI ELABORAZIONE Il computer o elaboratore è una macchina altamente organizzata capace di immagazzinare, elaborare e trasmettere dati con notevole precisione e rapidità. Schematicamente

Dettagli

Il processore - CPU (CENTRAL PROCESSING UNIT)

Il processore - CPU (CENTRAL PROCESSING UNIT) Il processore - CPU (CENTRAL PROCESSING UNIT) abbiamo visto Programmi e dati risiedono in file memorizzati in memoria secondaria Per essere eseguiti (i programmi) e usati (i dati) vengono copiati nella

Dettagli

ARCHITETTURA DI UN ELABORATORE! Ispirata al modello della Macchina di Von Neumann (Princeton, Institute for Advanced Study, anni 40).!

ARCHITETTURA DI UN ELABORATORE! Ispirata al modello della Macchina di Von Neumann (Princeton, Institute for Advanced Study, anni 40).! ARCHITETTURA DI UN ELABORATORE! Ispirata al modello della Macchina di Von Neumann (Princeton, Institute for Advanced Study, anni 40).! MACCHINA DI VON NEUMANN! UNITÀ FUNZIONALI fondamentali! Processore

Dettagli

L unità di controllo di CPU a singolo ciclo

L unità di controllo di CPU a singolo ciclo L unità di controllo di CPU a singolo ciclo Prof. Alberto Borghese Dipartimento di Informatica alberto.borghese@unimi.it Università degli Studi di Milano Riferimento sul Patterson: capitolo 4.2, 4.4, D1,

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

Un quadro della situazione. Lezione 15 Il Set di Istruzioni (3) Dove siamo nel corso. Organizzazione della lezione. Cosa abbiamo fatto

Un quadro della situazione. Lezione 15 Il Set di Istruzioni (3) Dove siamo nel corso. Organizzazione della lezione. Cosa abbiamo fatto Un quadro della situazione Lezione 15 Il Set di Istruzioni (3) Vittorio Scarano Architettura Corso di Laurea in Informatica Università degli Studi di Salerno Input/Output Sistema di Interconnessione Registri

Dettagli

Funzionalità di un calcolatore. Il calcolatore: modello architetturale. Lo schema di riferimento. L hardware dei sistemi di elaborazione (prima parte)

Funzionalità di un calcolatore. Il calcolatore: modello architetturale. Lo schema di riferimento. L hardware dei sistemi di elaborazione (prima parte) Funzionalità di un calcolatore L hardware dei sistemi di elaborazione (prima parte) Fondamenti di Informatica A Ingegneria Gestionale Università degli Studi di Brescia Trasferim ento Docente: Prof. Alfonso

Dettagli

Il calcolatore. È un sistema complesso costituito da un numero elevato di componenti. è strutturato in forma gerarchica

Il calcolatore. È un sistema complesso costituito da un numero elevato di componenti. è strutturato in forma gerarchica Il calcolatore È un sistema complesso costituito da un numero elevato di componenti. è strutturato in forma gerarchica ogni livello di descrizione è caratterizzato da una struttura rappresentante l organizzazione

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

ESERCITAZIONE Unità centrale di elaborazione Ciclo base di un istruzione Meccanismo di interruzione

ESERCITAZIONE Unità centrale di elaborazione Ciclo base di un istruzione Meccanismo di interruzione ESERCITAZIONE 8 Sommario Unità centrale di elaborazione Meccanismo di interruzione CPU-Memoria Architettura di una CPU Linguaggio macchina Modi di indirizzamento 1. Unità centrale di elaborazione L unità

Dettagli

Architettura degli elaboratori CPU a ciclo singolo

Architettura degli elaboratori CPU a ciclo singolo Architettura degli elaboratori CPU a ciclo singolo Prof. Alberto Borghese Dipartimento di Scienze dell Informazione borghese@di.unimi.it Università degli Studi di Milano Riferimento sul Patterson: capitolo

Dettagli

Funzionalità di un calcolatore. Il calcolatore: modello architetturale. Lo schema di riferimento. L hardware dei sistemi di elaborazione (prima parte)

Funzionalità di un calcolatore. Il calcolatore: modello architetturale. Lo schema di riferimento. L hardware dei sistemi di elaborazione (prima parte) Funzionalità di un calcolatore L hardware dei sistemi di elaborazione (prima parte) Elementi di Informatica e Programmazione Ingegneria Gestionale Università degli Studi di Brescia Docente: Prof. Ivan

Dettagli

Architettura del Calcolatore

Architettura del Calcolatore Giuseppe Manco Lezione 3 17 Ottobre 2003 Architettura del calcolatore Il calcolatore è uno strumento programmabile per la rappresentazione, la memorizzazione e l elaborazione delle informazioni un calcolatore

Dettagli

Componenti di un processore

Componenti di un processore Componenti di un processore Unità di Controllo Bus Interno REGISTRI Program Counter (PC) Registro di Stato (SR) Registro Istruzioni (IR) Registri Generali Unità Aritmetico- Logica Registro Indirizzi Memoria

Dettagli

Abilità Informatiche e Telematiche

Abilità Informatiche e Telematiche Abilità Informatiche e Telematiche (Laurea Triennale + Laurea Magistrale) Marco Pedicini mailto:marco.pedicini@uniroma3.it Corso di Laurea Magistrale in Informazione, Editoria e Giornalismo, Università

Dettagli

Architettura di un calcolatore: primi cenni introduttivi. Calcolatore: sottosistemi

Architettura di un calcolatore: primi cenni introduttivi. Calcolatore: sottosistemi Corso di Calcolatori Elettronici I A.A. 2011-2012 Architettura di un calcolatore: primi cenni introduttivi Lezione 1 (seconda parte) Prof. Roberto Canonico Università degli Studi di Napoli Federico II

Dettagli

Architettura degli elaboratori CPU a ciclo singolo

Architettura degli elaboratori CPU a ciclo singolo Architettura degli elaboratori CPU a ciclo singolo Prof. Alberto Borghese Dipartimento di Informatica borghese@di.unimi.it Università degli Studi di Milano iferimento sul Patterson: capitolo 4.2, 4.4,

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

Informazioni varie. Lezione 18 Il Set di Istruzioni (5) Dove siamo nel corso. Un quadro della situazione

Informazioni varie. Lezione 18 Il Set di Istruzioni (5) Dove siamo nel corso. Un quadro della situazione Informazioni varie Lezione 18 Il Set di Istruzioni (5) Vittorio Scarano Architettura Corso di Laurea in Informatica Università degli Studi di Salerno La lezione di martedì 20 maggio (9-12) non si tiene

Dettagli

Abilità Informatiche e Telematiche

Abilità Informatiche e Telematiche Abilità Informatiche e Telematiche (Laurea Triennale + Laurea Magistrale) Marco Pedicini mailto:marco.pedicini@uniroma3.it Corso di Laurea in Scienze della Comunicazione, Università Roma Tre 12 Dicembre

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

Architettura del calcolatore (Prima parte)

Architettura del calcolatore (Prima parte) Architettura del calcolatore (Prima parte) Ingegneria Meccanica e dei Materiali Università degli Studi di Brescia Prof. Massimiliano Giacomin Calcolatore astratto e reale Concetto astratto di calcolatore:

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

Progettazione dell unità di elaborazioni dati e prestazioni. Il processore: unità di elaborazione. I passi per progettare un processore

Progettazione dell unità di elaborazioni dati e prestazioni. Il processore: unità di elaborazione. I passi per progettare un processore Il processore: unità di elaborazione Architetture dei Calcolatori (lettere A-I) Progettazione dell unità di elaborazioni dati e prestazioni Le prestazioni di un calcolatore sono determinate da: Numero

Dettagli

ARCHITETTURA DI UN ELABORATORE

ARCHITETTURA DI UN ELABORATORE ARCHITETTURA DI UN ELABORATORE Unità funzionali Ispirata al modello della Macchina di Von Neumann (Princeton, Institute for Advanced Study, anni 40). La macchiana di Von Neumann: Non distingueva fra RAM

Dettagli

Il processore: unità di elaborazione

Il processore: unità di elaborazione Il processore: unità di elaborazione Architetture dei Calcolatori (lettere A-I) Progettazione dell unità di elaborazioni dati e prestazioni Le prestazioni di un calcolatore sono determinate da: Numero

Dettagli

Il linguaggio macchina

Il linguaggio macchina Il linguaggio macchina Istruzioni macchina (PH 2.4) Indirizzamento (PH 2.9) Costanti a 32-bit (PH 2.9) 1 Linguaggio macchina Le istruzioni in linguaggio assembly devono essere tradotte in linguaggio macchina

Dettagli

Istruzioni di controllo del flusso

Istruzioni di controllo del flusso Istruzioni di controllo del flusso Il flusso di esecuzione è normalmente sequenziale Le istruzioni di controllo cambiano la prossima istruzione da eseguire Istruzioni di salto condizionato branch if equal

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