0% found this document useful (0 votes)
167 views36 pages

CH12 COA10e Updated

Uploaded by

Muhammad Umair
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)
167 views36 pages

CH12 COA10e Updated

Uploaded by

Muhammad Umair
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/ 36

+

William Stallings
Computer Organization
and Architecture
10th Edition

© 2016 Pearson Education, Inc., Hoboken,


NJ. All rights reserved.
+ Chapter 12
Instruction Sets:
Characteristics and Functions
© 2016 Pearson Education, Inc., Hoboken, NJ. All rights reserved.
+
Machine Instruction Characteristics

 The operation of the processor is determined by the instructions it


executes, referred to as machine instructions or computer instructions

 The collection of different instructions that the processor can execute


is referred to as the processor’s instruction set

 Each instruction must contain the information required by the


processor for execution

© 2016 Pearson Education, Inc., Hoboken, NJ. All rights reserved.


Elements of a Machine Instruction

Operation code Source operand


(opcode) reference
• Specifies the operation to • The operation may
be performed. The involve one or more
operation is specified by source operands, that is,
a binary code, known as operands that are inputs
the operation code, or for the operation
opcode

Result operand Next instruction


reference reference
• The operation may • This tells the processor
produce a result where to fetch the next
instruction after the
execution of this
instruction is complete

© 2016 Pearson Education, Inc., Hoboken, NJ. All rights reserved.


© 2016 Pearson Education, Inc., Hoboken, NJ. All rights reserved.
Source and result operands can be in
one of four areas:
3) Processor register
 A processor contains one or more
1) Main or virtual memory registers that may be referenced
 As with next instruction by machine instructions.
references, the main or virtual
memory address must be supplied
 If more than one register exists
each register is assigned a unique
name or number and the
instruction must contain the
number of the desired register
2) I/O device
 The instruction must specify the
I/O module and device for the 4) Immediate
operation. If memory-mapped I/O
is used, this is just another main or
 The value of the operand is
virtual memory address contained in a field in the
instruction being executed

© 2016 Pearson Education, Inc., Hoboken, NJ. All rights reserved.


+
Instruction Representation
 Within the computer each instruction is represented by a sequence of
bits

 The instruction is divided into fields, corresponding to the constituent


elements of the instruction

© 2016 Pearson Education, Inc., Hoboken, NJ. All rights reserved.


+
Instruction Representation
 Opcodes are represented by abbreviations
called mnemonics

 Examples include:
 ADD Add
 SUB Subtract
 MUL Multiply
 DIV Divide
 LOAD Load data from memory
 STOR Store data to memory

 Operands are also represented symbolically

 Each symbolic opcode has a fixed binary representation


 The programmer specifies the location of each symbolic operand

© 2016 Pearson Education, Inc., Hoboken, NJ. All rights reserved.


Instruction Types
• Arithmetic instructions provide computational capabilities • Movement of data into or out
for processing numeric data of register and or memory
• Logic (Boolean) instructions operate on the bits of a word locations
as bits rather than as numbers, thus they provide
capabilities for processing any other type of data the user
may wish to employ

Data
Data storage
processing

Data
Control
movement

• Test instructions are used to test the value of a data word or the • I/O instructions are needed to
status of a computation transfer programs and data
• Branch instructions are used to branch to a different set of into memory and the results
instructions depending on the decision made of computations back out to
the user

© 2016 Pearson Education, Inc., Hoboken, NJ. All rights reserved.


© 2016 Pearson Education, Inc., Hoboken, NJ. All rights reserved.
Table 12.1  
Utilization of Instruction Addresses
(Nonbranching Instructions)

© 2016 Pearson Education, Inc., Hoboken, NJ. All rights reserved.


Instruction Set Design
Very complex because it affects so many aspects of the computer system

Defines many of the functions performed by the processor

Programmer’s means of controlling the processor

Fundamental design issues:

Operation repertoire Data types Instruction format Registers Addressing


• How many and which • The various types of data upon • Instruction length in bits, • Number of processor registers • The mode or modes by which
operations to provide and how which operations are performed number of addresses, size of that can be referenced by the address of an operand is
complex operations should be various fields, etc. instructions and their use specified

© 2016 Pearson Education, Inc., Hoboken, NJ. All rights reserved.


Types of Operands

e sses
Ad d r
Num
be rs

Chara
cters
a l Da t a
Lo gi c

© 2016 Pearson Education, Inc., Hoboken, NJ. All rights reserved.


+ Numbers

 All machine languages include numeric data types

 Numbers stored in a computer are limited:


 Limit to the magnitude of numbers representable on a machine
 In the case of floating-point numbers, a limit to their precision

 Three types of numerical data are common in computers:


 Binary integer or binary fixed point
 Binary floating point
 Decimal

 Packed decimal
 Each decimal digit is represented by a 4-bit code with two digits stored per
byte
 To form numbers 4-bit codes are strung together, usually in multiples of 8 bits

© 2016 Pearson Education, Inc., Hoboken, NJ. All rights reserved.


+
Characters

 A common form of data is text or character strings

 Textual data in character form cannot be easily stored or transmitted


by data processing and communications systems because they are
designed for binary data

 Most commonly used character code is the International Reference


Alphabet (IRA)
 Referred to in the United States as the American Standard Code for
Information Interchange (ASCII)

 Another code used to encode characters is the Extended Binary


Coded Decimal Interchange Code (EBCDIC)
 EBCDIC is used on IBM mainframes

© 2016 Pearson Education, Inc., Hoboken, NJ. All rights reserved.


+
Logical Data

 An n-bit unit consisting of n 1-bit items of data, each item having the
value 0 or 1

 Two advantages to bit-oriented view:


 Memory can be used most efficiently for storing an array of Boolean or
