challenges in embedded computing

24
EMBEDDED COMPUTING T S PRADEEP KUMAR http://www.pradeepkumar.org

Upload: t-s-pradeep-kumar

Post on 18-Jan-2017

3.580 views

Category:

Engineering


5 download

TRANSCRIPT

Page 1: Challenges in Embedded Computing

EMBEDDED COMPUTINGT S PRADEEP KUMAR http://www.pradeepkumar.org

Page 2: Challenges in Embedded Computing

Characteristics of Embedded Computing • To provide sophisticated

• Complex Algorithms • User Interface

• To meet deadlines • Real time • Multi rate

• Costs • Manufacturing cost • Power and Energy

Page 3: Challenges in Embedded Computing

Why use microprocessors?Microprocessors are a very efficient way to implement digital systems.

Microprocessors make it easier to design families of products that can be built to provide various feature sets at different

price points and can be extended to provide new features to keep up with rapidly changing markets.

Page 4: Challenges in Embedded Computing

Why use microprocessors?Microprocessor executes program very efficiently. Some times one instruction per cycle. Sometime several instructions per

cycle using multicore processor

Second, microprocessor manufacturers spend a great deal of money to make their CPUs run very fast. They hire large

teams of designers to tweak every aspect of the microprocessor to make it run at the highest possible speed.

Page 5: Challenges in Embedded Computing

Why use microprocessors? • Microprocessors are a very efficient way to implement digital

systems. • Microprocessors make it easier to design families of products

that can be built to provide various feature sets at different price points and can be extended to provide new features to keep up with rapidly changing markets.

• Microprocessor executes program very efficiently. Some times one instruction per cycle. Sometime several instructions per cycle using multicore processor

• Second, microprocessor manufacturers spend a great deal of money to make their CPUs run very fast. They hire large teams of designers to tweak every aspect of the microprocessor to make it run at the highest possible speed.

Page 6: Challenges in Embedded Computing

Challenges in Embedded Computing• How much hardware do we need? • How do we meet deadlines? • How do we minimize power consumption? • How do we design for upgradability?

Does it really work? • Complex testing • Limited observability and controllability • Restricted development environment

Page 7: Challenges in Embedded Computing

Performance in Embedded Computing• CPU - The CPU clearly influences the behavior of the program,

particularly when the CPU is a pipelined processor with a cache. • Platform: The platform includes the bus and I/O devices. The platform

components that surround the CPU are responsible for feeding the CPU and can dramatically affect its performance.

• Program: Programs are very large and the CPU sees only a small window of the program at a time. We must consider the structure of the entire program to determine its overall behavior.

• Task: We generally run several programs simultaneously on a CPU, creating a multitasking system. The tasks interact with each other in ways that have profound implications for performance.

• Multiprocessor: Many embedded systems have more than one processor— they may include multiple programmable CPUs as well as accelerators.

Page 8: Challenges in Embedded Computing

Computer SpecificationsProcessor Core i7Variant 7700Clock Speed 3.6GHzCores 4/8Cache 8MB

System Memory DDR4-2400, DDR3L-1600Graphics Processor Intel HD Graphics 630Hard Disk SSDPorts RJ45, HDMI, USB, COM, ThunderBoltNetwork Wi-Fi 802.11, Bluetooth

Bus Speed 8 GT/s

Page 9: Challenges in Embedded Computing

Random Access Memory (RAM)

Page 10: Challenges in Embedded Computing

Processor

Page 11: Challenges in Embedded Computing

Cache Memory

Page 12: Challenges in Embedded Computing

Cache Memory

Page 13: Challenges in Embedded Computing

PRADEEP KUMAR TS

Computer Function

Friday, July 27, 2012 13

Page 14: Challenges in Embedded Computing

Computer Function• Program Counter

• Contains the address of the next Instruction • Instruction Register

• Contains the address of the current instruction • Memory Buffer Register (MBR)

• contains the data to be written into memory or receives the data read from memory.

• Memory Address Register (MAR) • specifies the address in memory for the next read or write

Page 15: Challenges in Embedded Computing

Computer Function• I/O Address register

• specifies a particular I/O device • IO Buffer register

• is used for the exchange of data between an I/O module and the CPU.

• Memory Module • consists of a set of locations, defined by sequentially numbered

addresses. • IO Module

• An I/O module transfers data from external devices to CPU and memory, and vice versa. It contains internal buffers for temporarily holding these data until they can be sent on..

Page 16: Challenges in Embedded Computing

