CS 2200 Lecture 3 Instruction Set Architectures ISAs - PowerPoint PPT Presentation

1 / 18
About This Presentation
Title:

CS 2200 Lecture 3 Instruction Set Architectures ISAs

Description:

In GPR machines, addressing mode can specify a constant, register or location in ... Next, we summarize different types of addressing modes (excluding PC relative) ... – PowerPoint PPT presentation

Number of Views:74
Avg rating:3.0/5.0
Slides: 19
Provided by: michaelt8
Category:

less

Transcript and Presenter's Notes

Title: CS 2200 Lecture 3 Instruction Set Architectures ISAs


1
CS 2200 Lecture 3Instruction Set Architectures
(ISAs)
  • (Lectures based on the work of Jay Brockman,
    Sharon Hu, Randy Katz, Peter Kogge, Bill Leahy,
    Ken MacKenzie, Richard Murphy, and Michael
    Niemier)

2
History
Hardware Expensive Memory Expensive Accumulators
EDSAC IBM 701
Hardware Less Expensive Memory Expensive Register
Oriented Machines (2 address) Register-Memory
IBM 360 DEC PDP-11 Also Some Stack
Machines Burroughs B-5000 (Banks)
Hardware Memory Cheap Microprocessors Compilers
get good CISC VAX Motorola 68000
Intel 80x86 RISC Berkley RISC ?Sparc
Dave Patterson Stanford MIPS ?SGI John
Hennessy IBM 801
1940 1950
1960 1970
1980 1990
3
Next
  • Well focus on register, register machines
  • (why learn a lot about something from the 1960s?)
  • In particular, well present a MIPS, DLX view
  • Later, well look at the LC 2200
  • The LC 2200 is a simple machine that youll use
    for lots of projects and HWs.
  • Ill often present concepts in terms of the
    LC2200 hopefully this should help with
    HWs/projects

4
Where is all of the data that we need to use in
instructions?
5
Typical Operation
  • add a,b,c a b c
  • What if we want to do a bcde?
  • (Try it!)
  • add a,b,c
  • add a,a,d
  • add a,a,e

6
Whats the answer?
  • (56) - (34)
  • How did you do it?
  • e (ab) - (cd)
  • add t1,a,b
  • add t2,c,d
  • sub e,t1,t2

7
Operands
  • add a,b,c
  • Where are a, b and c?
  • Memory?
  • I/O Device?
  • Registers (in processor)?
  • ???
  • How does the data get in and out of the
    registers?
  • load
  • store

8
What about memory addresses?
  • Usually instruction sets are byte addressed
  • Provide access for bytes (8 bits), half-words (16
    bits), words (32 bits), double words (64 bits)
  • Two different ordering types big/little endian

31
23
15
7
0
Little Endian
Puts byte w/addr. xx00 at least significant
position in the word
31
23
15
7
0
Big Endian
Puts byte w/addr. xx00 at most significant
position in the word
9
Another view of Endianess
  • No, were not making this up.
  • at word address 100 (assume a 4-byte word)
  • long a 0x11223344
  • big-endian (MSB at word address) layout
  • 100 101 102 103
  • 100 11 22 33 44
  • 0 1 2 3
  • little-endian (LSB at word address) layout
  • 103 102 101 100
  • 11 22 33 44 100
  • 3 2 1 0

10
Another example
  • Consider string layout starting at word addr
    100
  • char a12 RAMACHANDRAN
  • char b12 WAMACHANDRAN

Big Endian
Little Endian
11
Memory addressing modes
  • Refers to how architectures specify the address
    of an object they will access
  • Fancy language for
  • How do we tell the processor address to access in
    memory?
  • In GPR machines, addressing mode can specify a
    constant, register or location in memory
  • When memory location is used, actual memory
    address specified in the addressing mode is
    called the effective address
  • Next, we summarize different types of addressing
    modes (excluding PC relative)

12
Addressing Modes
13
Addressing modes continued
14
Addressing modes Final thoughts
  • A new architecture would most likely have at
    least displacement, immediate, and register
    deferred in addition to register obviously
  • For example
  • An Example MIPS machine

15
An example MIPS machine
FYI, designing something like this (that
executes instructions) will be a big focus of the
1st part of this class.
You dont have to understand this now, but lets
walk through whats here
16
Types of instructions and how theyre used
17
Instruction Classes
  • Weve talked lots about instructions, instruction
    counts, but what are they really?
  • Lets look at some basic instruction classes
  • Arithmetic/Logical AND, OR, add, sub
  • Data Transfer Loads/Stores, move inst.
    (machines
  • w/addressable memory)
  • Control Branch, jump, procedure call return,
    traps
  • System OP Sys. calls, virtual memory management
  • Floating Point Floating point ops multiply and
    divide
  • Decimal Dec. add, multiply dec.-to-char.
    conversions
  • String String move, compare, search
  • Graphics Pixel ops, compression/decompression

18
What instructions are really used?
  • Usually the most commonly executed instructions
    are the simple ones
  • For example consider this Intel 80x86 mix

These 10 instructions make up 96 of all those
executed!
Write a Comment
User Comments (0)
About PowerShow.com