Embedded System: Single-Functioned
Embedded System: Single-Functioned
Embedded System: Single-Functioned
set of rules. It can also be defined as a way of working, organizing or doing one or many
tasks according to a fixed plan. For example, a watch is a time displaying system. Its
components follow a set of rules to show time. If one of its parts fails, the watch will stop
working. So we can say, in a system, all its subcomponents depend on each other.
Embedded System
As its name suggests, Embedded means something that is attached to another thing.
An embedded system can be thought of as a computer hardware system having software
embedded in it. An embedded system can be an independent system or it can be a part
of a large system. An embedded system is a microcontroller or microprocessor based
system which is designed to perform a specific task. For example, a fire alarm is an
embedded system; it will sense only smoke.
An embedded system has three components −
• It has hardware.
• It has application software.
• It has Real Time Operating system (RTOS) that supervises the application software and
provide mechanism to let the processor run a process as per scheduling by following a plan
to control the latencies. RTOS defines the way the system works. It sets the rules during the
execution of application program. A small scale embedded system may not have RTOS.
So we can define an embedded system as a Microcontroller based, software driven,
reliable, real-time control system.
Advantages
• Easily Customizable
• Low power consumption
• Low cost
• Enhanced performance
Disadvantages
• High development effort
• Larger time to market
Microprocessor Microcontroller
Microprocessors are multitasking in nature. Can Single task oriented. For example, a washing
perform multiple tasks at a time. For example, on machine is designed for washing clothes only.
computer we can play music while writing text in
text editor.
RAM, ROM, I/O Ports, and Timers can be added RAM, ROM, I/O Ports, and Timers cannot be
externally and can vary in numbers. added externally. These components are to be
embedded together on a chip and are fixed in
numbers.
Designers can decide the number of memory or Fixed number for memory or I/O makes a
I/O ports needed. microcontroller ideal for a limited but specific
task.
External support of external memory and I/O Microcontrollers are lightweight and cheaper
ports makes a microprocessor-based system than a microprocessor.
heavier and costlier.
External devices require more space and their A microcontroller-based system consumes
power consumption is higher. less power and takes less space.
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. Collectively, 8051
microcontrollers can address 128k of external memory.
When data and code lie in different memory blocks, then the architecture is referred
as Harvard architecture. In case data and code lie in the same memory block, then the
architecture is referred as Von Neumann architecture.
Von-Neumann Model
Von-Neumann proposed his computer architecture design in 1945 which was later known as
Von-Neumann Architecture. It consisted of a Control Unit, Arithmetic, and Logical Memory
Unit (ALU), Registers and Inputs/Outputs.
FacebookTwitterLinkedInEmail
These two processor architectures can be classified by how they use memory.
Von-Neumann architecture
In a Von-Neumann architecture, the same memory and bus are used to store both data
and instructions that run the program. Since you cannot access program memory and
data memory simultaneously, the Von Neumann architecture is susceptible to
bottlenecks and system performance is affected.
Figure 2: The Harvard architecture has a separate bus for signals and storage. (Image:
Wikimedia Commons)
Harvard Architecture
The Harvard architecture stores machine instructions and data in separate memory
units that are connected by different busses. In this case, there are at least two memory
address spaces to work with, so there is a memory register for machine instructions and
another memory register for data. Computers designed with the Harvard architecture
are able to run a program and access data independently, and therefore
simultaneously. Harvard architecture has a strict separation between data and code.
Thus, Harvard architecture is more complicated but separate pipelines remove the
bottleneck that Von Neumann creates.
Figure 1: The Von Neumann architecture has been around since the 1940s. A clarifying trait is
that a single bus used for both signal and storage. (Image: Wikimedia Commons)
The Von Neumann bottleneck occurs when data taken in or out of memory must wait
while the current memory operation is completed. That is, if the processor just
completed a computation and is ready to perform the next, it has to write the finished
computation into memory (which occupies the bus) before it can fetch new data out of
memory (which also uses the bus). The Von Neumann bottleneck has increased over
time because processors have improved in speed while memory has not progressed as
fast. Some techniques to reduce the impact of the bottleneck are to keep memory in
cache to minimize data movement, hardware acceleration, and speculative execution. It
is interesting to note that speculative execution is the conduit for one of the latest
security flaws discovered by Google Project Zero, named Spectre.
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.
Single memory to be shared by both code and data. Separate memories for code and data.
Processor needs to fetch code in a separate clock Single clock cycle is sufficient, as
cycle and data in another clock cycle. So it requires separate buses are used to access code
two clock cycles. and data.
Higher speed, thus less time consuming. Slower in speed, thus more time-
consuming.
CISC vs RISC
The following points differentiate a CISC from a RISC −
CISC RISC
Larger set of instructions. Easy to program Smaller set of Instructions. Difficult to program.
Many addressing modes causing complex Few addressing modes, fix instruction format.
instruction formats.
Higher clock cycles per second. Low clock cycle per second.
Control unit implements large instruction set Each instruction is to be executed by hardware.
using micro-program unit.