(a) INTRODUZIONE ALLE ARCHITETTURE E ALLA SIMULAZIONE VERILOG DI PROCESSORI

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "(a) INTRODUZIONE ALLE ARCHITETTURE E ALLA SIMULAZIONE VERILOG DI PROCESSORI"

Transcript

1 1 (a) INTRODUZIONE ALLE ARCHITETTURE E ALLA SIMULAZIONE VERILOG DI PROCESSORI ISA E MICROARCHITETTURA DI PROCESSORI IL PROCESSORE MU0 MODELLAZIONE VERILOG E SIMULAZIONE DEL PROCESSORE MU0

2 2 ISA E MICROARCHITETTURA DI PROCESSORI

3 INSTRUCTION SET ARCHITECTURE 3 IL PROCESSORE È UNA MACCHINA SEQUENZIALE CHE ESEGUE DELLE ISTRUZIONI RESIDENTI IN MEMORIA ALLO SCOPO DI MANIPOLARE DEI DATI A LORO VOLTA RESIDENTI IN MEMORIA. L INSTRUCTION SET ARCHITECTURE (ISA) SPECIFICA L INSIEME DELLE CARATTERISTICHE DEL PROCESSORE VISIBILI AL PROGRAMMATORE. ESSO DEFINISCE L INTERFACCIA TRA HARDWARE E SOFTWARE. L'ISA SPECIFICA LA FUNZIONALITA' DEL PROCESSORE IN TERMINI DI: DATI GESTITI REGISTRI INTERNI DESTINATI A CONTENERE I DATI DA MANIPOLARE ISTRUZIONI CHE PRELEVANO DALLA MEMORIA E MANIPOLANO QUESTI DATI ISTRUZIONI DI "SALTO" MODALITA' DI FUNZIONAMENTO SPECIALI ISTRUZIONI SPECIALI

4 C - ASSEMBLY - CODICE MACCHINA 4 CODICE AD ALTO LIVELLO (C) COMPILER CODICE ASSEMBLY ASSEMBLER+LINKER CODICE MACCHINA UN PROCESSORE È L'ESECUTORE DI ISTRUZIONI DEL PROPRIO INSTRUCTION SET TRAMITE LE ISTRUZIONI MACCHINA È POSSIBILE ESEGUIRE UN QUALUNQUE ALGORITMO SPECIFICATO IN UN LINGUAGGIO AD ALTO LIVELLO IL PROCESSORE PUÒ ESEGUIRE LE ISTRUZIONI DEL PROPRIO IS SOLO UNA VOLTA CHE LE STESSE SONO STATE CONVERTITE IN FORMATO BINARIO (CODICE MACCHINA) LA TRASFORMAZIONE DA UNA RAPPRESENTAZIONE ALL'ALTRA VIENE ESEGUITA DA DEI SW DI SUPPORTO, IL COMPILATORE E L'ASSEMBLER MEMORIA ISTRUZIONI INSTRUCTIONS BUS INSTR ADDRESSES PROCESSORE DATA BUS DATA ADDRESSES MEMORIA DATI BUS BUS

