All Topics  
Harvard architecture

 

   Email Print
   Bookmark   Link






 

Harvard architecture



 
 
The Harvard architecture is a computer architecture
Computer architecture

Computer architecture in computer engineering is the conceptual design and fundamental operational structure of a computer system. It is a blueprint and functional description of requirements and design implementations for the various parts of a computer, focusing largely on the way by which the central processing unit performs internally an...
 with physically separate storage
Computer storage

Computer data storage, often called storage or memory, refers to computer components, devices, and recording medium that retain digital data used for computing for some interval of time....
 and signal pathways for instructions and data. The term originated from the Harvard Mark I
Harvard Mark I

The IBM Automatic Sequence Controlled Calculator , called the Mark I by Harvard University, was the first large-scale automatic digital computer in the USA....
 relay-based computer, which stored instructions on punched tape
Punched tape

Punched tape or paper tape is a largely obsolete form of data storage, consisting of a long strip of paper in which holes are punched to store data....
 (24 bits wide) and data in electro-mechanical counters (23 digits wide). These early machines had limited data storage, entirely contained within the data processing unit
Central processing unit

A central processing unit is an electronic circuit that can execute computer programs. This broad definition can easily be applied to many early computers that existed long before the term "CPU" ever came into widespread usage....
, and provided no access to the instruction storage as data, making loading and modifying programs an entirely offline process
Off-line

The terms online and offline have specific meanings with respect to computer technology and telecommunication. In general, "online" indicates a state of connectivity, while "offline" indicates a disconnected state....
.

Harvard architecture, there is no need to make the two memories share characteristics.






Discussion
Ask a question about 'Harvard architecture'
Start a new discussion about 'Harvard architecture'
Answer questions from other users
Full Discussion Forum



Encyclopedia


The Harvard architecture is a computer architecture
Computer architecture

Computer architecture in computer engineering is the conceptual design and fundamental operational structure of a computer system. It is a blueprint and functional description of requirements and design implementations for the various parts of a computer, focusing largely on the way by which the central processing unit performs internally an...
 with physically separate storage
Computer storage

Computer data storage, often called storage or memory, refers to computer components, devices, and recording medium that retain digital data used for computing for some interval of time....
 and signal pathways for instructions and data. The term originated from the Harvard Mark I
Harvard Mark I

The IBM Automatic Sequence Controlled Calculator , called the Mark I by Harvard University, was the first large-scale automatic digital computer in the USA....
 relay-based computer, which stored instructions on punched tape
Punched tape

Punched tape or paper tape is a largely obsolete form of data storage, consisting of a long strip of paper in which holes are punched to store data....
 (24 bits wide) and data in electro-mechanical counters (23 digits wide). These early machines had limited data storage, entirely contained within the data processing unit
Central processing unit

A central processing unit is an electronic circuit that can execute computer programs. This broad definition can easily be applied to many early computers that existed long before the term "CPU" ever came into widespread usage....
, and provided no access to the instruction storage as data, making loading and modifying programs an entirely offline process
Off-line

The terms online and offline have specific meanings with respect to computer technology and telecommunication. In general, "online" indicates a state of connectivity, while "offline" indicates a disconnected state....
.

Memory details

In a Harvard architecture, there is no need to make the two memories share characteristics. In particular, the word
Word (computer science)

In computing, "word" is a term for the natural unit of data used by a particular computer design. A word is simply a fixed-sized group of bits that are handled together by the machine....
 width, timing, implementation technology, and memory address
Memory address

In computer science, a memory address is an identifier for a computer memory location, at which a computer program or a hardware device can store a piece of data and later retrieve it....
 structure can differ. In some systems, instructions can be stored in read-only memory
Read-only memory

Read-only memory is a class of computer storage media used in computers and other electronic devices. Because data stored in ROM cannot be modified , it is mainly used to distribute firmware ....
 while data memory generally requires read-write memory. In some systems, there is much more instruction memory than data memory so instruction addresses are wider than data addresses.

Contrast with other computer architectures


In a computer with the contrasting von Neumann architecture
Von Neumann architecture

The von Neumann architecture is a design model for a stored-program digital computer that uses a central processing unit and a single separate computer storage structure to hold both instructions and data ....
 (and no cache
Cache

In computer science, a cache is a collection of data duplicating original values stored elsewhere or computed earlier, where the original data is expensive to fetch or to compute, compared to the cost of reading the cache....
), the CPU
Central processing unit

A central processing unit is an electronic circuit that can execute computer programs. This broad definition can easily be applied to many early computers that existed long before the term "CPU" ever came into widespread usage....
 can be either reading an instruction or reading/writing data from/to the memory. Both cannot occur at the same time since the instructions and data use the same bus system. In a computer using the Harvard architecture, the CPU can both read an instruction and perform a data memory access at the same time, even without a cache. A Harvard architecture computer can thus be faster for a given circuit complexity because instruction fetches and data access do not contend for a single memory pathway.

