0% found this document useful (0 votes)
15 views19 pages

Embedded Systems - 6

Uploaded by

indu.s kavitha.j
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
15 views19 pages

Embedded Systems - 6

Uploaded by

indu.s kavitha.j
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 19

BM 3551 – EMBEDDED SYSTEMS

AND IoMT

UNIT 1 : INTRODUCTION TO EMBEDDED


SYSTEM DESIGN

Topic : Von-Neumann Architecture , Harvard


Architecture
Ms. S. Indu
AP / BME
Von-Neumann Architecture
The von Neumann architecture, also known as the von Neumann model or
Princeton architecture, is a fundamental design concept that underpins most
modern computers. Historically there have been 2 types of Computers:

• Fixed Program Computers – Their function is very specific and they


couldn’t be reprogrammed, e.g. Calculators.
• Stored Program Computers – These can be programmed to carry out
many different tasks, applications are stored on them, hence the name.

• Modern computers are based on a stored-program concept introduced by


John Von Neumann. In this stored-program concept, programs and data
are stored in the same memory.
• Developed in 1945 by John von Neumann.
Key aspects of the von Neumann architecture:

• Stored-Program Concept: This is a major strength of the von Neumann


architecture. Programs are no longer wired into the machine but are stored
in memory alongside data. This allows for greater flexibility and easier
modification of computer behavior.

• Fetch-Decode-Execute Cycle: The CPU operates in a repetitive cycle:


 Fetch: The control unit retrieves an instruction from memory.
 Decode: The control unit interprets the instruction and determines the
operation to be performed.
 Execute: The control unit directs the ALU to perform the operation on
data from memory or registers.

• Von Neumann Bottleneck: The single bus system can limit performance
because only one operation (fetching data or instructions) can occur at a
time. This has led to the development of alternative architectures like the
Harvard architecture, which uses separate buses for data and instructions
The basic structure is :
It is also known as ISA (Instruction set architecture) computer and is having
three basic units:
• The Central Processing Unit (CPU)
• The Main Memory Unit
• The Input/Output Device

1. Central Processing Unit-


The central processing unit is defined as the it is an electric circuit used for the
executing the instruction of computer program.
It has following major components:
a. Control Unit(CU)
b. Arithmetic and Logic Unit(ALU)
c. Variety of Registers

a. Control Unit – A control unit (CU) handles all processor control signals. It
directs all input and output flow, fetches code for instructions, and controls how
data moves around the system.
b. Arithmetic and Logic Unit (ALU) – The arithmetic logic unit is that part of
the CPU that handles all the calculations the CPU may need, e.g. Addition,
Subtraction, Comparisons. It performs Logical Operations, Bit Shifting
Operations, and Arithmetic operations.
c. Registers – Registers refer to high-speed storage areas in the CPU. The
data processed by the CPU are fetched from the registers. There are
different types of registers used in architecture :-

o Accumulator: Stores the results of calculations made by ALU. It holds the


intermediate of arithmetic and logical operatoins.it act as a temporary
storage location or device.
o Program Counter (PC): Keeps track of the memory location of the next
instructions to be dealt with. The PC then passes this next address to the
Memory Address Register (MAR).
o Memory Address Register (MAR): It stores the memory locations of
instructions that need to be fetched from memory or stored in memory.
o Memory Data Register (MDR): It stores instructions fetched from memory
or any data that is to be transferred to, and stored in, memory.
o Current Instruction Register (CIR): It stores the most recently fetched
instructions while it is waiting to be coded and executed.
o Instruction Buffer Register (IBR): The instruction that is not to be
executed immediately is placed in the instruction buffer register IBR.
d. Buses – Data is transmitted from one part of a computer to another,
connecting all major internal components to the CPU and memory, by the
means of Buses. Types:
o Data Bus: It carries data among the memory unit, the I/O devices, and
the processor.
o Address Bus: It carries the address of data (not the actual data) between
memory and processor.
o Control Bus: It carries control commands from the CPU (and status
signals from other devices) in order to control and coordinate all the
activities within the computer.

e. Input/Output Devices – Program or data is read into main memory from


the input device or secondary storage under the control of CPU input
instruction. Output devices are used to output information from a computer. If
some results are evaluated by the computer and it is stored in the computer,
then with the help of output devices, we can present them to the user.
Benefits of Von Neumann Architecture:

• Simplicity: The design is relatively simple and straightforward, making it


easier to develop and implement compared to more complex architectures.
This simplicity also translates to lower costs.
• Flexibility: The stored-program concept allows a single computer to
perform a wide range of tasks by simply changing the program in memory.
This makes von Neumann machines highly versatile.
• Programmability: The architecture is well-suited for general-purpose
computing because programs can be easily loaded, modified, and executed.
This fueled the development of software and various computing
applications.
• Shared Memory: Using a unified memory for both data and instructions
simplifies the design of the control unit and data transfer mechanisms. This
efficient memory usage contributes to the overall effectiveness of the
architecture.
Drawbacks of Von Neumann Architecture:

