Harvard architecture
Harvard architecture is a
Memory details
In a Harvard architecture, there is no need to make the two memories share characteristics. In particular, the
word width, timing, implementation technology, and memory address structure can differ. Instruction memory is often wider than data memory. In some systems,
instructions can be stored in
Contrast with other computer architectures
In a computer with the contrasting von Neumann architecture (and no cache), the CPU 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 read both 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 is very 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. Standards-based high-level languages, such as the
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
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
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 a von Neumann architecture is used for off chip memory access.
Uses
Harvard architectures are also frequently used in:
- Specialized digital signal processors, DSPs, commonly used in audio or video processing products. For example, Blackfin processors by Analog Devices, Inc. use a Harvard architecture.
- Most general purpose small microcontrollers used in many electronics applications,
such as the
PIC byMicrochip Technology, Inc. , andAVR byAtmel Corp. These processors are characterized by having small amounts of program and data memory, and take advantage of the Harvard architecture and reduced instruction sets (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-, or 16-bit program word. This allows a single instruction to contain a full-size data constant. Other RISC architectures, for example the ARM, typically must use at least two instructions to load a full-size constant.
See also
This entry is from Wikipedia, the leading user-contributed encyclopedia. It may not have been reviewed by professional editors (see full disclaimer)