5 INSTRUCTION SET ARCHITECTURE 5 FETCH DELLE ISTRUZIONI (I) ALLO SCOPO DI ESEGUIRE UN ALGORITMO IL PROCESSORE ESEGUE DELLE ISTRUZIONI DEL PROPRIO IS ALL'ISTANTE 0 DELL'ESECUZIONE LE ISTRUZIONI CHE CODIFICANO IL PROGRAMMA DA ESEGUIRE RISIEDONO NELLA MEMORIA ISTRUZIONI PER POTER ESSERE ESEGUITA DAL PROCESSORE CIASCUNA ISTRUZIONE DEVE ESSERE CARICATA IN UN REGISTRO INTERNO DEL PROCESSORE (FETCH DELL'ISTRUZIONE) SOLITAMENTE IL REGISTRO DESTINATO A CONTENERE L'ISTRUZIONE CORRENTE E' DENOMINATO INSTRUCTION REGISTER (IR) IL FLUSSO DI ESECUZIONE DELLE ISTRUZIONI VIENE DEFINITO DALLA DISLOCAZIONE IN MEMORIA DELLE ISTRUZIONI STESSE E DALLA TECNICA DI FETCH UTILIZZATA IL FLUSSO NORMALE DI ESECUZIONE (CHE NON FA USO DELLE ISTRUZIONI DEDICATE CHE SI OCCUPANO DI MODIFICARE TALE FLUSSO) PREVEDE LA ESECUZIONE SEQUENZIALE DELLE ISTRUZIONI SECONDO L'ORDINE DI SALVATAGGIO IN MEMORIA

6 INSTRUCTION SET ARCHITECTURE 6 FETCH DELLE ISTRUZIONI (II) UN REGISTRO INTERNO DEL PROCESSORE CONTIENE L'INDIRIZZO DELLA LOCAZIONE DI MEMORIA ALL'INTERNO DELLA QUALE E' CONTENUTA LA PROSSIMA ISTRUZIONE DA ESEGUIRE. TALE REGISTRO PRENDE IL NOME DI PROGRAM COUNTER (PC) OGNI QUALVOLTA VIENE CARICATA ED ESEGUITA UNA ISTRUZIONE CHE NON PREVEDA LA MODIFICA DEL FLUSSO DI ESECUZIONE IL PC VIENE INCREMENTATO IN AUTOMATICO IN MODO CHE LA PROSSIMA ISTRUZIONE CARICATA SULL'IR E QUINDI ESEGUITA SIA LA SUCCESSIVA A QUELLA ATTUALMENTE ESEGUITA (SEQUENZA DI ESECUZIONE NORMALE) LA MODIFICA DEL FLUSSO DI ESECUZIONE SEQUENZIALE VIENE GESTITA TRAMITE LE ISTRUZIONI DI SALTO. SUPPONENDO CHE LA PRIMA ISTRUZ SIA MEMORIZZATA ALLA LOCAZIONE DI MEMORIA 0, CHE CIASCUINA ISTRUZIONE OCCUPI UNA SOLA LOCAZIONE, E CHE NESSUNA DELLE PRIME 10 ISTRUZIONI SIA UNA ISTRUZIONE DI SALTO, LA SEQUENZA DI ESECUZIONE SAREBBE LA SEGUENTE: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,... SUPPONENDO CHE LA ISTRUZIONE 3 SIA UNA ISTRUZIONE DI SALTO (JUMP 7) LA SEQUENZA DI ESECUZIONE SAREBBE: 0, 1, 2, 3, 7, 8, 9,...

7 INSTRUCTION SET ARCHITECTURE 7 TIPOLOGIE DI ISTRUZIONI LE PRINCIPALI TIPOLOGIE DI ISTRUZIONI SONO 3, A CUI VANNO AGGIUNTE ISTRUZIONI DI TIPO ETEROGENEO NON CLASSIFICABILI IN MANIERA SINTETICA, E CHE PER ORA NON VEDIAMO. 1. ISTRUZIONI DI SPOSTAMENTO DATI: SI OCCUPANO DI SPOSTARE I DATI DALLA MEMORIA AI REGISTRI INTERNI DEL PROCESSORE E VICEVERSA, ESISTONO INOLTRE ISTRUZIONI CHE SPOSTANO I DATI FRA REGISTRI INTERNI E PIU' RARAMENTE ISTRUZIONI CHE SPOSTANO I DATI FRA LOCAZIONI DI MEMORIA 2. ISTRUZIONI DI MANIPOLAZIONE DATI: SI OCCUPANO DI PRELEVARE I DATI DA LOCAZIONI (DI SOLITO DAI REGISTRI INTERNI), DI UTILIZZARLI COME OPERANDI SORGENTE PER DELLE OPERAZIONI LOGICO/ARITMETICHE E DI SALVARE IL RISULTAO IN ALTRE LOCAZIONI (DI SOLITO DAI REGISTRI INTERNI). 2. ISTRUZIONI DI MODIFICA DEL FLUSSO DI ESECUZIONE (SALTO): SI OCCUPANO DI MODIFICARE IL CONTENUTO DEL PC IN MODO DA MODIFICARE IL FLUSSO DI ESECUZIONE DEFINITO DALL'INCREMENTO AUTOMATICO DEL PC STESSO

8 ARCHITETTURA E MICROARCHITETTURA DI PROCESSORI 8 L INSTRUCTION SET ARCHITECTURE (ISA) SPECIFICA L INSIEME DELLE CARATTERISTICHE DEL PROCESSORE VISIBILI AL PROGRAMMATORE. ESSO DEFINISCE L INTERFACCIA TRA HARDWARE E SOFTWARE. PER MICROARCHITETTURA DEL PROCESSORE SI INTENDE L ORGANIZZAZIONE INTERNA DEL PROCESSORE STESSO. PROCESSORI CON DIVERSE MICROARCHITETTURE POSSONO CONDIVIDERE LO STESSO ISA

9 MICROARCHITETTURA DI PROCESSORI 9 ELEMENTI BASE Program Counter (PC) Instruction Register (IR) Arithmetic & Logic Unit (ALU) Registri Interni (GPR, SPR, FPR, ACC) Multiplexers Special Function Units (SFU) Logica di controllo

10 10 ESEMPIO COMPLETO: IL PROCESSORE MU0

11 MU0 ISA 11 Istruzioni Formato unico a 16 bit, 4 di opcode e 12 di indirizzo Dati A 16 bit 4 bit 12 bit opcode address = S

12 MU0 ISA 12 Descrizione dell ISA Modi di indirizzamento Indirizzamento diretto da memoria 1 solo indirizzo specificato Registri Registro Accumulatore ACC (implicito) Program Counter PC (implicito) Tipi di dato Half word signed (16 bit)

13 MU0 ISA 13 INSTRUCTION SET Istruzione Opcode (HEX) Opcode (BIN) Descrizione LDA S ACC = mem[s] STO S mem[s] = ACC ADD S ACC = ACC + mem[s] SUB S ACC = ACC - mem[s] JMP S PC = S JGE S if (ACC >= 0) PC = S JNE S if (ACC!= 0) PC = S STP stop

14 14 UNA POSSIBILE MICROARCHITETTURA DEL PROCESSORE MU0

15 IL PROCESSORE MU0 DATAPATH E CONTROLLO 15 FSM CONTROL SIGNALS OPCODE, OTHER SIGNALS DATAPATH

16 IL PROCESSORE MU0 DATAPATH 16 MEMORY MUX IR PC A ALU B MUX ACC

17 IL PROCESSORE MU0 IMPLEMENTAZIONE DEL CONTROLLO Ciclo di esecuzione dell istruzione 17 Fetch IR <= MEM[PC]; PC <= PC+1; Execute ACC <= ACC +- Mem[S]; or ACC <= Mem[S]; or Mem[S] <= ACC; or PC <= S;

18 IL PROCESSORE MU0 FETCH DELLE ISTRUZIONI 18 PC <= PC+1; IR <= MEM[PC]; MEMORY IR PC A ALU

19 IL PROCESSORE MU0 ESECUZIONE DELLE ISTRUZIONI (1) 19 MEMORY Istruzione LDA S STO S ADD S SUB S JMP S JGE S JNE S STP Descrizione ACC = mem[s] mem[s] = ACC ACC = ACC + mem[s] ACC = ACC - mem[s] PC = S if (ACC >= 0) PC = S if (ACC!= 0) PC = S stop IR ACC

20 IL PROCESSORE MU0 ESECUZIONE DELLE ISTRUZIONI (2) 20 MEMORY Istruzione LDA S STO S ADD S SUB S JMP S JGE S JNE S STP Descrizione ACC = mem[s] mem[s] = ACC ACC = ACC + mem[s] ACC = ACC - mem[s] PC = S if (ACC >= 0) PC = S if (ACC!= 0) PC = S stop IR ACC

21 IL PROCESSORE MU0 ESECUZIONE DELLE ISTRUZIONI (3) 21 MEMORY Istruzione LDA S STO S ADD S SUB S JMP S JGE S JNE S STP Descrizione ACC = mem[s] mem[s] = ACC ACC = ACC + mem[s] ACC = ACC - mem[s] PC = S if (ACC >= 0) PC = S if (ACC!= 0) PC = S stop A IR ALU B ACC

22 IL PROCESSORE MU0 ESECUZIONE DELLE ISTRUZIONI (4) 22 Istruzione LDA S STO S ADD S SUB S JMP S JGE S JNE S STP Descrizione ACC = mem[s] mem[s] = ACC ACC = ACC + mem[s] ACC = ACC - mem[s] PC = S if (ACC >= 0) PC = S if (ACC!= 0) PC = S stop IR PC

23 IL PROCESSORE MU0 ESECUZIONE DELLE ISTRUZIONI (5) 23 Istruzione LDA S STO S ADD S SUB S JMP S JGE S JNE S STP Descrizione ACC = mem[s] mem[s] = ACC ACC = ACC + mem[s] ACC = ACC - mem[s] PC = S if (ACC >= 0) PC = S if (ACC!= 0) PC = S stop IR PC ACC

24 24 PROGRAMMAZIONE DELL MU0: PROGRAMMA 1 (MU0_S1) SOMMA

25 PROGRAMMAZIONE DELL MU0 25 PROGRAMMA MU0_S1 SPECIFICA E CODICE ASSEMBLY SPECIFICA C = A + B; Me0x100] Me0x101] Me0x102] CODICE lda 0x100 add 0x101 sto 0x102

