Post on 30-Dec-2015
1
Lecture 1 - Introduction
ICE 1222-2342 Microprocessor + Lab.
2008 Fall
Daeyoung Kim
School of EngineeringInformation & Communications University
kimd@icu.ac.krhttp://resl.icu.ac.kr
2
Course Introduction - I ICE 1222 / 2342 – Microprocessor + Lab.
Undergraduate course for CSE & ECE students ARM Microprocessors – Regular Class
ARM Architecture, Assembly Language Programming
Instruction Set, ARM Processor/CPU Cores Memory Hierarchy Architectural Support for
High-level languages, System Development, Operating Systems
Embedded Systems Development
ARM based Embedded Systems and Software - Laboratory
3
Course Introduction - II
Instructor Daeyoung Kim
Phone) 866-6157 E-mail) kimd@icu.ac.kr
Office : T329
TA
Seonghoon Kim Office: T326 E-mail: shkim1980@icu.ac.kr
Jong-uk Lee Office: T326 E-mail: scinfuture@icu.ac.kr
4
Course Introduction - III
Course Materials Required Textbook :
ARM System-on-Chip Architecture (2nd Edition). by Stephen B. Furber
Reference Materials :
ARM Architecture Reference Manual (2nd Edition) by Dave Jagger, David Seal (Editor)
EMPOS II Manual/Teaching Material – Hanback Electronics
5
Course Introduction - IV Course Homepage
http://resl.icu.ac.kr/~kimd/class/ice1222-2342-2008f/ICE1222-2342.htm
Time and Place Class
Mon 14:30-15:45 at L301 Fri 09:00-10:15 at L301
Laboratory Wed 7:00PM-9:00PM (Lab.) – L508
Academic Integrity Cheating homework, project -> zero score for both parties
Late policy No late submission except for emergency situation
Basic grading policy A : 50%, B : 30%, C : 20%
6
PDA Reference Platform – EMPOS-II
7
Lab Scheule
Week Topic
1 Course Introduction
2 Development Environment setup
3 Bootloader
4 Linux Kernel
5 File system
6 Write Embedded Linux Application
7 (2008/10/13) Midterm exam period
8 Web server porting
9 Device Driver
10 QT/E Environment
11 QTOPIA
12 Project
13 (2008/12/8) Final exam period
8
Embedded Systems & Microprocessors
9
Embedded Systems
10
Definition of Embedded Systems
An embedded system is a device that includes a programmable computer but is not itself a general-purpose computer.
An embedded system is usually only designed for one single purposecan be highly optimizedAll unneeded features are a disadvantage (cost, power)
Source: Wolf 2000,© 2000 Morgan Kaufman
11
Typical Embedded System
12
Embedded Systems – Play Station 3
• 7 Cell processors 3.2 GHz each [originally spec = 9]
• Graphics: Nvidia RSX 550 Mhz GPU 1.8 TFlops – 100 billion shader ops/sec – 300 million transitors – 51 billion dot products/sec – Full HD – 1080p
• Total 2.18 Tflops
• 512MB RAM – split between CPU and graphics – 25.6GB/s
• 512KB L2 cache
• 7 AltiVec vector processing units
• Blu-ray DVD [25GB]
13
Embedded Systems – Nintendo Wii
- CPUPowerPC based "Broadway" processor (729Mhz)- GPUATI "Hollywood" processor (243Mhz)- Memory88mb main memory, 64mb ext. RAM- Ports1..4 Wiimotes (BT), SD card slot, 2x USB 2.0,4x GCN, 2x GCN MC, WiFi 802.11b/g- Storage512mb built-in flash memory, supports 2gbSD, GCN MC, slot-loading disc- VideoUp to 480p (PAL/NTSC) or 576i (PAL/SECAM),Component, Scart, S-Video, Composite, 16:9- AudioStereo – Dolby Pro Logic II-capable, built-inspeaker in Wiimote
14
IBM Power Architecture
15
IBM Power Processor usages
16
IBM Power Architecture
17
Embedded Systems -- Examples
18
NASA Pathfinder
(mission to MAR 1997)
Embedded Systems -- Examples
19
How to design embedded systems?
20
Abstraction Levels
21
Abstraction Levels
22
Abstraction Levels
23
Abstraction Levels
24
Embedded System & Embedded Linux
Embedded System - information processing is embedded in a larger system in which information processing is not visible to the user through PC-like interfaces
Features:
reliable, safe, and secure, efficientmostly fixed set of applications systems frequently reading, processing and controlling physical quantities
Embedded Linux Linux kernel runs on a particular CPU and board which will be
put into an embedded device
Real-Time System - must guarantee real-time constraints
25
Real-Time Systems - 1 Often used in a dedicated application such as aircraft
avionics systems, automobile control, weapon systems, medical systems, industrial control systems, and etc.
Well-defined timing constraints. Timing correctness as well as functional correctness
Real-Time systems may be either hard or soft real-time.
26
Real-Time Systems - 2
Hard real-time: Missing timing constraints -> catastrophic result Secondary storage limited or absent, data stored in short
term memory, or read-only memory (ROM) Conflicts with time-sharing systems, not supported by
general-purpose operating systems.
Soft real-time Missing timing constraints -> inconvenience, performance
degradation (best effort to meet timing constraint) Useful in applications (multimedia, virtual reality)
27
Reasons for large processor variety - 1
• Processors inserted into the veins of the human body to compute averaged time series of sensor values: low performance requirements, must be power- and area-efficient.
• Processors in automobile electronics: must be able to sustain high voltages (100+ volts) and must be cheap.
• Processors in portable phones: must be very power efficient.
Large variety of applications
28
Reasons for large processor variety - 2
Embedded processors exhibit features making them efficient for certain applications or application domains
Large variety of processors inembedded systems
• ... due to focus on efficiency• ... due to application domain• ... no need for code compatibility• ... in order to protect company IP• ... in order to reduce power consumption
29
Architectural features of embedded processors
General rules (with exceptions):
1. Designed for efficiency (vs. ease of programming)2. Huge variety of processors (resulting from 1.)3. Harvard architecture4. Heterogeneous register sets5. Limited instruction-level parallelism or VLIW ISA6. Different operation modes (saturating arithmetic, fixed point)7. Specialised microcontroller & DSP instructions (bit-field addressing, multiply/accumulate, bit-reversal, modulo addressing)8. Multiple memory banks9. No “fat” (MMU, caches, memory protection, target buffers, complex pipeline logic, ...)
These features have to be known to the compiler!
30
Harvard architecture
CPU
PCdata memory
program memory
address
data
address
data
31
von Neumann vs. Harvard
Harvard can’t use self-modifying code.
Harvard allows two simultaneous memory fetches.
Most DSPs use Harvard architecture for streaming data: greater memory bandwidth; more predictable bandwidth.
32
Popular Microprocessors
33
Microcontrollers
Microcontroller including a CPU, memory,
a clock oscillator, and I/O
on a single IC.
Microprocessor Some elements such as
memory, or I/O are missing
34
ATMEL ATMEGA 128(L) Microcontroller
35
ATMEL ATMEGA 128(L)
36
TI MSP430 Microcontrollers
37
TI MSP430 Microcontrollers
38
Freescale(Motorola) – 8-bit Microcontrollers roadmap - 1
39
Freescale(Motorola) – 8-bit Microcontrollers roadmap - 2
40
Freescale(Motorola) – 8-bit Microcontrollers roadmap - 3
41
Freescale(Motorola) – 16-bit Microcontrollers roadmap
42
43
ARM Architecture Roadmap - 1
44
ARM Architecture Roadmap - 2
45
Why ARM?
46
ARM Core Selection Guide - 1
47
ARM Core Selection Guide - 2
48
Compaq iPAQ H3600
SA-1110
49
SA-1110 Block DiagramARM+DEC -> Intel
50
SA-1111 Block Diagram
51
SA-1110/SA-1111 System Example
52
Intel Xscale – PXA255
53
Intel Xscale – PXA270 for Embedded Computing
54
Modem Chip Evolution for Cellular Phone
55
Mobile Station HW - Base band
56
Mobile Station SW Architecture
Applications (GVM, Wavelet, M-Commerce, LBS..)
Applications (GVM, Wavelet, M-Commerce, LBS..)
Radio Telephony Device Control (CDMA/GSM/GPRS/WCDMA)
Radio Telephony Device Control (CDMA/GSM/GPRS/WCDMA)
APP ManagerAPP Manager ProtocolStack
ProtocolStack
Radio Comm. Interface
Radio Comm. Interface
I/O Device Driver(HW Abstraction Layer)
I/O Device Driver(HW Abstraction Layer)
Embedded OS (REX, VxWorks, Symbian)Embedded OS (REX, VxWorks, Symbian)
Mobile PlatformMobile Platform T-APIsT-APIsG-APIsG-APIs
WAPBrowser
WAPBrowser
Embedded HWEmbedded HW
57
I/O Device Drivers
Keypad Touchpad Voice Recognition LCD Sound Speech Synthesis Light IrDA USB UART Bluetooth
58
Embedded SystemsDevelopment Environment