Please enable JavaScript.
Coggle requires JavaScript to display documents.
Chapter 12 - Instruction Sets: Characteristics and Functions - Coggle…
Chapter 12 - Instruction Sets: Characteristics and Functions
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.
Elements of a Machine Instruction
Operation code
Source operand reference
Source and result operands can be in one of four areas:
Processor register
I/O device
Main or virtual memory
Immediate
Result operand reference
Next instruction reference
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.
A simple Instruction Format
Instruction Types
Data storage: Movement of data into or out of register and or memory locations
Data movement: I/O instructions
Data Processing: Arithmetic and logic instructions
Control: Test and branch instructions
Instruction Set Design
Defines many of the functions performed by the processor
Programmer's means of controlling the processor
Very complex because it affects so many aspects of the computer system
Fundamental design issues:
Operation repertoire
: How many and which operations to provide, and how complex operations should be
Data types
: The various types of data upon which operations are performed
Instruction format
: Instruction length (in bits), number of addresses, size of various fields, and so on
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
Number of Adresses
Types of Operands
Numbers
Characters
Logical Data
Addresses
Single - Instruction-Multiple-Data (SIMD) Data Types
These extensions include MMX (multimedia extensions) and SSE (streaming SIMD extensions).
Data types:
Packed byte and packed byte integer
: Bytes packed into a 64-bit quadword or 128-bit double quadword, interpreted as a bit field or as an integer
Packed word and packed word integer
: 16-bit words packed into a 64-bit quad- word or 128-bit double quadword, interpreted as a bit field or as an integer
Packed doubleword and packed doubleword integer
: 32-bit doublewords packed into a 64-bit quadword or 128-bit double quadword, interpreted as a bit field or as an integer
Packed quadword and packed qaudword integer
: Two 64-bit quadwords packed into a 128-bit double quadword, interpreted as a bit field or as an integer
Packed single-precision floating-point and packed double-precision floating- point
: Four 32-bit floating-point or two 64-bit floating-point values packed into a 128-bit double quadword
introduced to the x86 architecture as part of the extensions of the instruction set to optimize performance of multimedia applications
ARM Data Types
ARM processors support data types of 8 (byte), 16 (halfword), and 32 (word) bits in length.
Unaligned access
: When this option is enabled, the processor uses one or more memory accesses to generate the required transfer of adjacent bytes transparently to the programmer.
Alignment checking
: When the appropriate control bit is set, a data abort signal indicates an alignment fault for attempting unaligned access
Types of Operations
Data Transfer
Must specify:
the length of data to be transferred must be indicated
the mode of addressing for each operand must be specified
location of the source and destination operands
The most fundamental type of machine instruction
Logical
Conversion
Arithmetic
Transfer of Control
I/O (Input/Output)
System Control
Typically, these instructions are reserved for the use of the operating system
Examples of system control operations:
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 a multiprogramming system
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