26 PROGRAMMAZIONE DELL MU0 26 PROGRAMMA MU0_S1 CODIFICA IN LINGUAGGIO MACCHINA: ISTR #1 lda 0x100 // inizializza l accumulatore col dato A CODIFICA ASM 4 12 Opcode Immediate Op=0x0 Imm=0x100 CODIFICA 0100

27 PROGRAMMAZIONE DELL MU0 27 PROGRAMMA MU0_S1 CODIFICA IN LINGUAGGIO MACCHINA: ISTR #2 add 0x101 // addiziona all accumulatore il dato B CODIFICA ASM Op=0x Opcode Immediate CODIFICA 2101 Imm=0x101

28 PROGRAMMAZIONE DELL MU0 28 PROGRAMMA MU0_S1 CODIFICA IN LINGUAGGIO MACCHINA: ISTR #3 store 0x102 // memorizza il risultato CODIFICA ASM Op=0x Opcode Immediate CODIFICA 1102 Imm=0x102

29 PROGRAMMAZIONE DELL MU0 29 PROGRAMMA MU0_S1 CODIFICA IN LINGUAGGIO MACCHINA: ISTR #4 stop // stoppa la simulazione 4 12 Opcode CODIFICA ASM Op=0x7 CODIFICA 7000

30 30 MODELLAZIONE E SIMULAZIONE DEL PROCESSORE MU0

