Sistemi a Microcontrollore. 2E. Bus e Mappaggio in Memoria

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Sistemi a Microcontrollore. 2E. Bus e Mappaggio in Memoria"

Transcript

1 Sistemi a Microcontrollore 2E. Bus e Mappaggio in Memoria Anno Accademico 2829

2 Indice Modifiche all Architettura Mappaggio della Memoria Dati Mappaggio dell IO Parallelo Moduli Esercitazione

3 Indice Modifiche all Architettura Mappaggio della Memoria Dati Mappaggio dell IO Parallelo Moduli Esercitazione

4 Modifiche all Architettura + instr[9:3] 7 sign ext 6 + PC addr instr [5:] imem instr[5:] instr[9],instr[3:] OPREG instr[8:4] b,instr[8:4] addr_b addr_a din_a dout_a dout_b regs SREG ALU result addr din dout dmem instr[2:] instr[:8],instr[3:]

5 Modifiche all Architettura PC imem addr instr [5:] regs addr_b addr_a din_a dout_a dout_b sign ext dmem addr dout din ALU result + instr[9],instr[3:] instr[8:4] instr[:8],instr[3:] instr[2:] instr[5:] b,instr[8:4] instr[9:3] + 6 SREG OPREG 7 DATA BUS ADDRESS BUS

6 Modifiche all Architettura PC imem addr instr [5:] regs addr_b addr_a din_a dout_a dout_b sign ext ALU result + instr[9],instr[3:] instr[8:4] instr[:8],instr[3:] instr[2:] instr[5:] b,instr[8:4] instr[9:3] + 6 SREG OPREG wr_reg status wr_mem control jump regin_alu wr_mem wr_reg restr_reg prev_reg regin_imm 7 dmem addr dout din DATA BUS ADDRESS BUS CONTROL BUS

7 Mappaggio della Memoria Dati address derivator en mem n(<6) data memory addr wr rd data address 6 address decoder source en IO E Q destination wr rd D latch D IO device data bus

8 Mappaggio della Memoria Dati address_bus 6 address addr_dmem derivator 8 en_dmem address decoder 8 addr wr din dmem 8 dout control_bus wr_mem!wr_mem decoder 8 data_bus

9 Indice Modifiche all Architettura Mappaggio della Memoria Dati Mappaggio dell IO Parallelo Moduli Esercitazione

10 Mappaggio dell IO Parallelo PC imem addr instr [5:] regs addr_b addr_a din_a dout_a dout_b sign ext ALU result + instr[9],instr[3:] instr[8:4] instr[:8],instr[3:] instr[2:] instr[5:] b,instr[8:4] instr[9:3] + 6 SREG OPREG wr_reg status wr_mem control jump regin_alu wr_mem wr_reg restr_reg prev_reg regin_imm 7 dmem addr dout din DATA BUS ADDRESS BUS CONTROL BUS IO

11 Mappaggio dell IO Parallelo IO PIN DDR flip-flop wrddr 3 2 PIN flip-flop wrpin 3 2 PORT latch rdddr rdpin rdport wrport data bus

12 rd_pina wr_porta Mappaggio dell IO Parallelo address derivator 3 2 PORT latch 3 2 PIN flip-flop 3 2 DDR flip-flop address decoder address_bus 6 en_pina en_ddra rd_ddra wr_ddra control_bus wr_mem!wr_mem en_porta decoder 8 rd_porta data_bus

13 rd_pina wr_porta Mappaggio dell IO Parallelo address derivator 3 2 PORT latch 3 2 PIN flip-flop 3 2 DDR flip-flop address decoder address_bus 6 en_pina en_ddra rd_ddra wr_ddra control_bus wr_mem!wr_mem en_porta decoder 8 rd_porta data_bus

14 rd_pina wr_porta Mappaggio dell IO Parallelo address derivator 3 2 PORT latch 3 2 PIN flip-flop 3 2 DDR flip-flop address decoder address_bus 6 en_pina en_ddra rd_ddra wr_ddra control_bus wr_mem!wr_mem en_porta decoder 8 rd_porta data_bus

