Embedded System Design
IV ECE – I Sem
(PE-IV)
Year/Sem Sub. Code Subject Name (Professional Elective-III) L T P/D C
IV-I 7C724 Embedded System Design 3 - - 3
On completion of this course you should be able to:
• Understand the basic architecture of Embedded
System and their classification.
• Explore the architecture of ARM processor.
• Understand the addressing modes and data processing
instructions of ARM processor.
• Understand the ARM thumb instruction set and its
capabilities.
• Use both assembly and C language based ARM
programming.
• Explore the memory management techniques in ARM.
Mapping of Course Outcomes with
Program Outcomes
PO
1
PO
2
PO
3
PO
4
PO
5
PO
6
PO
7
PO
8
PO
9
PO1
0
PO1
1
PO1
2
PSO
1
PSO
2
PSO
3
CO1 3 3 3 3 2 3 3 3
CO2 3 3 3 3 2 2 3 3
CO3 3 3 3 3 2 2 3 3
CO4 3 3 3 3 2 2 3 3
CO5 3 3 3 3 2 2 3 3 3
Overall 3 3 3 3 2 3 3 3 3
Syllabus
• UNIT-I: Introduction to embedded system:
Embedded system architecture, classifications of embedded systems,
challenges and design issues in embedded systems, fundamentals of
embedded processor and microcontrollers, CISC vs. RISC, fundamentals
of VonNeuman/Harvard architectures, types of microcontrollers,
selection of microcontrollers.
• UNIT –II: ARM Architecture:
ARM Design Philosophy, Registers, Program Status Register, Instruction
Pipeline, Interrupts and Vector Table, Architecture Revision, ARM
Processor Families.
• UNIT –III: ARM Programming Model – I:
Instruction Set: Data Processing Instructions, Addressing Modes, Branch,
Load, Store Instructions, PSR Instructions, Conditional Instructions.
• UNIT –IV: ARM Programming Model – II
Thumb Instruction Set: Register Usage, Other Branch Instructions, Data
Processing Instructions, Single-Register and Multi Register Load-Store
Instructions, Stack, Software Interrupt Instructions
Syllabus
• UNIT –V: ARM Programming:
Simple C Programs using Function Calls, Pointers, Structures, Integer and
Floating Point Arithmetic, Assembly Code using Instruction Scheduling,
Register Allocation, Conditional Execution and Loops.
• UNIT –VI: Memory Management:
Cache Architecture, Polices, Flushing and Caches, MMU, Page Tables,
Translation, Access Permissions, Context Switch.
• TEXT BOOKS:
ARM Systems Developer’s Guides- Designing & Optimizing System
Software – Andrew N. Sloss, Dominic Symes, Chris Wright, 2008, Elsevier.
• REFERENCE BOOKS:
Embedded Microcomputer Systems, Real Time Interfacing – Jonathan W.
Valvano – Brookes / Cole, 1999, Thomas Learning.
UNIT-I: Introduction to embedded
system
Embedded system architecture, classifications
of embedded systems, challenges and design
issues in embedded systems, fundamentals of
embedded processor and microcontrollers,
CISC vs. RISC, fundamentals of
VonNeuman/Harvard architectures, types of
microcontrollers, selection of
microcontrollers.
Introduction to embedded system
7
Definition
 It is an Electronic/Electro-mechanical system designed
to perform a specific function (task) and is a
combination of both hardware & software.
OR
 A combination of hardware and software which together
form a component of a larger machine.
 An example of an embedded system is a microprocessor that controls an
automobile engine.
 An embedded system is designed to run on its own without human
