Lecturer's notes for CS210 Part 2, lecture 2, 20Apr07 Here are my notes for the lecture on Tuesday, 20Mar07. I apologize that I was unable to make my slides available in class. I have put them up also, but they are not entirely appropriate, since I adapted to the circumstances and changed my lecture topic somewhat. You are responsible for all material that I cover in lectures and include in my slides and notes. Regarding additional reading material for part 2 of CS210, you are responsible for the first 13 chapters of the lecture notes entitled, "The Alpha Computer Architecture," by Dr. Bruce Hutton. Most of my lecture material is covered in these notes, but not in the same order. Most of my lecture material for this week (lectures 2-4) is based on chapter 2 of the notes. You should read chapter 1 soon. Don't worry about all the details. I will assume you have read it for my lectures, but the things I don't mention will not show up on the test or exam--test and exam questions will have been covered in the lectures. The Alpha architecture Digital Equipment Corporation (DEC--once the second largest computer manufacturer in the world) designed the Alpha as a replacement for the highly successful VAX introduced in 1976 (itself a replacement for the highly successful PDP-11 stemming from the 1960s). Unfortunately, the Alpha architecture, while elegant in design and very fast, arrived too late to market, and never captured a significant share. DEC was bought by Compaq in 1998, and rights to the Alpha were sold to Intel in 2001. No new versions have emerged since that time, and none are expected, though many would like to see it revived. The Alpha was designed with the goal of lasting 25 years. While the architecture likely will be viable 25 years after its introduction, issues other than the architecture resulted in its early demise. Versions announced: 21064 (EV-4): 1992 21164 (EV-5): 1994 21264 (EV-6): 1998 21364 (EV-7): 2002 Saliant features of the Alpha architecture Four principal kinds of instructions: 1. Arithmetic/Logical 2. Control 3. Memory: Load & Store 4. Special 1. "Assignment" functions: arithmetic/logical: add, sub, mul, shift, and, or, not, invert Three operands: 2 source, one destination Example: add A, B, C What if result is not representable (can that happen?)? What should happen? Overflow! Special case: multiply: result may be twice as long as multiplier/multiplicand Arithmetic Add (Addl, S4Addl, S8addl) Sub (Subl, Subq) Mul (Mull/Mulq x Umull/Umulq) (No divide)