0% found this document useful (0 votes)
104 views

Harvard ArchitectureCPS - GeeksforGeeks

Harvard architecture is a computer architecture that separates memory storage and buses for instructions and data, allowing simultaneous access and enhancing processing speed compared to von Neumann architecture. It features distinct memory spaces, fixed instruction lengths, and is particularly suited for high-speed applications like embedded systems. However, it has disadvantages such as increased complexity, limited flexibility, and higher memory requirements.

Uploaded by

ayusssssh100
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
104 views

Harvard ArchitectureCPS - GeeksforGeeks

Harvard architecture is a computer architecture that separates memory storage and buses for instructions and data, allowing simultaneous access and enhancing processing speed compared to von Neumann architecture. It features distinct memory spaces, fixed instruction lengths, and is particularly suited for high-speed applications like embedded systems. However, it has disadvantages such as increased complexity, limited flexibility, and higher memory requirements.

Uploaded by

ayusssssh100
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 10

Harvard Architecture

Last Updated : 31 Jan, 2025

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). So, to overcome this problem, Harvard architecture was
introduced.

The Harvard architecture is a computer architecture that separates


memory storage and buses for instructions and data, unlike the von
Neumann architecture, which uses a single memory and bus for both.
This separation allows the CPU to access instructions and read/write
data simultaneously, overcoming the bottleneck of von Neumann’s
architecture and enhancing processing speed. By enabling parallel
access to instructions and data, the Harvard architecture improves
performance, making it particularly suitable for applications requiring
high-speed processing, such as embedded systems and digital signal
processing.

Structure of Harvard Architecture


Structure of Harvard Architecture

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.

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 of Harvard Architecture


Separate memory spaces: Harvard architecture uses distinct
memory spaces for instructions and data, enabling simultaneous
access for faster processing.

Fixed instruction length: In Harvard architecture, instructions are of


fixed length, which simplifies the instruction fetch process and
allows for faster instruction processing.

Parallel instruction and data access: The separation of instruction


and data memories allows parallel access, improving overall
efficiency.

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 restrict tasks like


modifying instructions at runtime, reducing flexibility.
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 sepa5y 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.
Aptitude Engineering Mathematics Discrete Mathematics Operating System DBMS Computer Netw
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.
Frequently Asked Questions on Harvard Architecture
– FAQs

How can we distinguish Harvard Architecture from Von


Neumann Architecture?

Harvard Architecture has separate memory spaces for data and


instructions while Von Neumann Architecture has single memory
space for both making it slower than Harvard Architecture.

What are the types of buses present in Harvard Architecture?

The types of buses present in Harvard Architecture are Data Bus,


Data Address Bus, Instruction Bus, Instruction Address Bus.

What is the role of Program Counter in Harvard Architecture?

Program Counter is an operational register that is required to store


the address of instruction that will be executed next.

Related Articles
Computer Organization and Architecture Tutorials

Difference between Von Neumann and Harvard Architecture

Computer Organization – Von Neumann Architecture

Dreaming of M.Tech in IIT? Get AIR under 100 with our GATE 2026
CSE & DA courses! Get flexible weekday/weekend options, live
mentorship, and mock tests. Access exclusive features like All India
Mock Tests, and Doubt Solving—your GATE success starts now!

Comment More info Next Article


Interaction of a Program with
Advertise with us Hardware

Similar Reads
Difference between Von Neumann and Harvard Architecture
Von Neumann and Harvard architectures are the two basic architectures in
the field of computer architecture to explain the way of memory and…
5 min read

Hardware architecture (parallel computing)


Let's discuss about parallel computing and hardware architecture of
parallel computing in this post. Note that there are two types of…
3 min read

Microarchitecture and Instruction Set Architecture


In this article, we look at what an Instruction Set Architecture (ISA) is and
what is the difference between an 'ISA' and Microarchitecture. An ISA is…
5 min read

Architecture of 8086
Introduction : The 8086 microprocessor is an 8-bit/16-bit microprocessor
designed by Intel in the late 1970s. It is the first member of the x86 fami…
15+ min read

UltraSPARC Architecture
UltraSPARC Architecture belongs to the SPARC (Scalable Processor
Architecture) family of processors. This architecture is suitable for wide…
2 min read
SIC/XE Architecture
SIC/XE stands for Simplified Instructional Computer Extra Equipment or
Extra Expensive. This computer is an advance version of SIC. Both SIC an…
2 min read

PowerPC Architecture
PowerPC Architecture are microprocessor for personal computers.
PowerPC is a RISC (Reduced Instruction Set Computer) architecture whic…
3 min read

