Fundamentals of Computer Architecture

About this course: This course introduces several topics for the learners about the fundamentals of computer architecture. After completing this course, the students will have the basic knowledge of: • Computer Performance and Benchmarks • Summarizing Performance • Amdahl’s law • Introduction to Embedded Systems Learning Outcome: • After completing this course, the learners will have the tools to evaluated different computer architectures as well as the software executing on them. • The learners of this course will have knowledge about modern microprocessors and the design techniques used to increase their performance. Skills Gained: • Basic skills to evacuate the performance of computer systems

Who is this class for: This course is meant for first year Master students in Electrical Engineering or Computer Science. Note that as a consequence, quiz questions are more like exam questions where you have to construct the answer based on the principles that are taught in the web lectures, rather than to recall the literal text of the teacher.

Created by:   EIT Digital
  • Juha Plosila
    Taught by:    Juha Plosila, Associate Professor
    Information Technology
How To PassPass all graded assignments to complete the course.
User Ratings
Average User Rating 4.4See what learners said
This week we first present a definition of computer architecture and the overall objectives of this specialization. Then we will learn how to measure and summarize performance, and about Amdahl's famous law. Finally we will give an introduction to embedded systems.

8 videos2 readings3 readings
  1. Video: Introduction
  2. Video: Performance Measurement
  3. Video: Benchmarks & Summary
  4. Practice Quiz: Fundamentals
  5. Video: Summarizing Performance
  6. Video: CPU Performance Equation
  7. Practice Quiz: Understanding Performance
  8. Video: Amdahl's law
  9. Video: Amdahl's examples and design principles
  10. Reading: Gustafson's Law
  11. Reading: Weak and Strong Scaling
  12. Video: Introduction to Embedded Systems
  13. Practice Quiz: What is an embedded system?
Graded: Fundamentals of Computer Architecture and Introduction to Embedded Systems
ISA Design and MIPS64
The set of instructions supported by a processor is called its Instruction Set Architecture (ISA). This week we will learn the MIPS64 ISA, which will be used for code examples throughout this specialization. We will also learn some basic code optimizations that reduce the number of instructions.

4 videos1 reading
  1. Video: Highlights of MIPS64 Architecture
  2. Video: Addressing Modes and Instruction Formats
  3. Video: MIPS64 Operations
  4. Reading: MIPS 64 Overview
  5. Video: Basic Code Optimizations
Graded: MIPS64 and Optimizations
Review of Pipelining
This week we will learn about pipelining, which is a technique that overlaps the execution of several instructions. Pipelining is a key implementation technique to make CPUs fast. Using the canonical 5-stage pipeline for illustration, we will learn about pipelining hurdles called hazards and how they can be solved.

12 videos
  1. Video: Pipelining Principal – Real-World Example
  2. Video: Canonical 5-Stage Pipeline
  3. Video: MIPS Pipeline Features and Pipeline Hazards
  4. Video: Structural Hazards & Data Hazards
  5. Video: Load-Use Data Hazard
  6. Video: Control Hazards
  7. Video: Pipeline Hazards
  8. Video: Deal with Branch Hazard
  9. Video: Scheduling Instructions for Branch Delay Slots
  10. Video: Summary of Module
  11. Video: Exercise
  12. Video: Branch Delay and Pipelining Summary
Graded: Pipelining
Multicycle Operations and Pipeline Scheduling
This week we extend the canonical 5-stage pipeline with multicycle operations; operations that require multiple cycles to execute. Thereafter we learn how instructions can be scheduled in order to reduce the number of pipeline stalls. 

9 videos
  1. Video: Multicycle Operations
  2. Video: Challenges for Longer Pipelines
  3. Video: MIPS R4K Pipeline
  4. Video: Multicycle Operations
  5. Video: Code Example and Pipeline Assumptions
  6. Video: Scheduling to Reduce Stalls
  7. Video: Loop Unrolling and Summary
  8. Video: Module Summary
  9. Video: Pipeline Scheduling
Graded: Multicycle Operations & Pipeline Scheduling
Cache Basics
To bridge the gap between processor speed and memory speed, modern processors employ caches. Caches are high-speed memories that contain recently used code and data. This week we will learn the basics of caches (how they are organized, how data is found in the cache, etc.). In addition, we will learn the average memory access time (AMAT) equation as well as 5 basic cache optimizations that aim at reducing the AMAT.

10 videos
  1. Video: Caches and the Principle of Locality
  2. Video: Direct Mapped Cache Organization
  3. Video: Hit or Miss example
  4. Video: Cache Basics
  5. Video: Cache Metrics and Improving AMAT
  6. Video: Basic Optimizations to Improve Miss Rate
  7. Video: Cache Equations for Set-Associative Caches
  8. Video: Reduce Miss Penalty by Multilevel Cache
  9. Video: Give Priority to Read Misses
  10. Video: Cache Optimizations
Graded: Cache
How It Works
Each course is like an interactive textbook, featuring pre-recorded videos, quizzes and projects.
Help from Your Peers
Help from Your Peers
Connect with thousands of other learners and debate ideas, discuss course material, and get help mastering concepts.
Earn official recognition for your work, and share your success with friends, colleagues, and employers.
EIT Digital
EIT Digital is a pan-European education and research-based open innovation organization founded on excellence. Its mission is to foster digital technology innovation and entrepreneurial talent for economic growth and quality of life. By linking education, research and business, EIT Digital empowers digital top talents for the future. EIT Digital provides online "blended" Innovation and Entrepreneurship education to raise quality, increase diversity and availability of the top-level content provided by 20 reputable universities of technology around Europe. The universities all together deliver a unique blend of the best of technical excellence and entrepreneurial skills and mindset to digital engineers and entrepreneurs at all stages of their careers. The academic partners support Coursera’s bold vision to enable anyone, anywhere, to transform their lives by accessing the world’s best learning experience. This means that EIT Digital gradually shares parts of its entrepreneurial and academic education programmes to demonstrate its excellence and make it accessible to a much wider audience. EIT Digital’s online education portfolio can be used as part of blended education settings, in both Master and Doctorate programmes, and for professionals as a way to update their knowledge. EIT Digital offers an online programme in 'Internet of Things through Embedded Systems'. Achieving all certificates of the online courses and the specialization provides an opportunity to enroll in the on campus program and get a double degree. These are the courses in the online programme:

No comments:

Post a Comment