Explain Embedded Systems Architecture

Blog Contents


Introduction :

  • The 8051 microcontrollers work with 8-bit data bus so they can support external data memory up to 64K and external program memory of 64k at best.
  • Altogether, 8051 microcontrollers can assign 128k of memory that is external in nature.
  • If the data and code happen to be contained in different memory blocks, then the architecture is referred to as Harvard architecture.
  • If both the data and code are contained in the same memory block, then the architecture is referred to as Von Neumann architecture.
Von Neumann Architecture:

The Von Neumann architecture was first proposed by a computer scientist John von Neumann. In this architecture, one data path or bus exists for both instruction and data. As a result, the CPU does one operation at a time. It either fetches an instruction from memory or performs read/write operation on data. So an instruction fetch and a data operation cannot occur simultaneously, sharing a common bus.

Von-Neumann architecture supports simple hardware. It allows the use of a single, sequential memory. Today’s processing speeds vastly outpace memory access times, and we employ a very fast but small amount of memory (cache) local to the processor.

Harvard Architecture:

The Harvard architecture offers separate storage and signal buses for instructions and data.

This architecture has data storage entirely contained within the CPU, and there is no access to the instruction storage as data.

Computers have separate memory areas for program instructions and data using internal data buses, allowing simultaneous access to both instructions and data.

Programs needed to be loaded by an operator; the processor could not boot itself.

In a Harvard architecture, there is no need to make the two memories share properties.

Von-Neumann Architecture vs Harvard Architecture:

The following points distinguish the Von Neumann Architecture from the Harvard Architecture.

Von-Neumann Architecture Harvard Architecture
Single memory to be shared by both code and data. Separate memories for code and data.
The processor needs to fetch code in a separate clock cycle and data in another clock cycle. So it requires two clock cycles. A single clock cycle is sufficient, as separate buses are used to access code and data.
Higher speed, thus less time-consuming. Slower in speed, thus more time-consuming.
Simple in design. Complex in design.
CISC(Complex instruction set computer):

CISC is a Complex Instruction Set Computer. It is a computer that can address a large number of instructions.

RISC(Reduced instruction set computer)

In the early 1980s, computer designers recommended that computers should use fewer instructions with simple constructs so that they can be executed much faster within the CPU without having to use memory. Such computers are classified as Reduced Instruction Set Computer or RISC.


The following points differentiate a CISC from a RISC −