Welcome to the EENG 449bG/CMSC 439bG website. This site will be updated throughout the duration of the course so refer back to this on a regular basis to receive updates on the course.
Instructor: Andreas Savvides
Office Location: AKW 212
Tel. (203)432-1275
email: andreas.savvides@yale.edu
Office Hours: Friday 1:00 - 2:00pm
Textbook: Computer Architecture A Quantitive Approach,
John L. Hennesy and David A. Patterson, Morgan Kaufmann, Third Edition
Note: The textbook is also in the Engineering Library
reserves. You can borrow it from there for 2 hours each time.
Teaching Assistant: Sobeeh Almukhaizim
email: sobeeh.almukhaizim@yale.edu
Office Hours: Monday 2:00pm - 3:00pm, Wednesday 6:00pm - 7:00pm
This course examines the organization of computer systems as hardware and software systems. It provides an introduction to the core concepts of computer design including datapath architectures and control, pipelining, memory hierachies and storage systems. In addition to the core design concepts the class also looks at the broader issues of designing computer systems, by examining how hardware and software come together. These concepts are illustrated by examining architectures and protocols of a new generation of tiny networked computing devices from the domain of sensor networks.
This class is similar to CS252 taught by Professor David Culler at UC Berkeley in Spring 2003 and Spring 2002. The material is slightly modified to accommodate undergraduate participation, but I strongly encourage you to browse through the CS252 pages to get a flavor of the type of projects we will be doing in this class. Some of the projects are listed here.
Project ideas for this semester will be discussed during the second and third classes. By the second week you need to form groups of 2 and work together on the projects during the semester.
Lecture 1 Introduction, January
13, 2004 Reading for Lecture 1, Patterson and Hennesy
Chapter 1
Chapter 1 is available online from the publisher at http://books.elsevier.com/companions/1558605967
Lecture 2 Instruction Set Architectures,
January 15, 2004 (Sections 2.1 - 2.12 of textbook)
Additional Reading: Choosing
a DSP Processor, an article from Berkeley Design Technology, Inc that highlights
the features of DSP processors, some of which we have discussed in
class during lecture 2.
Lecture 3 MIPS Instruction Set and
Introduction to Pipelining, January 20, 2004.
Note: HW1 is out, due Feb 5 at the beginning of
class
Lecture 4 Pipelining Part II, January 22, 2004
Lecture 5 Dynamic Scheduling and Overview of ARM Microprocessor Architecture
Lecture 6 Reading for lecture 6 J. Pouwelse, K. Langendoen, H. Sips, "Dynamic Voltage Scaling on a Low Power Microprocessor", Proceedings of Mobicom 2001, Rome, Italy, August 2001. Also for embedded programming basics read: Get By Without an RTOS by Michael Melkonian
Lecture 7 Embedded Programming Overview. Read the article by Melkonian listed in Lecture 6!
Lecture 8 Lab meeting and project discussions
Lecture 9 Embedded Processor
Programming - Overview of the Development System, Tools, Lab Setup and
FAQ, Feb 10, 2004
Check out the programming samples and information here
Lecture 10 Instruction Level Parallelism I, Reading Chapter 3, pages 172 - 196 of text, Feb 12, 2004
Lecture 11 Instruction Set Parallelism II, Feb 17, 2004
Lecture 12 Midterm and Projects Discussion, Feb. 26, 2003
Lecture 13 Instruction Set Parallelism III, March 2, 2004
Lecture 14 Tutorial information on projects - Check here
for the ARM_THUMB port of PALOS that includes the UART driver.
A sample project demonstrating the PIO example and UART usage has been placed in
the OKIAPP directory
Sample code for
accessing the serial port from the PC - this code can be compiled
using Visual C++ available on the lab PCs.
Lecture 15 Software ILP, March 23, 2004
March 25 - No lecture, individual group meetings and project discussions
Lecture 16 Software ILP: Hardware Support for Compile-time ILP and Itanium Architecture
Lecture 17 Memory Hierarchy Design, Part I
Lecture 18 Memory Hierarchy Design, Part II
Lecture 19, Memory Hierarchy Design, Part III, Memory technologies
Here are the links to the presentations from Friday Janurary 30, 2004
Introduction to DSP - a website of a company offerting DSP courses. This site provides a nice collection of information and definitions about DSP processors.