The Modified Harvard architecture
Modified Harvard architecture

The Modified Harvard Architecture is a variation of the Harvard architecture that allows the contents of the instruction memory to be accessed as if it were data....
 is very much like the Harvard architecture but provides a pathway between the instruction memory and the CPU that allows words from the instruction memory to be treated as read-only data. This allows constant data, particularly text strings, to be accessed without first having to be copied into data memory, thus preserving more data memory for read/write variables. Special machine language instructions are provided to read data from the instruction memory. Most modern computers that are documented as Harvard Architecture are, in fact, Modified Harvard Architecture.

Speed

In recent years, the speed of the CPU has grown many times in comparison to the access speed of the main memory. Care needs to be taken to reduce the number of times main memory is accessed in order to maintain performance. If, for instance, every instruction run in the CPU requires an access to memory, the computer gains nothing for increased CPU speed — a problem referred to as being memory bound.

It is possible to make extremely fast memory but this is only practical for small amounts of memory for both cost and signal routing reasons. The solution is to provide a small amount of very fast memory known as a CPU cache
CPU cache

A CPU cache is a cache used by the central processing unit of a computer to reduce the average time to access computer storage. The cache is a smaller, faster memory which stores copies of the data from the most frequently used main memory locations....
 which holds recently accessed data. As long as the memory that the CPU needs is in the cache, the performance hit is much smaller than it is when the cache has to turn around and get the data from the main memory. Cache tuning is an important aspect of computer design.

Internal vs. external design

Modern high performance CPU chip designs incorporate aspects of both Harvard and von Neumann architecture. On-chip cache memory is divided into an instruction cache and a data cache. Harvard architecture is used as the CPU accesses the cache. In the case of a cache miss, however, the data is retrieved from the main memory, which is not divided into separate instruction and data sections. Thus, while a von Neumann architecture is presented to the programmer, the hardware implementation gains the efficiencies of the Harvard architecture.

Uses

Harvard architectures are also frequently used in:
  • Specialized digital signal processor
    Digital signal processor

    A digital signal processor is a specialized microprocessor designed specifically for digital signal processing, generally in real-time computing....
    s (DSPs), commonly used in audio or video processing products.
  • Some general purpose small microcontroller
    Microcontroller

    A microcontroller is a small computer on a single integrated circuit consisting of a relatively simple CPU combined with support functions such as a crystal oscillator, timers, watchdog, serial and analog I/O etc....
    s used in electronics applications, such as the PIC
    PIC microcontroller

    PIC is a family of Harvard architecture microcontrollers made by Microchip Technology, derived from the PIC1640 originally developed by General Instrument's Microelectronics Division....
     by Microchip Technology, Inc.
    Microchip Technology

    Microchip Technology is an USA manufacturer of microcontroller, memory and analog semiconductors. The company was founded in 1987 when General Instrument spun off its microelectronics division as a wholly owned subsidiary....
    , and AVR
    Atmel AVR

    The AVR is a Modified Harvard architecture 8-bit Reduced instruction set computer single chip microcontroller which was developed by Atmel in 1996....
     by Atmel Corp.
    Atmel

    Atmel Corporation is a manufacturer of semiconductors, founded in 1984. Its focus is on system-level solutions built around flash memory microcontrollers....
     These processors are characterized by having small amounts of program and data memory, and take advantage of the Harvard architecture and reduced instruction sets
    Reduced instruction set computer

    The acronym RISC , for reduced instruction set computing, represents a CPU design strategy emphasizing the insight that simplified instructions that "do less" may still provide for higher performance if this simplicity can be utilized to make instructions execute very quickly....
     (RISC) to ensure that most instructions can be executed within only one machine cycle, which is not necessarily one clock cycle. The separate storage means the program and data memories can have different bit depths. Example: PICs have an 8-bit data word but (depending on specific range of PICs) a 12-, 14-, 16- or 32-bit program word. This allows a single instruction to contain a full-size data constant. Other RISC architectures, for example the ARM
    ARM architecture

    The ARM architecture is a 32-bit RISC central processing unit architecture developed by ARM Limited that is widely used in embedded system designs....
    , typically require at least two words of memory to load a full-size constant.


See also

  • Von Neumann architecture
    Von Neumann architecture

    The von Neumann architecture is a design model for a stored-program digital computer that uses a central processing unit and a single separate computer storage structure to hold both instructions and data ....
  • Modified Harvard architecture
    Modified Harvard architecture

    The Modified Harvard Architecture is a variation of the Harvard architecture that allows the contents of the instruction memory to be accessed as if it were data....


External links