CSCE 313 Embedded Systems Design
CSCE 313 Embedded Systems Design
CSCE 313 Embedded Systems Design
2004/1/12
Introduction
9 9 9 9
Why this course is important to Computer Engineering. Drivers for Embedded Systems. Example: Wireless Communications. The CPU is the Heart of an Embedded System.
Computer Architecture
9 9 9 9
Computer Engineering Design Space (Y-chart). Abstraction Levels and Representation Domains. Organization of a Computing System. Organization of the CPU.
Course Drivers
9 9 9 9
The CPU architecture and programming model. The layers of the virtual machine (the Instruction Set Architecture). The program development process. Operating at the Hardware-Software boundary.
Page 2
Telecomm
Computers
Consumer Electronics
"At the root of cascading changes of modern economic life...devaluing resources in technology, business and geopolitics...overcoming the the constraints of material resources, the microchip has devalued most large accumulations of physical capital and made possible the launching of global economic enterprises...microchips find their value not in their substance but in their intellectual content: their design..." George Gilder, Microcosm, 1989
2003 Dr. James P. Davis
Page 3
Many market and technology factors coming together to create pressure on electronics product engineering organizations worldwide.
9 9 9 9 9 9 9 9
Increasing global competition and new markets. Increasing rate of product innovations and new product introductions. Decreasing time-to-market windows. Decreasing shelf life for products in many categories. Increasing pressure on competitive cost containment, profit margins. Increasing convergence: integrated functionality in single electronics devices and product packages. Increasing quality expectations: means for containing distribution and support costs. Increasing innovation in silicon process technology and wafer scale integration densities, also in embedded software technologies.
Increasing disparity: capacity of the underlying technologies versus capability of designers to manage increasing design complexity.
2003 Dr. James P. Davis
Page 4
The rate of new technology and associated silicon process changes has continued to follow Moores Law.
24
10,000K
The capability of designers and design teams to use 9 this capacity isnt keeping Months up.
9 9
Device Capacity
D esign Size
Product Tim e-to-Market The Capacity versus Capability Gap is widening. 1,000K Each set of technology and process changes requires 3 designers to manage ever Design Capability more complexity in the design 100K process. New architectures, 1985 1990 1995 2000 abstractions, methods and Source: Dataquest tools are required to address this increasing complexity.
2003 Dr. James P. Davis
Page 5
Range
The market is seeking product technology options to cover different geography ranges and data rates.
9 9 9
WWAN
The opportunity for creating value chains encompassing product offerings, distribution and new service offerings hinges on the ability to get low cost solutions to market quickly.
9 9 9
Deliver content to wireless handheld devices. Function convergence in the handset and at the base station. Requires large cross-functional design teams in varied disciplines.
Page 6
M e m o ry S ys te m
S e le c ta b le I & D c a c h e s ize s : 0 , 4 K , 8 K ... 1 M S e le c ta b le I & D T C M size s : 0 , 4 K , 8 K ... 1 M
1 .1 m W /M H z @ 1 .8 V (e s tim a te d )
P ro to c o l S ta c k & OS k e rn e l
S o ftd rive r
PHY
M AC
M e m o ry b lo c k (4 ~ 1 5 k B ) + c o n tro l b lo c k
O n c h ip m e m o ry d e p e n s o n firm w a re s iz e (1 0 0 ~ 2 0 0 K B ) th e F W s iz e d e p e n d s o n th e M A C fe a tu re 1 1 e & i?
1 0 K g a te s P C I/P C M C IA
Source: Knowledge Edge KK
Page 7
Page 8
Electronic systems today are of different types, depending on the (1) function, (2) application.
9
Embedded System
ROM RAM
uC
9
I/O
On-chip System
9
Computing system: CPU and hardware executing O/S, with applications running on top of O/S. Embedded system: fixedfunctions, instruction-based micro-controller with both hardware and software components. On-chip system: complete control and data functions implemented in "custom logic" VLSI package. On-chip systems can be components of embedded systems, which can be part of a layered "virtual" machine. All these systems do interface with the outside analog world.
2003 Dr. James P. Davis
Page 9
We want the development productivity and existing code base using a standard CPU We want the higher speed and lower power consumption of a custom logic package.
Industry trends have us focusing on the use of CPU cores and EEPROM/Flash memory packaged with other logic in reconfigurable FPGA devices for small form-factor products (e.g., PDAs).
2003 Dr. James P. Davis
Page 10
Page 11
Developed in the late 1940s by John Von Neumann (Princeton U.) Combined the elements of stored program machine: one machine could run many programs. Program instructions stored in memory and fetched, in sequence, to be executed by CPU. Results of execution stored in Registers, later written back to memory.
Page 12
Instruction Sequencing 9 This CPU has the sequencing of data path operations by one or more state machines 9 The example shown is the data path for a small CPU, where microoperations based on program instructions are decoded and staged to execute multicycle instructions out of memory. 9 This example also used pipelining (discussed on next slide).
Page 13
N-Stage Pipeline
9
Pipeline allows serial processing, in sequence, of instructions or data elements. Each n-element in the pipeline processes its task, then passes the element to the stage n+1 in the pipeline. Design structures that use pipelining: CPU Instruction Fetch Unit (IFU), Digital filters (e.g., FIR, IIR).
Page 14
Page 15
This course is about analysis, architecture and programming of digital embedded systems.
9 9
We assume the presence of a CPU, and therefore our primary task is to implement functionality using the CPUs Instruction Set. We are concerned about efficiencyin terms of execution speed of instructions, and in the amount of memory we consumeto get a specific programming task accomplished.
You will learn development process, assembler program design methods, and program verification framework, allowing you to take an embedded systems application, analyze it, and implement it.
9 9
Iterative enhancement, top-down/bottom-up, stepwise refinement (stables of software engineering discipline) Additional heuristics in relating properties of the CPUs computer architecture (instruction set, bus structure, interrupt handling, etc.) to the embedded systems application, to make the systems planning process more effective.
You will learn how to evaluate the goodness of your embedded systems programs based on the use of tools, and by collecting and analyzing program execution data to tune your programs.
9
Well use the WISM68K emulator/debugger, and the 68KMB hardware lab apparatus as our tools.
2003 Dr. James P. Davis
Page 16