Thanks to visit codestin.com
Credit goes to www.scribd.com

0% found this document useful (0 votes)
83 views17 pages

Computer Organization and Assembly Language: Lecture 11 & 12 Instruction Sets: Characteristics and Functions

The document discusses computer instruction sets and their characteristics. It covers topics like what an instruction set is, the elements that make up instructions, different instruction formats and types, factors that influence instruction set design like the number of operand addresses and registers, and types of operands like numbers, characters, and logical data. The instructor is Engr. Aisha Danish and the course is about computer organization and assembly language.

Uploaded by

darwinvargas2011
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
83 views17 pages

Computer Organization and Assembly Language: Lecture 11 & 12 Instruction Sets: Characteristics and Functions

The document discusses computer instruction sets and their characteristics. It covers topics like what an instruction set is, the elements that make up instructions, different instruction formats and types, factors that influence instruction set design like the number of operand addresses and registers, and types of operands like numbers, characters, and logical data. The instructor is Engr. Aisha Danish and the course is about computer organization and assembly language.

Uploaded by

darwinvargas2011
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 17

COMPUTER ORGANIZATION

AND ASSEMBLY LANGUAGE

Lecture 11 & 12
Instruction Sets: Characteristics and Functions
Machine Instruction Characteristics
Types of Operands
Course Instructor: Engr. Aisha Danish
What is an Instruction Set?
 The complete collection of instructions that are
understood by a CPU
 Machine Code
 Binary
 Usually represented by assembly codes
Elements of an Instruction
 Operation code (Op code)
 Do this
 Source Operand reference
 To this
 Result Operand reference
 Put the answer here
 Next Instruction Reference
 When you have done that, do this...
Instruction Cycle State Diagram
Instruction Representation
 In machine code each instruction has a unique bit
pattern
 For human consumption (well, programmers
anyway) a symbolic representation is used
 e.g. ADD, SUB, LOAD
 Operands can also be represented in this way
 ADD A,B
Simple Instruction Format
Instruction Types
 Data processing
 Data storage (main memory)
 Data movement (I/O)
 Program flow control
Number of Addresses (a)
 3 addresses
 Operand 1, Operand 2, Result
 a = b + c;
 May be a forth - next instruction (usually implicit)
 Not common
 Needs very long words to hold everything
Number of Addresses (b)
 2 addresses
 One address doubles as operand and result
 a=a+b
 Reduces length of instruction
 Requires some extra work
 Temporary storage to hold some results
Number of Addresses (c)
 1 address
 Implicit second address
 Usually a register (accumulator)
 Common on early machines
Number of Addresses (d)
 0 (zero) addresses
 All addresses implicit
 Uses a stack
 e.g. push a
 push b
 add
 pop c

 c=a+b
How Many Addresses
 More addresses
 More complex (powerful?) instructions
 More registers
 Inter-register operations are quicker
 Fewer instructions per program
 Fewer addresses
 Less complex (powerful?) instructions
 More instructions per program
 Faster fetch/execution of instructions
Design Decisions (1)
 Operation repertoire
 How many ops?
 What can they do?
 How complex are they?
 Data types
 Instruction formats
 Length of op code field
 Number of addresses
Design Decisions (2)
 Registers
 Number of CPU registers available
 Which operations can be performed on which
registers?
 Addressing modes (later…)

 RISC v CISC
Types of Operand
 Addresses
 Numbers
 Integer/floating point
 Characters
 ASCII etc.
 Logical Data
 Bits or flags
 (Aside: Is there any difference between numbers and characters? Ask a C
programmer!)
x86 Data Types
 8 bit Byte
 16 bit word
 32 bit double word
 64 bit quad word
 128 bit double quadword
 Addressing is by 8 bit unit
 Words do not need to align at even-numbered
address
 Data accessed across 32 bit bus in units of double
word read at addresses divisible by 4
 Little endian
x86 Numeric Data Formats

You might also like