Skip to main content

Computer Systems Design for Energy Efficiency

Learn how to design modern computers to improve the speed, performance and energy efficiency of your programs.

This course is archived
Estimated 6 weeks
4–6 hours per week
Instructor-paced
Instructor-led on a course schedule
Free
Optional upgrade available

About this course

Skip About this course

In order to be competitive in the computer science field, it’s imperative to understand the basic building blocks of a modern computer and how they directly impact the speed and efficiency of a program. Whether you work with embedded systems, mobile computer-based systems, or cloud systems, performance and energy efficiency are key drivers of usability and competitiveness of computerized products.

In this course, you will learn how to design modern multicore-based computers, and how the design choices you make affect performance and energy consumption. You will explore design principles governing modern microprocessors, such as pipelining and cache memories, as well as methods for determining the impact of your design on execution time and energy efficiency.

These skills can make a difference for practicing engineers for the purpose of building highly competitive products. Take, for instance, a smartphone with limited battery capacity. By adding value to end users through new or improved functionality, this can lead to significantly shorter operation time between battery charges, thus utilizing the already limited resources of a smartphone far more efficiently.

With this skillset, you can become an expert in computer system performance and energy efficiency - knowledge that is in high demand when designing computerized embedded products. With trends towards IoT (Internet of Things), autonomous systems and mobile computers, such a skillset will be critical in a career in systems engineering.

This course is derived from a Chalmers senior undergraduate course in computer system design.

At a glance

  • Institution: ChalmersX
  • Subject: Computer Science
  • Level: Intermediate
  • Prerequisites:

    This course addresses students/professionals with a general understanding of programming computers, but with no prior knowledge of how a computer works.

  • Language: English
  • Video Transcript: English

What you'll learn

Skip What you'll learn
  • Design concepts in modern multicore-based computers including processors and memory hierarchies
  • How energy efficient and fast a program will execute
  • How to use simple models to analyze energy efficiency and performance
  • How taught design concepts are used in modern multicore-based computer systems

Week 1: Execution model of computer systems

  • The transformation hierarchy
  • Instruction set architecture
  • Execution stages
  • Control, data paths, and a model of a computer
  • Execution of a program
  • Put it all together

Week 2: Performance and energy models of computers

  • Basic performance model of an executing program
  • Energy and power consumption in computer systems
  • Basic energy model of an executing program
  • How performance and energy can be improved
  • Reporting performance and energy
  • Put it all together

Week 3: Pipelining principles

  • The principle of the conveyor belt – pipelining
  • Instruction level parallelism and its relation to pipelining
  • A pipelined model of a computer
  • Pipeline hazards (structural, data and control)
  • Simple techniques to avoid hazards
  • Put it all together

Week 4: Cache memory hierarchy principles

  • Memory system basics
  • The memory locality principle
  • Basic notion of cache memory and a direct mapped cache
  • Set-associative caches
  • Multi-level caches
  • Put it all together

About the instructors

Who can take this course?

Unfortunately, learners residing in one or more of the following countries or regions will not be able to register for this course: Iran, Cuba and the Crimea region of Ukraine. While edX has sought licenses from the U.S. Office of Foreign Assets Control (OFAC) to offer our courses to learners in these countries and regions, the licenses we have received are not broad enough to allow us to offer this course in all locations. edX truly regrets that U.S. sanctions prevent us from offering all of our courses to everyone, no matter where they live.

Interested in this course for your business or team?

Train your employees in the most in-demand topics, with edX for Business.