CEC 320 and 322 Microprocessor Systems Class and...

25
September 9, 2019 Sam Siewert CEC 320 and 322 Microprocessor Systems Class and Lab Lecture 3 - Micros in Embedded Systems

Transcript of CEC 320 and 322 Microprocessor Systems Class and...

September 9, 2019 Sam Siewert

CEC 320 and 322Microprocessor Systems

Class and Lab

Lecture 3 - Micros in Embedded Systems

Course Goals and OutlineTextbook: Computers as Components – Principles of Embedded Computing System Design, 4th Edition, Marilyn Wolf, October 2016, 978-0128053874 (Amazon)

View of Microprocessor as a Platform for Embedded Systems

Mercury Website - cec320/

Current Syllabus Sam Siewert 2

Through Chapter 4

Parts of Chapter 5

High Level

Supplemented

Computers as Components

Chapter 1– Embedded Systems and Microprocessors - Basic ISA Concepts– Embedded System Design Process– Formalisms for System Design (UML)

– Model Train Controller Example (see Book)– Textbook Overview

Chapter 2– ISA More in Depth - VLIW, ARM, PIC Micro, DSP, (MIPS,

PowerPC)– Micro-parallelism, Multi-core, Co-processing

Adapted From Computers as Components 3

Example by Brian Davis modified by Sam Siewert

Embedding a computer in an Application

CPU(ALU)

mem

input

output DAC

ADC

embeddedcomputer

Sensors

Actuators

9-Sep-19

ExamplesCell phone.Printer.Automobile: engine, brakes, dash, etc.Airplane: engine, flight controls, nav/comm.Digital television.Household appliances.

9-Sep-19

Early history

Late 1940’s: MIT Whirlwind I computer was designed for real-time operations.

– Originally designed to control an aircraft simulator.

– Still a Large Mainframe computer.

First microprocessor was Intel 4004 in early 1970’s.

HP-35 calculator used several chips to implement a microprocessor in 1972.

Intel and Texas Instruments both worked on ASICs for Calculators in 1970’s (programmable)

– Software was mostly for Mainframes until 1970

– The Introduction of the Microcomputer -Expanded CE and SE!

Jack St. Clair Kilby (November 8, 1923 –June 20, 2005) was an American electrical engineer who took part (along with Robert Noyce) in the realization of the first integrated circuit while working at Texas Instruments (TI) in 1958. He was awarded the Nobel Prize in Physics on December 10, 2000.

Fairchild spawns Intel - Robert Noyce, Gordon Moore, and Andy Grove - Intel founders (Fairchildren) who worked for Shockley, but left his lab to start Fairchild Semiconductor.

William Bradford Shockley Jr. (February 13, 1910 – August 12, 1989) was an American physicist and inventor. Shockley was the manager of a research group at Bell Labs that included John Bardeen and Walter Brattain. The three scientists were jointly awarded the 1956 Nobel Prize in Physicsfor "their researches on semiconductors and their discovery of the transistor effect".

9-Sep-19

Early history, cont’d.Automobiles used microprocessor-based engine controllers starting in 1970’s.– Control fuel/air mixture, engine timing, etc.– Multiple modes of operation: warm-up, cruise, hill climbing, etc.– Provides lower emissions, better fuel efficiency.

Process Control for manufacturing

Avionics, Medical, and many other applications over time …

9-Sep-19

Microprocessor varietiesMicrocontroller: includes I/O devices, on-board memory.Digital signal processor (DSP): microprocessor optimized for digital signal processing.System On a Chip (SOC): entire System contained on a single integrated circuit

Typical embedded word sizes: 8-bit, 16-bit, 32-bit, 64-bit

Typical organizations fit Flynn’s Taxonomy: SISD, SIMD, MIMD, (MISD)

Single Instruction Multiple InstructionSingle Data SISD (Traditional Single

core processor)MISD (Voting schemes and active-active controllers)

Multiple Data SIMD (e.g. SSE 4.2, GP-GPU, NEON, Vector Processing)

MIMD (Multi-Core AMP & SMP)

SOC / Apple A6 or A7

A6 (pictured)– Dual 32-bit ARMv7– 32nM– GPU PowerVR

SGX6200MP2A7– Dual 64-bit ARMv8– 28nM– Over 1 billion transistors– 102 mm2 die size– Cache 64K-I, 64K-D,