31 MODELLAZIONE VERILOG DELL MU0 31 CODIFICA VERILOG DEL SISTEMA COMPLETO La gerarchia del progetto è la seguente: testbench.v (top della gerarchia) memory.v (istanza MEM) mu0_core.v (istanza MU0) MU0_dp.v (istanza mu0dp) mux2x1.v (istanza MUX_A) mux_2x1_ext.v (istanza MUX_B) reg_rst.v (istanze PC; IR) tri_buffer.v (istanza tribuf) reg_acc.v (istanza ACC) alu.v (istanza ALU) MU0_fsm.v (istanza muofsm)

32 SIMULAZIONE DELL MU0 32 CONVERSIONE IN UN FORMATO LEGGIBILE DAL SIMULATORE VERILOG (READMEMH) CODICE BINARIO CONVERSIONE BINARIA (MANUALE) CODICE ASSEMBLY MEMORIA DATI/ ISTRUZIONI (MODELLO VERILOG) DATA/INSTRUCTIONS BUS ADDRESSES BUS MU0 (MODELLO VERILOG) SIMULATORE VERILOG (MODELSIM) RISULTATI FINALI CONVERSIONE IN UN FORMATO LEGGIBILE DAL SIMULATORE VERILOG (READMEMH) DATI INIZIALI

33 SIMULAZIONE DELL MU0 SIMULATORE VERILOG: MODELSIM 33

34 34 SIMULAZIONE DELL MU0: PROGRAMMA 1- MU0_S1 ISTRUZIONE DI ASSEGNAMENTO CON SOMMA

35 SIMULAZIONE DELL MU0 CODIFICA DEL TESTBENCH 35 vedi sorgente verilog

36 SIMULAZIONE DELL MU0 36 CONTENUTO DELLA MEMORIA: file MU0_S1.hex 0100 //lda 2101 //add 1102 //sto 7000 // stop 0005 // A = 0003 // B = 16'h3 N.B. Reset Vector = 0;

37 37 PROGRAMMAZIONE E SIMULAZIONE DELL MU0: PROGRAMMA 2- MU0_S2 MODIFICA DEL FLUSSO SEQUENZIALE DI ESECUZIONE

38 PROGRAMMAZIONE E SIMULAZIONE DELL MU0 PROGRAMMA MU0_S2: CONTENUTO DELLA 0100 //lda 2101 //add 1102 //sto 4005 //j 1103 //sto 1104 //sto 5008 //jge 1103 //sto 0100 //load 3100 //sub 3100 //sub 5012 //jge 1105 //sto // A = 0003 // B = 16'h3 Salto incondizionato: scrive M[100]+M[101] alla loc. 104 ma non alla 103 Salto condizionato eseguito (ACC>0) : non scrive alla loc 103 Salto condizionato non eseguito: scrive alla loc

39 39 PROGRAMMAZIONE E SIMULAZIONE DELL MU0: PROGRAMMA 3- MU0_S3 VETTORI E LOOP

40 PROGRAMMAZIONE ASSEMBLY: ESECUZIONE CONDIZIONALE (1) 40 L'ESECUZIONE CONDIZIONALE PUÒ ESSERE GESTITA TRAMITE L'USO DI ISTRUZIONI DI SALTO CONDIZIONATO E DI SALTO INCONDIZIONATO. if (cond) A; else B; branch(cond==1),taga; tagb: B; branch(1),end; taga: A; end: if (cond) A; branch(cond==1),taga; branch(1),end; taga: A; end:

41 PROGRAMMAZIONE ASSEMBLY: CICLI E VETTORI (2) 41 NORMALMENTE L'ESECUZIONE CICLICA (LOOP) VIENE GESTITA TRAMITE L'UTILIZZO DI UN REGISTRO CONTATORE GESTISCE IL NUMERO DI ITERAZIONI UN REGISTRO INDICE PER LA GESTIONE DELL'ACCESSO AGLI ELEMENTI DI OGNI VETTORE L'ISA DEL PROCESSORE MU0 PRECEDE LA PRESENZA DEL SOLO REGISTRO ACCUMULATORE, E SUPPORTA ESCLUSIVAMENTE L'INDIRIZZAMENTO IMMEDIATO (L'INDIRIZZO DELLA LOCAZIONE DI MEMORIA CUI ACCEDERE E' CABLATO NEL CODICE). DI CONSEGUENZA LA GESTIONE DELL'ACCESSO AGLI ELEMENTI DI UN VETTORE ALL'INTERNO DI UN LOOP PUO' ESSERE CODIFICATO SOLO CON L'UNROLLING DEL LOOP STESSO (A MENO DI NON SCRIVERE CODICE AUTOMODIFICANTE).

