Embedded Systems Engineering at CU-Boulder
Advanced Computer Architecture expands on the role of a traditional computer organization course, with a focus on parallel hardware design, to include aspects of modern multi core processors, instruction sets, operating systems, compilers, and application software.
Processor cores account for about 60% of semiconductor IP revenues with ARM, Imagination’s MIPS, and Synopsys’ ARC the three leading cores (Electronics Weekly). The leading processor core provider ARM has shipped +250 Billion cores in 2022 and growing each year.
The growth of open source CPU cores such as RISC-V that can be optimized will drive the requirement of a new generation of CPU core engineers. Customizable Instruction Processors (CIPs) or Application Specific Instruction set Processors (ASIPs) also play a role in the development of systems with custom requirements.
B. Spriggs Office hours: by Zoom appointment
Lectures: T/Th 5:00 PM - 6:15 PM
Prerequisites: Knowledge of C programming, computer organization, and logic design is required.
TA/SA: To Be Announced
Advanced Computer Architecture (ACA) with added Application Specific Instruction Processors (ASIPs) covers the methods and design used to organize and implement a computer system. Bridging the gap from the physical limitations of silicon to human based applications at Google Warehouse scale supercomputers. The material will cover both technical and industry requirements to analyze computer architecture components and performance trade-offs.
Topics will include:
Instruction Set Architectures (ISA)
Simulation Environments
Advanced Memory System:
Memory Protection and Management, Caches
Tightly Coupled Memory
Shared memory, coherence, interconnects
Pipelining and Instruction Level Parallelism
Dynamic Scheduling (out of order)
Branch Prediction, speculative execution
Multicore and Multithread CPUs
Data level parallelism : SIMD and GPU operations
Role of Compilers and Operating Systems
Warehouse scale computing
System Trade-offs: Performance, Power, Price
ARM based CPUs: Application, Real-time, Micro-controllers and Accelerators
Application Specific Instruction set Processor (ASIP) concepts
Course materials include textbooks, papers, lecture slides, project guides, and other online materials and references.
Course Textbook: “Computer Architecture, A Quantitative Approach, 6th edition”
by John Hennessy and David Patterson
PC/Laptop Requirements - A PC (Mac, Windows, or Linux Virtual Machine) will be needed for simulation work.
Homework assignments will include exercises with a CPU architectural simulator, Gem5 or Synopsys ASIP Designer, as well as hands-on single board computer benchmarking and multi-threading, and case study analysis.
The semester based Research Project topic selected by the student teams will allow for exploration of a computer architecture topic of personal interest. This is an open-ended exploration of a computer architecture topic. Student teams will present their results to the class in a final presentation.
The course grade will be based on in-class participation, exercise assignments and quizzes, projects, and exams. Full details will be provided in the class syllabus. The grade proportions are as follows:
20% Homework and Case Studies
20% Research Project (Semester Long)
20% Quizzes
40% Final and Mid-term Exams
A complete description of the honor code can be found here.
To summarize: "Violations of the Honor Code are acts of academic dishonesty and include but are not limited to plagiarism, cheating, fabrication, aid of academic dishonesty, lying to course instructors, lying to representatives of the Honor Code, bribery or threats pertaining to academic matters, or an attempt to do any of the aforementioned violations."