Você está na página 1de 29

Embedded System Architectures

Dr. Shubhajit Roy Chowdhury,


Centre for VLSI and Embedded Systems Technology, IIIT Hyderabad, India Email: src.vlsi@iiit.ac.in
Dr. Shubhajit Roy Chowdhury
CVEST, IIIT HYDERABAD

OVERVIEW OF EMBEDDED SYSTEM ARCHITECTURE

Dr. Shubhajit Roy Chowdhury

CVEST, IIIT HYDERABAD

BUILDING BLOCK OF HARDWARE OF AN EMBEDDED SYSTEM


Central Processing Unit (CPU) Memory Input devices Output devices

Dr. Shubhajit Roy Chowdhury

CVEST, IIIT HYDERABAD

SOFTWARE IN EMBEDDED SYSTEM


Software : Device driver + OS + Application program Device driver Digital IO (GPIO-LED, Relay, Switch,) , ADC, DAC, U(S)ART, Timer/counter, WDT, I2C, SPI, PWM, Actuator, Sensor, Touch screen, IRDA, Network (Ethernet, X.25, Wireless...), USB, IEEE1394 (Firewire), Audio, Video Graphic, LCD, Keyboard, Mouse, DMAC, Bluetooth OS or nonnon-OS OS roles and missions Process Management : Task scheduling, Context switching Resource Management : CPU, MMU, Disk, I/O devices File System : FAT, NTFS, EXT2/3, JFS, NFS Device Driver : I/O, Network GUI, Security, ... Embedded system OS Multi-tasking, Network, Multimedia, Portable, Preemptive, Deterministic (Hard Real-time), Robust & Reliable
Dr. Shubhajit Roy Chowdhury
CVEST, IIIT HYDERABAD

CHARACTERISTICS
Embedded systems are designed to do some specific task, rather than be a general-purpose computer for multiple tasks. Some also have real-time performance constraints that must be met, for reasons such as safety and usability; others may have low or no performance requirements, allowing the system hardware to be simplified to reduce costs. User interface Processors in embedded systems Ready made computer boards Peripherals Tools Debugging Reliability

User interface

Dr. Shubhajit Roy Chowdhury

CVEST, IIIT HYDERABAD

Basic Architecture
Control unit and datapath Note similarity to single-purpose processor Key differences Datapath is general Control unit doesnt store the algorithm the algorithm is programmed into the memory
Processor Control unit Datapath ALU Controller Control /Status Registers

PC

IR

I/O Memory

Dr. Shubhajit Roy Chowdhury

CVEST, IIIT HYDERABAD

Datapath Operations
Load
Read memory location into register Store
Write register to memory location
PC IR Control unit Controller Processor Datapath ALU Control /Status

+1

Registers

10

11

ALU operation
Input certain registers through ALU, store back in register

I/O Memory

... ...
10 11

Dr. Shubhajit Roy Chowdhury

CVEST, IIIT HYDERABAD

Control Unit Control unit: configures the


datapath operations Sequence of desired operations (instructions) stored in memory program Instruction cycle broken into several sub-operations, each one clock cycle, e.g.: Fetch: Get next instruction into IR Decode: Determine what the instruction means Fetch operands: Move data from memory to datapath register Execute: Move data through the ALU Store results: Write data from register to memory
Processor Control unit Datapath ALU Controller Control /Status Registers

PC

IR

R0

R1

I/O 100 load R0, M[500] 101 inc R1, R0 102 store M[501], R1 Memory 500 501

...
10

...

Dr. Shubhajit Roy Chowdhury

CVEST, IIIT HYDERABAD

Architectural Considerations
N-bit processor N-bit ALU, registers, buses, memory data interface Embedded: 8-bit, 16bit, 32-bit common Desktop/servers: 32bit, even 64 PC size determines address space
Processor Control unit Datapath ALU Controller Control /Status Registers

PC

IR

I/O Memory

Dr. Shubhajit Roy Chowdhury

CVEST, IIIT HYDERABAD

Architectural Considerations
Clock frequency Inverse of clock period Must be longer than longest register to register delay in entire processor Memory access is often the longest
PC Processor Control unit Datapath ALU Controller Control /Status Registers

IR

I/O Memory

Dr. Shubhajit Roy Chowdhury

CVEST, IIIT HYDERABAD

Pipelining: Increasing Instruction Throughput


Wash Dry 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 1 2 1 3 2 4 3 5 4 6 5 7 6 8 7 8 Non-pipelined Pipelined

non-pipelined dish cleaning

Time

pipelined dish cleaning

Time

Fetch-instr. Decode Fetch ops. Execute Store res.

2 1

3 2 1

4 3 2 1

5 4 3 2 1

6 5 4 3 2

7 6 5 4 3

8 7 6 5 4 8 7 6 5 8 7 6 8 7 8 Pipelined

