실시간/임베디드 시스템 - 강의 1- 2002년 7월 26일 09:00

Download Report

Transcript 실시간/임베디드 시스템 - 강의 1- 2002년 7월 26일 09:00

Lecture 1 - Introduction
ICE 1222-2342 Microprocessor + Lab.
2008 Fall
Daeyoung Kim
School of Engineering
Information & Communications University
[email protected]
http://resl.icu.ac.kr
1
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
2
Course Introduction - II

Instructor
 Daeyoung Kim



Phone) 866-6157 E-mail) [email protected]
Office : T329
TA

Seonghoon Kim



Office: T326
E-mail: [email protected]
Jong-uk Lee


Office: T326
E-mail: [email protected]
3
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
4
Course Introduction - IV


Course Homepage

http://resl.icu.ac.kr/~kimd/class/ice1222-2342-2008f/ICE1222-2342.htm
Time and Place

Class



Laboratory




Mon 14:30-15:45 at L301
Fri 09:00-10:15 at L301
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%
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 – 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]
12
Embedded Systems –
Nintendo Wii
- CPU
PowerPC based "Broadway" processor (729Mhz)
- GPU
ATI "Hollywood" processor (243Mhz)
- Memory
88mb main memory, 64mb ext. RAM
- Ports
1..4 Wiimotes (BT), SD card slot, 2x USB 2.0,
4x GCN, 2x GCN MC, WiFi 802.11b/g
- Storage
512mb built-in flash memory, supports 2gb
SD, GCN MC, slot-loading disc
- Video
Up to 480p (PAL/NTSC) or 576i (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

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



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.
25
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 generalpurpose operating systems.
Soft real-time


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

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.
31
Popular Microprocessors
32
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

33
ATMEL ATMEGA 128(L)
Microcontroller
34
ATMEL ATMEGA 128(L)
35
TI MSP430 Microcontrollers
36
TI MSP430 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 iPAQ H3600

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 – PXA255
52
Intel Xscale – PXA270 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, VxWorks, Symbian)
Embedded HW
56
I/O Device Drivers











Keypad
Touchpad
Voice Recognition
LCD
Sound
Speech Synthesis
Light
IrDA
USB
UART
Bluetooth
57
Embedded Systems
Development Environment
58