VAX Architecture
VAX Architecture was designed to increase the compatibility by improving
the hardware of the earlier designed machines. As VAX architecture is an…
2 min read

Cray T3E Architecture


Cray T3E architecture are microprocessor for super-computing system.
Cray T3E is a RISC(Reduced Instruction Set Computer) architecture whic…
3 min read

Pentium Pro Architecture


The Pentium Pro microprocessor belongs to the CISC (Complex
Instruction Set Computers) machines. Processor of Pentium Pro family ar…
3 min read
Corporate & Communications Address:
A-143, 7th Floor, Sovereign Corporate
Tower, Sector- 136, Noida, Uttar Pradesh
(201305)

Registered Address:
K 061, Tower K, Gulshan Vivante
Apartment, Sector 137, Noida, Gautam
Buddh Nagar, Uttar Pradesh, 201305

Advertise with us

Company Explore
About Us Job-A-Thon Hiring Challenge
Legal Hack-A-Thon
Privacy Policy GfG Weekly Contest
Careers Offline Classes (Delhi/NCR)
In Media DSA in JAVA/C++
Contact Us Master System Design
GFG Corporate Solution Master CP
Placement Training Program GeeksforGeeks Videos
Geeks Community

Languages DSA
Python Data Structures
Java Algorithms
C++ DSA for Beginners
PHP Basic DSA Problems
GoLang DSA Roadmap
SQL DSA Interview Questions
R Language Competitive Programming
Android Tutorial

Data Science & ML Web Technologies


Data Science With Python HTML
Data Science For Beginner CSS
Machine Learning JavaScript
ML Maths TypeScript
Data Visualisation ReactJS
Pandas NextJS
NumPy NodeJs
NLP Bootstrap
Deep Learning Tailwind CSS

Python Tutorial Computer Science


Python Programming Examples GATE CS Notes
Django Tutorial Operating Systems
Python Projects Computer Network
Python Tkinter Database Management System
Web Scraping Software Engineering
OpenCV Tutorial Digital Logic Design
Python Interview Question Engineering Maths

DevOps System Design


Git High Level Design
AWS Low Level Design
Docker UML Diagrams
Kubernetes Interview Guide
Azure Design Patterns
GCP OOAD
DevOps Roadmap System Design Bootcamp
Interview Questions

School Subjects Commerce


Mathematics Accountancy
Physics Business Studies
Chemistry Economics
Biology Management
Social Science HR Management
English Grammar Finance
Income Tax

Databases Preparation Corner


SQL Company-Wise Recruitment Process
MYSQL Resume Templates
PostgreSQL Aptitude Preparation
PL/SQL Puzzles
MongoDB Company-Wise Preparation
Companies
Colleges

Competitive Exams More Tutorials


JEE Advanced Software Development
UGC NET Software Testing
UPSC Product Management
SSC CGL Project Management
SBI PO Linux
SBI Clerk Excel
IBPS PO All Cheat Sheets
IBPS Clerk Recent Articles

Free Online Tools Write & Earn


Typing Test Write an Article
Image Editor Improve an Article
Code Formatters Pick Topics to Write
Code Converters Share your Experiences
Currency Converter Internships
Random Number Generator
Random Password Generator

DSA/Placements Development/Testing
DSA - Self Paced Course JavaScript Full Course
DSA in JavaScript - Self Paced Course React JS Course
DSA in Python - Self Paced React Native Course
C Programming Course Online - Learn C with Data Structures Django Web Development Course
Complete Interview Preparation Complete Bootstrap Course
Master Competitive Programming Full Stack Development - [LIVE]
Core CS Subject for Interview Preparation JAVA Backend Development - [LIVE]
Mastering System Design: LLD to HLD Complete Software Testing Course [LIVE]
Tech Interview 101 - From DSA to System Design [LIVE] Android Mastery with Kotlin [LIVE]
DSA to Development [HYBRID]
Placement Preparation Crash Course [LIVE]

Machine Learning/Data Science Programming Languages


Complete Machine Learning & Data Science Program - [LIVE] C Programming with Data Structures
Data Analytics Training using Excel, SQL, Python & PowerBI - C++ Programming Course
[LIVE] Java Programming Course
Data Science Training Program - [LIVE] Python Full Course
Mastering Generative AI and ChatGPT
Data Science Course with IBM Certification

Clouds/Devops GATE
DevOps Engineering GATE CS & IT Test Series - 2025
AWS Solutions Architect Certification GATE DA Test Series 2025
Salesforce Certified Administrator Course GATE CS & IT Course - 2025
GATE DA Course 2025
GATE Rank Predictor

@GeeksforGeeks, Sanchhaya Education Private Limited, All rights reserved

You might also like