40
Chapter 4 Processor Technology and Architecture

Chapter 4 Processor Technology and Architecture. Chapter goals Describe CPU instruction and execution cycles Explain how primitive CPU instructions are

  • View
    237

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Chapter 4 Processor Technology and Architecture. Chapter goals Describe CPU instruction and execution cycles Explain how primitive CPU instructions are

Chapter 4

Processor Technology and Architecture

Page 2: Chapter 4 Processor Technology and Architecture. Chapter goals Describe CPU instruction and execution cycles Explain how primitive CPU instructions are

Chapter goals Describe CPU instruction and execution cycles Explain how primitive CPU instructions are combined

to form complex processing operations Describe the key CPU design features, including

instruction format, word size, and clock rate Describe the function of general-purpose and special-

purpose registers Compare and contrast CISC and RISC CPUs Describe the principles and limitations of

semiconductor-based microprocessors

Page 3: Chapter 4 Processor Technology and Architecture. Chapter goals Describe CPU instruction and execution cycles Explain how primitive CPU instructions are

Model of Central Processing Unit

Page 4: Chapter 4 Processor Technology and Architecture. Chapter goals Describe CPU instruction and execution cycles Explain how primitive CPU instructions are

How the CPU works CPU is a complex electronic device

that carries out instructions Called the “brains” of a computer Is a combination of parts that

through a carefully coordinated process execute code

Page 5: Chapter 4 Processor Technology and Architecture. Chapter goals Describe CPU instruction and execution cycles Explain how primitive CPU instructions are

CPU partsControl Unit – moves data and instructions

between main memory and registers

Arithmetic and Logic Unit – performs all computation and comparison operations

Registers – fixed size high speed storage locations that hold inputs and outputs for the ALU

Page 6: Chapter 4 Processor Technology and Architecture. Chapter goals Describe CPU instruction and execution cycles Explain how primitive CPU instructions are

How does CPU execute code? CPU can only execute machine code Machine code is a predetermined set

(defined by hardware manufacturer) of instructions CPU can execute

Machine code is in binary format (0s and 1s)

Process of executing code is called the “Fetch Execute Cycle”

Page 7: Chapter 4 Processor Technology and Architecture. Chapter goals Describe CPU instruction and execution cycles Explain how primitive CPU instructions are

The Fetch Execute Cycle Program counter (pc) points to the next

instruction to be execute Instruction is loaded into instruction

register and program counter is incremented

Instruction is de-coded or separated into OPCODE and addresses

Instruction is executed and results are stored if required

Page 8: Chapter 4 Processor Technology and Architecture. Chapter goals Describe CPU instruction and execution cycles Explain how primitive CPU instructions are

CPU Fetch Execute Cycle

Page 9: Chapter 4 Processor Technology and Architecture. Chapter goals Describe CPU instruction and execution cycles Explain how primitive CPU instructions are

CPU Instructions Instruction is a single command a

CPU is capable of carrying out Instruction is formatted as a bit

string, i.e. a sequence of 0s and 1s Opcode – unique binary number

representing operation to be performed Operand(s) – reference or pointer to

data needed for operation

Page 10: Chapter 4 Processor Technology and Architecture. Chapter goals Describe CPU instruction and execution cycles Explain how primitive CPU instructions are

Instruction format

Page 11: Chapter 4 Processor Technology and Architecture. Chapter goals Describe CPU instruction and execution cycles Explain how primitive CPU instructions are

Opcodes and operands Opcodes – unique binary number

representing an operation to be carried out

Operand(s) – reference(s) to location of data needed for operation Register # Memory address Secondary storage or I/O device

Page 12: Chapter 4 Processor Technology and Architecture. Chapter goals Describe CPU instruction and execution cycles Explain how primitive CPU instructions are

How is instruction executed? Instruction directs CPU to route data

through a built-in set of circuitry (i.e. a series of logic gates) designed to carry out the desired function

Circuitry takes input signals and depending on sequence and number of logic gates produces the desired output signal

Output signal is stored in a register Then may be stored in memory, secondary

storage, or used by a subsequent instruction

Page 13: Chapter 4 Processor Technology and Architecture. Chapter goals Describe CPU instruction and execution cycles Explain how primitive CPU instructions are

Instructions Some instructions are just handled

