system on a chip (soc) lin zhong elec424, fall 2010
TRANSCRIPT
System on a Chip (SoC)
Lin ZhongELEC424, Fall 2010
Photolithography
1969
Ivan Sutherland won Turing Award in 1988 for his Ph.D. work in 1963
http://www.cl.cam.ac.uk/techreports/UCAM-CL-TR-574.pdf
“System on board”
6
“System on board” (Contd.)
7
Multiple Chip Modules (MCM)
• Intel Pentium D, Core 2 Quad
8
IBM POWER5 (2004) MCM, used in IBM system p servers, four dual core processors + four L3 cachesWikipedia.org
System in Package (SiP)
Siemens SX66 PDA PhoneAudiovox PPC6601KIT
32MB
400MHz
Source: Intel.com
9
System-on-a-chip (SoC): TI OMAP
10
System-on-a-chip (SoC): TI MSP430
11
Functional block diagram
Inside a CPU (Micro-architecture)IBM POWER5 die photo (2004)
• FXU: fixed-point execution unit• ISU: instruction sequencing unit• IDU: instruction decode unit• LSU: load/store unit• IFU: instruction fetch unit• FPU: floating-point unit• MC: memory controller
12Sinharoy et al 2005
Components of SoC
• Processors• Clock generator• Flash memory & controller• DMA & controller• Digital I/O modules• Programming interface• Interconnection
13
Embedded processors
• Microprocessor (32bit beyond)– ARM, MIPS, PowerPC, SuperH– Usually very modern architectures– ARM: Most popular 32bit embedded processor (75%)
• Assignment: read “ARM architecture” from Wikipedia
• Microcontroller (4-16bit)– Harvard architecture– 8051 (8bit), PIC (8bit), AVR from Atmel (8bit)– MSP430: 16-bit RISC, von Neumann architecture
14
Clock generator
• Resonant circuit + amplifier
• Resonant circuit (Oscillator)– Crystal oscillator (>2x109/yr)
• ~10KHz to ~10MHz• Quartz, ceramics (low cost, low accuracy), surface acoustic
wave (SAW) quartz crystal (expensive, accurate)• Real-time clocks
– 32.768KHz (215), 4.194304MHz (222)
• Application-specific– 4.9152MHz (4 x 1.2288MHz, CDMA baseband frequency)……
15
ResA
• LC/RLC circuit• Ring oscillator
– Application other than oscillator?• Voltage-controlled oscillator (VCO)
– Varicap: variable capacitance diode (tuning diode)– Phase-locked loop for high-speed clock (next slide)– Frequency scaling of IC for energy saving
Oscillator (Contd.)
16
• High-speed clock from a master oscillator• Digital PLL
• Clock generation, recovery, synchronization– Digital computing, RF communication
Phase-locked loop (PLL)
17
Phase-frequency detector
Master oscillator
VCO
Frequency divider (N)
voltage
MSP430 clock modules
• Clock sources– External oscillators
• Low- oscillator (LFXT1CLK): usually 3.2768KHz (RTC)• Optional high-frequency oscillator (XT2CLK)
– Internal digitally controlled oscillator (DCO) (DCOCLK) (power hungry)
• Clock signals– Auxiliary clock: divided LFXT1CLK (1, 2, 4, 8)
• For low-power standby
– Master clock: any source, divided by 1, 2, 4, or 8– Sub-system clock: XT2CLK or DCOCLCK, divided by 1, 2, 4, or 8
18
DCO (Contd.)
• Ring oscillator with RC-type characteristics• Software controllable
– On/Off– Frequency
– External resistor allows low temperature impact, higher frequency
• Impacted by temperature , supply voltage, and process variations (inter-chip variations)
19
8 internal and 1 external resistors
Flash Memory and Controller
• Non-volatile, semiconductor memory– Limited # of erase cycles wear leveling
• NOR Flash: slow write/erase, random access– ROM replacement
• NAND Flash: faster write/erase, block access, denser, more enduring– Harddisk replacement
20
MSP430 Flash memory controller
• NOR flash (for program)– No need for wear leveling (100K to 1M erase cycles)
• In-system programmable (ISP)– Self programming, program via wireless
• Programming through JTAG, UART (Bootstrap loader, BSL)
21
Digital I/O Modules
• USART – Universal synchronous/asynchronous
receiver/transmitter– Asynchronous: UART– Synchronous: SPI, I2C
• UART (2-4 wires)– Easily work with RS-232 (serial port), modem,
Bluetooth (Serial Port Profile)– Baud rate, # of data bits, optional parity bit, flow
control22
MSP430 UART
• Two UART ports, each two pins• Support interrupt• No hardware flow control• <200Kbps
23
Serial interfaces
• Inter-Integrated Circuit (I2C)– Two wires– Standard mode: 100Kbps– Fast mode: 400Kbps– System management bus (SMBus): 100Kbps
• Serial Peripheral Interface (SPI)– 4 wires: Clock, Chip Select, In and Out– Low-megahertz data rate
wikipedia.org
Universal Serial Bus (USB)
• Replacing all serial/parallel ports– All phones in China use USB for power
• Host vs. device• USB 1.0: low-speed, 1.5Mbps
– Human interface devices– 1.5A power supply– USB 1.1: full-speed, 12bBps
• USB 2.0: high-speed, 480Mbps– Storage devices, Wi-Fi cards etc.– 900mA power supply
• USB 3.0: super-speed, 4.8Gbps
Analog I/O
• Analog-digital conversion (ADC)– Voltage measurement– Sensing the world through voltage
• XXX voltage
• Digital-analog conversion (DAC)– Actuator
26
ADC
• Resolution: how many bits for “D”?– 24bits max– MSP4301611: 12 bits
• Sampling rate: how fast?– MSP430: up to 200Ksps
• Accuracy– Quantization error etc.
27
Interrupt
• Polling vs. interrupt
• Non-maskable vs. maskable
• Nested interrupt
28
Interrupt handler
Save context
Retrieve context
Interrupt
• Programmable interrupt controller (PIC)– Prioritizing multiple sources– Offloading the CPU
29
PIC CPU
Interrupt
Interrupt vector
Interrupt sources (external devices)
Exceptions, signals, & interrupts
• Exceptions– Any disruption of normal execution to execute
special instructions• Signals
– Inter-process communication• Interrupt
– Asynchronous exception introduced by external hardware
30
Timer
• Count time– Keep time
• How many cycles have elapsed
– Measure time• Whether a given period of time elapsed
• Generate interrupt
31
Capture registerClock
Compare registerComparator
Interrupt
Direct memory access (DMA)
• Free CPU from data transfer• Multiple channels, master bus, interrupt CP when done
32
DMA (Contd.)
• Character mode• Block mode
33
Power-saving mechanisms
• Frequency scaling (slow down)– DCO
• Power saving modes
34
Miscellaneous
• Pulse-width modulation (PWM)
– Applications: power delivery (charging, light, motor), sound synthesis• Watchdog timer
– Reset system under fault• Brownout reset
– Reset system when supply voltage low
35