Standard vs Custom Battery Packs - Decoding the Power Play
Introducing Embedded Systems and the Microcontrollers
1. Introducing Embedded
Systems and the
Microcontrollers
Ravikumar Tiwari
Assistant Professor
Dept. of Electronics,
G.H. Raisoni College of Engineering(Autonomous),Nagpur
ravikumar.tiwari@raisoni.net
4. Examples of Systems
Time display system – A watch
Automatic cloth washing system – A
washing machine
R.K.Tiwari(ravikumar.tiwari@raisoni.net)
5. Embedded System
Definitions:
1. “An embedded system is a system
that has software embedded into
computer-hardware, which makes a
system dedicated for an application (s)
or specific part of an application or
product or part of a larger system.” –
Rajkamal
R.K.Tiwari(ravikumar.tiwari@raisoni.net)
6. Embedded System
Definitions:
2. “An embedded system is one
that has a dedicated purpose
software embedded in a computer
hardware.” –Rajkamal
R.K.Tiwari(ravikumar.tiwari@raisoni.net)
7. Embedded System
Definitions:
3. “It is a dedicated computer
based system for an
application(s) or product. It may
be an independent system or a
part of large system. Its software
usually embeds into a ROM
(Read Only Memory) or flash.” –
Rajkamal
R.K.Tiwari(ravikumar.tiwari@raisoni.net)
8. Embedded System
Definitions:
“It is any device that includes a
programmable computer but is
not itself intended to be a general
purpose computer.” – Wayne Wolf
R.K.Tiwari(ravikumar.tiwari@raisoni.net)
9. Embedded System
Definitions:
“Embedded Systems are the
electronic systems that contain a
microprocessor or a
microcontroller, but we do not
think of them as computers– the
computer is hidden or embedded
in the system.” – Todd D. Morton
R.K.Tiwari(ravikumar.tiwari@raisoni.net)
10. Let’s consider a Computer
A computer is a system that has the
following or more components.
A microprocessor
A large memory comprising the
following two kinds:
(a) Primary memory
(semiconductor memories - RAM,
ROM and fast accessible caches)
R.K.Tiwari(ravikumar.tiwari@raisoni.net)
11. Computer
(b) Secondary memory [(magnetic
memory located in hard disks,
diskettes and cartridge tapes, optical
memory in CD-ROM or memory stick
(in mobile computer)] using which
different user programs can load into
the primary memory and can be run.
I/O units such as touch screen,
modem, fax cum modem etc.
R.K.Tiwari(ravikumar.tiwari@raisoni.net)
12. Computer
Input units such as keyboard, mouse,
digitizer, scanner, etc.
Output units like LCD screen, video
monitor, printer, etc.
Networking units like Ethernet card,
front-end processor-based server, bus
drivers, etc.
Operating system (OS).
General purpose user interfaces and
application- software, mostly in
secondary memory
R.K.Tiwari(ravikumar.tiwari@raisoni.net)
13. Now consider Embedded system
–Three main embedded components
1.Embeds hardware to give computer
like functionalities
2.Embeds main application software
generally into flash or ROM and the
application software performs
concurrently the number of tasks.
R.K.Tiwari(ravikumar.tiwari@raisoni.net)
14. Embedded system components
3.Embeds a real time operating
system
( RTOS), which supervises the
application software tasks running on
the hardware and organizes the
accesses to system resources
according to priorities and timing
constraints of tasks in the system.
R.K.Tiwari(ravikumar.tiwari@raisoni.net)
15. Embedded system RTOS
Enables execution of concurrent
processes or threads or tasks
Provides a mechanism to let the
processor run each process as per
scheduling and to do context-switch
between the various processes (threads
or tasks)
RTOS sets the rules during execution of
application processes to enable finishing
of a process within the assigned time
interval and with assigned priority.
R.K.Tiwari(ravikumar.tiwari@raisoni.net)
17. Sophisticated Embedded System
Characteristics
Dedicated functions
Dedicated complex algorithms
Dedicated (GUIs) and other user
interfaces for the application
R.K.Tiwari(ravikumar.tiwari@raisoni.net)
18. Sophisticated Embedded System
Characteristics-Contd.
Real time operations— Defines the ways
in which the system works, reacts to the
events and interrupts, schedules the
system functioning in real time and
executes by following a plan to control
the latencies and to meet the deadlines.
[Latency — Waiting interval between the
instance at which a need to run the
codes arises for task (or interrupt service
routine) following an event and instance
of start executing the codes]
R.K.Tiwari(ravikumar.tiwari@raisoni.net)
19. Sophisticated Embedded System
Characteristics-Contd.
Multi-rate operations — Different
operations may take place at distinct
rates. For example, the audio, video,
network data or stream and events
have the different rates and time
constraints to finish associated
processes.
R.K.Tiwari(ravikumar.tiwari@raisoni.net)
20. Constraints of an Embedded
System Design
Available system-memory
Available processor speed
Limited power dissipation when
running the system continuously in
cycles of the system start, wait for
event, wake-up and run, sleep and
stop.
R.K.Tiwari(ravikumar.tiwari@raisoni.net)
21. System design constraints
Performance,
power,
size,
non-recurring design cost, and
manufacturing costs.
R.K.Tiwari(ravikumar.tiwari@raisoni.net)
22. 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.
R.K.Tiwari(ravikumar.tiwari@raisoni.net)
23. Design Feature that
Characterizes RISC
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
R.K.Tiwari(ravikumar.tiwari@raisoni.net)
24. Design Feature that
Characterizes RISC
large number of registers: the RISC
design philosophy generally
incorporates a larger number of
registers to prevent in large amounts
of interactions with memory
R.K.Tiwari(ravikumar.tiwari@raisoni.net)
25. How pipelining Works?
Pipelining, a standard feature in RISC
processors, is much like an assembly
line
Because the processor works on
different steps of the instruction at the
same time, more instructions can be
executed in a shorter period of time
R.K.Tiwari(ravikumar.tiwari@raisoni.net)
26. How pipelining Works?
A useful method of demonstrating this
is the laundry analogy.
R.K.Tiwari(ravikumar.tiwari@raisoni.net)
27. How pipelining Works?
Let's say that there are four
loads of dirty laundry that need
to be washed, dried, and folded.
We could put the the first load in
the washer for 30 minutes, dry it
for 40 minutes, and then take 20
minutes to fold the clothes.
Then pick up the second load
and wash, dry, and fold, and
repeat for the third and fourth
loads. Supposing we started at
6 PM and worked as efficiently
as possible, we would still be
doing laundry until midnight.
R.K.Tiwari(ravikumar.tiwari@raisoni.net)
Source:
http://www.ece.arizona.edu/~ece462/Lec03-
pipe/
28. How pipelining Works?
However, a smarter approach to
the problem would be to put the
second load of dirty laundry into
the washer after the first was
already clean and whirling
happily in the dryer. Then, while
the first load was being folded,
the second load would dry, and
a third load could be added to
the pipeline of laundry. Using
this method, the laundry would
be finished by 9:30.
R.K.Tiwari(ravikumar.tiwari@raisoni.net)
Source:
http://www.ece.arizona.edu/~ece462/Lec03-pipe/
(Source: http://www.inf.fh-
dortmund.de/person/prof/si/risc/intro_to_risc/irt0_index.html)
29. RISC Pipeline
A RISC processor pipeline operates in
much the same way, although the
stages in the pipeline are different.
While different processors have
different numbers of steps, they are
basically variations of these five, used
in the MIPS R3000 processor
R.K.Tiwari(ravikumar.tiwari@raisoni.net)
30. RISC Pipeline
1.fetch instructions from memory
2.read registers and decode the
instruction
3.execute the instruction or calculate
an address
4.access an operand in data memory
5.write the result into a register
R.K.Tiwari(ravikumar.tiwari@raisoni.net)
31. RISC Pipeline
the length of the pipeline is dependent
on the length of the longest step
R.K.Tiwari(ravikumar.tiwari@raisoni.net)
32. Pipeline Development(Methods
of Pipelining)
Superpipelining refers to dividing the
pipeline into more steps.
The more pipe stages there are, the
faster the pipeline is because each
stage is then shorter.
Ideally, a pipeline with five stages
should be five times faster than a non-
pipelined processor (or rather, a
pipeline with one stage).
R.K.Tiwari(ravikumar.tiwari@raisoni.net)
34. Pipeline Development(Methods
of Pipelining)
• Superscalar pipelining involves
multiple pipelines in parallel.
• Internal components of the processor
are replicated so it can launch multiple
instructions in some or all of its
pipeline stages
R.K.Tiwari(ravikumar.tiwari@raisoni.net)
35. Pipeline Development(Methods
of Pipelining)
Dynamic pipelines have the capability
to schedule around stalls.
A dynamic pipeline is divided into
three units: the instruction fetch and
decode unit, five to ten execute or
functional units, and a commit unit.
R.K.Tiwari(ravikumar.tiwari@raisoni.net)