Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Number One Tom Bozic Ian Nuber Greg Ramsey Henry Romero Matt Unangst GITHU Processor General Purpose 32-bit, pipelined computer processor MIPS-like architecture – 24-bit address space – – Reduced instruction set 22 bits, concatenate with ending 00 32 bit boundaries 16 Registers Registers 16 Registers (ease in immediate operations) 3 Special Purpose – – – R0 – zero R14 – stack pointer R15 – return address Instruction Set Architecture First two bits indicate instruction category – 16 bit immediate built into R-type reduces complexity of design Addressing Modes – – Load, store, bra/jump, R-type Direct Indirect with Offset ISA accounts for full address space – NO PC-relative addressing Instruction Format Load / Store 31 30 29 Op(2) 24 23 Addr(6) 20 19 Rt (4) 16 15 Rs (4) 0 Address Displacement (16) R-Type 31 24 23 Opcode(8) 20 19 Rd(4) 16 15 Rs1 (4) 12 11 Rs2 (4) 0 Immediate (12) Bra / Jmp 31 30 29 Op(2) 26 25 Type(4) 24 23 Addr (2) 20 19 Rs (4) 0 Address Continued (20) Instructions Arithmetic – – – – Add Addi – add immediate Sub Subi – subtract immediate Data Transfer – – Ld - load word St – store word Instructions Logic – – – – – – – – And Andi – And immediate Or Ori – Or immediate Nor Nand Sll – logic shift left Slr – logic shift right Instructions Branches – – Beq – branch equal to zero Bne – branch not equal to zero Jumps – – Jmp – jump to specified address Jsr – jump to subroutine Interrupt handler Save current PC in register Nop – No Operation Datapath Diagram Functional Units Register File ALU Control Logic Memory System Assembler Hardware Xilinx XCV300/400/600/800 FPGA Keep FPGA on board Make PCB for all off-chip peripherals Connect two boards together via ribbon cable Processor I/O Serial RS232 port LCD, Monitor outputs Keypad, Keyboard Inputs Vital Goals Implement processor on FPGA in Verilog – – Pipelined Thorough simulation Complete Assembler Keypad, LCD I/O Make PCB with off-chip peripherals Successfully run assembly program Extended Goals On-chip caches (Instruction and data) C Compiler Monitor, Keyboard I/O Multiplier, Divider units Floating Point Units Individuals Roles Tom Bozic – Ian Nuber – ALU, PCB design Henry Romero – Assembler, control logic, test-program design Greg Ramsey – Assembler, control logic, documentation PCB design, Memory system Matt Unangst – – Pipeline implementation (forwarding, rollback) Register File Schedule Risks PCB issues (signal noise, speed, etc) – Wire wrapping Pipeline complexity – Design allows for insertion of no-ops to essentially turn machine into multi-cycle machine Questions?