-------------------------------------------------------------------------------- CS150 - Spring 2010 Discussion 05 2/22/2010 Chris Fletcher -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- Agenda -------------------------------------------------------------------------------- The last thing I got to in the first discussion was how to build larger function generators using F{7,8} MUXs. To ensure continuity, I would proceed as follows: 1.) Greeting 2.) Questions (administrative, course in general)? 3.) CMOS Inverter NAND Gate Transmission Gate Tri-states built out of... Transmission gates Plain old pFET/nFETs MUXs built out of... Transmission gates Tri-states Flip-flops built out of... Latches built out of... Transmission Gates 4.) MIPS Pipelines Single-cycle 5-stage pipelined What paths do instructions take? beq lw sll Adding instructions to the pipeline j slt Universal one-instruction comuters "Subtract and branch if less than or equal to zero" subleq a, b, c ; Mem[b] = Mem[b] - Mem[a] ; if (Mem[b] <= 0) goto c ; Z is a location previously set to contain 0 Wikipedia "One_instruction_set_computer" for synthesized instructions: j j c == subleq Z, Z, c ; Z is a location previously set to contain 0 add ADD a, b == subleq a, Z subleq Z, b subleq Z, Z mov MOV a, b == subleq b, b subleq a, Z subleq Z, b subleq Z, Z beq BEQ b, c == subleq b, Z, L1 subleq Z, Z, OUT L1: subleq Z, Z subleq Z, b, c OUT: ... --------------------------------------------------------------------------------