15 rd_pina wr_porta Mappaggio dell IO Parallelo address derivator 3 2 PORT latch 3 2 PIN flip-flop 3 2 DDR flip-flop address decoder address_bus 6 en_pina en_ddra rd_ddra wr_ddra control_bus wr_mem!wr_mem en_porta decoder 8 rd_porta data_bus

16 Mappaggio dell IO Parallelo p[7] p[6] p[5] p[4] p[3] p[2] p[] p[] 3 2 PORT latch 3 2 PIN flip-flop 3 2 DDR flip-flop

17 Mappaggio dell IO Parallelo p[7] p[6] p[5] p[4] p[3] p[2] p[] p[] FF_p7 FF_p6 FF_p5 FF_p4 FF_p3 FF_p2 FF_p FF_p en en en en en en en en PORT latch PIN flip-flop DDR flip-flop

18 Indice Modifiche all Architettura Mappaggio della Memoria Dati Mappaggio dell IO Parallelo Moduli Esercitazione

19 Moduli Moduli decoder (bus address decoder and enable generator) port (pin, ddr and port flip-floplatch, buffers ) top (program counter, status register, branch addr, opreg, mux e demux, sommatori) tb_top (top module testbench)

20 Indice Modifiche all Architettura Mappaggio della Memoria Dati Mappaggio dell IO Parallelo Moduli Esercitazione

21 Esercizio A Eseguire sul simulatore il programma assembly dmem[] a, addr(d) = 22, dmem[24]=7 la memoria inizia dall indirizzo char a; char[64] d; 8 bit a = 4 d[2]; C?

22 ISA dell AVR Semplificato instr format bits cycle(s) description add r d d d d d r r r r 6 Rd = Rd + Rr adc r d d d d d r r r r 6 Rd = Rd + Rr + C sub r d d d d d r r r r 6 Rd = Rd - Rr sbc r d d d d d r r r r 6 Rd = Rd - Rr - C cp r d d d d d r r r r 6 Rd - Rr and 2 r d d d d d r r r r 6 Rd = Rd & Rr lds sts 9 d d d d d k k k k k k k k k k k k k k k k 9 d d d d d k k k k k k k k k k k k k k k k 32 2 Rd = dmem(k) 32 2 dmem(k) = Rd ldi E k k k k d d d d k k k k 6 Rd = k (6 Rd 3) brne F k k k k k k k 6 or 2 brge F k k k k k k K 6 or 2 if(z==) then PC=PC+k+ else PC=PC+ if(s==) then PC=PC+k+ else PC=PC+

23 Esercizio A ldi r2, 7 ; r2 7 sts x78, r2 ; bus(x78) r2 ; bus(x78) = dmem(24) ldi r6, 4 ; r6 4 lds r5, x78 ; r5 bus(x78) ; bus(x78) = dmem(24) sub r6, r5 ; r6 4 d[2] sts x6, r6 ; bus(x6) 4 d[2] ; bus(x6) = dmem() E E

24 Esercizio B Implementare attraverso l assembly AVR un sistema di controllo che setta costantemente (loop) 8 led connessi alla porta A in base al valore degli 8 pin della porta B (da aggiungere al mappaggio) port B port A address IO mem name x6 x36 PINB x7 x37 DDRB x8 x38 PORTB address IO mem name x9 x39 PINA xa x3a DDRA xb x3b PORTA

25 Esercizio B loop: ldi r6, ; r6 ldi r7, 255 ; r7 255 sts x37, r6 ; bus(x37) r6 ; set port B as input sts x3a, r7 ; bus(x3a) r7 ; set port A as output lds r2, x36 ; r2 bus(x36) = pb sts x3b, r2 ; bus(x3b) = pa r2 cp r6, r6 ; r6 r6 brge loop ; if(r6>=r6) then loop E EFF A B 7 F7A4

