Introduction to CSc 656
About this course
Computer organization (or computer architecture) is the study of the design of computer systems. Even if you are not interested in actually building computer system hardware, good knowledge of architecture and software/hardware interactions are essential for systems programming, compiler development, and writing efficient code in general.
In CSc 310, we built the groundwork for this class by studying in detail the MIPS assembly language instruction set, and examined a simple implementation of a MIPS CPU that supports a subset of the MIPS instructions. In CSc 656, we will focus on pipelining, a technique for high-speed CPU implementation; it is the basis for just about all commercial CPUs today. We will walk through a simple pipelined MIPS implementation, and look at design details and extensions for high performance.
We will also spend a significant part of the course on memory system design,
in particular caches and other standard components of modern memory systems.
We will also touch on current innovative technologies found in recent commercial processors, such as binary translation, instruction set extensions for multimedia, and new memory technology such as SDRAM and Rambus. These topics will be covered in more detail in CSc 856.
About the textbook and reference
The textbook for CSc 656, Patterson and Hennessy’s Computer Organization, is the same book used in CSc 310. In CSc 656, we will cover most of the chapters that were not covered in CSc 310 (i.e., Chapter 2, 4, 6 through 9)
We will also cover a significant amount of material based on the reference, Hennessy and Patterson’s Computer Architecture (3rd edition). For CSc 656, you will not have to buy this book; you will be given handouts for material not included in Computer Organization. However, the reference will be used in CSc 856. If you are a graduate student or planning on taking CSc 856, do consider buying the reference. (I have not ordered it for the SFSU bookstore, but it should be easily available from other university bookstores in the area. Make sure you get the 3rd edition.)
In the next lecture, we will discuss principles of performance and cost (Chapter 2). Then we will move on to a quick review of the MIPS instruction set (Chapter 3). Please review your CSc 310 materials on MIPS programming in the meantime. See all of you on Friday! Bill Hsu