Computer Function• Processor-memory

• Data may be transferred from processor to memory or from memory to processor.

• Processor-I/O • Data may be transferred to or from a peripheral device by transferring

between the processor and an I/O module. • Data processing

• The processor may perform some arithmetic or logic operation on data. • Control

• An instruction may specify that the sequence of execution be altered. For example, the processor may fetch an instruction from location 149, which specifies that the next instruction be from location 182. The processor will remember this fact by setting the program counter to 182.Thus, on the next fetch cycle, the instruction will be fetched from location 182 rather than 150.

Page 17: Challenges in Embedded Computing

Family of MicrocontrollersIntel 4004 • first single-chip microprocessor • Introduced November 15, 1971 • Clock rate 740 kHz • 0.07 MIPS • Bus Width 8 bits (multiplexed address/data due to limited pins) • PMOS • Number of Transistors 2,300 at 10 µm • Addressable Memory 640 bytes • Program Memory 4 KB (4 KB) • One of the earliest Commercial Microprocessors • Originally designed to be used in Busicom calculator

Page 18: Challenges in Embedded Computing

Intel 4004

Page 19: Challenges in Embedded Computing

Family of Microcontrollers• 8008 • Introduced April 1, 1972 • Clock rate 500 kHz (8008–1: 800 kHz) • 0.05 MIPS • Bus Width 8 bits (multiplexed address/data due to limited pins) • Enhancement load PMOS logic • Number of Transistors 3,500 at 10 µm • Addressable memory 16 KB • Typical in early 8 bit microcomputers, dumb terminals, general

calculators • Developed in tandem with 4004 • Originally intended for use in the Datapoint 2200 microcomputer • Key volume deployment in Texas Instruments 742

microcomputer in >3,000 Ford dealerships

Page 20: Challenges in Embedded Computing

Family of Microcontrollers8080 • Introduced April 1, 1974 • Clock rate 2 MHz (very rare 8080B: 3 MHz) • 0.64 MIPS • Bus Width 8 bits data, 16 bits address • Enhancement load NMOS logic • Number of Transistors 6,000 • Assembly language downwards compatible with 8008. • Addressable memory 64 KB • Up to 10X the performance of the 8008 • Used in the Altair 8800, Traffic light controller, cruise missile • Required six support chips versus 20 for the 8008

Page 21: Challenges in Embedded Computing

Family of Microcontrollers8085 • Introduced March 1976 • Clock rate 3 MHz • 0.37 MIPS • Bus Width 8 bits data, 16 bits address • Depletion load NMOS logic • Number of Transistors 6,500 at 3 µm • Binary compatible downwards with the 8080. • Used in Toledo scales. Also was used as a computer peripheral

controller – modems, harddisks,printers, etc... • CMOS 80C85 in Mars Sojourner, Radio Shack Model 100 portable. • High level of integration, operating for the first time on a single 5 volt

power supply, from 12 volts previously. Also featured serial I/O,3 maskable interrupts,1 Non-maskable interrupt,1 externally expandable interrupt w/[8259],status,DMA.

Page 22: Challenges in Embedded Computing

Intel 8051• The 8051 architecture provides many functions

(CPU, RAM, ROM, I/O, interrupt logic, timer, etc.) in a single package

• 8-bit ALU, Accumulator and 8-bit Registers; hence it is an 8-bit microcontroller

• 8-bit data bus – It can access 8 bits of data in one operation • 16-bit address bus – It can access 216 memory locations –

64 KB (65536 locations) each of RAM and ROM • On-chip RAM – 128 bytes (data memory) • On-chip ROM – 4 Kbyte (program memory) • Four byte bi-directional input/output port • UART (serial port) • Two 16-bit Counter/timers • Interrupt priority • Power saving mode (on some derivatives)

Page 23: Challenges in Embedded Computing

Intel 8051

Page 24: Challenges in Embedded Computing

ARM• Application Profile

• Application profiles implement a traditional ARM architecture with multiple modes and support a virtual memory system architecture based on an MMU. These profiles support both ARM and Thumb instruction sets.

• Real Time Profile • Real-time profiles implement a traditional ARM architecture with

multiple modes and support a protected memory system architecture based on an MPU.

• Microcontroller Profile • Microcontroller profiles implement a programmers' model designed for

fast interrupt processing, with hardware stacking of registers and support for writing interrupt handlers in high-level languages. The processor is designed for integration into an FPGA and is ideal for use in very low power applications.