26 Esercizio B module decoder( input [5:] addr,... output [7:] addr_dmem, output en_pinb, output en_ddrb, output en_portb );... endmodule assign en_pinb = addr == 6'h36; assign en_ddrb = addr == 6'h37; assign en_portb = addr == 6'h38;

27 Esercizio B module top(... inout [7:] pa, inout [7:] pb); decoder dec_inst(....en_pinb(en_pinb),.en_ddrb(en_ddrb),.en_portb(en_portb)); port portb_inst(.clk(clk),.wr_mem(wr_mem),.en_pin(en_pinb),.en_ddr(en_ddrb),.en_port(en_portb),.data_bus(data_bus),.p(pb));...

28 Esercizio B module tb_top; reg clk; reg rst; wire [7:] pa; wire [7:] pb; top dut(.clk(clk),.rst(rst),.pa(pa),.pb(pb) ); assign pb = 8'b;...

29 Esercizio C Aggiungere al mappaggio lo status register all indirizzo x5f e utilizzarlo per svolgere l esercizio D dell esercitazione senza supporto hardware per rjmp, ma settando S con una sts dmem(4) x, dmem(3) y char x, y; 8 bit if(x<) y = ; else y = -; C... cp r6, r6 ; x x brge ; if(x>=x) then jump by... 7 F4C

30 Lo Status Register nell AVR I T H S V N Z C Bit 5 H: Half Carry Flag indica se vi è un Half Carry (riporto nel bit 4) in alcune operazioni aritmetiche Bit 4 S: Sign Bit utilizzato per testare operazioni tra numeri con segno, OR esclusivo tra il Negative Flag (N) e il Two s Complement Overflow Flag (V), N V

31 Esercizio C Senza Memory Mapping lds r6, 4 ; r6 dmem(4) = x ldi r7, ; r7 cp r6, r7 ; x brge 3 ldi r8, ; r8 cp r6, r6 ; x x brge ; if(x>=x) then jump by ldi r8, xff ; r8 - sts r8, 3 ; dmem(4) = y 9 4 E 7 F4C E2 7 F4C EF2F 932 E

32 Esercizio C lds r6, x64 ; r6 bus(x64) ; bus(x64) = dmem(4) ldi r7, ; r7 cp r6, r7 ; x brge 8 ldi r8, ; r8 lds r2, x5f ; r2 bus(x5f) ; bus(x5f) = SREG ldi r9, xef and r2, r9 sts x5f, r2 ; r9 xef ; bus(x5f) r2 ; bus(x5f) = SREG brge ; if(x>=x) then jump by ldi r8, xff ; r8 - sts x7e, r8 ; bus(x7e) = y ; bus(x7e) = dmem(3) 9 64 E 7 F444 E2 92 5F EE3F F F4C EF2F 932 7E

33 Esercizio C module decoder( input [5:] addr, output en_dmem, output en_pina, output en_ddra, output en_porta, output en_sreg, output [7:] addr_dmem );... assign en_sreg = addr == 6'h5F; endmodule

34 Esercizio C module top(...);... always@(posedge clk or posedge rst) if(rst) else sreg <= 8'd; if(en_sreg && wr_mem) sreg <= data_bus; else sreg <= {3'b,s_nxt,v_nxt, n_nxt,z_nxt,c_nxt};... assign data_bus =(en_sreg &&!wr_mem)? sreg : 8'bz; decoder dec_inst(....en_sreg(en_sreg),...);

Sistemi a Microcontrollore. 3. Bus e Mappaggio in Memoria

Sistemi a Microcontrollore. 3. Bus e Mappaggio in Memoria Sistemi a Microcontrollore 3. Bus e Mappaggio in Memoria Anno Accademico 2018/2019 Indice Il bus Interfacce di Lettura e Scrittura Indirizzamento Mappaggio in Memoria Indirizzamento Separato Sincronizzazione

Dettagli

Sistemi a Microcontrollore. 2. Microcontrollori Atmel AVR

