2. At the high end of the scale
Processor: Intel Pentium 4
Frequency: 3.2GHz
Power consumption: 103 W
max.*
Process: 90nm
*Intel document no. 300561-002
3. At the low end of the scale
Processor can consume no more
than 250-300mW
Embedded Devices
5. Computer Technology Dramatic
Change° Processor
• 2X in speed every 1.5 years;
100X performance in last decade
° Memory
• DRAM capacity: 2X / 2 years; 64X size in last
decade
• Cost per bit: improves about 25% per year
° Disk
• capacity: > 2X in size every 1.0 years
• Cost per bit: improves about 100% per year
• 250X size in last decade
6. Computer Technology Dramatic
Change!
° State-of-the-art PC when you graduate:
(at least…)
• Processor clock speed: 5000 MegaHertz
(5.0 GigaHertz)
• Memory capacity: 4000 MegaBytes
(4.0 GigaBytes)
• Disk capacity: 2000 GigaBytes
(2.0 TeraBytes)
• New units! Mega => Giga, Giga => Tera
lo, Mega, Giga, Tera, Peta, Exa, Zetta, Yotta = 10
Kilo, Mega, etc. are incorrect Terminologies!
7. Challenges
° Post PC Era will be driven
by 2 technologies:
1) Mobile Consumer Devices
• e.g., successor to
cell phone, PDA,
wearable computers
2) Massive I/O interfacing v/s RAW
computational power
8. Programming Levels of
Representation
High Level
Language
Program (e.g., C)
Assembly Language
Program (e.g.
ARM)
Machine Language
Program (ARM)
Control Signal
Specification
Compiler
Assembler
Machine
Interpretation
temp = v[k];
v[k] = v[k+1];
v[k+1] = temp;
ldr r0 , [r2, #0]
ldr r1 , [r2, #4]
str r1 , [r2, #0]
str r0 , [r2, #4]
1110 0101 1001 0010 0000 0000 0000 0000
1110 0101 1001 0010 0000 0000 0000 0100
1110 0101 1000 0010 0001 0000 0000 0000
1110 0101 1000 0010 0001 0000 0000 0100
°
°
ALUOP[0:3] <= InstReg[9:11] & MASK
10. 5 Classic Components of a Computer
Control
Datapath
Memory
Processor
Input
Output
Control
Datapath
Memory
Processor
Input
Output
Network/Bus
11. An Expanded View of the Memory Systems
Control
Datapath
Hard disk
(Virtual
Memory)
Processor
Register
Main
Memory2nd
Cache
Cache
Fastest Slowest
Smallest Biggest
Highest Lowest
Speed:
Size:
Cost:
•Cache is handled by hardware
•Virtual memory is handled by and Operating System
•Programmer sees only one memory and the registers
12. Fetch Decode Execute Cycle
Instruction
Fetch
Instruction
Decode
Operand
Fetch
Execute
Result
Store
Next
Instruction
Obtain instruction from program storage
Determine required actions
Locate and obtain operand data
Compute result value or status
Deposit results in storage for later use
Determine successor instruction
Control
Datapath
Memory
Processor
Input
Output
ALU Register
s
14. EELC2041 lec01-Intro.14 Saeid Nooshabadi
TOPICS TO COVER
° DEFINITION
° KEY FEATURES
° DESIGN ISSUES/CHALLENGES
° TOOLS OF THE TRADE
° FUTURE DIRECTION
15. EELC2041 lec01-Intro.15 Saeid Nooshabadi
WHAT IS AN EMBEDDED SYSTEM
° An embedded system is an applied computer
system, as distinguished from other types of
computer systems
° Embedded systems are embedded within
another sophisticated (electronic) system, which
could be any system for any kind of application.
The ES do not directly interact with the
environment/users.
° An embedded system is a very special computer
system designed to perform a dedicated
function.
° An embedded system is a computer system with
higher quality and reliability requirements than
general- purpose computer systems.
16. EELC2041 lec01-Intro.16 Saeid Nooshabadi
DEFINITION (Continued)
° A very special (often tailor made)
computer system put inside any
Engineering product to make the final
product more:
• Reliable
• Accurate/Precise
• Feature reach
17. EELC2041 lec01-Intro.17 Saeid Nooshabadi
KEY FEATURES
OF AN EMBEDDED SYSTEM
° Real Time in nature (RTOS)
° Employs very specific types of components. Specific in
terms of
• Quantity (Memory)
• Available Feature (DVS, Watch Dog Timer)
• Operating System (Application commands the OS)
° Developed in an environment which is totally different from
the actual.
° Power Requirement, Size & Cost are considered with great
detail along with the application.
° Highly focused on Application, Business Plan and Cost.
Selects Hardware, Software components and Design
Process based on A,B & C.
18. EELC2041 lec01-Intro.18 Saeid Nooshabadi
Embedded Systems and their Markets
Market Embedded Device
Automotive Ignition System, Engine Control, Brake
System
Consumer Electronics Digital Televisions, Set-Top Boxes, Kitchen
Appliances, Toys/Games, Telephones/Cell
Phones/Pagers, Cameras
Industrial Control Robotics, Process and Manufacturing
Controls
Medical Equipment ECG Machine, Dialysis Machines, Cardiac
Monitors
Office Automation Fax Machine, Photocopier, Printers,
Scanners, UPS
Networking ( Spl. Application) Routers, Hubs
20. EELC2041 lec01-Intro.20 Saeid Nooshabadi
DESIGN ISSUES/CHALLENGES
° CRYSTAL CLEAR PRODUCT SPECIFICATION TO BE DECIDED/GIVEN
AND BE ADHERED TO. THIS INCLUDES H/W AS WELL AS S/W
COMPONENTS (PROCESS TIME).
° SELECTION OF THE PROCESSOR:
• GENERAL PURPOSE ; MICRO PROCESSORS
• APP. SPECIFIC INSTRUCTION SET (ASIP); DSP,N/W PROCESSORS,
MICRO CONTROLLER
• APP. SPECIFIC INTERATED CIRCUIT (ASIC)
° CODE SIZE (COMPACT CODE) – IN RELATION WITH THE PROCESSOR
USED.
° LANGUAGE USED:
• ASSEMBLY LANGUAGE ( USEFUL BUT TIME CONSUMING & ERROR
PRONE)
• HIGH LEVEL LANGUAGE (REQUIRES COMPLICATED AND COSTLY
TOOLS AND COMPILER)
• BALANCED DECISSION TO BE TAKEN LOOKING INTO
DEVELOPMENT COST, AVAILABLE DEVELOPMENT TEAM AND TIME
TO MARKET
21. EELC2041 lec01-Intro.21 Saeid Nooshabadi
DESIGN ISSUES/CHALLENGES (CONT..)
° POWER REQUIREMENT – ONE MAJOR ISSUE IN THIS
WORLD OF MOBILE DEVICES.
° SIZE SPECIFICATION – THIS MAY BE VERY IMPORTANT
IN SOME CRITICAL APPLICATION.
° RELIABILITY – AND COST TO BE INCURRED FOR THAT
(REDUNDANT SYSTEM). VERY APPLICATION SPECIFIC
ISSUE.
° BUSINESS PLAN
° DESIGN ENVIRONMENT
• (HOST PROCESSOR / TARGET PROCESSOR)
22. EELC2041 lec01-Intro.22 Saeid Nooshabadi
TOOLS OF THE TRADE
Embedded System Life Cycle
Requirement
Analysis
Specification
Architectural
Design
Component Design
Integration
Testing
S/W Architecture
H/W Architecture
Top Down Model
23. EELC2041 lec01-Intro.23 Saeid Nooshabadi
TOOLS OF THE TRADE
SOFTWARE DEVELOPMENT TOOL CHAIN FOR EMBEDDED SYSTEM
DEVELOPER EDITOR
SOURCE
PROG.
PRE PROCESSOR
OR
MACRO PROCESSOR
EXPANDED
SOURCE CODE
COMPILER
OR ASSEMBLER
OBJECT
FILELOADER EXE FILE LINKER
CODE
FOR
TARGET
TARGET
PROGRAMMER OUTPUT
ALL THE COMPONENTS MENTIONED IN
RECTANGULAR BOXES – ARE SYSTEM
SOFTWARE
24. EELC2041 lec01-Intro.24 Saeid Nooshabadi
TOOLS OF THE TRADE
DEVELOPMENT ENVIRONMENT ; HOST & TARGET
C /C++ ASSEMBLY
LANG
CROSS COMPILER CROSS ASSEMBLER
OBJ 1 OBJ n
LOCATOR
CODE
TARGET PROGRAMMER OUT PUT
THE
ENLARGED
COMPONENTS
ARE PARTS OF
THE HOST
SYSTEM
25. EELC2041 lec01-Intro.25 Saeid Nooshabadi
FUTURE DIRECTIONS
° More and more embedded systems will be full systems
on a single chip (SoC). This implies that the software
and hardware designs will merge.
° As systems on chip become more complex, software
distributed over multiple processors and running over
different memory spaces will become common
26. EELC2041 lec01-Intro.26 Saeid Nooshabadi
FUTURE DIRECTIONS….
° Embedded systems will be developed in unusual
applications. Products will be powered and accessed by
RF beams. This will lead to convergence in our real life..
° Existing applications will become far more sophisticated
with standardized user interfaces – such as web
interfaces with XML.
27. EELC2041 lec01-Intro.27 Saeid Nooshabadi
FUTURE DIRECTIONS FOR DEVELOPERS
° More and more multi-disciplinary expertise will be
required. For example – biology-chemistry-electronics
and VLSI for bio-sensors.
° Fields of micro-processors, VLSI, communications etc.
would merge for developing embedded systems.
The top of the line G5 PowerMac has 9 fans in it, in four separate cooling zones, with 21 temperature sensors. Biggest problem is actually getting heat OFF the die and into a sink to a fan. People use layers of goop or ‘grease’ in the interface. All kinds of exotic solutions are creeping up like MEMS, tiny pumps with fluid, evaporation, etc.
Mention the ubiquity of handheld devices and things that run on one battery
That is, any computer, no matter how primitive or advance, can be divided into five parts: 1. The input devices bring the data from the outside world into the computer. 2. These data are kept in the computer’s memory until ... 3. The datapath request and process them. 4. The operation of the datapath is controlled by the computer’s controller. All the work done by the computer will NOT do us any good unless we can get the data back to the outside world. 5. Getting the data back to the outside world is the job of the output devices. The most COMMON way to connect these 5 components together is to use a network of busses.