chen wenzhi - csdn · 2019. 12. 24. · organization, one of 2008 intel top-quality courses of the...
TRANSCRIPT
Intel Architecture Based Integrated Curriculum System
Chen Wenzhi
College of Computer Science, ZJU
2012.7.27
Embedded Systems Provide the Stage for
Computer Curriculum Introduction(I)
Parallel systems and embedded systems are two major application fields of computer architecture, and in both fields, Intel takes the leading position.
Since 1994, from the perspective of application optimization, ZJU(Zhejiang University, ZJU) has put forward a new computer architecture teaching thought. In 2002, ZJU began to individually establish embedded systems courses, emphasizing the core position of system architecture, which emerges as one stage of comprehensively applying knowledge of computer curriculum.
Embedded Systems Provide the Stage for
Computer Curriculum Introduction(II)
In 2005, ZJU began hardware integrated teaching, offered EIA+FPGA teaching platform, and established the FPGA based hardware-software co-design x86-RISC integrated SoC experiment platform in computer organization, one of 2008 Intel top-quality courses of the Ministry of Education of China. And one project coming from this course won the first prize of the third OpenHW open source hardware and embedded systems contest in 2012;
Since 2010, ZJU began system design ability oriented courses (hardware and software) so as to impenetrate the teaching activities. By means of using the practical process of computer system design and implementation, establishing the core position of computer organization through penetrated teaching of computer architecture, operating system and compiling technology and so forth, ZJU dedicated to improving the students’ ability of engineering practice and innovation to design and implement embedded computer systems with applications.
Embedded Systems are Hardware-Software Co-
designed and Application Collaborative Agenda
Background & history
Principals of embedded systems course construction
Knowledge topics and curriculum architecture-from the perspective of
the whole system Solidify the foundation, system oriented, application oriented
Improve the understanding of each part of embedded (computer) systems from the
perspective of the whole system
experimental architecture-hardware-software co-design+system
design ability oriented education, From individually design ability oriented practical education to whole application system
solution
Establishing the core position of practicing
Integrated Intel practical teaching Advantages of EIA
How to use it
Embedded systems courses prototype In the early 1970s, established courses of microcomputer
In the early 1980s, established courses of MCU Z80、8080、6502、68XX、8051、8096……
In the middle-to-late 1980s, EIA based courses started X86、STD IPC、i86 based detection and control
Development of embedded systems courses 1980s to late 1990s, courses of detection and control started
IPC、mobile processing system、High-performance single chip、DSP、multiple single chips system
Establishment of embedded systems courses In 2002, separated the embedded teaching from MCU, being the
first to establish embedded systems courses, began the stage of start-up and exploration of embedded systems teaching Adoption of famous international textbooks and independently designed
experiment platform—ARM7TDMI
Experiment cases based teaching
Background/history
In 2003, college of computer science of ZJU together with INTEL established associated embedded systems teaching Teaching group members attended “the national INTEL university
embedded systems teaching seminar”
Set up Intel(Xscale PCA )embedded experiment platform, preliminary scaled up the experiment platform
In 2003, built associated lab with HP Set up Pocket PC h5500(Xscale core) embedded experiment platform
In 2004, began associated teaching with IBM about embedded systems, operating system.
In 2009, enriched experiment platforms such as ATOM
Invited international renowned scholars to give cooperative teachings Invited international professors to give lectures and courses
Invited engineers of Intel to deliver lectures on special topics
Established teaching materials of embedded systems courses with CMU
Background/history
7
Linux Operating System and Laboratory Tutorial, Mechanical Industry Press, 1999
Linux Kernel 2.4 Source Code Analysis, Mechanical Industry Press, 2002
Linux and Embedded Systems, Tsinghua University Press , 2003.1
Learning by Doing – Linux Kernel Guide, Zhejiang University Press , 2002.8
4.4BSD Operating System Design and Implementation, China's electronic publishing house, 2003.7
Linux Kernel Source Code Scenario Analysis, Zhejiang University Press , 2001
Embedded Systems -- Open Source and StrongARM/Xscale Mircroprocessor, Zhejiang University Press , 2004.2
ARM and Linux Embedded Systems Tutorial, BUAA, 2004.8
Advanced BREW Cellphone Games Development, Tsinghua University Press , 2004.8
Embedded Systems Development Principals and Practice, Tsinghua University Press , 2005.8
Embedded Systems Principals and Design, Tsinghua University Press, 2011.4
Construction of Textbooks
7
Purposes of embedded systems courses Establish the comprehensively applying position of computer curriculum
knowledge
Adhere to “embedded systems courses are focussed on practice”
Emphasize the core position of architecture and knowledge comprehensively applying
Inherit embedded Linux teaching from perspective of both real-time C/OS and popular OS
Two assembly languages for undergraduate students:MIPS assembly and i86 assembly
Interaction of teaching and research, training of research study
Principals of embedded systems
course construction
Curriculum System Based on Embedded Systems
Extended
courses
System courses
OS
Compiling
More…
Lo
gic
desig
n
basis
Org
an
izatio
n
Arc
hite
ctu
re
Ad
va
nc
ed
dig
ital d
es
ign
Embedded systems design
So
C
Co
mp
ute
r sys
tem
de
sig
n
Inte
rfaces
Mu
ltico
re d
es
ign
A
dvan
ced
arc
hite
ctu
re
Core
courses
Main Knowledge Topics Concept
Category and distinction
Tailoring principals
Why embedded
Where to embed into
What makes up an embedded system
SOC
Choice of architecture Xscale (ARM)
ATOM
Cortex-A8 /ARM9
DSP
FPGA
Embedded peripherals
OS RTOS
Real time
process, memory management, MMU, flash fs, interrupt
Embedded Linux
Android
OS porting
Software development Bootloader
ADS
Embedded GUI
Embedded development environment
Embedded development flow
Lecture1: Introductory embedded technology and industrial applications (applications and innovations) What’s the embedded technology
What can embedded technology bring
What applications need embedded technology
Components of an embedded system
Development of embedded hardware, software
Hot topics of embedded systems
Lecture2: Basic concept and methodology (OS, architecture) Basic knowledge of embedded microprocessor
Principals of tailoring of embedded hardware and software
Basic knowledge of embedded real-time operating systems
Introductory to design methodology of embedded systems
Knowledge Hierarchy
Lecture3: Architecture of Embedded Microprocessor (Organization, architecture) Embedded microprocessor and its application
Introductory to ARM architecture
Xscale-2XX microprocessor introduction
ATOM
JTAG debug interface
Platform of embedded development
Lecture4: ARM Architecture Based Hardware Platform Design (application cases) Embedded system hardware analysis
Embedded I/O interface design
Embedded system hardware-software co-design
System requirements and hardware tailoring
Embedded hardware co-design/implementation/debugging
Typical embedded circuit structures analysis
requirements analysis
architecture
embedded solution
Knowledge Hierarchy
Lecture5: Embedded system Software Structure Design (OS, Project development and debugging) Embedded software development flow
Establishment of embedded software development environment
Development tool chain and debug approaches
Embedded software remote debugging, testing and optimization
Main development environment: Linux、Android、EVC、GNU
Embedded BSP development and debugging
Embedded GUI
Knowledge Hierarchy
Lecture6: Embedded Real-time Operating System Analysis(Linux, C/OS ) Real-time operating system objectives
Features of typical embedded operating system
C/OS-II kernel structure
µC/OS-II system routines
µC/OS-II task structure and real-time schedule management
C/OS-II interrupt implementation scheme
C/OS-II time management
C/OS-II file system
µC/GUI and µC/FS
COS-II’s porting
Knowledge Hierarchy
Analysis of Linux kernel
Linux according to students’
engineering background
Lecture7: Embedded Linux Operating System (OS) Combined with compatible OS: MeeGo, Android
Basic part of embedded Linux operating system
Core technology, features of embedded OS: memory management, file system, power management and so forth, combined with Linux system cases
Improved part of embedded Linux operating system
Create and use a new system call in Linux, create JFFS2 file system and Ramfs, implement and design NFS file system. The objective to let students understand deeply about the operating principals and organization of Linux
Advanced part of embedded Linux operating system
Understand the features of drivers and implementation of drivers in Linux, master the working principals of stream device driver interface; master the architecture and approach and process of interrupt handling, approach of DMA and virtual memory management design based on ISR, IST; understand allocation and release of virtual memory. Port the Linux 2.6 kernel
Knowledge Hierarchy
Lecture8: WinCE Operating System (Experiments. Optional: MeeGo and Android) Basic part of WinCE operating system
Take WinCE for example to illustrate core technology. Mainly focus on features and architecture of WinCE. Development tools and technology in WinCE, EVC usage, cross compilation and download debugging, development approach of Windows Mobile, theory of WinCE emulator
Improved part of WinCE operating system
Familiar with WinCE development system environment. Platform Builder usage. Study by designing small application program and writing WinCE system
Advanced part of WinCE operating system
WinCE operating system configuration, DLL’s creation and application,theory of file system and work process.
Knowledge Hierarchy
Lecture9: Embedded GUI (applications and experiments) Embedded GUI brief introduction
X Windows
Tiny-X architecture
Tiny-X application design
Lecture10: FPGA Based Embedded Design Basis (SoC design) Digital system design review
Theory and basic structure of PLD and FPGA
Overview of complex digital system design approach
Hardware development integrated environment
HDL and IP core design
FPGA based embedded hardware architecture design
Knowledge Hierarchy
Lecture11: Comprehensive Innovative Experiment and Experiences Exchange Typical embedded case analysis
PROJECT design and implementation
Discussion and experiences exchange of comprehensive embedded experiments
Encourage the combination of education projects and research projects
On-going research introduction and exchange
PROJECT design process and result report
In different stages of teaching
Knowledge Hierarchy
Practice: an important part of embedded system
Theory: 25% or less
Prerequisite: support of curriculum system
Students need DIY
Design of practice
Fundamentality: to raise basic skill in embedded field
Comprehensiveness: to develop embedded system application modules
Innovation: to propose an innovative application related to market, scientific research or daily life
Operability
Innovation needs operability
What is innovation
Making existing things more valuable: raise fondness
Making valuable things: make others accept it, such as Apple Inc.
Guide students to make their own projects
experimental architecture ----
system design ability oriented education
Basic Knowledge Embedded system organization structure
Basic software and hardware debug methods of embedded system
Common embedded I/O interface, etc.
Basic experiments Building the hardware/software development environment of
embedded system
Bootloader burning
Linux(C/OS II/Android) system transplant
Serial communication
Complete more than 10 experiments on different platforms, including ATOM.
Each experiment is designed for only one specific interface and function.
Improve embedded basic skills
Comprehensive Knowledge Embedded database
Network communication experiment
GUI, etc.
Comprehensive experiments To complete a large experiment based on simple, small, basic
experiments(at least 3) on diverse platforms, including ATOM
For example, GPS standard server experiment involves embedded serial port experiment, network communication experiment and embedded database experiment.
Embedded system is a perfect combination of software and
hardware design, improving comprehensive ability effectively.
Develop embedded system application modules
Innovative practice Combine teaching with scientific research and application
Specially advocate and emphasize the importance of innovation
Lead students to discover value
Operable innovation: make existing applications more valuable, make the worthless valuable, make others love the applications you design, etc.
To propose a design(project) with practical value Inspiration from comprehensive experiments
Inspiration from daily life
How to make fixed-line telephone more valuable
The night hand electric clock
Guide students to do what they prefer
Advantages of the EIA architecture High performance
Rich resources
Widely known
With growth: the elder engineers
Keeping competitive, adjusting strategy Problem: the choice of hardware engineers
New challenges of hardware courses: cooperation among major courses weakens
Computer organization, interface, assembly, etc.
Innovation Cooperative
Different
Practice teaching with Intel
Bring in EIA architecture Compare MIPS, ARM and i86 architecture
Insist on teaching i86 assembly: Linux
Compare the instruction format and the mapping
Practice teaching—fusion and contrast in
computer organization
Add i86 to computer organization project since 2008 Explore suitable computer architecture for i86 teaching
Teaching combination of i86 and RISC
Software-hardware cooperation
Add i86 related content
Typical case: dynamic binary
translation(from 8086 to MIPS)
Analyzing the startup process of embedded system through EIA BIOS → BSP →EFI
Bootloader
OS
Applications
Tools
Using EIA to develop apps
IA simulator teaching Simulation of IA architecture
Virtual machine
Xscale-255
ATOM
Make full use of EIA
Man-machine interaction 1st edition: PC platform, improve the communication between
common man and the deaf-mute
2nd edition:ARM platform
3rd edition: ATOM platform, infant robot
Typical case I: graph-sound
interactive application
FPGA Based M2M Heterogeneous Virtualization System
A hardware interest group from system architecture lab designs a
32-bit MIPS core named QS-I on FPGA. They expand the QS-I single-
core system to multicore heterogeneous system and put forward a novel
concept, M2M(Multiple ISAs applications to Multiple heterogeneous
cores, M2M). M2M is divided into four layers from the bottom up: the
multicore heterogeneous layer, the binary translation layer the virtuali-
zation management layer, and the diverse applications layer.
Design your own CPU and computer system. Use your own OS to manage your own computer and run your own applications.
Typical case II: the M2M system
整体结构
Typical case II: the M2M system
整体结构
Typical case II: the M2M system
整体结构
Typical case II: the M2M system
Features Similar with dance mat
Difference: Dance mat uses pressure sensor to perceive the position of feet. Dancing machine uses several cameras instead.
Implementation Digital logic: realized by state machines
Computer organization: realized by programs
Embedded system: realized by image perception
Other case I: dancing machine
THANKS!