Presentation is loading. Please wait.

Presentation is loading. Please wait.

Machine Instruction Characteristics

Similar presentations

Presentation on theme: "Machine Instruction Characteristics"— Presentation transcript:

1 Machine Instruction Characteristics

2 Machine Instruction Characteristics
Machine Instructions- are instructions executed by the processor. Instruction set- a collection of instructions that the processor can execute

3 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

4 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

5 Representation of instruction
OPCODE (4 Bits) Ref to Operand (6 Bits) Ref to Operand 2 (6 Bits) An instruction format is used to define the layout of the bits allocated to these elements of instructions. The instruction format explicitly or implicitly indicates the addressing Modes used for each operand in that instruction.

6 Instruction format Instruction length: -
The longer instruction length gives: More Opcodes More operands More addressing modes Greater address range.

7 Factors considered for instruction length
Memory Size. Memory organization. Bus structure Processor speed Processor complexity.

8 Allocation of Bits for different fields in an instruction
Number of addressing modes. Number of operands. Register versus memory. Number of register sets. Address range. Address granularity.

9 Variable length instructions
Advantages: - Provides flexibility in addressing modes. Provides complex addressing modes. Reduces number of instruction fetch cycles. Reduces amount of space taken by a program. Disadvantages: - Requires more complex CPU. Decoding of instruction becomes difficult.

10 Instruction Sets Instruction Characteristics Types of Operands
Types of Operations

11 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”

12 Mnemonics ADD add SUB subtract MUL multiply DIV divide
LOAD load data from memory STOR store data to memory

13 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

14 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

15 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

16 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

17 Number of Addresses 1 address instructions Implicit second address
Usually a register (accumulator) Common on early machines E.g. ADD B

18 Number of Addresses Zero address instruction:
Special memory organization Last in first out (Stack) Stack is a known location E.g. CMA

19 Utilization of Instruction Addresses (Nonbranching Instructions)
Number of Addresses Utilization of Instruction Addresses (Nonbranching Instructions)

20 Number of Addresses 1 address instructions 2 Or 3 address instructions
One general purpose register Multiple general purpose registers

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

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

23 Types of operands

24 TYPES OF OPERANDS Addresses Numbers Characters Logical Data
Specialized Data Types Data Structures First 4 are the most important general categories of data Last 2: Ex: list or string of characters

25 Addresses Main or Virtual memory address Unsigned Integers
By calculating on the operand reference we can determine the main or Virtual memory address. This can be considered an unsigned integer and therefore data.

26 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

27 Numerical Data Binary integer or Binary fixed point
Binary floating point Decimal

28 Decimal Majority of users deal with decimals
Necessity to convert from decimal to binary on input and binary to decimal on output Packed decimal

29 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 = Positive: 1100 Negative: 1101 Clearly less compact than a straight binary representation Negative numbers can be represented by putting a 4-bit sign digit at either left or right end of a string

30 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) Data processing and Communication Systems Each character is represented in a 7-bit pattern. Thus, 128 characters can be represented. Some of these are control characters maybe for printing and whatnot Transmitted using 8-bit per characters. 8th bit may be a 0 or used as parity error check EBCDIC: IBM mainframes, 8-bit code, compatible with packed decimals as well

31 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 Ex: Convert from IRA to packed decimals (only need the first four bits), Floating point Operations (you might want to round)

32 Types of Operations Data Transfer Arithmetic Logical Conversion
Input/output System Control Transfer of Control

33 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

34 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

35 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

36 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

37 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

38 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

39 Transfer Of Control Description Operation Name Jump (Branch)
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. Jump (Branch) Jump Conditional Jump to Subroutine Return Execute Skip Skip conditional Halt Wait (Hold) No Operation

40 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?

Download ppt "Machine Instruction Characteristics"

Similar presentations

Ads by Google