SlideShare a Scribd company logo
1 of 61
Module-1
Microcontroller and Embedded
Systems
21CS43
Prepared By:
NEHA GOPAL N,
Assistant Professor, CSE
EPCET,BENGALURU
ARM Microprocessor Basics
ARM: Advance RISC Machine.
ARM was established as a joint venture between Acorn, Apple and
VLSI in November 1990.
ARM is the industry's leading provider of 16/32-bit embedded
RISC microprocessor solutions.
The company licenses its high-performance, low-cost, power-
designs to leading international electronics companies.
ARM provides comprehensive support required in developing a
complete system.
ARM Embedded
Systems
 The ARM processor is a key component of many successful 32-bit
embedded systems.
 You probably own one yourself and may not even realize it!
 ARM cores are widely used in mobile phones, handheld devices,
and a many other everyday portable consumer devices.
 The first ARM prototype name ARM1 was designed in 1985 and
continues to improve through constant technical innovation
leading to ARM2, ARM3, ARM4, ARM5, ARM6, ARM7, ARM8,
ARM9… ARM Cortex.
 Approximately one billion ARM processors had been shipped
worldwide by the end of 2001.
 Now, ARM sales is 7 times more than the worlds population.
 The ARM core is not a single core, but a whole family of designs sharing
similar design principles and a common instruction set.
 Example, ARM7TDMI is one of the most successful ARM core widely
used in majority of the devices.
 It provides up to 120 Dhrystone MIPS, high code density and low
power consumption, making it ideal for mobile embedded devices.
 ARM has adopted the RICS design philosophy.
ARM Holdings is a technology company headquartered in
Cambridge, England, UK. The company is best known for its
processors, although it also designs, licenses and sells software
development tools under the RealView and KEIL brands, systems
and platforms, system-on-a-chip infrastructure and software.
ARM do not make ICs !!!
ARM grant license of core to different silicon vendors like
ATMEL, NXP, Cirrus logic etc.. These companies make IC’S.
Examples are: LPC2148 from NXP, AT91RM9200 from ATMEL.
ARM processors can be used in any domain
Mainly ARM processors are used in Handheld devices, Robotics,
Automation, Consumer Electronics.
ARM processors are available for almost every domain.
Apple iPhone ARM11 Motorola Z8 Smart phone
ARM11
ARM Based Products
Blackberry ARM11 Nokia E90
Communicator ARM11
iPOD ARM7TDMI
Juice Box
Low cost Multimedia
player ARM7TDMI
Lego Mindstrome
Robot ARM7
Paison Series game
consoles ARM7TDMI
The RISC design philosophy
 The ARM processors uses a RISC architecture
 RISC is a design philosophy aims
• to provide few simple but powerful instructions
• execute within a single clock cycle.
 RISC reduces the complexity of instructions performed by the
hardware because it is easier to provide greater flexibility and
intelligence in software rather than hardware.
 Traditional complex instruction set computer (CISC) relies more
on the hardware (processor) for instruction functionality, as CISC
instructions are more complicated.
Instructions
Pipelines
Registers
Load/Store
The RISC Philosophy is implemented with four major design rules
The RISC Philosophy is implemented with four major design rules
1. Instructions —
 RISC processors have a reduced number of instruction classes.
 These classes provide simple operations that can each execute in a single cycle.
 The compiler synthesizes complicated operations by combining several simple
instructions.
 Each instruction is having fixed length to allow the pipeline to fetch future
instructions before decoding the current instruction.
CISC- the instructions are often of variable size and take many cycles to execute.
2. Pipelines —
◦ Instructions is broken down into smaller units that can be executed in parallel
by pipelines.
◦ Pipeline advances by one step on each cycle for maximum throughput.
Instructions can be decoded in one pipeline stage.
◦ CISC-There is no need for an instruction to be executed by a mini-program
called microcode as on CISC processors.
 First stage – fetches the instruction
 Second Stage - Decodes the instruction and fetches the operands
 Third Stage - Executes the instruction and stores the result
3. Registers:
 CISC- processors have dedicated registers for specific purposes.
 large general-
purpose register set.
register can contain
either data or an
address.
fast local memory store for all data processing
operations
4. Load-store architecture:
 Processor operates only on data held in registers.
 Separate load and store instructions transfer data between the register bank and
external memory.
 Memory accesses are costly, so separating memory accesses from data processing
provides an advantage because you can use data items held in the register bank
multiple times without needing multiple memory accesses.
 CISC design the data processing operations can act on memory directly.
These RICS design rules allow a RISC processor to be simpler, and thus
the core can operate at higher clock frequencies.
 In contrast, traditional CISC processors are more complex and operate