Instruction 1

pipelined instruction execution

Time

Dr. Shubhajit Roy Chowdhury

CVEST, IIIT HYDERABAD

Superscalar and VLIW Architectures


Performance can be improved by: Faster clock (but theres a limit) Pipelining: slice up instruction into stages, overlap stages Multiple ALUs to support more than one instruction stream Superscalar Scalar: non-vector operations Fetches instructions in batches, executes as many as possible May require extensive hardware to detect independent instructions VLIW: each word in memory has multiple independent instructions Relies on the compiler to detect and schedule instructions Currently growing in popularity

Dr. Shubhajit Roy Chowdhury

CVEST, IIIT HYDERABAD

Embedded System Design: Levels of abstraction


requirements specification architecture component design system integration
Dr. Shubhajit Roy Chowdhury
CVEST, IIIT HYDERABAD

Top-down vs. bottom-up


Top-down design:
start from most abstract description; work to most detailed.

Bottom-up design:
work from small components to big system.

Real design uses both techniques.

Dr. Shubhajit Roy Chowdhury

CVEST, IIIT HYDERABAD

Stepwise refinement
At each level of abstraction, we must:
analyze the design to determine characteristics of the current state of the design; refine the design to add detail.

Dr. Shubhajit Roy Chowdhury

CVEST, IIIT HYDERABAD

Requirements
Plain language description of what the user wants and expects to get. May be developed in several ways:
talking directly to customers; talking to marketing representatives; providing prototypes to users for comment.

Dr. Shubhajit Roy Chowdhury

CVEST, IIIT HYDERABAD

Functional vs. non-functional requirements


Functional requirements:
output as a function of input.

Non-functional requirements:
time required to compute output; size, weight, etc.; power consumption; reliability; etc.
Dr. Shubhajit Roy Chowdhury
CVEST, IIIT HYDERABAD

Our requirements form


name purpose inputs outputs functions performance manufacturing cost power physical size/weight

Dr. Shubhajit Roy Chowdhury

CVEST, IIIT HYDERABAD

Specification
A more precise description of the system:
should not imply a particular architecture; provides input to the architecture design process.

May include functional and non-functional elements. May be executable or may be in mathematical form for proofs.
Dr. Shubhajit Roy Chowdhury
CVEST, IIIT HYDERABAD

GPS specification
Should include:
What is received from GPS; map data; user interface; operations required to satisfy user requests; background operations needed to keep the system running.

Dr. Shubhajit Roy Chowdhury

CVEST, IIIT HYDERABAD

Architecture design
What major components go satisfying the specification? Hardware components:
CPUs, peripherals, etc.

Software components:
major programs and their operations.

Must take into account functional and nonfunctional specifications.


Dr. Shubhajit Roy Chowdhury
CVEST, IIIT HYDERABAD

GPS moving map block diagram

GPS receiver

search engine

renderer

display

database

user interface

Dr. Shubhajit Roy Chowdhury

CVEST, IIIT HYDERABAD

GPS moving map hardware architecture


display frame buffer CPU GPS receiver memory panel I/O

Dr. Shubhajit Roy Chowdhury

CVEST, IIIT HYDERABAD

GPS moving map software architecture


position database search pixels

renderer

user interface

timer

Dr. Shubhajit Roy Chowdhury

CVEST, IIIT HYDERABAD

Designing hardware and software components


Must spend time architecting the system before you start coding. Some components are ready-made, some can be modified from existing designs, others must be designed from scratch.

Dr. Shubhajit Roy Chowdhury

CVEST, IIIT HYDERABAD

System integration
Put together the components.
Many bugs appear only at this stage.

Have a plan for integrating components to uncover bugs quickly, test as much functionality as early as possible. Catching a glitch in time saves nine!
Dr. Shubhajit Roy Chowdhury
CVEST, IIIT HYDERABAD

APPLICATION AREAS
Automative Ignition System Engine Control Brake System

Medical Infusion Pumps Dialysis Machine Prosthetic Device Cardiac Monitor

Consumer Electronic TV Set-Top Box PDA Kitchen Application Toys/Games Telephone/Cell Phones Camera/GPS

Industrial Contol Robotics Control System Art.Satellies Missiles Nuclear Reactors Space Stations Shuttles

Networking Router Hubs Gateways

Office Automation Fax Copier Printers Scanners Card Readers Monitors

Dr. Shubhajit Roy Chowdhury

CVEST, IIIT HYDERABAD

Summary
Embedded computers are all around us.
Many systems have complex embedded hardware and software.

Embedded systems pose many design challenges: design time, deadlines, power, etc. Design methodologies help us manage the design process.
Dr. Shubhajit Roy Chowdhury
CVEST, IIIT HYDERABAD

Thank you

Dr. Shubhajit Roy Chowdhury

CVEST, IIIT HYDERABAD

Você também pode gostar