ECEA 5375 Microcontrollers: Basic Architecture and Design
1st course in the MÌìÃÀ´«Ã½ Architecture, Design Optimization and AI at the Edge Specialization
Instructor: Steve Sheafor
This course introduces students to the architecture and design of Microcontrollers (MÌìÃÀ´«Ã½s), which are small processors used in a myriad of products. The main MÌìÃÀ´«Ã½ components of the processor, memory, I/O interfaces and their interconnections will be examined, with a focus on the processor. The process of optimizing performance, energy usage and cost will be explored in a project where students will begin the development of an MÌìÃÀ´«Ã½ in a system context.
The course will go beyond basic architecture and design to explore real-world details involved in the design of actual hardware products. Although focused on MÌìÃÀ´«Ã½s, many of these topics are relevant to the architecture and design of all types of advance digital components.
Learning Outcomes
- Analyze the key factors used to evaluate and compare MÌìÃÀ´«Ã½s.
- Describe an MÌìÃÀ´«Ã½ product family and its applications.
- Describe MÌìÃÀ´«Ã½s and their relationship to other processor types.
- Assess the performance impact of MÌìÃÀ´«Ã½ bus functions.
- Identify the busses used in MÌìÃÀ´«Ã½s.
- Describe the functions of basic MÌìÃÀ´«Ã½ components.
- Describe how clocks affect the power and energy of an MÌìÃÀ´«Ã½.
- Explain the mechanisms for tuning internal MÌìÃÀ´«Ã½ voltages for optimization.
- Describe various methods for controlling MÌìÃÀ´«Ã½ power usage.
- Analyze the basic system components available in the ARMv7 architecture.
- Describe how the ARM processor families are organized.
- Compare the available MÌìÃÀ´«Ã½ processors.
- Examine methods for efficiently designing MÌìÃÀ´«Ã½s using configuration.
- Define several key ARMv8 Extensions.
- Implement the MÌìÃÀ´«Ã½ Design Course submission process.
- Optimize the Peripheral Interface modules to minimize MÌìÃÀ´«Ã½ area.
- Optimize the Peripheral Device connections to an MÌìÃÀ´«Ã½ to minimize MÌìÃÀ´«Ã½ area.
- Optimize the voltage and frequency of an MÌìÃÀ´«Ã½ to minimize execution time and energy.
- Assign sleep states in order to optimize power/energy and performance.
- Configure Peripheral Interfaces in order to facilitate reuse and optimize area.
- Add power control to Peripheral Interfaces in order to optimize area and power/energy.
Syllabus
Duration: 5Ìýhours
In this module we will discuss Microcontrollers (MÌìÃÀ´«Ã½s), their relationship to other processor types, their usage applications and how to evaluate them. Ìý
Duration: 3Ìýhours
In this module we will explore the basic MÌìÃÀ´«Ã½ components, their functions and the busses used to connect them to each other. Ìý
Duration: 9.5Ìýhours
In this module we will explore various methods for managing MÌìÃÀ´«Ã½ power usage, including the clock system.Ìý
Duration: 3Ìýhours
In this module we will identify the alternatives for MÌìÃÀ´«Ã½ processors and look closely at the processors from ARM.
Duration: 8.5 hour
In this module we will examine several additional functions created in the newer ARMv8 architecture and explain how MÌìÃÀ´«Ã½s are designed efficiently using configuration.
Duration: 2Ìýhours
This module contains materials for the proctored final exam for MS-ECE degree students. If you've upgraded to the for-credit version of this course, please make sure you review the additional for-credit materials in the Introductory module and anywhere else they may be found.Ìý
To learn about ProctorU's exam proctoring, system test links, and privacy policy, visitÌýwww.colorado.edu/ecee/online-masters/current-students/proctoru.
Grading
Assignment | Percentage of Grade |
5 Graded Assignments (Quizzes) | 10% (2% each) |
Programming Assignment: MÌìÃÀ´«Ã½ Design Project Stage 0 | 5% |
2 Programming Assignments | 60% (30% each) |
Final Exam | 25% |
Letter Grade Rubric
Letter GradeÌý | Minimum Percentage |
A | 93% |
A- | 90% |
B+ | 87% |
B | 83% |
B- | 80% |
C+ | 77% |
C | 73% |
C- | 70% |
D+ | 67% |
D | 60% |
F | 0% |