at lower clock frequencies.
The ARM Design Philosophy
1. Battery power.
2. High code density
3. Price sensitive
4. Hardware debug technology
5. Not a pure RISC architecture
1. Battery power.
• The ARM processor is designed to be small to reduce power consumption and
extend battery operation.
• applications such as mobile phones and personal digital assistants (PDAs).
2. High code density is another major requirement since embedded systems have
limited memory due to cost and/or physical size restrictions.
3. Embedded systems are price sensitive
o They, use slow and low-cost memory devices to get substantial savings—
essential for high-volume applications like digital cameras.
o Also, reduce the area of the die taken up by the embedded processor; smaller the
area used by the embedded processor, reduced cost of the design and
manufacturing for the end product.
4. ARM has incorporated hardware debug technology within the processor so that software engineers can
view what is happening while the processor is executing code. With greater visibility, software engineers can
resolve issues faster.
Instruction Set for Embedded System
The ARM instruction set differs from pure RISC definition in several ways that
make the ARM instruction set suitable for embedded applications.
1. Variable cycle execution for certain instruction
2. Barrel shifter: Inline barrel shifter for more complex instructions.
3. Conditional execution facility in majority of the instructions.
4. Enhanced instruction – Enhanced DSP instructions were added to the standard ARM
instruction.
5. Thumb state (16 bit- instruction set) – improves the code density by 30% to 35%
over 32-bit fixed length instructions
Embedded System Hardware
Embedded systems are designed to control many different devices,
-- from small sensors found on a production line, to
-- the real-time control systems used on a NASA space probe.
All these devices use a combination of software and hardware components.
Each component is designed to provide higher efficiency and, is designed for future
extension and expansion.
An example of an ARM-based Embedded Device, a Microcontroller
Divided into 4 Major components
Peripherals
- Provides all input and output capability external to the chip
ARM processor
Core + Surrounding Components
• Core- has execution engine ( processes instructions and manipulates
data)
• Surrounding Components- memory and cache
Controllers
- Coordinates important functional blocks of the systems
- Two commonly found controllers are: interrupt & memory
controllers
Bus
- Used to communicate between different parts of the device
ARM Processor
Controls the embedded device.
Different versions of the ARM processor are available to suit the
desired operating characteristics.
An ARM processor comprises
-a core (the execution engine that processes instructions and
manipulates data)
plus
-the surrounding components that interface it with a bus
(include memory management and caches.)
Controllers
Helps coordinate important functional blocks of the system.
Two commonly found controllers are
-interrupt controller and
-memory controllers.
Peripherals
Provides input-output capability external to the chip.
-includes serial I/O, Parallel I/O, Timers counters and clock circuits
Responsible for the uniqueness of the embedded device.
Bus
Supports communicate between different parts of the device.
AHB, APB
ARM Bus Technology
Embedded systems use different bus technologies than those designed for x86
PCs.
PCs bus technology uses Peripheral Component Interconnect (PCI) bus, to
connect devices such as
- video cards and
-hard disk controllers to the x86 processor bus.
 This technology is external or off-chip (i.e., the bus is designed to connect
mechanically and electrically to devices external to the chip) and is built into the
motherboard of a PC.
Embedded devices use an on-chip bus that is internal to the chip and that allows
different peripheral devices to be interconnected with an ARM core.
ARM Bus Technology Cont..
There are two different classes of devices attached to the
ARM on chip bus.
- A bus master: a logical device capable of initiating a data
transfer with another device across the same bus. The ARM processor core
is the bus master.
- Bus slaves: logical devices capable only of responding to a
transfer request from a bus master device. All peripherals are bus slaves
On chip ARM bus has two architecture levels.
- Physical level covers the electrical characteristics and bus width (16, 32, or 64
bits).
- Protocol level covers the logical rules that govern the communication between the
processor and a peripheral.
ARM is primarily a design company. It does not/rarely implements the electrical
characteristics of the bus, but it specifies the bus protocol.
AMBA Bus Protocol
AMBA - Advanced Microcontroller Bus Architecture.
 Was introduced in 1996 and widely adopted as the on-chip bus architecture used for
ARM processors.
The first AMBA buses introduced were the
-ARM System Bus (ASB) and
-ARM Peripheral Bus (APB)
Later ARM introduced another bus design, called
-ARM High Performance Bus (AHB)
Using AMBA, peripheral designers can reuse the same interface design on multiple
projects.
A peripheral can simply be bolted onto the on-chip bus without having to redesign an
interface for each different processor architecture.
AHB provides higher data throughput than ASB.
- Because AHB is based on a centralized multiplexed bus scheme.
- ASB bidirectional bus design.
ARM has introduced two variations on the AHB bus:
-Multi-layer AHB and
-AHB-Lite.
The original AHB, was allowing a single bus master to be active on the bus at any time, the
Multi-layer AHB bus allows multiple active bus masters.
AHB-Lite is a subset of the AHB bus and it is limited to a single bus master.
 AHB-Lite was developed for designs that do not require the full features of the
standard AHB bus.
Memory
An embedded system requires some form of memory to store and execute code.
The memory should be fast, large and inexpensive.
Unfortunately it is impossible to meet all the 3 requirements.
 The common solution is to have the memory hierarchy.
Memory Width
The memory width is the number of bits the memory returns on each access which is
typically 8, 16, 32, or 64 bits.
The memory width has a direct effect on the overall performance of the system.
If you have a system using 32-bit ARM instructions and 16-bit-wide memory chips,
then the processor will have to make two memory fetches per instruction.
This reduces the system performance, but the benefit is that 16-bit memory is
less expensive.
If the core executes 16-bit Thumb instructions, it will achieve better performance
with a 16-bit memory.
Table 1.1 summarizes theoretical cycle times on an ARM
processor using different memory width devices.
Memory Types
There are many different types of memory
- ROM
- Flash ROM
- Dynamic RAM
- Static RAM
- SDRAM – Synchronous Dynamic RAM
ROM- Read Only Memory
Least flexible of all memory types because it contains an image that is
permanently stored and cannot be reprogrammed.
Many devices use a ROM to hold boot code.
Flash ROM
Flash ROM can be read as well as written, but it is slow to write so it is not
used for holding dynamic data.
 It is mainly used for holding the device firmware or storing long-term data