Sistemi a Microcontrollore. 2. Microcontrollori Atmel AVR Sistemi a Microcontrollore 2. Microcontrollori Atmel AVR Anno Accademico 2018/2019 Indice Caratteristiche dell ISA AVR registri spazi di indirizzo modalità di indirizzamento stack e funzioni Istruzioni

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

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

Università degli Studi di Cassino

Università degli Studi di Cassino Corso di Realizzazione del Data path Data path a ciclo singolo Anno Accademico 27/28 Francesco Tortorella (si ringrazia il prof. M. De Santo per parte del materiale presente in queste slides) Realizzazione

Dettagli

Università degli Studi di Cassino e del Lazio Meridionale

Università degli Studi di Cassino e del Lazio Meridionale Università degli Studi di Cassino e del Lazio Meridionale di Calcolatori Elettronici Realizzazione del Data path a ciclo singolo Anno Accademico 22/23 Alessandra Scotto di Freca Si ringrazia il prof.francesco

Dettagli

Università degli Studi di Cassino

Università degli Studi di Cassino Corso di Realizzazione del path path a ciclo singolo Anno Accademico 24/25 Francesco Tortorella Realizzazione del data path. Analizzare l instruction set => Specifiche sul datapath il significato di ciascuna

Dettagli

Progetto CPU (ciclo singolo)

Progetto CPU (ciclo singolo) Progetto CPU (ciclo singolo) Salvatore Orlando Arch. Elab. - S. Orlando 1 Processore: Datapath & Control Possiamo finalmente vedere il progetto di un processore MIPS-like semplificato Semplificato in modo

Dettagli

Progetto CPU (ciclo singolo) Salvatore Orlando

Progetto CPU (ciclo singolo) Salvatore Orlando Progetto CPU (ciclo singolo) Salvatore Orlando Arch. Elab. - S. Orlando 1 Processore: Datapath & Control Possiamo finalmente vedere il progetto di un processore MIPS-like semplificato Semplificato in modo

Dettagli

Processore: Datapath & Control. Progetto CPU (ciclo singolo) Rivediamo i formati delle istruzioni. ISA di un MIPS-lite

Processore: Datapath & Control. Progetto CPU (ciclo singolo) Rivediamo i formati delle istruzioni. ISA di un MIPS-lite Processore: Datapath & Control Possiamo finalmente vedere il progetto di un processore MIPS-like semplificato Progetto CPU (ciclo singolo) Semplificato in modo tale da eseguire solo: istruzioni di memory-reference:

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

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

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

Soluzione Modulo verilog:

Soluzione Modulo verilog: Esercizio 1.1 Implementare in un unico modulo verilog l ALU di seguito descritta. A e B, operandi a 16 bit Sel, 4 bit per la selezione dell operazione Y, uscita a 16 bit L ALU contiene un unità aritmetica

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

Architettura degli Elaboratori B Introduzione al corso

Architettura degli Elaboratori B Introduzione al corso Architettura degli Elaboratori B Introduzione al corso Salvatore Orlando Arch. Elab. - S. Orlando 1 Componenti di un calcolatore convenzionale Studieremo il progetto e le prestazioni delle varie componenti

Dettagli

A.S. 2017/2018 PIANO DI LAVORO PREVENTIVO CLASSE 4Be

A.S. 2017/2018 PIANO DI LAVORO PREVENTIVO CLASSE 4Be A.S. 2017/2018 PIANO DI LAVORO PREVENTIVO CLASSE 4Be Docenti Disciplina Cinzia Brunetto, Antonino Cacopardo SAE Sistemi Automatici Elettronici Competenze disciplinari di riferimento Il percorso formativo

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

MIPS MIPS MIPS MIPS. Registri. Dati e modi di indirizzamento. Formato Istruzioni. Lezione 5 e 6. Architettura degli Elaboratori A.

