Course Outline

advertisement
Course Outline
MSc - Microprocessors 2007
Overall Aim and Objectives
The aim of this course is to introduce students to microprocessors for embedded
system applications. By the end of the course students should be able to write
and understand detailed embedded system specifications, develop applications on
embedded processors (ARM) using assembly and/or high-level languages, be
familiar with existing programming techniques for performance, code size and
power optimization, use programme traces and emulation tools to estimate
performance, memory area and power consumption.
Week 1:
 Introduction to microprocessors for general purpose and embedded
systems – Embedded microprocessor evolution – Design metrics and
constraints (performance, power, cost, time-to-market) and design
optimization challenges
Week 2:
 Key embedded system technologies – Integrated Circuit technology –
Microprocessor technology – CAD tool technology. Comparison of
embedded
system
implementation
options
(Microprocessor/
DSP/FPGA/ASIC/Embedded platform) in terms of performance, cost (NRE
and total), power consumption and time-to-market
Week 3:
 Embedded system specification
specification (UML/C++)
and
modeling
–
Object-oriented
Week 4:
 Computer Architecture – Instruction sets – RISC vs. CISC – pipelining The ARM microprocessor architecture
Week 5:
 ARM assembly – ARM mode – Thumb mode - ARM and Thumb instruction
set - ARM conditional execution
Week 6:
 Processor I/O – Serial I/O – Busy/wait I/O – Interrupts – Exceptions –
Traps – ARM memory mapped I/O
Week 7:
 Caches – Memory Management Units – Protection Units – ARM cache and
MMU
Week 8:
 Programme design and analysis – DFGs – CDFGs – Compilers –
Assemblers – Linkers – Basic compiler optimizations/code transformations
– Measuring programme speed – Trace-driven performance analysis –
Energy optimization – programme size optimization
Week 9:

High-level transformations for embedded computing – Dependence
analysis – Loop reordering and loop restructuring transformations –
Writing optimal C code for ARM
Week 10:
Case study – Assignment assessment
Main textbooks
Wayne Wolf, “Computers as components: Principles of embedded computing
design”, Morgan Kaufmann Publishers, 2000
Frank Vahid, Tony D. Givargis, “Embedded System Design: A Unified
Hardware/ Software Introduction”, Wiley, 2001
References
Wayne Wolf, “High-Performance Embedded Computing:
Applications, and Methodologies”, Morgan Kaufmann, 2006
Architectures,
Andrew Sloss, Dominic Symes, Chris Wright, “ARM System Developer's
Guide: Designing and Optimizing System Software”, Morgan Kaufmann, 2004
P. Marwedel, “Embedded System Design”, Springer, 2005
Prakash Rashinkar, Peter Paterson, Leena Singh,
Verification - Methodology and Techniques”, Springer, 2000
“System-on-a-Chip
Michael Keating, Russell John Rickford, Pierre Bricaud, “Reuse Methodology
Manual for System-On-A-Chip Designs”, Springer, 2006
Download