that needs to be preserved after power is off.
The erasing and writing of flash ROM are completely software controlled with no
additional hardware circuitry required.
Dynamic Random Access Memory –DRAM
The most commonly used RAM for devices.
It has the lowest cost per megabyte compared with other types of RAM.
DRAM is dynamic—it needs to have its storage cells refreshed and given a
new electronic charge every few milliseconds, so you need to set up a
DRAM controller before using the memory.
Static Random Access Memory – SRAM
Faster than the more traditional DRAM
SRAM is static—the RAM does not require refreshing.
The access time for SRAM is considerably shorter than the equivalent
DRAM because SRAM does not require a pause between data
accesses.
Synchronous Dynamic Random Access Memory –SDRAM
SDRAM is synchronized with the processor clock speed.
SDRAM run at much higher clock speed than the conventional DRAMs.
Peripherals
Embedded systems communicate with the outside world via peripheral device.
 A peripheral device performs input and output functions for the chip by
connecting to other devices or sensors that are off-chip.
 Peripherals range from
-a simple serial communication device to a
-more complex 802.11 wireless device.
 Two important types of controllers are
- memory controllers and
- interrupt controllers.
Memory Controller
Memory controller provides the following functionalities.
-Connects different types of memories to the processor bus.
- On power up the memory controller activates certain memory devices to
execute initialization code -ROM.
-It configures the memory timings and the refresh rate of the DRAM before it
is accessed.
Interrupt Controllers
When a peripheral or device requires processor attention, it sends an interrupt to the
processor.
There are two types of interrupt controller in the ARM processor:
- the standard interrupt controller (SIC)
- and the vector interrupt controller (VIC).
Standard Interrupt Controller (SIC)
It sends an interrupt signal to the processor core when an external device requests
servicing.
It can be programmed to ignore or mask an individual device or set of devices
interrupt signals.
The interrupt handler determines which device requires servicing by reading
a device bitmap register in the interrupt controller.
Vectored Interrupt Controller (VIC)
Provides more functionality than the SIC.
Along with the masking functionality it also provides the functionality to
prioritize the interrupts.
Embedded System Software
An embedded system needs software to drive it.
Figure shows four typical software components required to control an
embedded device.
Initialization (Boot) Code
The initialization code is the first code executed on the board when the
device is powered on.
 It sets up the minimum parts of the board before handing control over
to the operating system.
Boot code is present inside the ROM and is responsible for loading the
OS to the RAM.
The initialization code handles 3 administrative tasks prior to handing
control over to an operating system image.
These administrative tasks can be grouped into three phases:
- initial hardware configuration,
- diagnostics, and
- booting.
Initial Hardware Configuration:
Although the device comes up in a standard configuration, this initial hardware
configuration normally requires modification to satisfy the requirements of the booted
image.
 For example, the memory system normally requires reorganization of the memory map,
as shown in below Example
Diagnostics
Diagnostics is a program embedded in the initialization code.
Diagnostic code tests the system by checking if the all the hardware components is
in working condition.
It also tracks down standard system-related issues.
 The primary purpose of diagnostic code is fault identification and isolation.
Booting:
Booting involves loading an OS image to RAM and handing control
over to that image.
The boot process can be complicated if the system must boot
different operating systems or different versions of the same operating
system.
Once booted, the system hands over control by modifying the
program counter to point into the start of the OS image.
Sometimes, to reduce the image size, an image is compressed.
 The image is then decompressed either when it is loaded or when
control is handed over to it.
Operating System
The Initialization process prepares the hardware for an Operating system to take control.
ARM Processor supports over 50 operating systems.
Operating system can be divided into two main categories.
- Real Time Operating System – RTOS
- Platform Operating System –POS
RTOS used in embedded devices and they don’t use the secondary storage and POS used in
the general purpose computer systems and they use secondary storage
RTOS is classified into.
-Hard Real Time Operating System – Used in hard real time applications which
requires the guaranteed response time.
-Soft Real Time Operating System – Used in soft real time applications which does
not require guaranteed response time and the performance gracefully reduces when
the time overruns
Applications:
ARM processors are found in numerous domains, including networking, automotive, mobile
and consumer devices, mass storage, and imaging devices.
Within each domain ARM processors can be found in multiple applications.
For example, the ARM processor is found in networking applications like home
gateways, modems for high-speed Internet communication, and 802.11 wireless
communication.
The mobile device domain is the largest application area for ARM processors because of
mobile phones.
ARM processors are also found in mass storage devices domains such as hard drives,
products such as inkjet printers
ARM7TDMI Processor
The ARM7TDMI core is a member of the ARM family of general-
purpose 32-bit microprocessors.
– T: capable of executing Thumb instruction set
– D: Featuring with IEEE Std. 1149.1 JTAG boundary-scan debugging
interface.
– M: Featuring with a Multiplier-And-Accumulate (MAC) unit for DSP
applications.
– I: Featuring with the support of embedded In-Circuit Emulator.
The ARM family offers high performance for very low power
consumption, and small size.
The ARM architecture is based on Reduced Instruction Set Computer
(RISC)
SUMMARY:
It allows variable cycle execution on certain instructions to
save power, area, and code size.
 It adds a barrel shifter to expand the capability of certain