MIPS MIPS MIPS MIPS. Registri. Dati e modi di indirizzamento. Formato Istruzioni. Lezione 5 e 6. Architettura degli Elaboratori A. MS Architettura RISC Architettura molto regolare con insieme di istruzioni semplice e compatto Architettura progettata per una implementazione efficiente di pipeline (lo vedremo più avanti) Codifica delle

Dettagli

Architettura degli Elaboratori B. Introduzione al corso. Componenti di un calcolatore convenzionale. (ciclo singolo) Progetto CPU. Contenuti del corso

Architettura degli Elaboratori B. Introduzione al corso. Componenti di un calcolatore convenzionale. (ciclo singolo) Progetto CPU. Contenuti del corso Architettura degli Elaboratori B Introduzione al corso Salvatore Orlando Arch. Elab. - S. Orlando 1 Contenuti del corso Progetto della CPU CPU in grado di eseguire un sottoinsieme di istruzioni MIPS in

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

ELETTRONICA DIGITALE PRIMA PROVA IN ITINERE A.A. 2005/ Dicembre 2005

ELETTRONICA DIGITALE PRIMA PROVA IN ITINERE A.A. 2005/ Dicembre 2005 ELETTRONICA DIGITALE PRIMA PROVA IN ITINERE A.A. 2005/2006 22 Dicembre 2005 12345678901234567890123456789012345678901234567890123456789012345678901234567890123456781 01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678

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

Componenti notevoli combinatori

Componenti notevoli combinatori Corso di Laurea in Informatica Componenti notevoli combinatori Architettura dei Calcolatori Prof. Andrea Marongiu andrea.marongiu@unimore.it Anno accademico 2018/19 Demultiplexer / Decoder (1/2) Il demultiplexer

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

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

Macchina di Von Neumann

Macchina di Von Neumann Fondamenti di Informatica: Struttura del Calcolatore 1 Macchina di Von Neumann Memorie di Massa BUS DI SISTEMA CPU Memoria Centrale (RAM) Periferiche Fondamenti di Informatica: Struttura del Calcolatore

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

ELETTRONICA DEI SISTEMI DIGITALI 1 SECONDA PROVA IN ITINERE A.A. 2003/ Dicembre 2003

ELETTRONICA DEI SISTEMI DIGITALI 1 SECONDA PROVA IN ITINERE A.A. 2003/ Dicembre 2003 ELETTRONICA DEI SISTEMI DIGITALI 1 SECONDA PROVA IN ITINERE A.A. 2003/2004 22 Dicembre 2003 12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678

Dettagli

Logica sequenziale: implementazione verilog

Logica sequenziale: implementazione verilog Logica sequenziale: implementazione verilog Lucidi del Corso di Elettronica Digitale Modulo 10 Università di Cagliari Dipartimento di Ingegneria Elettrica ed Elettronica Laboratorio di Elettronica (EOLAB)

Dettagli

L insieme delle istruzioni

L insieme delle istruzioni L insieme delle istruzioni Instruction set della famiglia AVR Indice Lettura del manuale del linguaggio assembly AVR Notazioni per registri e tipi di valore Modalità di indirizzamento degli operandi Categorie

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

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

Logica sequenziale: implementazione verilog

Logica sequenziale: implementazione verilog Logica sequenziale: implementazione verilog Lucidi del Corso di Elettronica Digitale Modulo 10 Università di Cagliari Dipartimento di Ingegneria Elettrica ed Elettronica Laboratorio di Elettronica (EOLAB)

Dettagli

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

(a) INTRODUZIONE ALLE ARCHITETTURE E ALLA SIMULAZIONE VERILOG DI PROCESSORI 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 ISA E MICROARCHITETTURA

Dettagli

Architetture dei Sistemi Elettronici

Architetture dei Sistemi Elettronici Architetture dei Sistemi Elettronici Roberto Roncella 16. L'insieme delle istruzioni AVR 2 La famiglia AVR (1) Scegliamo l assembly di questa famiglia di microcontrollori ATMEL a 8 b Esempio di dimensioni

Dettagli

Circuiti Sequenziali

