170 likes | 379 Views
ECEN 4243 Digital Computer Design. TEAM FRONT END. What is MIPS?. MIPS : Microprocessor without Interlocked Pipelined Stages developed in 1981 Reduced Instruction Set Computing (RISC) Can be single cycle or pipelined We will be developing a 5 pipeline version. 5 Stage Pipeline.
E N D
ECEN 4243 Digital Computer Design TEAM FRONT END
What is MIPS? • MIPS : Microprocessor without Interlocked Pipelined Stages developed in 1981 • Reduced Instruction Set Computing (RISC) • Can be single cycle or pipelined • We will be developing a 5 pipeline version
Team Member Role Rashmi Wadhwa Team Leader Alex Whiteway Lead Engineer Carolina Arbona Wiki Specialist Rory Little Intra Team Relations Phillip Walker Researcher Ran Liao Production Line Principal Ameen Alsharan Report Compiler Tuan Phan Minutes of meeting(s) Who is the Front End?
What is the Front End? • The Front End is the first section that an instruction traverses on its way through the pipeline • Made up of two pipeline stages • Instruction Fetch • Instruction Decode
Front End Stages: IF/ID Fetch
Instruction Fetch • Pulls an instruction from memory • Updates the PC based on the PCSrc control line
Front End Stages: ID Decode
Instruction Decode • What’s in a MIPS Decode stage? • Definitely no decoding like x86 • Register File • Sign Extend • Register Destination Mux
Read Ports • Input: • Two Addresses: RR1 & RR2 • Each 5 bit bus determines what register will show on its respective read port • Asynchronous Reading • Output: • Two data outputs: RD1 & RD2 • 32 bit register contents sent to execution • Data is chosen from multiplexers using RS and RT as the respective control lines
Write Port • Input • Write Address • 5 bit address input from WB Stage goes into a 5 to 32 decoder • Write Data • 32 bit word from WB Stage • Write Enable • ANDed with decoder output so only 1 register is written • Tells register that Write Address specifies to write the data on the negative edge
Summary • Write Address (WA) is the input to the 5 to 32 decoder • Write Enable (WE) ANDedwith the output of the decoder and is the clock for the register • Write Data (WD) is the data input to the registers • Read Data 1 (RD1) is the 32 bit output of the mux controlled by RR1 • Read Data 2 (RD2) is the 32 bit output of the mux controlled by RR2 • The inputs for the muxes are all of the registers (32 32 bit registers, 1024 total in the register file) • Asynchronous reads and synchronous writes
What is in a Register File? Note: Register 0 will be hard wired to always have the value 0
Other Components • 16 to 32 bit sign extender • Copies bit 15 to bits 16 through 31 • Immediate values need to be 32 bits for ALU • Reg Write Mux • Different types of instructions need to store to registers in different parts of the instruction • R-Type writes to $rd • I-Type writes to $rt • J-Type writes to $ra