instructions.
 It uses the Thumb 16-bit instruction set to improve code density.
It improves code density and performance by conditionally
executing instructions.
 It includes enhanced instructions to perform digital signal
processing type functions.

More Related Content

Similar to 18CS44-MODULE1-PPT.pptx

18CS44-MES-Module-1.pptx
18CS44-MES-Module-1.pptx18CS44-MES-Module-1.pptx
18CS44-MES-Module-1.pptxrakshitha481121
 
ES Module_1.pptx
ES Module_1.pptxES Module_1.pptx
ES Module_1.pptxsarala9
 
PPT MES class.pptx
PPT MES class.pptxPPT MES class.pptx
PPT MES class.pptxkavithadcs
 
Embedded Systems (18EC62) - ARM - 32-Bit Microcontroller (Module 1)
Embedded Systems (18EC62) - ARM - 32-Bit Microcontroller (Module 1)Embedded Systems (18EC62) - ARM - 32-Bit Microcontroller (Module 1)
Embedded Systems (18EC62) - ARM - 32-Bit Microcontroller (Module 1)Shrishail Bhat
 
iPhone Architecture - Review
iPhone Architecture - ReviewiPhone Architecture - Review
iPhone Architecture - ReviewAbdelrahman Hosny
 
Mces MOD 1.pptx
Mces MOD 1.pptxMces MOD 1.pptx
Mces MOD 1.pptxRadhaC10
 
ARM Microcontroller and Embedded Systems (17EC62) – ARM – 32 bit Microcontrol...
ARM Microcontroller and Embedded Systems (17EC62) – ARM – 32 bit Microcontrol...ARM Microcontroller and Embedded Systems (17EC62) – ARM – 32 bit Microcontrol...
ARM Microcontroller and Embedded Systems (17EC62) – ARM – 32 bit Microcontrol...Shrishail Bhat
 
SYBSC IT SEM IV EMBEDDED SYSTEMS UNIT I Core of Embedded Systems
SYBSC IT SEM IV EMBEDDED SYSTEMS UNIT I   Core of Embedded SystemsSYBSC IT SEM IV EMBEDDED SYSTEMS UNIT I   Core of Embedded Systems
SYBSC IT SEM IV EMBEDDED SYSTEMS UNIT I Core of Embedded SystemsArti Parab Academics
 
Advance Microcontroller AVR
Advance Microcontroller AVRAdvance Microcontroller AVR
Advance Microcontroller AVRDaksh Raj Chopra
 
Question 1. please describe an embedded system in less than 100 word.pdf
Question 1. please describe an embedded system in less than 100 word.pdfQuestion 1. please describe an embedded system in less than 100 word.pdf
Question 1. please describe an embedded system in less than 100 word.pdfarmcomputers
 
Ajal mod 1
Ajal mod 1Ajal mod 1
Ajal mod 1AJAL A J
 
Computer organization & ARM microcontrollers module 3 PPT
Computer organization & ARM microcontrollers module 3 PPTComputer organization & ARM microcontrollers module 3 PPT
Computer organization & ARM microcontrollers module 3 PPTChetanNaikJECE
 
MCI-Unit_1.PPTX electronics communication Engineering
MCI-Unit_1.PPTX electronics communication EngineeringMCI-Unit_1.PPTX electronics communication Engineering
MCI-Unit_1.PPTX electronics communication EngineeringKongaMadhukar
 
How to Select Hardware for Internet of Things Systems?
How to Select Hardware for Internet of Things Systems?How to Select Hardware for Internet of Things Systems?
How to Select Hardware for Internet of Things Systems?Hannes Tschofenig
 

Similar to 18CS44-MODULE1-PPT.pptx (20)

18CS44-MES-Module-1.pptx
18CS44-MES-Module-1.pptx18CS44-MES-Module-1.pptx
18CS44-MES-Module-1.pptx
 
ES Module_1.pptx
ES Module_1.pptxES Module_1.pptx
ES Module_1.pptx
 
Unit vi (1)
Unit vi (1)Unit vi (1)
Unit vi (1)
 
PPT MES class.pptx
PPT MES class.pptxPPT MES class.pptx
PPT MES class.pptx
 
MES PPT.pptx
MES PPT.pptxMES PPT.pptx
MES PPT.pptx
 
ARM-Unit-1.pdf
ARM-Unit-1.pdfARM-Unit-1.pdf
ARM-Unit-1.pdf
 
Embedded Systems (18EC62) - ARM - 32-Bit Microcontroller (Module 1)
Embedded Systems (18EC62) - ARM - 32-Bit Microcontroller (Module 1)Embedded Systems (18EC62) - ARM - 32-Bit Microcontroller (Module 1)
Embedded Systems (18EC62) - ARM - 32-Bit Microcontroller (Module 1)
 
iPhone Architecture - Review
iPhone Architecture - ReviewiPhone Architecture - Review
iPhone Architecture - Review
 
Ijetr042175
Ijetr042175Ijetr042175
Ijetr042175
 
Mces MOD 1.pptx
Mces MOD 1.pptxMces MOD 1.pptx
Mces MOD 1.pptx
 
ARM Microcontroller and Embedded Systems (17EC62) – ARM – 32 bit Microcontrol...
ARM Microcontroller and Embedded Systems (17EC62) – ARM – 32 bit Microcontrol...ARM Microcontroller and Embedded Systems (17EC62) – ARM – 32 bit Microcontrol...
ARM Microcontroller and Embedded Systems (17EC62) – ARM – 32 bit Microcontrol...
 
