CSCI 211 Intro Computer Organization –Consists of gates for logic And Or Not –Processor –Memory –I/O interface
Instructions Instructions are in memory –Fetch instruction, then execute it Fetch execute cycle –More detailed Fetch instruction Fetch operands Execute instruction Save result Determine next instruction
Processor Components Datapath –Hardware that electrons flow through to accomplish an instruction Control –Tells hardware what to do and when to do it. Registers –Small amount of memory (32 4-byte for MIPS) that can be operated upon.
What’s inside Everything in the computer is represented with 0’s and 1’s (on-off) –Integers –Characters –Boolean –Float –Instructions (machine language)
Languages Machine Language –Just 0’s and 1’s –Very hard to program Assembly –Symbolic for machine language –Easy to create a program to translate from assembly language to machine language (almost 1 to 1) –Keeps track of variables’ addresses
Why Learn Assembler Understand what the machine does –Helps you to be a better guesser Needed to write a compiler (431) Needed to build CPUs Faster to execute To determine timing Gives you the power to access anything Maintaining older systems
Why not USE assembly Tedious Error prone Slow to write Machine dependent Good compilers produce fast code already
MIPS CPU Used in many systems –SGI workstations –Sony PS2 –Dish Network set top box –Tivo DVR –Pioneer Plasma TV –HP Color laser printer –Many more
MIPS Layout Control Register file (32 registers with 32 bits each) ALU Program Counter (PC) Memory –32 bit address (2 32 bytes addressable = 4Gb) Instruction register (IR)
Control Unit Sends the proper control signals to each component to accomplish instruction Input to the control unit –Instruction –Cycle number – which step of the instruction
Register File A group of registers Input –Which register (5 bits) –Read or Write –32 bit value (for write) –Outputs a 32 bit value for read
Register Conventions $0 = 0 $1 – used by the assembler $2, $3 – function return values $4-$7 – Arguments to a function Etc.
Other components ALU –Performs arithmetic and logic (and, or, shift) PC –Program counter – address of next instruction Memory –32 bit address –Addresses a byte (8 bits) –Some instructions use word (4 bytes), halfword (2 bytes), or byte operands –All instructions are 4 bytes (on MIPS) PC=PC+4
Instruction Register IR –Holds the 32 bit instruction just fetched –Needed for control unit to determine what control signals to send
Instruction Format Opcode –First 6 bits 3 Formats –R type Opcode all 0’s Three 5-bit fields for registers (2 for operand, 1 for result) 5-bit shift amount (for shift instructions) 6-bit function code
Other formats I Type –Two 5-bit register numbers –16-bit value as the third operand J type –Jump instructions –26 bit address field (64M)