by the control unit Moving or copying data Halting or restarting the CPU

Other instructions require coordination with the ALU Computation Logic (comparisons)

Page 14: Chapter 4 Processor Technology and Architecture. Chapter goals Describe CPU instruction and execution cycles Explain how primitive CPU instructions are

Instruction set The collection of all possible

instructions CPU can execute is called the “instruction set”

Predetermined by hardware manufacturer

Vary greatly from machine to machine (even with the same manufacturer)

Page 15: Chapter 4 Processor Technology and Architecture. Chapter goals Describe CPU instruction and execution cycles Explain how primitive CPU instructions are

Instruction set cont. Since instruction sets vary so

much, we will describe what is generally in most machines

Specific “machine code” we will learn will be for the machine simulator presentation

Page 16: Chapter 4 Processor Technology and Architecture. Chapter goals Describe CPU instruction and execution cycles Explain how primitive CPU instructions are

General instruction categories Data movement (really a copy

command, original bit pattern is unchanged) Load – copies data from memory into

a register Store – copies data from a register

into memory

Page 17: Chapter 4 Processor Technology and Architecture. Chapter goals Describe CPU instruction and execution cycles Explain how primitive CPU instructions are

Data Transformation

Page 18: Chapter 4 Processor Technology and Architecture. Chapter goals Describe CPU instruction and execution cycles Explain how primitive CPU instructions are

Logical shift

Page 19: Chapter 4 Processor Technology and Architecture. Chapter goals Describe CPU instruction and execution cycles Explain how primitive CPU instructions are

Using logical shift Computers often use Boolean

(true false) values to control processes

These values (called flags) can be stored in a single bit

Therefore, a 32 bit register can contain 32 individual flags to identify 32 separate conditions

Page 20: Chapter 4 Processor Technology and Architecture. Chapter goals Describe CPU instruction and execution cycles Explain how primitive CPU instructions are

Program status word (PSW) See p. 133 in text PSW used by CPU to store status

information for currently executing instruction Store the result of a comparison

(equal or not equal, T or F) Indicate overflow and underflow

conditions

Page 21: Chapter 4 Processor Technology and Architecture. Chapter goals Describe CPU instruction and execution cycles Explain how primitive CPU instructions are

How a PSW is used http://www.heyrick.co.uk

/assembler/psr.html This is an example of how the PSW

is used for a processor manufactured by ARM, a processor manufacturer in Australia

http://www.arm.com/

Page 22: Chapter 4 Processor Technology and Architecture. Chapter goals Describe CPU instruction and execution cycles Explain how primitive CPU instructions are

Arithmetic shift

Page 23: Chapter 4 Processor Technology and Architecture. Chapter goals Describe CPU instruction and execution cycles Explain how primitive CPU instructions are

Sequence control Default sequence (order) of program

instructions is one after another Can override through BRANCH or JUMP

unconditional – new address of next instruction is loaded into PC (JUMP)

conditional – new address of instruction is loaded depending on result of some comparison (BRC & BRP in simple machine)

HALT – ends execution

Page 24: Chapter 4 Processor Technology and Architecture. Chapter goals Describe CPU instruction and execution cycles Explain how primitive CPU instructions are

Sequence control cont. Allows loops (iteration)

for (int 1=0; i <10; i++) cout << “\nHello”;

Allows decision statements if (speed >= 65) cout << “Speeding ticket”;else cout << “Legal speed”;

Page 25: Chapter 4 Processor Technology and Architecture. Chapter goals Describe CPU instruction and execution cycles Explain how primitive CPU instructions are

Variations in instruction format Formats can vary as to opcode size meaning of opcode values Number of operands Data types used as operands Length and coding format of each

operand

Page 26: Chapter 4 Processor Technology and Architecture. Chapter goals Describe CPU instruction and execution cycles Explain how primitive CPU instructions are

Reduced Instruction Set Computing Analysis of actual software found

that certain instructions made up the vast majority of machine code

Many instructions used very infrequently

CPU design that limited instruction set found to be much faster

Page 27: Chapter 4 Processor Technology and Architecture. Chapter goals Describe CPU instruction and execution cycles Explain how primitive CPU instructions are

RISC vs. CISC Pentium (RISC) vs. 486 (CISC) CISC bloated instruction set slowed

down execution time CISC CPU larger and slower than

