Chapter 10 instruction sets
Download
1 / 41

Chapter 10 Instruction Sets - PowerPoint PPT Presentation


  • 106 Views
  • Uploaded on

Chapter 10 Instruction Sets. 10.1 Instruction Characteristics 10.2 Types of Operands 10.3 Data Types 10.4 Operators. 10.1 Machine Instruction Characteristics. Machine Instruction Characteristics. Machine Instructions- are instructions executed by the processor.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Chapter 10 Instruction Sets' - louie


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Chapter 10 instruction sets
Chapter 10Instruction Sets

  • 10.1 Instruction Characteristics

  • 10.2 Types of Operands

  • 10.3 Data Types

  • 10.4 Operators


10 1 machine instruction characteristics

10.1Machine Instruction Characteristics


Machine instruction characteristics
Machine Instruction Characteristics

  • Machine Instructions- are instructions executed by the processor.

  • Instruction set- a collection of instructions that the processor can execute


Elements of a machine instruction
Elements of a machine instruction

  • Opcode- uses a binary code which specifies the operation to be preformed.

  • Source operand reference- the input for the operation

  • Result operand reference- the result produced by the operation

  • Next instruction reference- tells the processor where to get the next instruction


Source and result operands can be found in
Source and result operands can be found in

  • Main or virtual memory

  • Processor register- contains registers that can be used by machine instructions

  • Immediate- the operand value is being contained when the instruction is being executed

  • I/O devices- instruction specifies I/O module and device but if memory mapped then just another main or virtual memory address


Instruction representation
Instruction Representation

  • Are represented by a sequence of bits

  • It is common to use “symbolic representation” of machine instructions

  • Op codes and operands are represented by abbreviations called “mnemonics”


Mnemonics
Mnemonics

  • ADD add

  • SUB subtract

  • MUL multiply

  • DIV divide

  • LOAD load data from memory

  • STOR store data to memory


Instruction types
Instruction types

  • Data processing- arithmetic and logic instructions

  • Data storage- moving data into or out of register or memory locations

  • Data movement- I/O instructions

  • Control- test and branch instructions


Number of addresses
Number of Addresses

  • A traditional way of describing processor architecture

  • What is the maximum number of addresses one might need in an instruction?

  • An instruction could be required to contain four addresses


Number of addresses1
Number of Addresses

  • 3 addresses instructions

    • 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 addresses2
Number of Addresses

  • 2 addresses instructions

    • 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 addresses3
Number of Addresses

  • 1 address instructions

    • Implicit second address

    • Usually a register (accumulator)

    • Common on early machines


Number of addresses4
Number of Addresses

  • 0 address instruction:

    • Special memory organization

    • Last in first out

    • Stack is a known location


Number of addresses5
Number of Addresses

Utilization of Instruction Addresses (NonbranchingInstructions)


Number of addresses6
Number of Addresses

1 address instructions

2 Or 3 address instructions

  • One general purpose register

  • Multiple general purpose registers


Instruction set design
Instruction Set Design

  • Operation Repertoire- How many and which operations to provide, and how complex the operations should be.

  • Data Types- The various types of data upon which operations are performed.

  • Instruction Format- Instruction length (in bits), number of addresses and size of fields.


Instruction set design1
Instruction Set Design

  • Registers- Number of processor registers that can be referenced by instructions, and their use

  • Addressing- The mode or modes by which the address of an operand is specified.


10 2 types of operands

10.2Types of operands


Types of operands
TYPES OF OPERANDS

  • Addresses

  • Numbers

  • Characters

  • Logical Data

  • Specialized Data Types

  • Data Structures


Addresses
Addresses

  • Main or Virtual memory address

  • Unsigned Integers


Numbers
Numbers

  • All machine languages include numeric types

  • Non-numeric processing: counters, field widths, etc

  • Numbers in a machine are limited by magnitude and precision

  • Consequences: rounding, overflow, underflow


Numerical data
Numerical Data

  • Binary integer or Binary fixed point

  • Binary floating point

  • Decimal


Decimal
Decimal

  • Majority of users deal with decimals

  • Necessity to convert from decimal to binary on input and binary to decimal on output

  • Packed decimal


Packed decimal
Packed Decimal

  • Used when there is a great deal of I/O and simple computation

  • Each decimal digit is represented by a 4-bit code. Ex: 0 = 0000, 1 = 0001

  • Numbers are formed by a string of 4-bit codes usually in multiples of 8-bit

  • 246 = 0000 0010 0100 0110

  • Positive: 1100

  • Negative: 1101