42 PROGRAMMAZIONE DELL MU0 42 PROGRAMMA MU0_S3: SPECIFICA // Codice C S = 0; for( i=0; i<5;i++ ) if (a[i] >= 0) S = S + a[i]; S = 2*S; Contenuto della memoria all istante 0 Mem[12 h100] Mem[12 h101]. Mem[12 h104] h200] Contenuto richiesto della memoria alla fine della simulazione S Mem[12 h200]

43 PROGRAMMAZIONE DELL MU0 PROGRAMMA MU0_S3: CODICE LDA 100; // carica a[0] nell JGE 003; // se a[0] >= 0 salta all istruz che scrive a[0] nella loc di mem sulla quale accumulo il risultato J 004; // altrimenti salta all istruz che carica a[1] nell STO 200; // scrive a[0] nella loc di mem sulla quale accumulo il risultato parziale LDA 101; // carica a[1] nell JGE 007; // se a[1] >= 0 salta all istruz che lo addiziona al ris J 009; // altrimenti salta all istruz che carica ADD 200; // addiziona il ris parziale ad STO 200; // scrive il nuovo risultato parziale nella loc di mem LDA 102; // carica a[2] nell JGE 00C; // se a[2] >= 0 salta all istruz che lo addiziona al ris J 00E; // altrimenti salta all istruz che carica ADD 200; // addiziona il ris parziale ad STO 200; // scrive il nuovo risultato parziale nella loc di mem LDA 103; // carica a[3] nell JGE 011; // se a[3] >= 0 salta all istruz che lo addiziona al ris J 013; // altrimenti salta all istruz che carica ADD 200; // addiziona il ris parziale ad STO 200; // scrive il nuovo risultato parziale nella loc di mem LDA 104; // carica a[4] nell JGE 016; // se a[4] >= 0 salta all istruz che lo addiziona al ris J 018; // altrimenti salta all istruz che carica il risultato finale della somma nell ADD 200; // addiziona il ris parziale ad STO 200; // scrive il risultato finale della somma nella loc di mem LDA 200; // carica il risultato finale della somma nell ADD 200; // addiziona il risultato finale della somma a se STO 200; // scrive il valore finale di S nella loc di mem STP; // stoppa la simulazione 43

Il processore minimo MU0. S. Salvatori - Microelettronica marzo 2019 (50)

Il processore minimo MU0. S. Salvatori - Microelettronica marzo 2019 (50) Il processore minimo S. Salvatori - Microelettronica marzo 209 (50) Il processore minimo Il tipo più semplice di processore prevederà: un, Program Counter, per puntare all istruzione da eseguire un, Instruction

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

Instruzione Opcode Effetto

Instruzione Opcode Effetto datapath l esecuzione dell istruzione prevede un un numero di di cicli di di clock pari agli agli accessi in in memoria necessari 2 accessi accesso Instruzione Opcode Effetto LDA S 0000 := mem 6 [S] STO

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

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

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

Microelettronica Corso introduttivo di progettazione di sistemi embedded

Microelettronica Corso introduttivo di progettazione di sistemi embedded Microelettronica Corso introduttivo di progettazione di sistemi embedded Elementi per il progetto di un microprocessore prof. Stefano Salvatori A.A. 2017/2018 Eccetto dove diversamente specificato, i contenuti

Dettagli

CPUSim. Laboratorio 30/11/2016

CPUSim. Laboratorio 30/11/2016 CPUSim Laboratorio 30/11/2016 Tommaso Padoan e-mail: padoan@math.unipd.it CPUsim Scaricare il simulatore: www.math.unipd.it/~sperduti/architettura1.html scorrere fino a sezione Simulatori, aprire la pagina

Dettagli

Lezione 12: L architettura LC-3

Lezione 12: L architettura LC-3 Lezione 12: L architettura LC-3 Laboratorio di Elementi di Architettura e Sistemi Operativi 24 Maggio 2012 Ricorda... Il ciclo di esecuzione di un istruzione è composto da sei fasi: FETCH DECODE ADDRESS

Dettagli

Microelettronica. Introduzione al progetto di un microprocessore. Stefano Salvatori. Università degli Studi Roma Tre.

Microelettronica. Introduzione al progetto di un microprocessore. Stefano Salvatori. Università degli Studi Roma Tre. Microelettronica Introduzione al progetto di un microprocessore Stefano Salvatori (salvator@uniroma3.it) Microelettronica 2012 Sommario up minimo: Formato delle istruzioni Tipi di istruzione Percentuale

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

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

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 Ciclo Fetch-Decode-Execute. C Nyssen/Aberdeen College 2003

