Introduction To Embedded Systems
Introduction To Embedded Systems
System
Software Hardware
o ALP o Processor
o C o Peripherals
o VB o memory
Etc.,
Software deals with the languages like ALP, C, and VB etc., and Hardware deals with
Processors, Peripherals, and Memory.
Instruction set: The set of instructions that the microprocessor can execute.
Bandwidth: The number of bits processed in a single instruction.
Clock speed: Given in megahertz (MHz), the clock speed determines how many
instructions per second the processor can execute.
In both cases, the higher the value, the more powerful the CPU. For example, a 32-bit
microprocessor that runs at 50MHz is more powerful than a 16-bit microprocessor that runs at
25MHz. In addition to bandwidth and clock speed, microprocessors are classified as being either
RISC (reduced instruction set computer) or CISC (complex instruction set computer).
A microprocessor has three basic elements, as shown above. The ALU performs
all arithmetic computations, such as addition, subtraction and logic operations (AND, OR, etc). It
is controlled by the Control Unit and receives its data from the Register Array. The Register
Array is a set of registers used for storing data. These registers can be accessed by the ALU very
quickly. Some registers have specific functions - we will deal with these later. The Control Unit
controls the entire process. It provides the timing and a control signal for getting data into and
out of the registers and the ALU and it synchronizes the execution of instructions (we will deal
with instruction execution at a later date).
Three Basic Elements of a Microprocessor
ALU
CU
Memory
Timer, Counter,serial
communication ROM,
ADC, DAC, Timers,
Figure:
USART, Block Diagram of
Oscillators Micro Controller (c)
Digital Signal
Etc., Processors (DSPs):
Digital Signal Processors is one which performs scientific and mathematical operation. Digital
Signal Processor chips - specialized microprocessors with architectures designed specifically for
the types of operations required in digital signal processing. Like a general-purpose
microprocessor, a DSP is a programmable device, with its own native instruction code. DSP
chips are capable of carrying out millions of floating point operations per second, and like their
better-known general-purpose cousins, faster and more powerful versions are continually being
introduced. DSPs can also be embedded within complex "system-on-chip" devices, often
containing both analog and digital circuitry.
Application Specific Integrated Circuit (ASIC)
ASIC is a combination of digital and analog circuits packed into an IC to achieve the desired
control/computation function
There are two different types of computer instruction set there are:
A new microprocessor can be developed and tested more quickly if one of its aims is to
be less complicated.
Operating system and application programmers who use the microprocessor's instructions
will find it easier to develop code with a smaller instruction set.
The simplicity of RISC allows more freedom to choose how to use the space on a
microprocessor.
Higher-level language compilers produce more efficient code than formerly because they have
always tended to use the smaller set of instructions to be found in a RISC computer.
RISC characteristics
Simpleinstructionset:
In a RISC machine, the instruction set contains simple, basic instructions, from which more
complex instructions can be composed.
Samelengthinstructions.
Each instruction is the same length, so that it may be fetched in a single operation.
1machine-cycleinstructions.
Most instructions complete in one machine cycle, which allows the processor to handle several
instructions at the same time. This pipelining is a key technique used to speed up RISC
machines.
CISC, which stands for Complex Instruction Set Computer, is a philosophy for designing chips
that are easy to program and which make efficient use of memory. Each instruction in a CISC
instruction set might perform a series of operations inside the processor. This reduces the number
of instructions required to implement a given program, and allows the programmer to learn a
small but flexible set of instructions.
TheadvantagesofCISC
At the time of their initial development, CISC machines used available technologies to optimize
computer performance.
Harvard Architecture
Von-Neumann Architecture
Harvard Architecture
Computers have separate memory areas for program instructions and data. There are two or more
internal data buses, which allow simultaneous access to both instructions and data. The CPU
fetches program instructions on the program memory bus.
The Harvard architecture is a computer architecture with physically separate storage and signal
pathways for instructions and data. The term originated from the Harvard Mark I relay-based
computer, which stored instructions on punched tape (24 bits wide) and data in electro-
mechanical counters. These early machines had limited data storage, entirely contained within
the central processing unit, and provided no access to the instruction storage as data. Programs
needed to be loaded by an operator, the processor could not boot itself.
A computer has a single, common memory space in which both program instructions and data
are stored. There is a single internal data bus that fetches both instructions and data. They cannot
be performed at the same time
The von Neumann architecture is a design model for a stored-program digital computer that
uses a central processing unit (CPU) and a single separate storage structure ("memory") to hold
both instructions and data. It is named after the mathematician and early computer scientistJohn
von Neumann. Such computers implement a universal Turing machine and have a sequential
architecture.
A stored-programdigital computer is one that keeps its programmed instructions, as well as its
data, in read-write, random-access memory (RAM). Stored-program computers were
advancement over the program-controlled computers of the 1940s, such as the Colossus and the
ENIAC, which were programmed by setting switches and inserting patch leads to route data and
to control signals between various functional units. In the vast majority of modern computers, the
same memory is used for both data and program instructions. The mechanisms for transferring
the data and instructions between the CPU and memory are, however, considerably more
complex than the original von Neumann architecture.
The terms "von Neumann architecture" and "stored-program computer" are generally used
interchangeably, and that usage is followed in this article.
The primary difference between Harvard architecture and the Von Neumann architecture
is in the Von Neumann architecture data and programs are stored in the same memory and
managed by the same information handling system.
Whereas the Harvard architecture stores data and programs in separate memory devices
and they are handled by different subsystems.
In a computer using the Von-Neumann architecture without cache; the central processing
unit (CPU) can either be reading and instruction or writing/reading data to/from the memory.
Both of these operations cannot occur simultaneously as the data and instructions use the same
system bus.
In a computer using the Harvard architecture the CPU can both read an instruction and
access data memory at the same time without cache. This means that a computer with Harvard
architecture can potentially be faster for a given circuit complexity because data access and
instruction fetches do not contend for use of a single memory pathway.
Today, the vast majority of computers are designed and built using the Von Neumann
architecture template primarily because of the dynamic capabilities and efficiencies gained in
designing, implementing, operating one memory system as opposed to two. Von Neumann
architecture may be somewhat slower than the contrasting Harvard Architecture for certain
specific tasks, but it is much more flexible and allows for many concepts unavailable to Harvard
architecture such as self programming, word processing and so on.
Harvard architectures are typically only used in either specialized systems or for very
specific uses. It is used in specialized digital signal processing (DSP), typically for video and
audio processing products. It is also used in many small microcontrollers used in electronics
applications such as Advanced RISK Machine (ARM) based products for many vendors.