CSE 351: The Hardware/Software Interface, Winter 2011
  CSE Home   About Us   Search   Contact Info 
 
Course Home
  Home
Administation
  Overview
  Course email
  Anonymous feedback
  View feedback
 
Assignment Utilities
  Home Virtual Machines
  Homework Turnin
  Class GoPost Forum
  Gradebook
 
Most Everything
  Schedule
   

Reading Guide to Chapter 4

General Guidelines

We're going to cover the essential ideas of processor architecture - how processors are built, at a logical level. Our goal is to end up with a reasonably accurate mental model of instruction execution by the hardware, with the main point being that although the operation of instructions is defined by the ISA as though the hardware executes one instruction to completion before beginning the next one, the implementation achieves these semantics while managing to execute instructions in parallel (more than one at a time). Parallelism is important beyond the topics of this course, and the material we will cover will serve as an introduction to it, something that should be useful no matter what direction you take in computing.

What we're not trying to do is prepare you to design and implement a processor. (That's a very interesting topic. I highly recommend CSE 352!) That means we will not try to cover all the material in Chapter 4.

In particular, we are going to do our best to ignore:

  • HCL, a hardware design/implementation language
  • how control of the datapath is implemented (which is expressed in HCL) - we'll just assume that control has been built and works.
  • many "little details" of the datapath, as these aren't relevant so long as we believe control can be built.
  • some other topics that show up in this chapter, as we'll be covering them a little later (e.g., exceptions and the details about the interface to memory).

The text mixes the things we're ignoring with the things we're not ignoring. This guide will try to help untangle that for you. One reasonable approach, though, is to use the text as a reference - go to it to find information that might help answer a question you have about material from lecture or section, but don't ever try to read the chapter all the way through. Another (preferable) approach is to skim the chapter, perhaps concentrating primarily on the pictures (!), and even then ignoring the details of the picturers. Finally, and most preferably, there is the more detailed reading described next.

Detailed Guide

Section 4.1: Skip 4.1.4.

Section 4.2: Figures 4.9, 4.10, 4.11, 4.12, 4.13, 4.15, and 4.16 should make sense to you. You don't need to know anything about HCL. I think the boolean expressions given in the text for some of the circuits in the figures could help explain why the circuits work, but I'd think of that as a reference (meaning, to be read as needed) rather than essential (for this course).

Section 4.3:
Section 4.3.1: Page 364 and the first half of 365 should be useful.
Section 4.3.2: You should understand Figure 4.22. Figure 4.23 is a more detailed view of the same thing. You should understand (a) the general sense of what the details are filling in (that's missing in Figure 4.22), and (b) that these details can be worked out by someone (not you), resulting in a working processor.
Section 4.3.3: I think all of this should be intelligible.
Section 4.3.4: Can be skipped entirely.

Section 4.4: All of it is useful.

Section 4.5: Sections 4.5.1-4.5.8 are useful and should be readable. Sections 4.5.9-10 can be skipped. Section 4.5.11 has useful information, but might not be covered in this course. Section 4.5.13 can be skipped.

Section 4.6: It's the summary...


Computer Science & Engineering
University of Washington
Box 352350
Seattle, WA  98195-2350
(206) 543-1695 voice, (206) 543-2969 FAX
[comments to zahorjan at cs.washington.edu]