ARM UNIT4 PPTold.pptx
ARM UNIT4 PPTold.pptxARM UNIT4 PPTold.pptx
ARM UNIT4 PPTold.pptx
 
SYBSC IT SEM IV EMBEDDED SYSTEMS UNIT I Core of Embedded Systems
SYBSC IT SEM IV EMBEDDED SYSTEMS UNIT I   Core of Embedded SystemsSYBSC IT SEM IV EMBEDDED SYSTEMS UNIT I   Core of Embedded Systems
SYBSC IT SEM IV EMBEDDED SYSTEMS UNIT I Core of Embedded Systems
 
Advance Microcontroller AVR
Advance Microcontroller AVRAdvance Microcontroller AVR
Advance Microcontroller AVR
 
Question 1. please describe an embedded system in less than 100 word.pdf
Question 1. please describe an embedded system in less than 100 word.pdfQuestion 1. please describe an embedded system in less than 100 word.pdf
Question 1. please describe an embedded system in less than 100 word.pdf
 
Ajal mod 1
Ajal mod 1Ajal mod 1
Ajal mod 1
 
Computer organization & ARM microcontrollers module 3 PPT
Computer organization & ARM microcontrollers module 3 PPTComputer organization & ARM microcontrollers module 3 PPT
Computer organization & ARM microcontrollers module 3 PPT
 
MCI-Unit_1.PPTX electronics communication Engineering
MCI-Unit_1.PPTX electronics communication EngineeringMCI-Unit_1.PPTX electronics communication Engineering
MCI-Unit_1.PPTX electronics communication Engineering
 
Training report on embedded sys_AVR
Training report on embedded sys_AVRTraining report on embedded sys_AVR
Training report on embedded sys_AVR
 
How to Select Hardware for Internet of Things Systems?
How to Select Hardware for Internet of Things Systems?How to Select Hardware for Internet of Things Systems?
How to Select Hardware for Internet of Things Systems?
 

Recently uploaded

Introduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptxIntroduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptxk795866
 
What are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxWhat are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxwendy cai
 
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerStudy on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerAnamika Sarkar
 
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfCCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfAsst.prof M.Gokilavani
 
GDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentationGDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentationGDSCAESB
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AIabhishek36461
 
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETEINFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETEroselinkalist12
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxJoão Esperancinha
 
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort serviceGurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort servicejennyeacort
 
Heart Disease Prediction using machine learning.pptx
Heart Disease Prediction using machine learning.pptxHeart Disease Prediction using machine learning.pptx
Heart Disease Prediction using machine learning.pptxPoojaBan
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024Mark Billinghurst
 
HARMONY IN THE HUMAN BEING - Unit-II UHV-2
HARMONY IN THE HUMAN BEING - Unit-II UHV-2HARMONY IN THE HUMAN BEING - Unit-II UHV-2
HARMONY IN THE HUMAN BEING - Unit-II UHV-2RajaP95
 
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130Suhani Kapoor
 
Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.eptoze12
 
Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...VICTOR MAESTRE RAMIREZ
 
power system scada applications and uses
power system scada applications and usespower system scada applications and uses
power system scada applications and usesDevarapalliHaritha
 
main PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidmain PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidNikhilNagaraju
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSKurinjimalarL3
 

Recently uploaded (20)

Introduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptxIntroduction-To-Agricultural-Surveillance-Rover.pptx
Introduction-To-Agricultural-Surveillance-Rover.pptx
 
What are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxWhat are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptx
 
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube ExchangerStudy on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
Study on Air-Water & Water-Water Heat Exchange in a Finned Tube Exchanger
 
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptxExploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
Exploring_Network_Security_with_JA3_by_Rakesh Seal.pptx
 
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdfCCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
 
GDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentationGDSC ASEB Gen AI study jams presentation
GDSC ASEB Gen AI study jams presentation
 
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
 
Past, Present and Future of Generative AI
Past, Present and Future of Generative AIPast, Present and Future of Generative AI
Past, Present and Future of Generative AI
 
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETEINFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
 
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptxDecoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
Decoding Kotlin - Your guide to solving the mysterious in Kotlin.pptx
 
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort serviceGurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
Gurgaon ✡️9711147426✨Call In girls Gurgaon Sector 51 escort service
 
Heart Disease Prediction using machine learning.pptx
Heart Disease Prediction using machine learning.pptxHeart Disease Prediction using machine learning.pptx
Heart Disease Prediction using machine learning.pptx
 
IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024IVE Industry Focused Event - Defence Sector 2024
IVE Industry Focused Event - Defence Sector 2024
 
HARMONY IN THE HUMAN BEING - Unit-II UHV-2
HARMONY IN THE HUMAN BEING - Unit-II UHV-2HARMONY IN THE HUMAN BEING - Unit-II UHV-2
HARMONY IN THE HUMAN BEING - Unit-II UHV-2
 
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
 
Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.
 
Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...
 
power system scada applications and uses
power system scada applications and usespower system scada applications and uses
power system scada applications and uses
 
main PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfidmain PPT.pptx of girls hostel security using rfid
main PPT.pptx of girls hostel security using rfid
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
 

