CS 251 - Computer hardware

This time was with Omid, who is passionate about his IoT. He mentioned his results several times during lecture to inspire students.

The course was still like that… First, it covers some basic architecture, then how MIPS instructions are processed in an extremely low level architecture. Finally, covers some memory stuff: cache, TLB and so on.

The tips are:

  • go to lectures
  • do assignments and understand all problems
  • exams are extremely similar to assignments

If you really find this course boring, you might want to consider courses from engineering faculty with similar topics, like ECE 222. They will be able to substitute cs 251 with two engineering hardware courses, which are, of course, more structured and interesting.

Below are the resources.

Similar Course in washington

MIPS Quick Tutorial (deprecated)

CS 251 saviour (deprecated)


Note that from FALL 2019 (inclusive), cs251 no longer teaches MIPS. Instead, ARM will be used, which is similar to MIPS. Later in the future, cs 241 will also make changes, and so will cs350 later… Below it’s a brief introduction to ARM from cs 251 website:

This document is meant as a brief introduction to the ARM assembly (the Patterson and Hennessy book uses a subset of ARM that they call “LEG”; we’re really reviewing a subset of LEG here, but we’ll refer to it as “ARM”). Some parts of how the ARM instructions execute have been simplified, so this document should not be considered a definitive source for ARM. Chapter 2 of the course text describes ARM in more detail, and shows how to convert C-code into ARM assembly. You should probably read Chapter 2; however, you will not need to know the ARM language in the amount of detail given in Chapter 2 for CS 251, and the ARM described in this document is sufficient to complete Assignment 0.

Facebook comments are disabled as my account has been hacked (as of Nov. 24 2023)...