160 likes | 306 Views
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
E N D
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 (232 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)