• Von Neumann Bottleneck: The single bus system can limit performance.
Only one operation (fetching data or instructions) can occur at a time,
creating a bottleneck for high-performance computing tasks.
• Limited Parallelism: The fetch-decode-execute cycle is inherently
sequential, making it challenging to take full advantage of parallel
processing techniques that can improve performance.
• Complexity for Modern Systems: While the architecture is simple in
concept, modern computer systems with advanced features like caching and
virtual memory introduce additional layers of complexity.

Applications:
• Personal Computers (PCs) and Laptops
• Servers
• Workstations
• Embedded Systems
Harvard Architecture
• In a normal computer that follows von Neumann architecture, instructions,
and data both are stored in the same memory.
• So same buses are used to fetch instructions and data. This means the CPU
cannot do both things together (read the instruction and read/write data).
• Harvard Architecture is the computer architecture that contains separate
storage and separate buses (signal path) for instruction and data.
• It was basically developed to overcome the bottleneck of Von Neumann’s
Architecture. The main advantage of having separate buses for instruction
and data is that the CPU can access instructions and read/write data at the
same time.

• Separate memory units: One for program instructions and another for data.
• Separate buses: Dedicated pathways for fetching instructions and
accessing data concurrently.
1. Buses
Buses are used as signal pathways. In Harvard architecture, there are separate buses
for both instruction and data. Types of Buses:
• Data Bus: It carries data among the main memory system, processor, and I/O
devices.
• Data Address Bus: It carries the address of data from the processor to the main
memory system.
• Instruction Bus: It carries instructions among the main memory system,
processor, and I/O devices.
• Instruction Address Bus: It carries the address of instructions from the processor
to the main memory system.

2. Operational Registers
There are different types of registers involved in it which are used for storing
addresses of different types of instructions. For example, the Memory
Address Register and Memory Data Register are operational registers.
• Program Counter: It has the location of the next instruction to be
executed. The program counter then passes this next address to the
memory address register.
• Arithmetic and Logic Unit: The arithmetic logic unit is part of the CPU
that operates all the calculations needed. It performs addition, subtraction,
comparison, logical Operations, bit Shifting Operations, and various
arithmetic operations.
• Control Unit: The Control Unit is the part of the CPU that operates all
processor control signals. It controls the input and output devices and also
controls the movement of instructions and data within the system.
• Input/Output System: Input devices are used to read data into main
memory with the help of CPU input instruction. The information from a
computer as output is given through Output devices. The computer gives
the results of computation with the help of output devices.
Features:
• Separate memory spaces: In Harvard architecture, there are separate memory spaces
for instructions and data. This separation ensures that the processor can access both
the instruction and data memories simultaneously, allowing for faster and more
efficient data retrieval.
• Fixed instruction length: In Harvard architecture, instructions are typically of fixed
length, which simplifies the instruction fetch process and allows for faster
instruction processing.
• Parallel instruction and data access: Since Harvard architecture separates the
memory spaces for instructions and data, the processor can access both memory
spaces simultaneously, allowing for parallel instruction and data processing.
• More efficient memory usage: Harvard architecture allows for more efficient use of
memory as the data and instruction memories can be optimized independently,
which can lead to better performance.
• Suitable for embedded systems: Harvard architecture is commonly used in
embedded systems because it provides fast and efficient access to both instructions
and data, which is critical in real-time applications.
• Limited flexibility: The separate memory spaces in Harvard architecture limit the
flexibility of the processor to perform certain tasks, such as modifying instructions
at runtime. This is because modifying instructions requires access to the instruction
memory, which is separate from the data memory.
Advantage of Harvard Architecture:

• Fast and efficient data access: Since Harvard architecture has separate
memory spaces for instructions and data, it allows for parallel and
simultaneous access to both memory spaces, which leads to faster and more
efficient data access.
• Better performance: The use of fixed instruction length, parallel processing,
and optimized memory usage in Harvard architecture can lead to improved
performance and faster execution of instructions.
• Suitable for real-time applications: Harvard architecture is commonly used
in embedded systems and other real-time applications where speed and
efficiency are critical.
• Security: The separation of instruction and data memory spaces can also
provide a degree of security against certain types of attacks, such as buffer
overflow attacks.
Disadvantages of Harvard Architecture:

• Complexity: The use of separate memory spaces for instructions and data in
Harvard architecture adds to the complexity of the processor design and can
increase the cost of manufacturing.
• Limited flexibility: Harvard architecture has limited flexibility in terms of
modifying instructions at runtime because instructions and data are stored in
separate memory spaces. This can make certain types of programming more
difficult or impossible to implement.
• Higher memory requirements: Harvard architecture requires more memory
than Von Neumann architecture, which can lead to higher costs and power
consumption.
• Code size limitations: Fixed instruction length in Harvard architecture can
limit the size of code that can be executed, making it unsuitable for some
applications with larger code bases.
Applications:

• Microcontrollers: Often used in embedded systems that require real-time


processing and efficient power usage.
• Digital Signal Processors (DSPs): Designed for high-speed signal
processing tasks where fast data access is crucial.
• Graphics Processing Units (GPUs): The separate memory approach can
benefit GPUs that handle large amounts of data for graphics rendering.
Von Neumann Architecture vs Harvard Architecture

You might also like