CH12 Instruction Sets Characteristics and Functions
CH12 Instruction Sets Characteristics and Functions
William Stallings
Computer Organization
and Architecture
9th Edition
Chapter 12
+
Instruction Sets:
Characteristics and Functions
+
Machine Instruction Characteristics
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 into
• Branch instructions are used to branch to a different set of memory and the results of
instructions depending on the decision made computations back out to the
user
+
Number of Addresses
+
Table 12.1
Utilization of Instruction Addresses
(Nonbranching Instructions)
Instruction Set Design
Very complex because it affects so many aspects of the computer system
e sses
Ad d r
Num
be rs
Chara
cters
a l Da t a
Lo gi c
+
Numbers
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
+
Characters
An n-bit unit consisting of n 1-bit items of data, each item having the
value 0 or 1
Table 12.3
Common
Instruction Set
Operations
(page 1 of 2)
+
Table 12.3
Common
Instruction Set
Operations
(page 2 of 2)
Table 12.4
Processor Actions for Various Types of Operations
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
Table 12.5
Examples of IBM EAS/390 Data Transfer Operations
+
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:
Arithmetic
Absolute
Take the absolute value of the operand
Negate
Negate the operand
Increment
Add 1 to the operand
Decrement
Subtract 1 from the operand
Logical
An example of a
An example is more complex
converting editing instruction
from decimal is the EAS/390
to binary Translate (TR)
instruction
+
Input/Output
Typically these instructions are reserved for the use of the operating system
Branch
Instruction
Skip Instructions
12.1
12.2
12.3
12.6
12.8