Chapter 3 Von Neumann O Level
Chapter 3 Von Neumann O Level
There are many diagrams of von Neumann CPU architecture in other textbooks and on the
internet. The following diagram is one example of a simple representation of von Neumann
architecture:
Components of the central processing unit (CPU):
The Control Unit (CU), Arithmetic & Logic Unit (ALU), and system clock are the three primary
parts of the CPU.
Registers:
The registers are among the most essential parts of the von Neumann system. Registers may
have a specific function or be broad. Only the special purpose registrations will be taken into
account. Table provides a summary of all the registers utilized in this textbook. The Fetch–
Decode–Execute cycle provides a more thorough explanation of how to use these registers (see
later in this section).
Memory:
There are several partitions that make up the computer memory. There is an address and its
contents in every partition. Each address in the table has eight bits, and the content has eight
bits. The address and its contents are actually much greater than this in a genuine computer
memory.
Every location in the memory will be uniquely identified by its address, and the binary value
stored in each location will be its contents.
Now, let's look at two instances of read and write operations to and from memory that can be
performed using the MAR and MDR registers:
Think about the READ operation first. The memory region displayed in Table 3.2 will be utilized.
The two registers are used as follows if we wish to read the contents of memory address 1111
0001:
● the address of location 1111 0001 to be read from is first written into the MAR (memory
address register):
Now let us now consider the WRITE operation. Again, we will use the memory section
shown in Table 3.2. Suppose this time we want to show how the value 1001 0101 was
written into memory location 1111 1101:
● the data to be stored is first written into the MDR (memory data register):
● this data has to be written into location with address: 1111 1101; so this address is
now written into the MAR:
● finally, a ‘write signal’ is sent to the computer memory and the value 10010101 will then
be written into the correct memory location.
(System) buses:
Computers employ (system) buses as parallel transmission components; a single bit of data is
transmitted by each wire in the bus. The address bus, data bus, and control bus are the three
commonly utilized buses in the von Neumann architecture.
Address bus:
The address bus distributes addresses across the computer system, as its name implies. The
address bus is unidirectional, meaning that bits can only flow in one direction between the CPU
and memory. This prevents addresses from being transported back to the CPU, which is a
characteristic that is not wanted.
A bus's breadth plays a crucial role. More memory locations can be directly addressed at any
given time the wider the bus; for example, a bus with a width of 16 bits can address 216
(65536) memory places, whereas a bus with a width of 32 bits can address 4294967296
memory locations concurrently. Even so, it's not big enough for contemporary computers, but
this book doesn't cover the technologies underlying even broader buses.
Data bus:
Data can be sent along the data bus in both ways because it is bidirectional. This implies that
data can go between input/output devices and the CPU as well as between memory and the
CPU. It is crucial to remember that data can be a number, an address, or a command. The width
of the data bus is crucial, just like it is for the address bus; the broader the bus, the longer
words that can be carried. (A word is a collection of bits that are considered to be a single unit;
the most typical word lengths are 16 bits, 32 bits, or 64 bits.) The overall performance of the
computer can be enhanced by longer words.
Control bus:
In addition, the control bus is bidirectional. From the control unit (CU), it transmits signals to
every other part of the computer. Its typical width is eight bits. Since it just transmits control
signals, there is really no reason for it to be any wider.
Fetch–Decode–Execute cycle:
The CPU retrieves certain data and instructions from memory and places them in the
appropriate registers before executing a sequence of instructions. In this process, the address
bus and data bus are both utilized. Once this is done, each instruction needs to be decoded
before finally being executed. The cycle known as Fetch-Decode-Execute is this.
Fetch:
MDR has the capacity to hold both instructions and data. The following instruction is obtained
from the memory address currently held in the MAR and stored in the MDR during the fetch-
decode-execute cycle. The Current Instruction Register (CIR) is then copied with the contents of
the MDR. After that, the PC is incremented (by 1) in order to process the following instruction.
Decode:
The instruction is then decoded so that it can be interpreted in the next part of the cycle.
Execute:
The CPU passes the decoded instruction as a set of control signals to the appropriate
components within the computer system. This allows each instruction to be carried out in its
logical sequence.
Figure shows how the Fetch–Decode–Execute cycle is carried out in the von Neumann computer
model.
Fetch–Decode–Execute cycle flowchart
3. Cache memory utilization can also enhance CPU performance. Cache memory offers
substantially faster data access times than RAM since it is housed inside the CPU, as
opposed to RAM. CPU performance is increased by using cache memory to store
frequently used instructions and data that must be accessed more quickly. A CPU that
wants to read data from memory will first look in the cache, and if that doesn't have the
necessary information, it will then go on to main memory or RAM. The CPU performs
better the greater the cache memory size.
4. Changing the number of cores used in a computer can enhance its performance.
An ALU, a control unit, and the registers comprise one core. Numerous computers have
either a quad core CPU, which has four cores, or a twin core CPU, which has two cores.
Increasing the number of cores reduces the requirement to keep clock rates rising. But,
as the CPU must interact with each core, doubling the number of cores does not
automatically result in a doubling of the computer's performance; rather, performance
will be decreased overall.
For instance, a dual core CPU uses a single channel to interact with both cores, which
limits part of the performance gain that could otherwise be possible:
while, with a quad core the CPU communicates with all four cores using six channels,
considerably reducing potential performance:
It is therefore necessary to examine each of these elements while evaluating computer
performance. Recapitulating these ideas:
● increasing bus width (data and address buses) increases the performance and speed of a
computer system.
● increasing clock speed will potentially increase the speed of a computer.
● a computer’s performance can be changed by altering bus width, clock speed and use of
multi-core CPUs.
● use of cache memories can also speed up a CPU’s performance.
Instruction set:
Instructions are a series of operations that are sequentially decoded in a computer system.
Every operation will provide instructions to the CPU's ALU and CU. An operand and an opcode
make up an operation.
The opcode informs the CPU what The operand is the data which
operation needs to be done needs to be acted on or it can
refer to a register in the memory
There are actually only a certain number of opcodes that can be used; these are referred to as
the instruction set because the computer must comprehend the operation in order for it to be
performed. Every piece of computer software has a set of instructions (that must be turned into
binary). The process by which the CPU processes each instruction one after the other is known
as the fetch-decode-execute cycle.
The X86 instruction set is an example of a widespread CPU standard found in many
contemporary systems. If the computer is built around the X86 CPU, then all designs will have
nearly the same instruction set, even though various computer manufacturers will use their
own internal circuitry designs. For instance, while being built on very distinct electrical
architectures, the X86 instruction sets used by AMD Athlon and Intel Pentium CPUs are nearly
identical.
Instruction sets are the low-level language instructions that tell the CPU how to do an
operation; be careful not to mix them with programming code. To translate program code into
an instruction set that a computer can understand, interpreters or compilers are required. ADD,
JMP, LDA, and other operations are a few instances of instruction set operations.)
Embedded systems:
A hardware and software combination created with a specific set of tasks in mind is called an
embedded system. Electronic, electrical, or electro-mechanical hardware makes up the system.
Foundations for embedded systems include:
microcontrollers: this has a CPU in addition to some RAM and ROM and other peripherals all