Class Introduction

SMBC comic

First of all, welcome!

Welcome to UC Davis ECS 154B/201A Computer Architecture in Winter 2024! This is the first time we’re combining the undergraduate and graduate courses. I’m looking forward to improving the computer architecture course for both the undergrads and the grad students!

If you would like to see an online-only version of the undergraduate course, you can find my Winter 2021 offering here (https://jlpteaching.github.io/ECS154B/).

My goal with this class is to encourage as much participation and interaction as possible. I learn best from interacting with others. So, I’m going to provide you with as many ways to interact with me, with our TAs (Maryam and Hoa), and each other as possible.

Tests

There will be two tests this quarter. The tests will be after each of the main modules, processor architecture and memory architecture/parallel architecture.

More information on the tests can be found on the syllabus.

Books

Assigned readings

Throughout this course you will find “Reading” callouts. Most modules will have some reading associated with them. These readings provide increased depth and detail beyond the lecture videos and discussions. You will be responsible for the content in these readings which may or may not be covered in lecture videos or discussions.

These readings are split between the 154B section and the 201A section. Examples of how these will appear are shown below.

Reading (154B)

Computer Organization and Design

Sections 1.6 and 1.9

Edition 1

Sections 1.7 and 1.10

Reading (201A)

Computer Architecture: A Quantitative Approach

Sections 1.8-1.10

In rare cases where there is a difference between the two editions of the Computer Organization and Design texts, the reading for each edition will be specified.

ECS 154B textbook

There are two books for this class. The lectures and reading will be from Computer Organization and Design RISC-V Edition: The Hardware/Software Interface by D. A. Patterson and J. L. Hennessy. This book is available on Canvas (for a price via “Equitable” Access). You may also have luck using Google to find the book.

I will be using the Second Edition of Computer Organization, but if you have the first edition, there are only small changes. When or if it is necessary, I will provide the content from the second edition if it is not in the first. In other words, you can buy either edition.

I have also suggested that you get The RISC-V Reader: An Open Architecture Atlas by David Patterson and Andrew Waterman. I find this book to be a very useful reference while developing the DINO CPU. However, all of the information in this book can be found for free in the RISC-V specification although the specification isn’t as easy to read.

ECS 201A readings

For the graduate section, ECS 201A, we will be using Computer Architecture: A Quantitative Approach 6th Edition. John L. Hennessy and David A. Patterson. It’s a very readable book. Also, this is a great textbook to have around if you’re planning on staying in the computer systems field.

There will also be a weekly paper reading for the grad section. You will be required to read the paper and discuss on Perusall. The reading list can be found on Perusall.