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% |