Lecture 1 Introduction ICE 1222 2342 Microprocessor Lab
Lecture 1 - Introduction ICE 1222 -2342 Microprocessor + Lab. 2008 Fall Daeyoung Kim School of Engineering Information & Communications University kimd@icu. ac. kr http: //resl. icu. ac. kr/~kimd 1
Course Introduction - I n ICE 1222 / 2342 – Microprocessor + Lab. n n Undergraduate course for CSE & ECE students ARM Microprocessors – Regular Class n n ARM Architecture, Assembly Language Programming Instruction Set, ARM Processor/CPU Cores Memory Hierarchy Architectural Support for n n n High-level languages, System Development, Operating Systems Embedded Systems Development ARM based Embedded Systems and Software Laboratory 2
Course Introduction - II n Instructor n Daeyoung Kim n n n Phone) 866 -6157 E-mail) kimd@icu. ac. kr Office : T 329 TA n Seonghoon Kim n n n Office: T 326 E-mail: shkim 1980@icu. ac. kr Jong-uk Lee n n Office: T 326 E-mail: scinfuture@icu. ac. kr 3
Course Introduction - III n Course Materials n Required Textbook : n n ARM System-on-Chip Architecture (2 nd Edition). by Stephen B. Furber Reference Materials : n n ARM Architecture Reference Manual (2 nd Edition) by Dave Jagger, David Seal (Editor) EMPOS II Manual/Teaching Material – Hanback Electronics 4
Course Introduction - IV n n Course Homepage n http: //resl. icu. ac. kr/~kimd/class/ice 1222 -2342 -2008 f/ICE 1222 -2342. htm Time and Place n Class n n n Laboratory n n Mon 14: 30 -15: 45 at L 301 Fri 09: 00 -10: 15 at L 301 Wed 7: 00 PM-9: 00 PM (Lab. ) – L 508 Academic Integrity n Cheating homework, project -> zero score for both parties Late policy n No late submission except for emergency situation Basic grading policy n A : 50%, B : 30%, C : 20% 5
PDA Reference Platform – EMPOS-II 6
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 7
Embedded Systems & Microprocessors 8
Embedded Systems 9
Definition of Embedded Systems An embedded system is a device that includes a programmable computer but is not itself a generalpurpose computer. An embedded system is usually only designed for one single purpose - can be highly optimized All unneeded features are a disadvantage (cost, power) Source: Wolf 2000, © 2000 Morgan Kaufman 10
Typical Embedded System 11
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 – 1080 p • Total 2. 18 Tflops • 512 MB RAM – split between CPU and graphics – 25. 6 GB/s • 512 KB L 2 cache • 7 Alti. Vec vector processing units • Blu-ray DVD [25 GB] 12
Embedded Systems – Nintendo Wii - CPU Power. PC based "Broadway" processor (729 Mhz) - GPU ATI "Hollywood" processor (243 Mhz) - Memory 88 mb main memory, 64 mb ext. RAM - Ports 1. . 4 Wiimotes (BT), SD card slot, 2 x USB 2. 0, 4 x GCN, 2 x GCN MC, Wi. Fi 802. 11 b/g - Storage 512 mb built-in flash memory, supports 2 gb SD, GCN MC, slot-loading disc - Video Up to 480 p (PAL/NTSC) or 576 i (PAL/SECAM), Component, Scart, S-Video, Composite, 16: 9 - Audio Stereo – Dolby Pro Logic II-capable, built-in speaker in Wiimote 13
IBM Power Architecture 14
IBM Power Processor usages 15
IBM Power Architecture 16
Embedded Systems -- Examples 17
Embedded Systems -- Examples NASA Pathfinder (mission to MAR 1997) 18
How to design embedded systems? 19
Abstraction Levels 20
Abstraction Levels 21
Abstraction Levels 22
Abstraction Levels 23
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, efficient mostly fixed set of applications systems frequently reading, processing and controlling physical quantities Embedded Linux n 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 24
Real-Time Systems - 1 n n n 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. n Timing correctness as well as functional correctness Real-Time systems may be either hard or soft real-time. 25
Real-Time Systems - 2 n Hard real-time: n n 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 generalpurpose operating systems. Soft real-time n n Missing timing constraints -> inconvenience, performance degradation (best effort to meet timing constraint) Useful in applications (multimedia, virtual reality) 26
Reasons for large processor variety - 1 Large variety of applications • 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. 27
Reasons for large processor variety - 2 Embedded processors exhibit features making them efficient for certain applications or application domains • • • Large variety of processors in embedded 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 28
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 architecture 4. Heterogeneous register sets 5. Limited instruction-level parallelism or VLIW ISA 6. Different operation modes (saturating arithmetic, fixed point) 7. Specialised microcontroller & DSP instructions (bit-field addressing, multiply/accumulate, bit-reversal, modulo addressing) 8. Multiple memory banks 9. No “fat” (MMU, caches, memory protection, target buffers, complex pipeline logic, . . . ) These features have to be known to the compiler! 29
Harvard architecture address data memory data address program memory PC CPU data 30
von Neumann vs. Harvard n Harvard can’t use self-modifying code. n Harvard allows two simultaneous memory fetches. n Most DSPs use Harvard architecture for streaming data: n greater memory bandwidth; n more predictable bandwidth. 31
Popular Microprocessors 32
Microcontrollers n Microcontroller including a CPU, memory, a clock oscillator, and I/O on a single IC. n n Microprocessor Some elements such as memory, or I/O are missing n 33
ATMEL ATMEGA 128(L) Microcontroller 34
ATMEL ATMEGA 128(L) 35
TI MSP 430 Microcontrollers 36
TI MSP 430 Microcontrollers 37
Freescale(Motorola) – 8 -bit Microcontrollers roadmap - 1 38
Freescale(Motorola) – 8 -bit Microcontrollers roadmap - 2 39
Freescale(Motorola) – 8 -bit Microcontrollers roadmap - 3 40
Freescale(Motorola) – 16 -bit Microcontrollers roadmap 41
42
ARM Architecture Roadmap - 1 43
ARM Architecture Roadmap - 2 44
Why ARM? 45
ARM Core Selection Guide - 1 46
ARM Core Selection Guide - 2 47
Compaq i. PAQ H 3600 n SA-1110 48
SA-1110 Block Diagram ARM+DEC -> Intel 49
SA-1111 Block Diagram 50
SA-1110/SA-1111 System Example 51
Intel Xscale – PXA 255 52
Intel Xscale – PXA 270 for Embedded Computing 53
Modem Chip Evolution for Cellular Phone 54
Mobile Station HW - Base band 55
Mobile Station SW Architecture WAP Browser Applications (GVM, Wavelet, M-Commerce, LBS. . ) Mobile Platform G-APIs Protocol Stack APP Manager I/O Device Driver (HW Abstraction Layer) T-APIs Radio Comm. Interface Radio Telephony Device Control (CDMA/GSM/GPRS/WCDMA) Embedded OS (REX, Vx. Works, Symbian) Embedded HW 56
I/O Device Drivers n n n Keypad Touchpad Voice Recognition LCD Sound Speech Synthesis Light Ir. DA USB UART Bluetooth 57
Embedded Systems Development Environment 58
- Slides: 58