Circuiti Sequenziali Circuiti Sequenziali I circuiti combinatori sono in grado di calcolare funzioni che dipendono solo dai dati in input I circuiti sequenziali sono invece in grado di calcolare funzioni che dipendono anche

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

CPUSim - 2. Laboratorio 14/12/2016

CPUSim - 2. Laboratorio 14/12/2016 CPUSim - 2 Laboratorio 14/12/2016 Tommaso Padoan e-mail: padoan@math.unipd.it Intro Nel laboratorio di oggi: impareremo come definire una nuova CPU nel simulatore definiremo dei registri ad uso generale

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

ESERCIZIO: PROGETTO DI UNA CPU A PIU REGISTRI

ESERCIZIO: PROGETTO DI UNA CPU A PIU REGISTRI ESERCIZIO: PROGETTO DI UNA CPU A PIU REGISTRI Progettare una unità centrale di elaborazione microprogrammata, dotata di registri ad uso generale di bit, che sia in grado di indirizzare una memoria di 64k

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

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

CPUSim Laboratorio 14/11/2012.

CPUSim Laboratorio 14/11/2012. CPUSim Laboratorio 14/11/2012. Nicolò Navarin e-mail: nnavarin@math.unipd.it Esercizio 2 Scrivere un programma ASSEMBLY per la CPU Wombat1 che legge un intero in ingresso e ritorna 0 se l intero è pari,

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

ALU e Control Unit. ALU e Control Unit

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

Dettagli

Pinout PD32. Memoria di lavoro esterna. tramite l indirizzo ad esse associato. e possono essere lette o scritte: Le singole celle sono distinguibili

Pinout PD32. Memoria di lavoro esterna. tramite l indirizzo ad esse associato. e possono essere lette o scritte: Le singole celle sono distinguibili PD-32,prima parte Struttura a blocchi del sistema di calcolo MEMORIA KB Memory Address Bus Memory Data Bus Memory Control Bus PD32 I/O Address Bus I/O Data Bus I/O Control Bus IACK Device Device 7 Pinout

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

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

Registro a 4 bit P 1 D P 1 D C 0

Registro a 4 bit P 1 D P 1 D C 0 ESERCITAZIONE 7 Sommario Linguaggio di descrizione a livello RT rogetto a livello RT. Livello a trasferimento tra registri (segue).. Registri Gli elementi di memoria a livello RT sono i registri. I registri

Dettagli

Il microprocessore DMC8

Il microprocessore DMC8 Il microprocessore DMC8 Fig. 1: Registri ed elementi di calcolo del DMC8 PC 16 bit Program Counter In altri contesti è chiamato anche Instruction Pointer. Questo registro a 16 bit contiene l indirizzo

Dettagli

ELETTRONICA DEI SISTEMI DIGITALI 1 SECONDA PROVA IN ITINERE A.A. 2003/ Dicembre 2003

ELETTRONICA DEI SISTEMI DIGITALI 1 SECONDA PROVA IN ITINERE A.A. 2003/ Dicembre 2003 ELETTRONICA DEI SISTEMI DIGITALI 1 SECONDA PROVA IN ITINERE A.A. 2003/2004 22 Dicembre 2003 12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789 01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678

Dettagli

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

Università degli Studi di Milano

Università degli Studi di Milano Università degli Studi di Milano Corso di Laurea in Sicurezza dei Sistemi e delle Reti Informatiche Lezione 2 Struttura e set di istruzioni della CPU LC-2 NELLO SCARABOTTOLO Architetture e reti logiche

Dettagli

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

Riassunto. Riassunto. Ciclo fetch&execute. Concetto di programma memorizzato. Istruzioni aritmetiche add, sub, mult, div MIPS load/store word, con indirizzamento al byte aritmetica solo su registri Istruzioni Significato add $t1, $t2, $t3 $t1 = $t2 + $t3 sub $t1, $t2, $t3 $t1 = $t2 - $t3 mult $t1, $t2 Hi,Lo = $t1*$t2 div

