44 total
By the end of this topic, you should be able to:
understand the basic Von Neumann model of a computer system
understand the stored program concept
explain the purpose of registers
explain the difference between general purpose registers and special purpose registers
describe the role of these special purpose registers:
explain the purpose of the:
explain how data moves around the computer using:
explain how these affect computer performance:
understand how these ports connect peripheral devices:
describe the stages of the fetch-execute cycle
use register transfer notation (RTN) to describe the fetch-execute cycle
understand the purpose of interrupts
explain:
The Von Neumann model is a basic design for a computer system. Most general-purpose computers follow this model. It explains how the processor, memory, and input/output devices work together.
In this model, the computer has a central processing unit (CPU), main memory, and input/output devices. These parts are connected so that the CPU can get instructions and data from memory, process them, and then send results to output devices.
A very important idea in the Von Neumann model is that data and instructions are stored in the same main memory. This is one of the key features of this system.
The stored program concept means that a program is stored in memory as a set of instructions, just like data is stored in memory. The CPU reads these instructions from memory one by one and carries them out.
This is important because it means the computer does not need to be rewired for every new task. Instead, you can simply load a different program into memory. The CPU then follows the instructions in order unless it reaches a branch instruction that tells it to jump somewhere else.
So, in simple words:
This is what allows one computer to run many different programs.
Registers are very small, very fast storage locations inside the CPU. They hold data or instructions that the CPU needs right now.
Registers are faster than main memory. This is why the CPU uses them during processing. They make the fetch-execute cycle quicker because the CPU can access them almost instantly.
There are two main types of register:
A general purpose register can hold any data that the CPU is currently working with. It does not have just one fixed job. It can be used for many different tasks during processing.
For example, a general purpose register might hold:
So, general purpose registers are flexible.
A special purpose register has a fixed, specific job inside the CPU. Each one is used for a particular part of processing or control.
You must know the name, short form, and purpose of each one.
The Program Counter (PC) stores the address of the next instruction to be fetched from memory.
At the start of the cycle, the CPU uses the value in the PC to know where the next instruction is stored. After the instruction is fetched, the PC is usually increased so it points to the next instruction.
If a branch instruction is used, the PC may be changed to a different address instead.
The Memory Address Register (MAR) stores the address in memory that the CPU wants to access.
This could be the address of:
You can think of the MAR as the register that tells memory, “this is the location I want.”
The Memory Data Register (MDR) stores the data or instruction that has been read from memory, or the data that is about to be written to memory.
So, if the CPU fetches an instruction, that instruction is placed in the MDR first. If the CPU wants to store data into memory, the data is also placed in the MDR before it is sent.
You can think of the MDR as the register that holds the actual item moving to or from memory.
The Current Instruction Register (CIR) stores the instruction that is currently being decoded or executed.
After an instruction is fetched into the MDR, it is copied into the CIR. The CPU then works on that instruction.
This is useful because it keeps the current instruction separate from the next one being fetched.
The Accumulator (ACC) stores intermediate results and final results from calculations done by the ALU.
For example, if the CPU adds two numbers, the answer may be placed in the ACC.
The ACC is often used in arithmetic operations because it provides a quick place to store working values.
The Index Register (IX) stores a value that can be added to an address to create an effective address.
This is useful when the CPU is working through data in a list, table, or array. Instead of writing a completely new address every time, the CPU can use a base address and then add the value in the IX.
This makes access to ordered data more efficient.
The Status Register stores flags that show the result of an operation or the current state of the CPU.
A flag is a single bit used as a true/false signal.
For example, the status register may show whether:
These flags help the CPU make decisions, especially when carrying out branch instructions.
Sign in to view full notes