18CS44-MODULE1-PPT.pptx

  • 1. Module-1 Microcontroller and Embedded Systems 21CS43 Prepared By: NEHA GOPAL N, Assistant Professor, CSE EPCET,BENGALURU
  • 2. ARM Microprocessor Basics ARM: Advance RISC Machine. ARM was established as a joint venture between Acorn, Apple and VLSI in November 1990. ARM is the industry's leading provider of 16/32-bit embedded RISC microprocessor solutions. The company licenses its high-performance, low-cost, power- designs to leading international electronics companies. ARM provides comprehensive support required in developing a complete system.
  • 3. ARM Embedded Systems  The ARM processor is a key component of many successful 32-bit embedded systems.  You probably own one yourself and may not even realize it!  ARM cores are widely used in mobile phones, handheld devices, and a many other everyday portable consumer devices.  The first ARM prototype name ARM1 was designed in 1985 and continues to improve through constant technical innovation leading to ARM2, ARM3, ARM4, ARM5, ARM6, ARM7, ARM8, ARM9… ARM Cortex.
  • 4.  Approximately one billion ARM processors had been shipped worldwide by the end of 2001.  Now, ARM sales is 7 times more than the worlds population.  The ARM core is not a single core, but a whole family of designs sharing similar design principles and a common instruction set.  Example, ARM7TDMI is one of the most successful ARM core widely used in majority of the devices.  It provides up to 120 Dhrystone MIPS, high code density and low power consumption, making it ideal for mobile embedded devices.  ARM has adopted the RICS design philosophy.
  • 5. ARM Holdings is a technology company headquartered in Cambridge, England, UK. The company is best known for its processors, although it also designs, licenses and sells software development tools under the RealView and KEIL brands, systems and platforms, system-on-a-chip infrastructure and software. ARM do not make ICs !!! ARM grant license of core to different silicon vendors like ATMEL, NXP, Cirrus logic etc.. These companies make IC’S. Examples are: LPC2148 from NXP, AT91RM9200 from ATMEL. ARM processors can be used in any domain Mainly ARM processors are used in Handheld devices, Robotics, Automation, Consumer Electronics. ARM processors are available for almost every domain.
  • 6. Apple iPhone ARM11 Motorola Z8 Smart phone ARM11 ARM Based Products
  • 7. Blackberry ARM11 Nokia E90 Communicator ARM11
  • 8. iPOD ARM7TDMI Juice Box Low cost Multimedia player ARM7TDMI
  • 9. Lego Mindstrome Robot ARM7 Paison Series game consoles ARM7TDMI
  • 10. The RISC design philosophy  The ARM processors uses a RISC architecture  RISC is a design philosophy aims • to provide few simple but powerful instructions • execute within a single clock cycle.  RISC reduces the complexity of instructions performed by the hardware because it is easier to provide greater flexibility and intelligence in software rather than hardware.  Traditional complex instruction set computer (CISC) relies more on the hardware (processor) for instruction functionality, as CISC instructions are more complicated.
  • 11.
  • 12.
  • 13. Instructions Pipelines Registers Load/Store The RISC Philosophy is implemented with four major design rules
  • 14. The RISC Philosophy is implemented with four major design rules 1. Instructions —  RISC processors have a reduced number of instruction classes.  These classes provide simple operations that can each execute in a single cycle.  The compiler synthesizes complicated operations by combining several simple instructions.  Each instruction is having fixed length to allow the pipeline to fetch future instructions before decoding the current instruction. CISC- the instructions are often of variable size and take many cycles to execute.
  • 15. 2. Pipelines — ◦ Instructions is broken down into smaller units that can be executed in parallel by pipelines. ◦ Pipeline advances by one step on each cycle for maximum throughput. Instructions can be decoded in one pipeline stage. ◦ CISC-There is no need for an instruction to be executed by a mini-program called microcode as on CISC processors.  First stage – fetches the instruction  Second Stage - Decodes the instruction and fetches the operands  Third Stage - Executes the instruction and stores the result
  • 16.
  • 17. 3. Registers:  CISC- processors have dedicated registers for specific purposes.  large general- purpose register set. register can contain either data or an address. fast local memory store for all data processing operations
  • 18. 4. Load-store architecture:  Processor operates only on data held in registers.  Separate load and store instructions transfer data between the register bank and external memory.  Memory accesses are costly, so separating memory accesses from data processing provides an advantage because you can use data items held in the register bank multiple times without needing multiple memory accesses.  CISC design the data processing operations can act on memory directly.
  • 19. These RICS design rules allow a RISC processor to be simpler, and thus the core can operate at higher clock frequencies.  In contrast, traditional CISC processors are more complex and operate at lower clock frequencies.
  • 20. The ARM Design Philosophy 1. Battery power. 2. High code density 3. Price sensitive 4. Hardware debug technology 5. Not a pure RISC architecture
  • 21. 1. Battery power. • The ARM processor is designed to be small to reduce power consumption and extend battery operation. • applications such as mobile phones and personal digital assistants (PDAs). 2. High code density is another major requirement since embedded systems have limited memory due to cost and/or physical size restrictions. 3. Embedded systems are price sensitive o They, use slow and low-cost memory devices to get substantial savings— essential for high-volume applications like digital cameras. o Also, reduce the area of the die taken up by the embedded processor; smaller the area used by the embedded processor, reduced cost of the design and manufacturing for the end product.
  • 22. 4. ARM has incorporated hardware debug technology within the processor so that software engineers can view what is happening while the processor is executing code. With greater visibility, software engineers can resolve issues faster.
  • 23. Instruction Set for Embedded System The ARM instruction set differs from pure RISC definition in several ways that make the ARM instruction set suitable for embedded applications. 1. Variable cycle execution for certain instruction 2. Barrel shifter: Inline barrel shifter for more complex instructions. 3. Conditional execution facility in majority of the instructions. 4. Enhanced instruction – Enhanced DSP instructions were added to the standard ARM instruction. 5. Thumb state (16 bit- instruction set) – improves the code density by 30% to 35% over 32-bit fixed length instructions
  • 24. Embedded System Hardware Embedded systems are designed to control many different devices, -- from small sensors found on a production line, to -- the real-time control systems used on a NASA space probe. All these devices use a combination of software and hardware components. Each component is designed to provide higher efficiency and, is designed for future extension and expansion.
  • 25. An example of an ARM-based Embedded Device, a Microcontroller
  • 26. Divided into 4 Major components Peripherals - Provides all input and output capability external to the chip ARM processor Core + Surrounding Components • Core- has execution engine ( processes instructions and manipulates data) • Surrounding Components- memory and cache
  • 27. Controllers - Coordinates important functional blocks of the systems - Two commonly found controllers are: interrupt & memory controllers Bus - Used to communicate between different parts of the device
  • 28. ARM Processor Controls the embedded device. Different versions of the ARM processor are available to suit the desired operating characteristics. An ARM processor comprises -a core (the execution engine that processes instructions and manipulates data) plus -the surrounding components that interface it with a bus (include memory management and caches.)
  • 29. Controllers Helps coordinate important functional blocks of the system. Two commonly found controllers are -interrupt controller and -memory controllers. Peripherals Provides input-output capability external to the chip. -includes serial I/O, Parallel I/O, Timers counters and clock circuits Responsible for the uniqueness of the embedded device. Bus Supports communicate between different parts of the device. AHB, APB
  • 30. ARM Bus Technology Embedded systems use different bus technologies than those designed for x86 PCs. PCs bus technology uses Peripheral Component Interconnect (PCI) bus, to connect devices such as - video cards and -hard disk controllers to the x86 processor bus.  This technology is external or off-chip (i.e., the bus is designed to connect mechanically and electrically to devices external to the chip) and is built into the motherboard of a PC. Embedded devices use an on-chip bus that is internal to the chip and that allows different peripheral devices to be interconnected with an ARM core.
  • 31. ARM Bus Technology Cont.. There are two different classes of devices attached to the ARM on chip bus. - A bus master: a logical device capable of initiating a data transfer with another device across the same bus. The ARM processor core is the bus master. - Bus slaves: logical devices capable only of responding to a transfer request from a bus master device. All peripherals are bus slaves
  • 32. On chip ARM bus has two architecture levels. - Physical level covers the electrical characteristics and bus width (16, 32, or 64 bits). - Protocol level covers the logical rules that govern the communication between the processor and a peripheral. ARM is primarily a design company. It does not/rarely implements the electrical characteristics of the bus, but it specifies the bus protocol.
  • 33. AMBA Bus Protocol AMBA - Advanced Microcontroller Bus Architecture.  Was introduced in 1996 and widely adopted as the on-chip bus architecture used for ARM processors. The first AMBA buses introduced were the -ARM System Bus (ASB) and -ARM Peripheral Bus (APB) Later ARM introduced another bus design, called -ARM High Performance Bus (AHB)
  • 34. Using AMBA, peripheral designers can reuse the same interface design on multiple projects. A peripheral can simply be bolted onto the on-chip bus without having to redesign an interface for each different processor architecture.
  • 35. AHB provides higher data throughput than ASB. - Because AHB is based on a centralized multiplexed bus scheme. - ASB bidirectional bus design. ARM has introduced two variations on the AHB bus: -Multi-layer AHB and -AHB-Lite. The original AHB, was allowing a single bus master to be active on the bus at any time, the Multi-layer AHB bus allows multiple active bus masters. AHB-Lite is a subset of the AHB bus and it is limited to a single bus master.  AHB-Lite was developed for designs that do not require the full features of the standard AHB bus.
  • 36. Memory An embedded system requires some form of memory to store and execute code. The memory should be fast, large and inexpensive. Unfortunately it is impossible to meet all the 3 requirements.  The common solution is to have the memory hierarchy.
  • 37.
  • 38. Memory Width The memory width is the number of bits the memory returns on each access which is typically 8, 16, 32, or 64 bits. The memory width has a direct effect on the overall performance of the system. If you have a system using 32-bit ARM instructions and 16-bit-wide memory chips, then the processor will have to make two memory fetches per instruction. This reduces the system performance, but the benefit is that 16-bit memory is less expensive. If the core executes 16-bit Thumb instructions, it will achieve better performance with a 16-bit memory.
  • 39. Table 1.1 summarizes theoretical cycle times on an ARM processor using different memory width devices.
  • 40. Memory Types There are many different types of memory - ROM - Flash ROM - Dynamic RAM - Static RAM - SDRAM – Synchronous Dynamic RAM
  • 41. ROM- Read Only Memory Least flexible of all memory types because it contains an image that is permanently stored and cannot be reprogrammed. Many devices use a ROM to hold boot code.
  • 42. Flash ROM Flash ROM can be read as well as written, but it is slow to write so it is not used for holding dynamic data.  It is mainly used for holding the device firmware or storing long-term data that needs to be preserved after power is off. The erasing and writing of flash ROM are completely software controlled with no additional hardware circuitry required.
  • 43. Dynamic Random Access Memory –DRAM The most commonly used RAM for devices. It has the lowest cost per megabyte compared with other types of RAM. DRAM is dynamic—it needs to have its storage cells refreshed and given a new electronic charge every few milliseconds, so you need to set up a DRAM controller before using the memory.
  • 44. Static Random Access Memory – SRAM Faster than the more traditional DRAM SRAM is static—the RAM does not require refreshing. The access time for SRAM is considerably shorter than the equivalent DRAM because SRAM does not require a pause between data accesses.
  • 45. Synchronous Dynamic Random Access Memory –SDRAM SDRAM is synchronized with the processor clock speed. SDRAM run at much higher clock speed than the conventional DRAMs.
  • 46. Peripherals Embedded systems communicate with the outside world via peripheral device.  A peripheral device performs input and output functions for the chip by connecting to other devices or sensors that are off-chip.  Peripherals range from -a simple serial communication device to a -more complex 802.11 wireless device.  Two important types of controllers are - memory controllers and - interrupt controllers.
  • 47. Memory Controller Memory controller provides the following functionalities. -Connects different types of memories to the processor bus. - On power up the memory controller activates certain memory devices to execute initialization code -ROM. -It configures the memory timings and the refresh rate of the DRAM before it is accessed.
  • 48. Interrupt Controllers When a peripheral or device requires processor attention, it sends an interrupt to the processor. There are two types of interrupt controller in the ARM processor: - the standard interrupt controller (SIC) - and the vector interrupt controller (VIC).
  • 49. Standard Interrupt Controller (SIC) It sends an interrupt signal to the processor core when an external device requests servicing. It can be programmed to ignore or mask an individual device or set of devices interrupt signals. The interrupt handler determines which device requires servicing by reading a device bitmap register in the interrupt controller.
  • 50. Vectored Interrupt Controller (VIC) Provides more functionality than the SIC. Along with the masking functionality it also provides the functionality to prioritize the interrupts.
  • 51. Embedded System Software An embedded system needs software to drive it. Figure shows four typical software components required to control an embedded device.
  • 52. Initialization (Boot) Code The initialization code is the first code executed on the board when the device is powered on.  It sets up the minimum parts of the board before handing control over to the operating system. Boot code is present inside the ROM and is responsible for loading the OS to the RAM.
  • 53. The initialization code handles 3 administrative tasks prior to handing control over to an operating system image. These administrative tasks can be grouped into three phases: - initial hardware configuration, - diagnostics, and - booting.
  • 54. Initial Hardware Configuration: Although the device comes up in a standard configuration, this initial hardware configuration normally requires modification to satisfy the requirements of the booted image.  For example, the memory system normally requires reorganization of the memory map, as shown in below Example
  • 55. Diagnostics Diagnostics is a program embedded in the initialization code. Diagnostic code tests the system by checking if the all the hardware components is in working condition. It also tracks down standard system-related issues.  The primary purpose of diagnostic code is fault identification and isolation.
  • 56. Booting: Booting involves loading an OS image to RAM and handing control over to that image. The boot process can be complicated if the system must boot different operating systems or different versions of the same operating system. Once booted, the system hands over control by modifying the program counter to point into the start of the OS image. Sometimes, to reduce the image size, an image is compressed.  The image is then decompressed either when it is loaded or when control is handed over to it.
  • 57. Operating System The Initialization process prepares the hardware for an Operating system to take control. ARM Processor supports over 50 operating systems. Operating system can be divided into two main categories. - Real Time Operating System – RTOS - Platform Operating System –POS RTOS used in embedded devices and they don’t use the secondary storage and POS used in the general purpose computer systems and they use secondary storage
  • 58. RTOS is classified into. -Hard Real Time Operating System – Used in hard real time applications which requires the guaranteed response time. -Soft Real Time Operating System – Used in soft real time applications which does not require guaranteed response time and the performance gracefully reduces when the time overruns
  • 59. Applications: ARM processors are found in numerous domains, including networking, automotive, mobile and consumer devices, mass storage, and imaging devices. Within each domain ARM processors can be found in multiple applications. For example, the ARM processor is found in networking applications like home gateways, modems for high-speed Internet communication, and 802.11 wireless communication. The mobile device domain is the largest application area for ARM processors because of mobile phones. ARM processors are also found in mass storage devices domains such as hard drives, products such as inkjet printers
  • 60. ARM7TDMI Processor The ARM7TDMI core is a member of the ARM family of general- purpose 32-bit microprocessors. – T: capable of executing Thumb instruction set – D: Featuring with IEEE Std. 1149.1 JTAG boundary-scan debugging interface. – M: Featuring with a Multiplier-And-Accumulate (MAC) unit for DSP applications. – I: Featuring with the support of embedded In-Circuit Emulator. The ARM family offers high performance for very low power consumption, and small size. The ARM architecture is based on Reduced Instruction Set Computer (RISC)
  • 61. SUMMARY: It allows variable cycle execution on certain instructions to save power, area, and code size.  It adds a barrel shifter to expand the capability of certain instructions.  It uses the Thumb 16-bit instruction set to improve code density. It improves code density and performance by conditionally executing instructions.  It includes enhanced instructions to perform digital signal processing type functions.