You are on page 1of 3

Module 1 – 1.1.

1a (ALU , CU, Registers and Buses)

Control Unit
-Coordinates all activities of the CPU.

-Directs flow of data between the CPU and other devices .

-Accepts next instruction, decodes it handles its execution


and stores the resulting data back in memory or registers.

-Sends memory read and write requests to main memory on


the control bus, as well as other command and control
signals such as bus requests , bus grants ,interrupt requests,
etc.

-Makes extensive use of status registers and clock

-Coordinates and communicates with all parts of the


CPU(orange lines)

Program Counter (PC) - Register

-Holds the address of the next instruction to be executed.

- This could be
o The next instruction in a sequence of instructions; or
o The address to jump to if the current instruction is a command to jump or branch – this would be copied
from the current instruction register

-Has a very close relationship with the memory address register. At the start of very new fetch-
decode-execute cycle, the address held in the PC is copied to the MAR.

Memory Address Register (MAR)

- This holds the address of the memory location from which:


o Data or:
o An Instruction
Is to be fetched or to which data is to be written.

-Sends these address to memory down the address bus.

Memory Data Register (MDR)

-Used to temporarily store the data which is: read from or written to memory
- Sometimes known as the memory buffer register and often nicknamed the “gateway to the
processor”

-All data to and from memory must travel down the data bus and pass through the MDR.

Current Instruction Register – (CIR)

-Holds the current instruction being executed.

-The contents of the MDR are copied to the CIR if it is an instruction.

-Instruction = opcode and operand(s)


-Opcode is a part of the instruction that tells the processor what should be done. Operand is a part of the instruction
that contains the data to be acted on, or the memory location of the data in a register.

-E.G , a machine language instruction to load the contents of location 1000 into the ALU might look like
o LDA 1000

-Arithmetic Logic Unit – (ALU)

-Performs arithmetic and logical operations on data.

-Arithmetic operations on fixed and floating point numbers:


o ADD
o SUBTRACT
o MULTIPLY
o DIVIDE

-Bitwise shift operations left and right. Basically like denary binary and hex conversion and add/subtractions.

-Boolean logic operations:


o Comparison
o AND
o OR
o NOT
o XOR

-Often uses general-purpose registers to temporarily hold the results of calculations such as the accumulator

-Accumulator- (ACC)

-One of a number of general-purpose registers that modern CPUs have.

-Data or control information is often stored in them

-A CPU may have many general-purpose registers for storing temporary data while instructions or calculations are
being carried out.

-Typically, the more general -purpose registers a processor has , the faster it may operate.

-The results of calculations carried out by the ALU can be temporarily stored here.

-Buses - (x3)

-Address Bus - Carries memory addresses that identify where the data is being read from or written to. One way only
goes towards RAM.

-Data Bus - Carries the binary 1s and 0s that make up the actual information being transmitted around the
CPU/computer. Goes both ways, from and to the RAM , Bi-directional.

-Control Bus - carries command and control signals to and from every other component of the CPU/Computer.
Bi-directional.
GOING BEYOND THE SPECIFICATION

-Decode Unit -Status Registers -Clock -

-Interrupt Register (IR) -Cache -

You might also like