intervention, and may be required to respond to events in real time.
Classification of Embedded Systems
• Embedded Systems are classified based on the two factors i.e.
1) Performance and Functional Requirements
– Real-Time Embedded Systems
• Soft Real Time Embedded Systems
• Hard Real-Time Embedded Systems
– Stand Alone Embedded Systems, Ex: MP3 players, Microwave ovens,
calculator
– Networked Embedded Systems, Ex: Home security systems, ATM
machine, Card swipe machine
– Mobile Embedded Systems, Ex: MP3 player, Mobile phones, Digital
Camera
Traffic control system
Military usage in defense sector
Medical usage in health sector
Classification of Embedded Systems
• Performance of Micro-controllers
– Small Scale Embedded Systems
• 8-bit or 16-bit micro-controller
• The processor uses very less/limited resources of memory and processing
speed
• act as any component of computer system
– Medium Scale Embedded Systems
• 16-bit or 32-bit micro-controller
• faster than that of small Scale Embedded Systems
• Java, C, C++ are the programming languages are used to develop
• Different type of software tools like compiler, debugger, simulator etc are
used to develop these type of systems
– Sophisticated or Complex Embedded Systems
• 32-bit or 64-bit micro-controller
• perform large scale complex functions
• These systems have high hardware and software complexities.
Major Application Areas Of Embedded
Systems
• Consumer Electronics
– Camcorders, Cameras, etc…
• Household Appliances
– Television, DVD Player, Washing machine, fridge, microwave
oven, etc.
• Home automation and security system
– Air conditioners, Sprinkler, intruder detection alarms, fire
alarms, closed circuit television cameras, etc
• Automotive industry
– Anti-lock breaking system (ABS), engine control, ignition control,
automatic navigation system, etc..
• Telecommunication
– Cellular telephones, telephone switches, Router, etc…
Major Application Areas Of Embedded
Systems
• Computer peripherals
– Printers, scanners, fax machines, etc…
• Computer Networking systems
– Network routers, switches, hubs, firewalls, etc…
• Health care
– CT scanner, ECG , EEG , EMG ,MRI, Glucose monitor, blood pressure
monitor, medical diagnostic device, etc.
• Measurement & Instrumentation
– Digital multi meters, digital CROs, logic analyzers PLC systems, etc…
• Banking& Retail
– Automatic Teller Machine (ATM) and Currency counters, smart
vendor machine, cash register ,Share market, etc..
• Card Readers
– Barcode, smart card readers, hand held devices, etc…
Embedded Systems are Every Where
House Appliances
Embedded Systems are Every Where
Office Equipment
• Work
Embedded Systems are Every Where
Telecommunications
Embedded Systems are Every Where
Transportation
Embedded Systems are Every Where
Traffic Control
Embedded Systems are Every Where
Medical Equipments
Embedded Systems are Every Where
Industrial Control
• A PC can be used for any number of applications such
as:
– word processor,
– print server,
– bank teller terminal,
– video game player,
– network server, or
– internet terminal.
• Software for a variety of applications can be loaded
and run.
• The reason a PC can perform a variety tasks is that it
has RAM memory and an operating system that loads
the application software into RAM and lets the CPU run
it.
Embedded Systems VS General
Purpose Computers
• In an embedded system, there is only one
application software that is typically
burned into ROM.
• A PC is connected to various embedded
products such as, keyboard, mouse, LCD
monitor, or printer.
• Each one of these peripherals has a
microcontroller inside it that performs
only one task.
• For example, inside every mouse there is
a microcontroller that that performs the
task of finding the mouse position and
sending it to the PC.
Embedded Systems VS General
Purpose Computers
Purpose Of Embedded Systems
• Each Embedded system is designed to serve
the purpose of any one or a combination of
the following tasks.
– Data collection/Storage/Representation
– Data communication
– Data (Signal) processing
– Monitoring
– Control
– Application specific user interface
Data collection/Storage/Representation
• Data collection is usually done for storage, analysis,
manipulation and transmission.
– text, voice, image, electrical signals & other measurable
quantities.
• Data can be either analog (continues) or Digital (discrete).
• Embedded system with analog data capturing techniques
collect data directly in the form of analog and converts the
analog to digital signal by using A/D converters and then
collect the binary equivalent of the analog data.
• The collected data may be stored directly in the system or
may be transmitted to other systems or it may be
processed by the system or it may be deleted instantly after
giving a meaningful representation.
Data Collection/Storage/Representation
• A digital camera is a typical example of an embedded system
with data collection / storage / representation of data.
• Images are captured and the captured image may be stored
with in the memory of the camera. The captured image can
also be presented to the user through a LCD display unit.
Data communication
• Embedded data communication systems are
developed in applications ranging from
complex satellite communication systems to
simple home networking systems.
Figure: - A wireless network router for data communication
Data (Signal) Processing
• The data collected by embedded system may
be used for various kinds of signal processing.
• A digital hearing aid is a typical example of an
embedded system employing data processing.
Monitoring
• All embedded products coming under the medical domain are
with monitoring functions only. They are used for determining
the state of some variables using input sensors.
• A very good example is the electro cardiogram (ECG) machine
for monitoring the heartbeat of patient
Control
• Embedded system with control
functionalities impose control
over some variables according
to the input variables.
• A system with control
functionality contains both
sensors and actuators.
• Sensors are inputs ports for
capturing the changes in
environment variables or
measuring variable.
• Actuators are output ports are
controlled according to the
changes in input variable.
Application specific user interface
• These are embedded systems
with application specific user
interfaces like buttons,
switches, keypad, lights, bells,
display units, etc..
• Mobile phone is an example for
this, in mobile phone the user
interface is provided through
the keyboard, graphic LCD
module, system speaker,
vibration alert, etc…
Challenges of Embedded Software
Development
• Challenge #1: Stability
– Unexpected behavior from an embedded software is
inadmissible and poses serious risks. End users demand
that embedded software must have uniform behavior
under all circumstances and be able to operate durably
without service.
• Challenge #2: Safety
– Safety is a special feature of embedded software due to
their primary application associated with lifesaving
functionality in critical environments. Embedded software
is characterized by more strict requirements and
limitations in terms of quality, testing, and engineering
expertise.
Challenges of Embedded Software
Development
• Challenge #3: Security
– Security became a burning issue in the digital world. The
related risks grow exponentially, especially so for IoT
devices gaining popularity worldwide and becoming more
interconnected to each other. For instance, the most
pressing security concerns of 2020 were malware or
ransome protection, financial losses and data theft as well
as intellectual property infringement along with
confidential informal leaks.
• Challenge #4: Time-to-market
– Time-to-market and time-to-revenue have always been
tough indicators in embedded software development.
Challenges of Embedded Software
Development
• Challenge #5: Design Limitations
– The challenges in design of embedded software
have always been in the same limiting
requirements for decades:
• Small form factor;
• Low energy;
• Long-term stable performance without maintenance
• Challenge #6: Compatibility and Integrity
• A microcontroller has a CPU (a microprocessor) in
addition to a fixed amount of RAM, ROM, I/O ports,
and a timer all on a single chip.
• In other words, the processor, RAM, ROM, I/O ports,
and timer are all embedded together on one chip.
Microcontrollers
• In the case of microcontrollers, the designer can not
add external memory, I/O, or timer to it.
• The fixed amount of on-chip ROM, RAM, and number
of I/O ports in microcontrollers makes them ideal for
applications in which cost and space are critical.
Microcontrollers
What is an embedded processor?
– A programmable processor ‘embedded’ into an
embedded system (on a chip).
– An embedded processor can be a general purpose
processor, DSP, microcontroller, or a processor
optimized to a specific application.
– Programming self-contained computers
• End-user, application developer, system integrator, and
component manufacturer
– Programming embedded processors
• Most software is provided by system integrator.
Domain of target applications
– General-purpose processors
• ARM, MIPS, PowerPC, etc.
– Domain-specific processors
• DSPs such as TMS320x (TI), ADSP-TS0xx (Analog Devices), Saturn
(Adelante), SH3-DSP (Hitachi), Carmel (Infineon), ST100
(STMicro), ...
• Microcontrollers such as M68x05 (Motorola), 8051 (Intel), ...
• Network processors such as IXP (Intel), PayloadPlus (Lucent), ...
– Application-specific processors
• Configuration (ISA) is optimized to a specific application
(configurable processor).
• Some processors can be reconfigured after fabrication
• Xtensa (Tensilica), ARCtangent (ARC), Jazz (Improv), rDSP (Morpho
Technologies)...
RISC and CISC
What is CISC?
• CISC is an acronym for Complex Instruction Set
Computer and are chips that are easy to program
and which make efficient use of memory.
• Most common microprocessor designs such as the
Intel 80x86 and Motorola 68K series followed the
CISC philosophy.
• CISC was developed to make compiler development
simpler. It shifts most of the burden of generating
machine instructions to the processor. For example,
instead of having to make a compiler write long
machine instructions to calculate a square-root, a
CISC processor would have a built-in ability to do this.
Most CISC hardware architectures have several
characteristics in common:
• Complex instruction-decoding logic, driven by the
need for a single instruction to support multiple
addressing modes.
• A small number of general purpose registers. This is
the direct result of having instructions which can
operate directly on memory and the limited amount
of chip space not dedicated to instruction decoding,
execution, and microcode storage.
• Several special purpose registers. This can simplify
the hardware design somewhat, at the expense of
making the instruction set more complex.
What is RISC?
• RISC, or Reduced Instruction Set Computer. is a type of
microprocessor architecture that utilizes a small, highly-
optimized set of instructions, rather than a more specialized
set of instructions often found in other types of architectures.
• History
The first RISC projects came from IBM, Stanford, and UC-
Berkeley in the late 70s and early 80s. The IBM 801, Stanford
MIPS, and Berkeley RISC 1 and 2 were all designed with a
similar philosophy which has become known as RISC. Certain
design features have been characteristic of most RISC
processors:
– one cycle execution time: RISC processors have a CPI (clock per
instruction) of one cycle. This is due to the optimization of each
instruction on the CPU and a technique called PIPELINING
– pipelining: a techique that allows for simultaneous execution of parts,
or stages, of instructions to more efficiently process instructions;
– large number of registers: the RISC design philosophy generally
incorporates a larger number of registers to prevent in large amounts
of interactions with memory
RISC Attributes
The main characteristics of CISC microprocessors are:
• Extensive instructions.
• Complex and efficient machine instructions.
• Micro-encoding of the machine instructions.
• Extensive addressing capabilities for memory operations.
• Relatively few registers.
RISC processors are more or less the opposite of the above:
• Reduced instruction set.
• Less complex, simple instructions.
• Hardwired control unit and machine instructions.
• Few addressing schemes for memory operands with only two
basic instructions, LOAD and STORE
• Large number of registers organized as a register file.
CISC RISC
Emphasis on hardware Emphasis on software
Includes multi-clock
complex instructions
Single-clock,
reduced instruction
only
Memory-to-memory:
"LOAD" and "STORE"
incorporated in
instructions
Register to register:
"LOAD" and "STORE"
are independent
instructions
Small code sizes,
high cycles per second
Low cycles per second,
large code sizes
Transistors used for
storing complex
instructions
Spends more transistors
on memory registers
VonNeuman /Harvard architectures
Types of Microcontroller
• Microcontrollers are divided into categories according
to their memory, architecture, bits and instruction sets.
• Bits:
– 8 bits microcontroller executes logic & arithmetic
operations. Examples: Intel 8031/8051.
– 16 bits microcontroller executes with greater accuracy and
performance in contrast to 8-bit. Example: Intel 8096.
– 32 bits microcontroller is employed mainly in automatically
controlled appliances such as office machines, implantable
medical appliances, etc. It requires 32-bit instructions to
carry out any logical or arithmetic function.
Types of Microcontroller
• Memory:
– External Memory Microcontroller – When an
embedded structure is built with a microcontroller
which does not comprise of all the functioning blocks
existing on a chip it is named as external memory
microcontroller. 8031 microcontroller does not have
on-chip program memory.
– Embedded Memory Microcontroller – When an
embedded structure is built with a microcontroller
which comprise of all the functioning blocks existing
on a chip it is named as embedded memory
microcontroller. 8051 microcontroller has all program
& data memory.
Types of Microcontroller
• Instruction Set:
– CISC- CISC means complex instruction set computer, it
allows the user to apply 1 instruction as an alternative
to many simple instructions.
– RISC- RISC means Reduced Instruction Set Computers.
RISC reduces the operation time by shortening the
clock cycle per instruction.
• Memory Architecture:
– Von Neuman Architecture Microcontroller
– Harvard Memory Architecture Microcontroller
ESD unit 1.pptx
ESD unit 1.pptx
ESD unit 1.pptx
ESD unit 1.pptx
ESD unit 1.pptx
ESD unit 1.pptx
ESD unit 1.pptx
ESD unit 1.pptx