Il Ciclo Fetch-Decode-Execute. C Nyssen/Aberdeen College 2003 Il Ciclo Fetch-Decode-Execute C Nyssen/Aberdeen College 2003 Linguaggio Assembler Op code (Mnemonico) Operando #assembly code program 0000 LDA-24 #loads 0001 ADD-25 #adds 0002 HLT #stops #end of program

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

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

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

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

FONDAMENTI DI INFORMATICA

FONDAMENTI DI INFORMATICA Università degli Studi di Cagliari Corsi di Laurea in Ingegneria Chimica e Ingegneria Meccanica FONDAMENTI DI INFORMATICA http://people.unica.it/gianlucamarcialis A.A. 2018/2019 Docente: Gian Luca Marcialis

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

LABORATORIO DI SISTEMI

LABORATORIO DI SISTEMI ALUNNO: Fratto Claudio CLASSE: IV B Informatico ESERCITAZIONE N : 2 LABORATORIO DI SISTEMI OGGETTO: 1) Scrivere un programma, in linguaggio Assembly, per una CPU Intel 8086, che sommi due numeri (var_1,

Dettagli

Sommario FONDAMENTI DI INFORMATICA. Architettura di Von Neumann. Algoritmi e programmi ESERCITAZIONE PYTHON ARCHITETTURA DEI CALCOLATORI

Sommario FONDAMENTI DI INFORMATICA. Architettura di Von Neumann. Algoritmi e programmi ESERCITAZIONE PYTHON ARCHITETTURA DEI CALCOLATORI Università degli Studi di Cagliari Corsi di Laurea in Ingegneria Chimica e Ingegneria Meccanica FONDAMENTI DI INFORMATICA http://www.diee.unica.it/~marcialis/fi A.A. 016/017 Sommario Funzionamento del

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

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

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

Microelettronica Corso introduttivo di progettazione di sistemi embedded

Microelettronica Corso introduttivo di progettazione di sistemi embedded Microelettronica Corso introduttivo di progettazione di sistemi embedded Elementi per il progetto di un microprocessore prof. Stefano Salvatori A.A. 2015/2016 Eccetto dove diversamente specificato, i contenuti

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

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

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

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

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

Architettura del processore e esecuzione delle istruzioni

Architettura del processore e esecuzione delle istruzioni Architettura del processore e esecuzione delle istruzioni Prof. CAPEZIO Francesco Quest'opera è soggetta alla licenza Creative Commons Attribuzione Non Commerciale Introduzione Il compito di un processore

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

Elementi di Architettura

Elementi di Architettura Elementi di Architettura Fondamenti di Informatica Roberto BASILI Marzo, 2007 Classi di Istruzioni Istruzioni di assegnamento/modifica Istruzioni di controllo delle sequenze Istruzioni di I/O Classi di

Dettagli

DEC PDP8, III Generazione, '65-'75

DEC PDP8, III Generazione, '65-'75 Parte I DEC PDP8, III Generazione, '65-'75 PDP8 Architettura (Livello Registri) 12 bit Program Counter PC 12 bit Memory Address Register MAR Random Access Memory RAM 4096 x 16 1 bit I 3 bit Operation Code

Dettagli

FRAMEWORK PER L'ESECUZIONE DI APPLICAZIONI ASSEMBLY SUL MODELLO VERILOG DI UN SISTEMA DI ELABORAZIONE BASATO SUL PROCESSORE emips-sc

FRAMEWORK PER L'ESECUZIONE DI APPLICAZIONI ASSEMBLY SUL MODELLO VERILOG DI UN SISTEMA DI ELABORAZIONE BASATO SUL PROCESSORE emips-sc 44 FRAMEWORK PER L'ESECUZIONE DI APPLICAZIONI ASSEMBLY SUL MODELLO VERILOG DI UN SISTEMA DI ELABORAZIONE BASATO SUL PROCESSORE emips-sc MODELLO VERILOG DEL PROCESSORE 45 MODELLO VERILOG DEL SISTEMA COMPLETO

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

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

Struttura CPU. Struttura e Funzione del Processore. Capitolo 12. Compiti CPU:

Struttura CPU. Struttura e Funzione del Processore. Capitolo 12. Compiti CPU: Struttura e Funzione del Processore Capitolo 12 Struttura CPU Compiti CPU: Prelevare istruzioni Interpretare istruzioni Prelevare dati Elaborare dati Scrivere (memorizzare) dati 1 CPU con bus di sistema

Dettagli

Architettura dell elaboratore

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

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

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

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

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

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

L unità di elaborazione PC: MAR/MDR IR: R0 Rn: TEMP, V, Z

L unità di elaborazione PC: MAR/MDR IR: R0 Rn: TEMP, V, Z Struttura del processore L unità di elaborazione Corso ACSO prof. Cristina SILVANO Politecnico di Milano Datapath ad un solo bus interno Faremo riferimento ad una generica CPU e a una memoria con parole

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

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

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

Tecniche della Programmazione, , Parte1

Tecniche della Programmazione, , Parte1 Tecniche della Programmazione, 2017-18, Parte1 Per alcune slide di questa lezione ho tratto spunto, o brutalmente usato, quelle della raccolta dei proff. F.Frati e C.Limongelli, che ringrazio Tecniche

Dettagli

Esercitazione 06 Progettazione di una CPU RISC-V

Esercitazione 06 Progettazione di una CPU RISC-V Esercitazione 06 Progettazione di una CPU RISC-V Gianluca Brilli gianluca.brilli@unimore.it 04/06/19 ARCHITETTURA DEI CALCOLATORI 1 Overview In questa esercitazione andremo a progettare una semplice architettura

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

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

(c) INTRODUZIONE ALLE ARCHITETTURE DI PROCESSORI (II)

(c) INTRODUZIONE ALLE ARCHITETTURE DI PROCESSORI (II) (c) INTRODUZIONE ALLE ARCHITETTURE DI PROCESSORI (II) 1 IL PROCESSORE MIPS ISA RIDOTTO emips PROGRAMMAZIONE ASSEMBLY DELL emips MICROARCHITETTURA SINGOLO CICLO emips-sc SEQUENZA DELLE ARCHITETTURE CHE

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

La macchina di Von Neumann. UNIVERSITÀ DEGLI STUDI DEL SANNIO Benevento DING DIPARTIMENTO DI INGEGNERIA CORSO DI "PROGRAMMAZIONE I"

La macchina di Von Neumann. UNIVERSITÀ DEGLI STUDI DEL SANNIO Benevento DING DIPARTIMENTO DI INGEGNERIA CORSO DI PROGRAMMAZIONE I 23/11/218 UNIVERSITÀ DEGLI STUDI DEL SANNIO Benevento DING DIPARTIMENTO DI INGEGNERIA La macchina di Von Neumann Unità periferiche Memoria Centrale CPU CORSO DI "PROGRAMMAZIONE I" Bus Dati Bus Indirizzi

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

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

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

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

Lezione 17: Indirizzamento della memoria LC-3

Lezione 17: Indirizzamento della memoria LC-3 Lezione 17: Indirizzamento della memoria LC-3 Laboratorio di Elementi di Architettura e Sistemi Operativi 22 Maggio 2013 Riassunto sull architettura LC-3 1. Organizzazione della memoria: La memoria è composta

Dettagli

Struttura CPU. CPU con bus di sistema. Compiti CPU:

Struttura CPU. CPU con bus di sistema. Compiti CPU: Struttura CPU Compiti CPU: Prelevare istruzioni Interpretare istruzioni Prelevare dati Elaborare dati Scrivere (memorizzare) dati Architettura degli elaboratori -1 Pagina 11 CPU con bus di sistema Architettura

Dettagli

Corso di Calcolatori Elettronici I A.A. 2010-2011 Il processore Lezione 18

Corso di Calcolatori Elettronici I A.A. 2010-2011 Il processore Lezione 18 Corso di Calcolatori Elettronici I A.A. 2010-2011 Il processore Lezione 18 Università degli Studi di Napoli Federico II Facoltà di Ingegneria Calcolatore: sottosistemi Processore o CPU (Central Processing

Dettagli

Livello microarchitettura. Corso di. Architetture degli Elaboratori. Central Processing Unit (richiamo) Esempio: una microarchitettura per IJVM

Livello microarchitettura. Corso di. Architetture degli Elaboratori. Central Processing Unit (richiamo) Esempio: una microarchitettura per IJVM Corso di Architettura degli Elaboratori Livello microarchitettura Il livello della microarchitettura: data path e formato delle microistruzioni Studio del Livello 1: ha il compito di interpretare il livello

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

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

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

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

Architettura del. Calcolatori (1) Calcolatori (2) L architettura di Von Neumann. CPU RAM Memoria I/O. secondaria. bus

Architettura del. Calcolatori (1) Calcolatori (2) L architettura di Von Neumann. CPU RAM Memoria I/O. secondaria. bus Architettura del calcolatore Calcolatori (1) Introdotti all'inizio degli anni 1940 Costruiti assemblano componenti elettronici elementari per memorizzare informazioni ed eseguire programmi informazioni

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 di un calcolatore: Introduzione parte 2

Architettura di un calcolatore: Introduzione parte 2 Corso di Calcolatori Elettronici I Architettura di un calcolatore: Introduzione parte 2 Prof. Roberto Canonico Università degli Studi di Napoli Federico II Dipartimento di Ingegneria Elettrica e delle

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 di von Neumann

Architettura di von Neumann Fondamenti di Informatica per la Sicurezza a.a. 2003/04 Architettura di von Neumann Stefano Ferrari Università degli Studi di Milano Dipartimento di Tecnologie dell Informazione Stefano Ferrari Università

Dettagli

Introduzione al linguaggio macchina

Introduzione al linguaggio macchina Corso di Calcolatori Elettronici I Introduzione al linguaggio macchina Prof. Roberto Canonico Università degli Studi di Napoli Federico II Dipartimento di Ingegneria Elettrica e delle Tecnologie dell Informazione

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

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

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

FONDAMENTI DI INFORMATICA Lezione n. 10

FONDAMENTI DI INFORMATICA Lezione n. 10 FONDAMENTI DI INFORMATICA Lezione n. 10 CPU-MEMORIA CICLO PRINCIPALE CPU ARCHITETTURA BASE UNITÀ DI ESECUZIONE E UNITÀ DI CONTROLLO In questa lezione viene analizzata l'architettura di base di un sistema

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. Argomenti. Modello di Von Neumann. Corso di Laurea in Ingegneria Biomedica aa 2003/2004. Ing. Antonio Coronato. Modello di Von Neumann

Architettura. Argomenti. Modello di Von Neumann. Corso di Laurea in Ingegneria Biomedica aa 2003/2004. Ing. Antonio Coronato. Modello di Von Neumann Architettura Corso di Laurea in Ingegneria Biomedica aa 2003/2004 Ing. Antonio Coronato 1 Argomenti Modello di Von Neumann, Bus, Memoria centrale e dispositivi Data Path delle architetture di Von Neumann

Dettagli

Una microarchitettura per IJVM. Corso di Architettura degli Elaboratori. Architetture degli Elaboratori. Central Processing Unit (richiamo)

Una microarchitettura per IJVM. Corso di Architettura degli Elaboratori. Architetture degli Elaboratori. Central Processing Unit (richiamo) Corso di Architettura degli Elaboratori Il livello della microarchitettura: data path e formato delle microistruzioni Dipartimento di Informatica Università degli Studi di Torino C.so Svizzera, 185 I-10149

Dettagli

FONDAMENTI DI INFORMATICA Lezione n. 10

FONDAMENTI DI INFORMATICA Lezione n. 10 FONDAMENTI DI INFORMATICA Lezione n. 10 CPU-MEMORIA CICLO PRINCIPALE CPU ARCHITETTURA BASE UNITÀ DI ESECUZIONE E UNITÀ DI CONTROLLO In questa lezione viene analizzata l'architettura di base di un sistema

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

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

Informatica. Mario Pavone - Dept. Mathematics & Computer Science - University of Catania. Trasferimento. Ambiente esterno.

Informatica. Mario Pavone - Dept. Mathematics & Computer Science - University of Catania. Trasferimento. Ambiente esterno. Trasferimento Ambiente esterno Controllo Informatica Mario Pavone - Dept. Mathematics & Computer Science - University of Catania mpavone@dmi.unict.it Architettura di Von Neumann PC$ Registri$ ALU$ Memoria$di$

Dettagli

Sistemi e reti CPU Concetti di base

Sistemi e reti CPU Concetti di base Sistemi e reti CPU Concetti di base A cura dell Ing. Claudio Traini Cenni Storici 1971 il primo processore mai realizzato : Intel 4004 Progettato dal vicentino Federico Faggin 1 Cenni Storici 1976 Faggin

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

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

Fondamenti di Informatica B

Fondamenti di Informatica B Fondamenti di Informatica B Lezione n. 10 Alberto Broggi Gianni Conte A.A. 2005-2006 Fondamenti di Informatica B CPU-MEMORIA CICLO PRINCIPALE CPU ARCHITETTURA BASE UNITÀ DI ESECUZIONE E UNITÀ DI CONTROLLO

Dettagli

AXO - Architettura dei Calcolatori e Sistema Operativo. organizzazione strutturata dei calcolatori

AXO - Architettura dei Calcolatori e Sistema Operativo. organizzazione strutturata dei calcolatori AXO - Architettura dei Calcolatori e Sistema Operativo organizzazione strutturata dei calcolatori I livelli I calcolatori sono progettati come una serie di livelli ognuno dei quali si basa sui livelli

Dettagli

Corso di Alfabetizzazione Informatica 2001/2002. La CPU. F. Tortorella Università degli Studi. di Cassino

Corso di Alfabetizzazione Informatica 2001/2002. La CPU. F. Tortorella Università degli Studi. di Cassino Corso di Alfabetizzazione Informatica / La CPU CPU (Central Processing Unit) Funzione: eseguire i programmi immagazzinati in memoria principale prelevando le istruzioni (e i relativi), interpretandole

Dettagli