necessary

Page 28: Chapter 4 Processor Technology and Architecture. Chapter goals Describe CPU instruction and execution cycles Explain how primitive CPU instructions are

Clock rate System clock is a timing device

that generates timing pulses or signals that are transmitted devices throughout the computer

Frequency or rate (clock rate) is measured in hertz (Hz) and megahertz (MHz)

Page 29: Chapter 4 Processor Technology and Architecture. Chapter goals Describe CPU instruction and execution cycles Explain how primitive CPU instructions are

Clock rate cont. CPU uses timing of clock to trigger

its actions (i.e. fetch, execute, store)

Clock is also used by other devices like secondary storage

CPU must often wait for slower devices (secondary storage, RAM) Wait state – cycle where CPU is idle

waiting for other devices

Page 30: Chapter 4 Processor Technology and Architecture. Chapter goals Describe CPU instruction and execution cycles Explain how primitive CPU instructions are

Measuring CPU speed Clock rate – measured in mHtz MIPS – millions of instructions per

second (assumed to be instructions involving integer operations)

MFLOPS – millions of floating point operations per second

CPU instructions can vary greatly as to length of time for execution

Page 31: Chapter 4 Processor Technology and Architecture. Chapter goals Describe CPU instruction and execution cycles Explain how primitive CPU instructions are

CPU registers General purpose

Collection of registers that can be used to store intermediate input and output of ALU operations

Example34 + 31 + 44first 34 is added to 31 and placed in a register, then 44 is added to the register

Page 32: Chapter 4 Processor Technology and Architecture. Chapter goals Describe CPU instruction and execution cycles Explain how primitive CPU instructions are

Special purpose registers Several registers in CPU are set

aside for specific purposes: Instruction register – holds the

currently executing instruction Program counter (PC) – points to the

next instruction to be executed Program status word (PSW) – set of

flags (bits) indicating certain conditions

Page 33: Chapter 4 Processor Technology and Architecture. Chapter goals Describe CPU instruction and execution cycles Explain how primitive CPU instructions are

Word size Unit of data that contains a fixed

number of bits Determines the amount of data

CPU can process at one time Corresponds to size of general

purpose registers

Page 34: Chapter 4 Processor Technology and Architecture. Chapter goals Describe CPU instruction and execution cycles Explain how primitive CPU instructions are

Optimal word size Should be same size as system bus

If bus is smaller every load and store operation requires multiple transfers

Word size should correspond to size of data used in the machine Int float data types are 4 bytes (32

bits) Double is 8 bytes (64 bits)

Page 35: Chapter 4 Processor Technology and Architecture. Chapter goals Describe CPU instruction and execution cycles Explain how primitive CPU instructions are

Current word sizes Most desktop machines are 32 bit word

size Doubling word size to 64 increases CPU

components by 2.5 to 3 times Larger word increases CPU fabrication cost Since the rest of the machine operates at

32 bit (system bus and secondary storage) this larger word size is not yet an advantage

Page 36: Chapter 4 Processor Technology and Architecture. Chapter goals Describe CPU instruction and execution cycles Explain how primitive CPU instructions are

The physical CPU

Page 37: Chapter 4 Processor Technology and Architecture. Chapter goals Describe CPU instruction and execution cycles Explain how primitive CPU instructions are

Gate design for addition

Page 38: Chapter 4 Processor Technology and Architecture. Chapter goals Describe CPU instruction and execution cycles Explain how primitive CPU instructions are

Chapter summary The CPU continuously alternates between the

instruction, or fetch cycle and execution cycle

Primitive CPU instructions can be classified into three types: Data movement Data transformation Sequence control

Page 39: Chapter 4 Processor Technology and Architecture. Chapter goals Describe CPU instruction and execution cycles Explain how primitive CPU instructions are

Summary cont. An instruction formation is a template

describing the op code position and the length and the position, type and length of each operand

The CPU clock rate is the number of instruction and execution cycles potentially available in a fixed time interval

Page 40: Chapter 4 Processor Technology and Architecture. Chapter goals Describe CPU instruction and execution cycles Explain how primitive CPU instructions are

Summary cont. CPU registers are of two types:

General purpose Special purpose

Word size is the number of bits that a CPU can process simultaneously

CPUs are electrical devices implemented as silicon-based microprocessors