ESD unit 1.pptx

  • 1.
    Embedded System Design IVECE – I Sem (PE-IV)
  • 2.
    Year/Sem Sub. CodeSubject Name (Professional Elective-III) L T P/D C IV-I 7C724 Embedded System Design 3 - - 3 On completion of this course you should be able to: • Understand the basic architecture of Embedded System and their classification. • Explore the architecture of ARM processor. • Understand the addressing modes and data processing instructions of ARM processor. • Understand the ARM thumb instruction set and its capabilities. • Use both assembly and C language based ARM programming. • Explore the memory management techniques in ARM.
  • 3.
    Mapping of CourseOutcomes with Program Outcomes PO 1 PO 2 PO 3 PO 4 PO 5 PO 6 PO 7 PO 8 PO 9 PO1 0 PO1 1 PO1 2 PSO 1 PSO 2 PSO 3 CO1 3 3 3 3 2 3 3 3 CO2 3 3 3 3 2 2 3 3 CO3 3 3 3 3 2 2 3 3 CO4 3 3 3 3 2 2 3 3 CO5 3 3 3 3 2 2 3 3 3 Overall 3 3 3 3 2 3 3 3 3
  • 4.
    Syllabus • UNIT-I: Introductionto embedded system: Embedded system architecture, classifications of embedded systems, challenges and design issues in embedded systems, fundamentals of embedded processor and microcontrollers, CISC vs. RISC, fundamentals of VonNeuman/Harvard architectures, types of microcontrollers, selection of microcontrollers. • UNIT –II: ARM Architecture: ARM Design Philosophy, Registers, Program Status Register, Instruction Pipeline, Interrupts and Vector Table, Architecture Revision, ARM Processor Families. • UNIT –III: ARM Programming Model – I: Instruction Set: Data Processing Instructions, Addressing Modes, Branch, Load, Store Instructions, PSR Instructions, Conditional Instructions. • UNIT –IV: ARM Programming Model – II Thumb Instruction Set: Register Usage, Other Branch Instructions, Data Processing Instructions, Single-Register and Multi Register Load-Store Instructions, Stack, Software Interrupt Instructions
  • 5.
    Syllabus • UNIT –V:ARM Programming: Simple C Programs using Function Calls, Pointers, Structures, Integer and Floating Point Arithmetic, Assembly Code using Instruction Scheduling, Register Allocation, Conditional Execution and Loops. • UNIT –VI: Memory Management: Cache Architecture, Polices, Flushing and Caches, MMU, Page Tables, Translation, Access Permissions, Context Switch. • TEXT BOOKS: ARM Systems Developer’s Guides- Designing & Optimizing System Software – Andrew N. Sloss, Dominic Symes, Chris Wright, 2008, Elsevier. • REFERENCE BOOKS: Embedded Microcomputer Systems, Real Time Interfacing – Jonathan W. Valvano – Brookes / Cole, 1999, Thomas Learning.
  • 6.
    UNIT-I: Introduction toembedded system Embedded system architecture, classifications of embedded systems, challenges and design issues in embedded systems, fundamentals of embedded processor and microcontrollers, CISC vs. RISC, fundamentals of VonNeuman/Harvard architectures, types of microcontrollers, selection of microcontrollers.
  • 7.
    Introduction to embeddedsystem 7 Definition  It is an Electronic/Electro-mechanical system designed to perform a specific function (task) and is a combination of both hardware & software. OR  A combination of hardware and software which together form a component of a larger machine.
  • 8.
     An exampleof an embedded system is a microprocessor that controls an automobile engine.  An embedded system is designed to run on its own without human intervention, and may be required to respond to events in real time.
  • 9.
    Classification of EmbeddedSystems • Embedded Systems are classified based on the two factors i.e. 1) Performance and Functional Requirements – Real-Time Embedded Systems • Soft Real Time Embedded Systems • Hard Real-Time Embedded Systems – Stand Alone Embedded Systems, Ex: MP3 players, Microwave ovens, calculator – Networked Embedded Systems, Ex: Home security systems, ATM machine, Card swipe machine – Mobile Embedded Systems, Ex: MP3 player, Mobile phones, Digital Camera Traffic control system Military usage in defense sector Medical usage in health sector
  • 10.
    Classification of EmbeddedSystems • Performance of Micro-controllers – Small Scale Embedded Systems • 8-bit or 16-bit micro-controller • The processor uses very less/limited resources of memory and processing speed • act as any component of computer system – Medium Scale Embedded Systems • 16-bit or 32-bit micro-controller • faster than that of small Scale Embedded Systems • Java, C, C++ are the programming languages are used to develop • Different type of software tools like compiler, debugger, simulator etc are used to develop these type of systems – Sophisticated or Complex Embedded Systems • 32-bit or 64-bit micro-controller • perform large scale complex functions • These systems have high hardware and software complexities.
  • 11.
    Major Application AreasOf Embedded Systems • Consumer Electronics – Camcorders, Cameras, etc… • Household Appliances – Television, DVD Player, Washing machine, fridge, microwave oven, etc. • Home automation and security system – Air conditioners, Sprinkler, intruder detection alarms, fire alarms, closed circuit television cameras, etc • Automotive industry – Anti-lock breaking system (ABS), engine control, ignition control, automatic navigation system, etc.. • Telecommunication – Cellular telephones, telephone switches, Router, etc…
  • 12.
    Major Application AreasOf Embedded Systems • Computer peripherals – Printers, scanners, fax machines, etc… • Computer Networking systems – Network routers, switches, hubs, firewalls, etc… • Health care – CT scanner, ECG , EEG , EMG ,MRI, Glucose monitor, blood pressure monitor, medical diagnostic device, etc. • Measurement & Instrumentation – Digital multi meters, digital CROs, logic analyzers PLC systems, etc… • Banking& Retail – Automatic Teller Machine (ATM) and Currency counters, smart vendor machine, cash register ,Share market, etc.. • Card Readers – Barcode, smart card readers, hand held devices, etc…
  • 13.
    Embedded Systems areEvery Where House Appliances
  • 14.
    Embedded Systems areEvery Where Office Equipment • Work
  • 15.
    Embedded Systems areEvery Where Telecommunications
  • 16.
    Embedded Systems areEvery Where Transportation
  • 17.
    Embedded Systems areEvery Where Traffic Control
  • 18.
    Embedded Systems areEvery Where Medical Equipments
  • 19.
    Embedded Systems areEvery Where Industrial Control
  • 20.
    • A PCcan be used for any number of applications such as: – word processor, – print server, – bank teller terminal, – video game player, – network server, or – internet terminal. • Software for a variety of applications can be loaded and run. • The reason a PC can perform a variety tasks is that it has RAM memory and an operating system that loads the application software into RAM and lets the CPU run it. Embedded Systems VS General Purpose Computers
  • 21.
    • In anembedded system, there is only one application software that is typically burned into ROM. • A PC is connected to various embedded products such as, keyboard, mouse, LCD monitor, or printer. • Each one of these peripherals has a microcontroller inside it that performs only one task. • For example, inside every mouse there is a microcontroller that that performs the task of finding the mouse position and sending it to the PC. Embedded Systems VS General Purpose Computers
  • 22.
    Purpose Of EmbeddedSystems • Each Embedded system is designed to serve the purpose of any one or a combination of the following tasks. – Data collection/Storage/Representation – Data communication – Data (Signal) processing – Monitoring – Control – Application specific user interface
  • 23.
    Data collection/Storage/Representation • Datacollection is usually done for storage, analysis, manipulation and transmission. – text, voice, image, electrical signals & other measurable quantities. • Data can be either analog (continues) or Digital (discrete). • Embedded system with analog data capturing techniques collect data directly in the form of analog and converts the analog to digital signal by using A/D converters and then collect the binary equivalent of the analog data. • The collected data may be stored directly in the system or may be transmitted to other systems or it may be processed by the system or it may be deleted instantly after giving a meaningful representation.
  • 24.
    Data Collection/Storage/Representation • Adigital camera is a typical example of an embedded system with data collection / storage / representation of data. • Images are captured and the captured image may be stored with in the memory of the camera. The captured image can also be presented to the user through a LCD display unit.
  • 25.
    Data communication • Embeddeddata communication systems are developed in applications ranging from complex satellite communication systems to simple home networking systems. Figure: - A wireless network router for data communication
  • 26.
    Data (Signal) Processing •The data collected by embedded system may be used for various kinds of signal processing. • A digital hearing aid is a typical example of an embedded system employing data processing.
  • 27.
    Monitoring • All embeddedproducts coming under the medical domain are with monitoring functions only. They are used for determining the state of some variables using input sensors. • A very good example is the electro cardiogram (ECG) machine for monitoring the heartbeat of patient
  • 28.
    Control • Embedded systemwith control functionalities impose control over some variables according to the input variables. • A system with control functionality contains both sensors and actuators. • Sensors are inputs ports for capturing the changes in environment variables or measuring variable. • Actuators are output ports are controlled according to the changes in input variable.
  • 29.
    Application specific userinterface • These are embedded systems with application specific user interfaces like buttons, switches, keypad, lights, bells, display units, etc.. • Mobile phone is an example for this, in mobile phone the user interface is provided through the keyboard, graphic LCD module, system speaker, vibration alert, etc…
  • 30.
    Challenges of EmbeddedSoftware Development • Challenge #1: Stability – Unexpected behavior from an embedded software is inadmissible and poses serious risks. End users demand that embedded software must have uniform behavior under all circumstances and be able to operate durably without service. • Challenge #2: Safety – Safety is a special feature of embedded software due to their primary application associated with lifesaving functionality in critical environments. Embedded software is characterized by more strict requirements and limitations in terms of quality, testing, and engineering expertise.
  • 31.
    Challenges of EmbeddedSoftware Development • Challenge #3: Security – Security became a burning issue in the digital world. The related risks grow exponentially, especially so for IoT devices gaining popularity worldwide and becoming more interconnected to each other. For instance, the most pressing security concerns of 2020 were malware or ransome protection, financial losses and data theft as well as intellectual property infringement along with confidential informal leaks. • Challenge #4: Time-to-market – Time-to-market and time-to-revenue have always been tough indicators in embedded software development.
  • 32.
    Challenges of EmbeddedSoftware Development • Challenge #5: Design Limitations – The challenges in design of embedded software have always been in the same limiting requirements for decades: • Small form factor; • Low energy; • Long-term stable performance without maintenance • Challenge #6: Compatibility and Integrity
  • 34.
    • A microcontrollerhas a CPU (a microprocessor) in addition to a fixed amount of RAM, ROM, I/O ports, and a timer all on a single chip. • In other words, the processor, RAM, ROM, I/O ports, and timer are all embedded together on one chip. Microcontrollers
  • 35.
    • In thecase of microcontrollers, the designer can not add external memory, I/O, or timer to it. • The fixed amount of on-chip ROM, RAM, and number of I/O ports in microcontrollers makes them ideal for applications in which cost and space are critical. Microcontrollers
  • 36.
    What is anembedded processor? – A programmable processor ‘embedded’ into an embedded system (on a chip). – An embedded processor can be a general purpose processor, DSP, microcontroller, or a processor optimized to a specific application. – Programming self-contained computers • End-user, application developer, system integrator, and component manufacturer – Programming embedded processors • Most software is provided by system integrator.
  • 37.
    Domain of targetapplications – General-purpose processors • ARM, MIPS, PowerPC, etc. – Domain-specific processors • DSPs such as TMS320x (TI), ADSP-TS0xx (Analog Devices), Saturn (Adelante), SH3-DSP (Hitachi), Carmel (Infineon), ST100 (STMicro), ... • Microcontrollers such as M68x05 (Motorola), 8051 (Intel), ... • Network processors such as IXP (Intel), PayloadPlus (Lucent), ... – Application-specific processors • Configuration (ISA) is optimized to a specific application (configurable processor). • Some processors can be reconfigured after fabrication • Xtensa (Tensilica), ARCtangent (ARC), Jazz (Improv), rDSP (Morpho Technologies)...
  • 38.
  • 39.
    What is CISC? •CISC is an acronym for Complex Instruction Set Computer and are chips that are easy to program and which make efficient use of memory. • Most common microprocessor designs such as the Intel 80x86 and Motorola 68K series followed the CISC philosophy. • CISC was developed to make compiler development simpler. It shifts most of the burden of generating machine instructions to the processor. For example, instead of having to make a compiler write long machine instructions to calculate a square-root, a CISC processor would have a built-in ability to do this.
  • 40.
    Most CISC hardwarearchitectures have several characteristics in common: • Complex instruction-decoding logic, driven by the need for a single instruction to support multiple addressing modes. • A small number of general purpose registers. This is the direct result of having instructions which can operate directly on memory and the limited amount of chip space not dedicated to instruction decoding, execution, and microcode storage. • Several special purpose registers. This can simplify the hardware design somewhat, at the expense of making the instruction set more complex.
  • 41.
    What is RISC? •RISC, or Reduced Instruction Set Computer. is a type of microprocessor architecture that utilizes a small, highly- optimized set of instructions, rather than a more specialized set of instructions often found in other types of architectures. • History The first RISC projects came from IBM, Stanford, and UC- Berkeley in the late 70s and early 80s. The IBM 801, Stanford MIPS, and Berkeley RISC 1 and 2 were all designed with a similar philosophy which has become known as RISC. Certain design features have been characteristic of most RISC processors: – one cycle execution time: RISC processors have a CPI (clock per instruction) of one cycle. This is due to the optimization of each instruction on the CPU and a technique called PIPELINING – pipelining: a techique that allows for simultaneous execution of parts, or stages, of instructions to more efficiently process instructions; – large number of registers: the RISC design philosophy generally incorporates a larger number of registers to prevent in large amounts of interactions with memory
  • 42.
    RISC Attributes The maincharacteristics of CISC microprocessors are: • Extensive instructions. • Complex and efficient machine instructions. • Micro-encoding of the machine instructions. • Extensive addressing capabilities for memory operations. • Relatively few registers. RISC processors are more or less the opposite of the above: • Reduced instruction set. • Less complex, simple instructions. • Hardwired control unit and machine instructions. • Few addressing schemes for memory operands with only two basic instructions, LOAD and STORE • Large number of registers organized as a register file.
  • 43.
    CISC RISC Emphasis onhardware Emphasis on software Includes multi-clock complex instructions Single-clock, reduced instruction only Memory-to-memory: "LOAD" and "STORE" incorporated in instructions Register to register: "LOAD" and "STORE" are independent instructions Small code sizes, high cycles per second Low cycles per second, large code sizes Transistors used for storing complex instructions Spends more transistors on memory registers
  • 44.
  • 45.
    Types of Microcontroller •Microcontrollers are divided into categories according to their memory, architecture, bits and instruction sets. • Bits: – 8 bits microcontroller executes logic & arithmetic operations. Examples: Intel 8031/8051. – 16 bits microcontroller executes with greater accuracy and performance in contrast to 8-bit. Example: Intel 8096. – 32 bits microcontroller is employed mainly in automatically controlled appliances such as office machines, implantable medical appliances, etc. It requires 32-bit instructions to carry out any logical or arithmetic function.
  • 46.
    Types of Microcontroller •Memory: – External Memory Microcontroller – When an embedded structure is built with a microcontroller which does not comprise of all the functioning blocks existing on a chip it is named as external memory microcontroller. 8031 microcontroller does not have on-chip program memory. – Embedded Memory Microcontroller – When an embedded structure is built with a microcontroller which comprise of all the functioning blocks existing on a chip it is named as embedded memory microcontroller. 8051 microcontroller has all program & data memory.
  • 47.
    Types of Microcontroller •Instruction Set: – CISC- CISC means complex instruction set computer, it allows the user to apply 1 instruction as an alternative to many simple instructions. – RISC- RISC means Reduced Instruction Set Computers. RISC reduces the operation time by shortening the clock cycle per instruction. • Memory Architecture: – Von Neuman Architecture Microcontroller – Harvard Memory Architecture Microcontroller

Editor's Notes

  • #38 Cadence® Tensilica® Xtensa® processors combine the best of CPUs, GPUs, FPGAs, and dedicated custom RTL in ASICs/SoCs and enable the development of energy-efficient domain-specific processors that offer high performance, flexibility for future-proofing, and more importantly, can be tailored for your specific application requirements. ARCtangent-A5 Processor- Combined RISC/DSP Capabilities Provide High-Performance, Low-Power Processor Solution for Consumer Electronics