Optimizing ARM Assemby Code 2
Optimizing ARM Assemby Code 2
MICROCONTROLLER AND
EMBEDDED SYSTEMS
MODULE 4
Syllabus- Module 4 2
o Memory
o History of embedded systems
o Sensors,
o Classification of Embedded systems
o Actuators
RBK Classes
o Major applications areas of embedded o LED, 7 segment LED display
systems o Stepper motor, Keyboard, Push button switch,
o Purpose of embedded systems. o Communication Interface (onboard and external types),
o Embedded firmware,
RBK Classes
The Typical Embedded System 4
RBK Classes
• Microprocessor
• microcontroller
• Application Specifi c Integrated Circuit (ASIC)/ Application Specifi c Standard Product (ASSP)
The Typical Embedded System 5
RBK Classes
which are connected to the input ports.
Hence an embedded system can be viewed as a reactive system.
o The control is achieved by processing the information coming from the sensors and
user interfaces, and controlling some actuators that regulate the physical variable.
The Typical Embedded System 6
Key boards, push button switches, etc. are examples for common user
for common user interface output devices for a typical embedded system.
RBK Classes
• It is not necessary that all embedded systems should incorporate these I/O user
interfaces. It solely depends on the type of the application for which the embedded system
is designed.
The Typical Embedded System 7
The Memory of the system is responsible for holding the control algorithm and other important
configuration details.
For most of embedded systems, the memory for storing the algorithm or configuration data is of
fixed type, which is a kind of Read Only Memory (ROM) and it is not available for the end user
for modifications.
RBK Classes
• The most common types of memories used in embedded systems for control algorithm storage are OTP, PROM,
Sometimes the system requires temporary memory for performing arithmetic operations or
control algorithm execution and this type of memory is known as “working memory”.
o Random Access Memory (RAM) is used in most of the systems as the working memory.
o Various types of RAM like SRAM, DRAM, and NVRAM are used for this purpose.
Core of an Embedded System 8
Embedded systems are domain and application specific and are built around a central core.
The core of the embedded system falls into any one of the following categories:
RBK Classes
2. Microcontrollers
RBK Classes
make use of the commonly available microprocessors or microcontrollers whereas
Domains which require signal processing such as speech coding, speech
recognition, etc. make use of special kind of digital signal processors supplied by
manufacturers like, Analog Devices, Texas Instruments, etc.
Microprocessors 10
A Microprocessor is a silicon chip representing a central processing unit (CPU), which is capable of
performing arithmetic as well as logical operations according to a pre-defined set of instructions.
CPU contains the Arithmetic and Logic Unit (ALU), control unit and working registers.
o A microprocessor is a dependent unit and it requires the combination of other hardware like memory, timer
unit, and interrupt controller, etc. for proper functioning.
RBK Classes
Harvard and Von-Neumann are the two common system architectures for processor design.
o Processors based on Harvard architecture contains separate buses for program memory and data memory,
whereas processors based on Von-Neumann architecture shares a single system bus for program and data
memory.
Reduced Instruction Set Computing (RISC) and Complex Instruction Set Computing (CISC) are the
two common Instruction Set Architectures (ISA) available for processor design.
General Purpose Processor (GPP) vs. Application- 11
o A typical general purpose processor contains an Arithmetic and Logic Unit (ALU) and Control Unit (CU).
Application Specific Instruction Set Processors ( ASIPs) are processors with architecture and instruction
RBK Classes
media applications, digital signal processing, control applications, etc.
o ASIPs fill the architectural spectrum between general purpose processors and Application Specific Integrated Circuits
( ASICs). The need for an ASIP arises when the traditional general purpose processor are unable to meet the increasing
application needs.
Most of the embedded systems are built around application specific instruction set processors.
ASIPs incorporate a processor and on-chip peripherals, demanded by the application requirement,
o CPU
o scratch pad RAM
o special and general purpose register arrays
o on chip ROM/FLASH memory for program storage
RBK Classes
o timer and interrupt control units and
o dedicated I/O ports.
o Since a microcontroller contains all the necessary functional blocks for independent working, they found
greater place in the embedded domain in place of microprocessors.
o They are cheap, cost effective and are readily available in the market.
Microprocessor vs Microcontroller 13
RBK Classes
Digital Signal Processors 14
Digital Signal Processors ( DSPs) are powerful special purpose 8/16/32 bit microprocessors
designed specifically to meet the computational demands and power constraints of today’s
embedded audio, video, and communications applications.
Digital signal processors are 2 to 3 times faster than the general purpose microprocessors in
RBK Classes
DSPs implement algorithms in hardware which speeds up the execution whereas
o general purpose processors implement the algorithm in firmware and the speed of execution depends
primarily on the clock for the processors.
In general, DSP can be viewed as a microchip designed for performing high speed
o Program Memory :Memory for storing the program required by DSP to process the data.
o Data Memory: Working memory for storing temporary variables and data/signal to be
processed.
RBK Classes
o Computational Engine: Performs the signal processing in accordance with the stored
program memory. Computational Engine incorporates many specialized arithmetic units and
each of them operates simultaneously to increase the execution speed. It also incorporates
multiple hardware shifters for shifting operands and thereby saves execution time.
o I/O Unit: Acts as an interface between the outside world and DSP. It is responsible for
capturing signals to be processed and delivering the processed signals.
RISC vs. CISC Processors/Controllers 16
RBK Classes
Harvard vs. Von-Neumann Processor/Controller Architecture
17
RBK Classes