| section | class times | mid-term exam | final exam study guide |
| CSci281A Assembly Lang Comp Arch |
_M_W_F_ 1200-1250 TH322
_T_____ 1230-1320 TH322 |
Oct 14 | Dec 14 (Wednesday ) 12:00pm-2:00pm |
"Computer architecture" is best defined as the aspects of a computer design visible to the assembly language programmer. At the minimum this includes reference to instructions, registers, memory organization, and peripheral access, but may also cover internal busses, common peripherals, etc. That's why "assembly language programming" appears in the description. All the rest helps us understand what's going on inside the machine.
In broad terms, this class will look at where we are, how we got here, and where we may go with respect to computer architectures. The evolution of the electronic computer has been driven by demands for more speed and smaller size. (It's fortunate that smaller size generally supports greater speed, but other, more subtle, tricks are used as well. These tricks often affect how we program the computer.) This evolution has had many side tracks and a few retreats, the study of which can illuminate a possible underlying grand scheme.
We shall examine in detail one of the current best performing architectures, SPARC, one of the most widely distributed microcomputers, 8052, and the Java Virtual machine. In addition, we will take brief looks at a number of other architectures such as the DEC/Compaq/HP Alpha, HP PA-RISC, and Intel Itanium to provide contrasting perspectives.
| Aug 29 | - Sep 2 | Chap 1 - Introduction |
| Sep 5 | - Sep 9 | Chap 2 - Computer Systems Organization |
| Sep 12 | - Sep 23 | Chap 3 - Digital Logic Level |
| Sep 26 | - Oct 14 | Chap 4 - Microarchitecture Level |
| Oct 17 | - Oct 28 | Chap 5 - Instruction Set Architecture Level |
| Oct 31 | - Nov 4 | Chap 6 - Operating System Machine Level |
| Nov 7 | - Dec 2 | Chap 7 - Assembly Language Level |
| 2005/09/07 | Error correcting code example | |
| 2005/10/26 | Hello World | |
| 2005/10/26 | Simple Functions |
| Asgn 1 | Circuit Design | Due: 2005/09/23 | HTML PDF | |
| Asgn 2 | Microcoding | Due: 2005/11/04 | HTML | |
| Asgn 3 | Instruction decoding | Due: 2005/11/16 | HTML | |
| Asgn 4 | Assembly program 1 | Due: 2005/11/18 | ||
| Asgn 5 | Assembly program 2 | Due: 2005/11/29 |
Programming is not just about writing syntatically correct programs which compute the correct results. It is also about writing commentary and other documentation which will help others understand what you're doing. (This matches one of the University goals which emphasizes "the ability to communicate clearly and effectively".) Therefore you will also be expected to write clearly. Spelling, grammar, and style count.