p Accesses program instructions and issues commands to the ALU
p Moves data to and from CPU registers and other hardware components
3
New cards
Subcomponents
p Memory management unit
p I/O Interface
4
New cards
Memory management Unit
supervises fetching instructions and data from memory
5
New cards
I/O Interface
sometimes combined with memory management unit as Bus Interface Unit
6
New cards
Registers
§Small, permanent storage locations within the CPU used for a particular purpose
§ Can hold data, an address, or an instruction
7
New cards
General Purpose Registers
User-visible or program-visible registers
8
New cards
User-visible Register
Can be assigned to a variety of functions by the programmer
9
New cards
Program-visible register
used during application programming and are specified by the instructions
10
New cards
Program Counter Register (PC)
is a register that manages the memory address of the instruction to be executed next.
11
New cards
Instruction Register (IR)
is used to store the instruction word. When the CPU fetches an instruction from memory, it is temporarily stored in the __ __.
12
New cards
memory address register (MAR)
is the CPU register that either stores the memory address from which data will be fetched to the CPU registers, or the address to which data will be sent and stored via system bus
13
New cards
Memory Data Register (MDR)
is the register in a computer's CPU that stores the data being transferred to and from the immediate access storage.
14
New cards
Status Registers
Status of CPU and currently executing program
15
New cards
Status Registers
Status of CPU and currently executing program
16
New cards
Flags
one bit Boolean variable to track conditions like arithmetic carry and overflow, power failure, internal computer error
17
New cards
Register Operations
§ Stores values from other locations (registers and memory)
18
New cards
Operation of Memory
§ Each memory location has a unique address
§ Address from an instruction is copied to the MAR, which finds the location in memory
§ CPU determines if it is a store or retrieval
§ Transfer takes place between the MDR and memory
§ MDR is a two way register
19
New cards
DRAM (Dynamic RAM)
§ Most common, cheap, less electrical power, less heat, smaller space
§ Volatile: must be refreshed (recharged with power) 1000’s of times each second
20
New cards
SRAM (static RAM)
§ Faster and more expensive than DRAM
§ Volatile
§ Small amounts are often used in cache memory for high-speed memory access
21
New cards
ROM
§ Read-only Memory
§ Holds software that is not expected to change over the life of the system such as firmware used for the system BIOS
22
New cards
Flash Memory (SSD)
§ Inexpensive nonvolatile secondary storage
§ Useful for nonvolatile portable computer storage, digital cameras, tablets, smartphones
§ Slower rewrite time compared to RAM
23
New cards
Fetch-Execute cycle
Two-cycle process because both instructions and data are in memory
24
New cards
Fetch
Decode or find instruction, load from memory into register and signal ALU
25
New cards
Execute
§ Performs operation that instruction requires § Move/transform data
26
New cards
Bus
§ The physical connection that makes it possible to transfer data from one location in the computer system to another
27
New cards
Line
each conductor in the bus
28
New cards
4 kinds of signals
1. Data 2.Addressing 3. Control signals 4.Power (sometimes)
29
New cards
Parallel Bus
§ High throughput because all bits of a word are transmitted simultaneously
§ Expensive and require a lot of space
§ Subject to radio-generated electrical interference, which limits their speed and length
§ Generally used for short distances such as CPU buses and on computer motherboards
30
New cards
Serial Bus
§ 1 bit transmitted at a time
§ Single data line pair and a few control lines
§ For many applications, throughput is higher than for parallel because of the lack of electrical interference
31
New cards
Direction of transmission
§ Simplex § Half duplex § Full duplex
32
New cards
Simplex
unidirectional
33
New cards
Half duplex
Bidirectional, one direction at a time
34
New cards
Full duplex
Bidirectional simultaneously
35
New cards
Methods of interconnection
Point-to-Point Multipoint bus
36
New cards
Point-to-point
single source to single destination
37
New cards
Cables point-to-point
buses that connect to an external device
38
New cards
Multipoint bus
also broadcast bus or multidrop bus
39
New cards
Classification of Instructions
§ Data Movement (load, store) § Arithmetic § Boolean Logic § Single operand manipulation instructions
40
New cards
Data Movement
§ Most common, greatest flexibility § Involve memory and registers § What’s this size of a word ? 16? 32? 64 bits?
41
New cards
Arithmetic
§ Operators + - / * ^ § Integers and floating point
42
New cards
Boolean Logic
Often includes at least AND, XOR, and NOT
43
New cards
Single operand manipulation instructions
§ Negating, decrementing, incrementing, set to 0
44
New cards
More Instruction Classifications
§ Bit manipulation instructions § Shift and rotate § Program control § Stack instructions § Multiple data instructions § I/O and machine control
45
New cards
Stack instructions
§ LIFO method for organizing information § Items removed in the reverse order from how they are added
46
New cards
Push
Increments pointer, than STOREs data
47
New cards
Pop
Loads data, than decrements pointer
48
New cards
Single Instruction, Multiple Data (SIMD)
Perform a single operation on multiple pieces of data simultaneously
49
New cards
Instruction
§ Direction given to a computer
§ Causes electrical or optical signals to be sent through specific circuits for processing
50
New cards
Instruction set
Design defines functions performed by the processor
§ Differentiates computer architecture by the
p Number of instructions
p Complexity of operations performed by individual instructions
p Data types supported
p Format (layout, fixed vs. variable length)
p Use of registers
p Addressing (size, modes)
51
New cards
Locations of data
Explicit Implicit
52
New cards
Explicit
included in instruction
53
New cards
Implicit
default assumed
54
New cards
Machine-specific
template that specifies § Length of the op code § Number of operands § Length of operands