binary data items in which each item can take on only the values 1 (true)
and 0 (false)
 To manipulate the bits of a data item
 If floating-point operations are implemented in software, we need to be
able to shift significant bits in some operations
 To convert from IRA to packed decimal, we need to extract the
rightmost 4 bits of each byte

© 2016 Pearson Education, Inc., Hoboken, NJ. All rights reserved.


+
Types Of Operations

The number of different opcodes varies widely from machine to machine.


However, the same general types of operations are found on all machines. A
useful and typical categorization is the following:

 Data transfer
 Arithmetic
 Logical
 Conversion
 I/O
 System control
 Transfer of control

© 2016 Pearson Education, Inc., Hoboken, NJ. All rights reserved.


Table 12.3  
Common
Instruction Set
Operations
(page 1 of 2)

(Table can be found on page


426 in textbook.)
© 2016 Pearson Education, Inc., Hoboken, NJ. All rights reserved.
Table 12.3  
Common
Instruction Set
Operations
(page 2 of 2)

(Table can be found on page


426 in textbook.)

© 2016 Pearson Education, Inc., Hoboken, NJ. All rights reserved.


Table 12.4  
Processor Actions for Various Types of Operations

(Table can be found on page 427 in textbook.)


© 2016 Pearson Education, Inc., Hoboken, NJ. All rights reserved.
Data Transfer

Must specify:
• Location of the source and destination
operands
Most fundamental type of • The length of data to be transferred
machine instruction must be indicated
• The mode of addressing for each
operand must be specified

© 2016 Pearson Education, Inc., Hoboken, NJ. All rights reserved.


Table 12.5  
Examples of IBM EAS/390 Data Transfer Operations

© 2016 Pearson Education, Inc., Hoboken, NJ. All rights reserved. (Table can be found on page 428 in textbook.)
+  Most machines provide the basic arithmetic operations
of add, subtract, multiply, and divide
 These are provided for signed integer (fixed-point)
numbers
 Often they are also provided for floating-point and
packed decimal numbers
 Other possible operations include a variety of single-
operand instructions:
 Absolute Arithmetic
 Take the absolute value of the operand
 Negate
 Negate the operand
 Increment
 Add 1 to the operand
Decrement
 Subtract 1 from the operand

© 2016 Pearson Education, Inc., Hoboken, NJ. All rights reserved.


Table 12.6  
Basic Logical Operations

© 2016 Pearson Education, Inc., Hoboken, NJ. All rights reserved.


© 2016 Pearson Education, Inc., Hoboken, NJ. All rights reserved.
Table 12.7

Examples of Shift and Rotate Operations

© 2016 Pearson Education, Inc., Hoboken, NJ. All rights reserved.


Instructions that
change the format
or operate on the Conversion
format of data

An example of a
more complex
editing instruction
is the EAS/390
An example is Translate (TR)
converting instruction
from decimal
to binary

© 2016 Pearson Education, Inc., Hoboken, NJ. All rights reserved.


+
Input/Output

 Variety of approaches taken:


 Isolated programmed I/O
 Memory-mapped programmed I/O
 DMA
 Use of an I/O processor

 Many implementations provide only a few I/O instructions, with the


specific actions specified by parameters, codes, or command words

© 2016 Pearson Education, Inc., Hoboken, NJ. All rights reserved.


System Control

Instructions that can be executed only while the processor is in a certain


privileged state or is executing a program in a special privileged area of
memory

Typically these instructions are reserved for the use of the operating system

Examples of system control operations:

A system control instruction Access to process control


An instruction to read or modify
may read or alter a control blocks in a multiprogramming
a storage protection key
register system

© 2016 Pearson Education, Inc., Hoboken, NJ. All rights reserved.


+
Transfer of Control

 Reasons why transfer-of-control operations are required:


 It is essential to be able to execute each instruction more than once
 Virtually all programs involve some decision making
 It helps if there are mechanisms for breaking the task up into smaller
pieces that can be worked on one at a time

 Most common transfer-of-control operations found in instruction sets:


 Branch
 Skip
 Procedure call

© 2016 Pearson Education, Inc., Hoboken, NJ. All rights reserved.


© 2016 Pearson Education, Inc., Hoboken, NJ. All rights reserved.
Skip Instructions

Typically implies that one


instruction be skipped, thus
the implied address equals
Includes an implied address
the address of the next
instruction plus one
instruction length

Because the skip instruction


Example is the increment-
does not require a destination
and-skip-if-zero (ISZ)
address field it is free to do
instruction
other things

© 2016 Pearson Education, Inc., Hoboken, NJ. All rights reserved.


+
Procedure Call Instructions
 Self-contained computer program that is incorporated into a larger
program
 At any point in the program the procedure may be invoked, or called
 Processor is instructed to go and execute the entire procedure and then
return to the point from which the call took place

 Two principal reasons for use of procedures:


 Economy
 A procedure allows the same piece of code to be used many times
 Modularity

 Involves two basic instructions:


 A call instruction that branches from the present location to the procedure
 Return instruction that returns from the procedure to the place from which
it was called
© 2016 Pearson Education, Inc., Hoboken, NJ. All rights reserved.
© 2016 Pearson Education, Inc., Hoboken, NJ. All rights reserved.
© 2016 Pearson Education, Inc., Hoboken, NJ. All rights reserved.
+ Summary Instruction Sets:
Characteristics and
Chapter 12 Functions

 Machine instruction characteristics  Types of operations


 Elements of a machine instruction  Data transfer
 Instruction representation  Arithmetic
 Instruction types  Logical
 Number of addresses  Conversion
 Instruction set design  Input/output
 Types of operands  System control
 Numbers
 Transfer of control
 Characters
 Logical data

© 2016 Pearson Education, Inc., Hoboken, NJ. All rights reserved.

You might also like