Dettagli

Calcolatori Elettronici

Calcolatori Elettronici Calcolatori Elettronici Classificazione dei calcolatori elettronici Sistemi basati sull architettura di Von Neumann Sistemi basati sull architettura Harward Architettura dei calcolatori: definizioni Evoluzione

Dettagli

Fetch Decode Execute Program Counter controllare esegue prossima

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

Dettagli

Architettura degli elaboratori 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

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

Arithmetic Logic Unit

Arithmetic Logic Unit Arithmetic Logic Unit Circuito combinatorio all interno del processore per l esecuzione di istruzioni macchina di tipo aritmetico/ logiche (e di confronto) Quindi l ALU deve essere in grado di eseguire:

Dettagli

Logica binaria. Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna

Logica binaria. Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna Logica binaria Moreno Marzolla Dipartimento di Informatica Scienza e Ingegneria (DISI) Università di Bologna http://www.moreno.marzolla.name/ Logica binaria 2 Rappresentazione dell'informazione I calcolatori

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

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

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

Livello logico digitale

Livello logico digitale Livello logico digitale circuiti combinatori di base e circuiti sequenziali Half Adder - Semisommatore Ingresso 2 bit, uscita 2 bit A+ B= ------ C S C=AB S=AB + AB=A B A B In Out HA A B C S S HA A C S

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

Memoria centrale (RAM) Registri della CPU. Definizioni. Architettura considerata in CPUSim. Programma in linguaggio macchina

Memoria centrale (RAM) Registri della CPU. Definizioni. Architettura considerata in CPUSim. Programma in linguaggio macchina Architettura considerata in CPUSim Linguaggio macchina -- esempio in CPUSim Manuale di CPU Sim Memoria con 128 celle Indirizzi da 12 bit Registri usuali per un architettura di Von Neumann (, IR,, ) Un

Dettagli

Controllo di flusso. Università degli Studi di Milano Corso di Laurea in Informatica, A.A

Controllo di flusso. Università degli Studi di Milano Corso di Laurea in Informatica, A.A Università degli Studi di Milano Corso di Laurea in Informatica, A.A. 2018-2019 Controllo di flusso Turno A Nicola Basilico Dipartimento di Informatica Via Comelico 39/41-20135 Milano (MI) Ufficio S242

Dettagli

Logica sequenziale: implementazione verilog

Logica sequenziale: implementazione verilog Logica sequenziale: implementazione verilog Lucidi del Corso di Elettronica igitale Modulo 11 Università di Cagliari ipartimento di Ingegneria Elettrica ed Elettronica Laboratorio di Elettronica (EOLAB)

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

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

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

Microelettronica Corso introduttivo di progettazione di sistemi embedded

Microelettronica Corso introduttivo di progettazione di sistemi embedded Microelettronica Corso introduttivo di progettazione di sistemi embedded Organizzazione hardware del processore ARM prof. Stefano Salvatori A.A. 2018/2019 Eccetto dove diversamente specificato, i contenuti

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 Organizzazione hardware del processore ARM prof. Stefano Salvatori A.A. 2016/2017 Eccetto dove diversamente specificato, i contenuti

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

Sistemi Elettronici #6. Subroutine

Sistemi Elettronici #6. Subroutine Subroutine Una subroutine è un insieme di istruzioni che si adoperano più volte insieme e nella stessa sequenza. Se usiamo l espressione RJMP per chiamare una subroutine all uscita di essa non ho un ritorno

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

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

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

p = 7. E = bias + p = = E = s e m

