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