l16_handouts_4up - Announcements Homework 5 Due Tuesday Apr...

Info iconThis preview shows pages 1–3. Sign up to view the full content.

View Full Document Right Arrow Icon
1 Announcements • Homework 5 ue uesday Apr 8 10:00pm – Due Tuesday, Apr 8 , 10:00pm – But you are encouraged to do it before Project 4a •P r o j e c t 4 a – Due Thu., Apr 3, 1:25pm, in class and via CMS • Prelim 2 – April 22 @ 7:30pm, in the Uris Hall Auditorium ECE/CS 314 1 Hennessy and Patterson • Read Chapter 5 – Read 5.1-5.5 for (DONE) ead56 59 11forfun – Read 5.6, 5.9-5.11 for fun • Read Espresso Tutorial (link on course web page) • Read Verilog Process Tutorial and Verilog Tools summary (links on Project 3 web page) • Read Chapter 6 – Read 6.1-6.6,6.8-6.12 (Done) Read 3.6-3.8 for Today ead 4 1 6 for Tuesday ECE/CS 314 Read 4.1-4.6 for Tuesday Read 7.1-7.5 for Tuesday/Thursday 2 MIPS Floating Point ISA • MIPS has 32 32-bit floating point registers f0 $f1 $f2 f31 – $f0, $f1, $f2, …, f31 • Registers can be used in even-odd pairs for double precision FP numbers • Addition of separate FP registers doubles the number of registers without taking up more bits instruction ECE/CS 314 in instruction – But need separate instructions to move data between memory and FP registers – Only minor increase in number of instructions MIPS FP Instructions FP add single add.s $f2, $f4, $f6 $f2 = $f4 + $f6 FP sub single sub.s $f2, $f4, $f6 $f2 = $f4 - $f6 FP mult single mul.s $f2, $f4, $f6 $f2 = $f4 * $f6 FP div single div.s $f2, $f4, $f6 $f2 = $f4 / $f6 FP add double add.d $f2, $f4, $f6 {$f2,$f3} = {$f4,$f5} + {$f6,$7} FP sub double sub.d $f2, $f4, $f6 {$f2,$f3} = {$f4,$f5} - {$f6,$f7} FP mult double mul.d $f2, $f4, $f6 {$f2,$f3} = {$f4,$f5} * {$f6,$f7} FP div double div.d $f2, $f4, $f6 {$f2,$f3} = {$f4,$f5} / {$f6,$f7} Load word copr 1 lwc1 $f1,100($s2) $f1 = Mem[100 + $s2] Store word copr 1 swc1 $f1,100($s2) Mem[100 + $s2] = $f1 Load Double copr1 ldc1 $f1,100($s2) {$f1,$f2} = Mem[100 + $s2] Store Double copr 1 sdc1 $f1,100($s2) Mem[100 + $s2] = {$f1,$f2} ECE/CS 314 Branch on FP true bc1t target if(cond==1) goto {(PC + 4)[31:28],target,00} Branch on FP false bc1f target if(cond==0) goto {(PC + 4)[31:28],target,00} FP compare single (eq,ne,lt,le,gt,ge) c.lt.s $f2,$f4 if($f2 < $f4) cond = 1; else cond =0 FP compare double (eq,ne,lt,le,gt,ge) c.lt.d $f2,$f4 if({$f2,$f3} < {$f4,$f5}) cond = 1; else cond =0
Background image of page 1

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
2 FP Functional Units EX Integer Unit IF ID MEM WB FP/Integer Multiply FP Adder M A ECE/CS 314 FP/Integer Divider DIV FP Pipelines EX Integer Unit IF ID MEM WB M1 M2 M3 M4 M5 M6 M7 A1 A2 A3 A4 FP/Integer Multiply FP Adder ECE/CS 314 DIV FP/Integer Divider Representing Real Numbers • How do we represent real numbers?
Background image of page 2
Image of page 3
This is the end of the preview. Sign up to access the rest of the document.

This note was uploaded on 09/01/2008 for the course ECE 3140 taught by Professor Mckee/long during the Spring '07 term at Cornell University (Engineering School).

Page1 / 8

l16_handouts_4up - Announcements Homework 5 Due Tuesday Apr...

This preview shows document pages 1 - 3. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online