p = 7. E = bias + p = = E = s e m 255 1 0.125 0 127 1 0.25 0 63 1 0.5 1 31 1 15 1 7 1 3 1 1 1. Rappresentazione binaria: 11111111.001 2. Scorrere la virgola: 3. Bit di segno: Numero positivo 0. 4. Esponente: 5. Mantissa: 1111111001 (ottenuta

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

Sistemi a Microcontrollore. 4E. I/O Analogico

Sistemi a Microcontrollore. 4E. I/O Analogico Sistemi a Microcontrollore 4E. I/O Analogico Anno Accademico 2018/2019 Indice Microcontrollore Utilizzato: ATmega328p Composizione del Kit Esercitazione Indice Microcontrollore Utilizzato: ATmega328p Composizione

Dettagli

Architettura degli. Introduzione al corso Modello della Macchina di Von Neumann Una architettura reale: MIPS. Dott.

Architettura degli. Introduzione al corso Modello della Macchina di Von Neumann Una architettura reale: MIPS. Dott. Architettura degli Elaboratori Introduzione al corso Modello della Macchina di Von Neumann Una architettura reale: MIPS Dott. Franco Liberati Argomenti della lezione Un modello di elaboratore elettronico:

Dettagli

Calcolatori Elettronici T Ingegneria Informatica. DLX: implementazione sequenziale

Calcolatori Elettronici T Ingegneria Informatica. DLX: implementazione sequenziale Calcolatori Elettronici T Ingegneria Informatica DLX: implementazione sequenziale Datapath e Unità di Controllo La struttura di una CPU, come tutte le reti logiche sincrone che elaborano dati, può essere

Dettagli

ELETTRONICA DEI SISTEMI DIGITALI 1 SECONDA PROVA IN ITINERE A.A. 2003/ Dicembre 2003

ELETTRONICA DEI SISTEMI DIGITALI 1 SECONDA PROVA IN ITINERE A.A. 2003/ Dicembre 2003 ELETTRONICA DEI SISTEMI DIGITALI 1 SECONDA PROVA IN ITINERE A.A. 2003/2004 22 Dicembre 2003 COGNOME: NOME: MATRICOLA: ORDINAMENTO (VO/NO): Regole: 1) Non è consentito portare vicino al posto nulla che

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

Università degli Studi di Cassino

Università degli Studi di Cassino Corso di Istruzioni di confronto Istruzioni di controllo Formato delle istruzioni in L.M. Anno Accademico 2007/2008 Francesco Tortorella Istruzioni di confronto Istruzione Significato slt $t1,$t2,$t3 if

Dettagli

library ieee; use ieee.std_logic_1164.all; library IEEE; use IEEE.std_logic_1164.all; use IEEE.numeric_std.all; library STD; use STD.textio.

library ieee; use ieee.std_logic_1164.all; library IEEE; use IEEE.std_logic_1164.all; use IEEE.numeric_std.all; library STD; use STD.textio. VHDL Linguaggio di descrizione dell'hardware VHSIC Hardware Description Language VHSIC: Very High Speed Integrated Circuits VHDL Processi Attivati da qualche segnale Assegnazioni concorrenti A

Dettagli

Architettura degli Elaboratori. Classe 3 Prof.ssa Anselmo. Appello dell 11 Settembre Attenzione:

Architettura degli Elaboratori. Classe 3 Prof.ssa Anselmo. Appello dell 11 Settembre Attenzione: Cognome.. Nome.... Architettura degli Elaboratori Classe 3 Prof.ssa Anselmo Appello dell 11 Settembre 2015 Attenzione: Inserire i propri dati nell apposito spazio sottostante e in testa a questa pagina.

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

Pin-out logico di una CPU CPU. Reset Clock Ready. Architettura di un Sistema

Pin-out logico di una CPU CPU. Reset Clock Ready. Architettura di un Sistema Pin-out logico di una CPU Int/Inta Hold/Holda CPU Bus Comandi Bus Indirizzi Bus Dati Reset Clock Ready 1 Architettura di un Sistema Il termine architettura di un sistema basato su microprocessore comprende

Dettagli

Linguaggio macchina e linguaggio assembly

Linguaggio macchina e linguaggio assembly FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Università degli Studi di Udine Linguaggio macchina e linguaggio assembly Formato delle istruzioni 15 8 7 0 gruppo modo di indirizzamento codice dell

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

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