Characters
Characters

  • Text or character strings

  • Represented by a sequence of bits

  • Morse Code

  • International Reference Alphabet (IRA)

  • American Standard Code for Information Interchange (ASCII)

  • Extended Binary Coded Decimal Interchange Code (EBCDIC)


Logical data
Logical Data

  • Consider n-bit unit as consisting of n 1-bit items of data, each having a value of 0 or 1

  • Advantages:

    • Store array of Boolean or Binary data items

    • Manipulating bits of data items


10 3 data types

10.3data types


Intel x86 and arm data types
Intel x86 and ARM data types

  • are instruction set architecture.

  • change code into instructions a processor can understand and execute.

  • determines which operating systems and apps to run.


X 86 data types
x86 data types

  • The x86 can deal with data types of 8 (byte), 16 (word), 32 (doubleword), 64 (quadword),

    and 128 (double quadword) bits in length.

  • are referred to as general data types.

  • To allow maximum flexibility in data structures and efficient memory utilization, words do not need be aligned at even numbered addresses and doublewords do not need to aligned at addresses evenly divisible by 4.

  • x86 also supports specific data types that are recognized and operated on by particular instructions.


Arm data types
ARM data types

  • support data types of 8 (byte), 16 (halfword), and 32 (word) bits in length.

  • ARM processor do not provide floating point hardware, which saves power and area.

  • If required it must be implement in software.

  • Can be configure to be little Endian or big Endian mode.


10 4 operators

10.4operators


Types of operations
Types of Operations

  • Data Transfer

  • Arithmetic

  • Logical

  • Conversion

  • Input/output

  • System Control

  • Transfer of Control


Data transfer
Data Transfer

Operation Name

Description

  • Move(Transfer)

  • Store

  • Load (Fetch)

  • Exchange

  • Clear ( Reset)

  • Set

  • Push

  • Pop

  • Transfer word from source to destination

  • From processor to memory

  • From memory to processor

  • Swap contents of source and destination

  • Transfer 0s to destination

  • Transfer 1s to destination

  • Word from source to top of stack

  • From top of stack to destination


Arithmetic
Arithmetic

Operation Name

Description

  • Add

  • Subtract

  • Multiply

  • Divide

  • Absolute

  • Negate

  • Increment

  • Decrement

  • Compute sum of two operands

  • Difference of two operands

  • Product of two operands

  • Quotient of two operands

  • Replace by its absolute value

  • Change sign

  • Add 1 to operand

  • Subtract 1 to operand


Logical
Logical

Operation Name

Description

  • AND; OR; NOT; OR

  • Test

  • Compare

  • Set Control Variables

  • Shift

  • Variables

  • Perform the specified logical operation bitwise

  • Test specified condition; set flags based on outcome

  • Make logical and arithmetic comparison of two operands

  • Class of instructions to set controls for protection purposes, interrupt handling, timer control.

  • Left/right operand introducing constants at end.

  • Left/right with wraparound end


Conversion
Conversion

Operation Name

Description

  • Translate

  • Convert

  • Translate values in a section of memory based on a table of correspondences

  • Convert the contents of a word from one form to another. E.g(packed decimal to binary


I/O

Operation Name

Description

  • Input (Read)

  • Output ( Write)

  • Start I/O

  • End I/O

  • Transfer data from specified I/O port or device to destination

  • From specified source to I/O port or device

  • Transfer instructions to I/O processor to initiate I/O operation

  • Transfer status info from I/O system to specified destination


System of control
System Of Control

  • 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.

  • These instructions, are reserved for the use of the operating system.

  • Examples:

  • A system control instruction may read or alter a control register

  • An instruction to read or modify a storage protection key

  • Access to process control blocks in multiprogramming system


Transfer of control
Transfer Of Control

Operation Name

Description

  • Jump (Branch)

  • Jump Conditional

  • Jump to Subroutine

  • Return

  • Execute

  • Skip

  • Skip conditional

  • Halt

  • Wait (Hold)

  • No Operation

  • Unconditional Transfer: load PC with specified address

  • Test condition: either load PC with specified address or do nothing

  • Place current program control info in known location; jump to specified address

  • Replace contents of PC and other register from known location

  • Fetch operand from location and execute as instructed

  • Increment PC to skip next instruction

  • Either skip or do nothing based on condition

  • Stop program execution

  • Test specified repeatedly and resume condition

  • No operation is performed; but program execution is continued.


Questions
QUESTIONS

  • How many different address designs are there?

  • Name two types of operations.

  • What are the most general categories of data?

  • What type of endian mode does x86 use?

  • What are the most used Character Codes nowadays?

  • What are the elements of machine instruction?

  • What are the advantages of Logical Data?


ad