1M-L2– GPU PowerVR

SGX 544MP3

Example by Brian Davis

http://system-on-a-chip.findthebest.com/compare/29-422/Apple-A6-APL0589-vs-Apple-A7-APL0698

SOC / GoPro (A9)

Ambarella A9 – announced Jan_13– successor to A7 ( GoPro Hero 3 Black)– 32nM Samsung HK-MG process– (3) ARM processor cores – heterogeneous– (2) DSP processor cores– Many on-chip peripherals– Less than 1 Watt for encoding 1080p60,

under 2 watts 4KUHD

Example by Brian Davis

http://www.anandtech.com/show/6652/ambarella-announces-a9-camera-soc-successor-to-the-a7-in-gopro-hero-3-black

SOC / FPGA

Altera SoC product– 28nM process– ARM Hard Processor (HPS)

Also (Many) Hard Peripherals– Remainder of silicon is FPGA

Example by Brian Davis

http://www.altera.com/literature/br/br-soc-fpga.pdf

9-Sep-19

Application examplesSimple control: front panel of microwave oven, etc.

Canon EOS 3 has three microprocessors.– 32-bit RISC CPU runs autofocus and eye control systems.

Digital TV: programmable CPUs + hardwired logic for video/audio decode, menus, etc.

9-Sep-19

Automotive embedded systemsToday’s high-end automobile may have 100 microprocessors:– 4-bit microcontroller checks seat belt;– microcontrollers run dashboard devices;– 16/32-bit microprocessor controls engine.

9-Sep-19

BMW 850i brake and stability control systemAnti-lock brake system (ABS): pumps brakes to reduce skidding.Automatic stability control (ASC+T): controls engine to improve stability.ABS and ASC+T communicate.– ABS was introduced first---needed to interface to existing ABS

module.

9-Sep-19

BMW 850i, cont’d.

brake

sensor

brake

sensor

brake

sensor

brake

sensor

ABS hydraulicpump

9-Sep-19

Real-time operationMust finish operations by deadlines.– Hard real time: missing deadline causes failure (loss of property

or life)– Soft real time: missing deadline results in degraded

performance.

Many systems are multi-rate: must handle operations at widely varying rates.

9-Sep-19

Non-functional requirements (Qualities)Many embedded systems are mass-market items that must have low manufacturing costs.– Limited memory, microprocessor power, etc.

Power consumption is critical in battery-powered devices.– Excessive power consumption increases system cost even in

wall-powered devices.

9-Sep-19

Why use microprocessors?Alternatives: field-programmable gate arrays (FPGAs), custom logic, etc.

Microprocessors are often very efficient: can use same logic to perform many different functions.

Microprocessors simplify the design of families of products.

9-Sep-19

The performance paradoxMicroprocessors use much more logic to implement a function than does custom logic.

But microprocessors are often at least as fast:– heavily pipelined;– large design teams;– aggressive VLSI technology.

9-Sep-19

Power

Custom logic uses less power, but CPUs have advantages:– Modern microprocessors offer features to help control power

consumption.– Software design techniques can help reduce power

consumption.

Heterogeneous systems: some custom logic for well-defined functions, CPUs+software for everything else.

PlatformsEmbedded computing platform: hardware architecture + associated software.Many platforms are multiprocessors.Examples:– Single-chip multiprocessors for cell phone baseband.– Automotive network + processors.

9-Sep-19

The physics of softwareComputing is a physical act.– Software doesn’t do anything without hardware.

Executing software consumes energy, requires time.To understand the dynamics of software (time, energy), we need to characterize the platform on which the software runs.

9-Sep-19

What does “performance” mean?In general-purpose computing, performance often means average-case, may not be well-defined.In real-time systems, performance means meeting deadlines.– Missing the deadline by even a little is bad.– Finishing ahead of the deadline may not help.

9-Sep-19

Characterizing performanceWe need to analyze the system at several levels of abstraction to understand performance:– CPU.– Platform.– Program.– Task or thread.– Multiprocessor.

9-Sep-19

Design ExamplesHardware - HDLs (Verilog, VHDL)

Software (Systems) - SA/SD and UML, Block Diagrams

Systems - SysML, SystemC, SystemVerilog, etc.– Beyond Scope of this Course– Useful for Hardware and Software Co-Design

Sam Siewert 25