90 likes | 208 Views
Un Architettura Risc - Pipeline Il Processore Deluxe - DLX. Il processore Deluxe - DLX. Caratteristiche Principali. A simple load/store instruction set An easily decoded instruction set ( CPU con Ridotto Instruction Set – RISC ) Design for pipelining efficiency.
E N D
Un Architettura Risc - Pipeline Il Processore Deluxe - DLX
Il processore Deluxe - DLX Caratteristiche Principali • A simple load/store instruction set • An easily decoded instruction set • (CPU con Ridotto Instruction Set – RISC) • Design forpipelining efficiency L’architettura DLX è una famiglia di processori RISC proposta nel 1990 da Hennessy e Patterson per illustrare le funzonalità di processori commerciali della famiglia Risc: AMD 29K, DEC 3100, IBM 801, Intel i860, MIPS, Motorola 88k, Sun SPARC 1
accessi allineati a 32 bits 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 accessi non allineati Il processore Deluxe - DLX Caratteristiche Tecniche • • 32 Registrida 4 ByteGeneral Purpose REGISTER (GPR) • 32 RegistriFloating Point (FGP) Single Precision da 4 Byte • (16 registri Floating Point Double Precision da 8 Byte) • Registri Speciali (PC, IAR, MAR, MDR) da 4 Byte • • Integer data (Byte, Half Word da 2 Byte, Word da 4 Byte) • Floating point data (Single e Double precision) • • ArchitetturaLOAD/STORE • 32 bits di addressing • Big Endian mode(l’indirizzo punta al bit più significativo) • Dati indirizzabili al Byte (Byte, Half Word, Word) in modo allineato • Istruzioni fixedda4 Byte allineate a 32 bit • • Architettura PIPELINE (istruzioni a5 fasioperative) • ArchitetturaHARVARD (memorie differenti per istruzioni e dati) CPU a 32bits Contiene l’indirizzo in memoria dell’istruzione corrente Contiene l’indirizzo in memoria dell’istruzione chiamante la subroutine Contiene l’indirizzo in memoria dell’istruzione o del dato da prelevare o da scrivere Contiene il dato prelevato in memoria o il dato da scrivere in memoria 2
Memoria Interna della CPU Il processore Deluxe - DLX Architettura 3
Il processore Deluxe - DLX Examples of Arithmetic / Logical instructions 4
Il processore Deluxe - DLX Examples of Load and Store instructions 5
Il processore Deluxe - DLX Examples of Control-Flowinstructions 6
Somma Vettoriale di due vettori A e B a n componenti int 32bits: C = A + B • - a, b, c sono i rispettivi indirizzi in memoria delle prime componenti vettoriali (int 32bits) • tali vettori sono memorizzati in memoria con componenti sequenziali Il processore Deluxe - DLX Example of Assembly Program Language C++ For (k=0; k<n; k++) C[k] = A[k] + B[k]; C[k] = A[k] + B[k]; LW R1, a(R4) LW R2, b(R4) ADD R3,R1,R2 SW c(R4),R3 R1 <- Mem [R4+a] R2 <- Mem [R4+b] R3 <- R1 + R2 Mem [c+R4] <- R3 dove R4 = 0, 4, 8, 12 …, (4xn) 7
Somma Vettoriale di due vettori A e B a n componenti int 32bits: C = A + B • - a, b, c sono i rispettivi indirizzi in memoria delle prime componenti vettoriali (int 32bits) • tali vettori sono memorizzati in memoria con componenti sequenziali Branch label2: Branch label1: Il processore Deluxe - DLX Example of Assembly Program Language C++ For (k=0; k<n; k++) C[k] = A[k] + B[k]; Istruzione precedente LW R5, nx4(R0) SUB R4,R4,R4 SLT R12,R4,R5 BEQZ R12,label1 carico n x 4 in R5 azzero R4 if R4<R5 then R12=1 else R12=0 salta a label1 (+6x4) se R12=0 LW R1, a(R4) LW R2, b(R4) ADD R3,R1,R2 SW c(R4),R3 incremento R4 di 4 byte salta a label2(-8x4) ADDI R4,R4,#4 J label2 Istruzione successiva 8