UNIVERSITA' DEGLI STUDI DI BOLOGNA FACOLTA' DI INGEGNERIA Corso di Laurea Magistrale in Ingegneria Informatica Progetto di Calcolatori Elettronici M: Estensione set distruzioni DLX Calcolatori Elettronici M Prof. Giovanni Neri, Prof. Stefano Mattoccia Realizzato da: Benini Paolo Anno Accademico 2009 – 2010
O BIETTIVO Estensione al set di istruzioni DLX Istruzioni di memoria Istruzioni aritmetiche unsigned Istruzioni logiche 2
C ARATTERISTICHE DLX 3
M APPING DELLE I STRUZIONI (F ILE G LOBAL. VHD ) 4
S ET I STRUZIONI RIF ADDU rd,rs1,rs2ADDUI rd,rs1,immDIV fd,fs1,fs2 SGT rd,rs1,rs2LB rd,imm(rs1)DIVU fd,fs1,fs2 SUBU rd,rs1,rs2LBU rd,imm(rs1)MULT fd,fs1,fs2 MULTF fd,fs1,fs2* LH rd,imm(rs1)MULTU fd,fs1,fs2 LHI rd,imm LHU rd,imm(rs1) ORI rd,rs1,imm SB imm(rs1),rd SGTI rd,rs1,imm SH imm(rs1),rd SUBI rd,rs1,imm SUBUI rd,rs1,imm 5 Codificata come istruzione di tipo R anche se è di tipo F
I NSTRUCTION F ETCH (F ILE F ETCH _S TAGE. VHD ) 6 Sono inserite nel codice le istruzioni macchina da eseguire.
I STRUCTION D ECODE (F ILE D ECODE _S TAGE. VHD ) 7 Sono decodificate le istruzioni: è discriminato il formato e il codice operativo dellistruzione
E XECUTE (F ILE E XECUTE _S TAGE. VHD ) 8 Implementazione delle istruzioni aritmetiche (senza segno) e logiche RIF ADDU rd,rs1,rs2ADDUI rd,rs1,immDIV fd,fs1,fs2 SGT rd,rs1,rs2 ORI rd,rs1,imm DIVU fd,fs1,fs2 SUBU rd,rs1,rs2SGTI rd,rs1,immMULT fd,fs1,fs2 SUBI rd,rs1,immMULTU fd,fs1,fs2 SUBUI rd,rs1,imm
M EMORY (F ILE M EMORY _S TAGE. VHD ) 9 Qui vengono implementate le istruzioni di memoria: le Load (con e senza segno) e le Store I LB rd,imm(rs1) LBU rd,imm(rs1) LH rd,imm(rs1) LHU rd,imm(rs1) SB imm(rs1),rd SH imm(rs1),rd
W RITE B ACK (F ILE W RITE B ACK _S TAGE. VHD ) 10 Viene eventualmente aggiornato il contenuto del Register File (se STORE non fa nulla)
C ONSIDERAZIONI DLX pipeline Rappresentazione dei dati in VHDL 11 S VILUPPI F UTURI Istruzioni Floating Point Segnali INT e TRAP Controllo allineamento e salti