Apr. 3
Full lab schedule:
Monday: 9:15 -- 10:15, and 12:00 -- 1:30
Tuesday: 12:30 - 1:30 and 5:15 -- 6:15
Wednesday: 9:15 -- 10:15 and 1:00 -- 2:00
Thursday: 12:00 -- 1:30
Friday: 9:15 -- 10:15
Mar. 23
How to read files in different formats:
Click here.
Mar. 23
How to link to course info - it's not on the Web:
When logged in to one of the Unix machines:
cd $HOME cd .www ln -s /course/com1130 com1130
To get experience working at that interface, we make choices: our hardware is the MIPS family of chips; our software is in MIPS assembly langauge, and in C.
Modern computer technology requires professionals of every computing specialty to understand both hardware and software. The interaction between hardware and software at a variety of levels also offers a framework for understanding the fundamentals of computing. Whether your primary interest is computer science or electrical engineering, the central ideas in computer organizations and design are the same. Thus, our emphasis in the book is to show the relationship between hardware and software and to focus on the concepts that are the basis for current computers.
...
The performance of future software systems will be dramatically
affected by how well software designers understand the basic hardware
techniques at work in a system. Thus, compiler writers, operating
system designers, database programmers, and most other software
engineers need a firm grounding in the principles presented in this book.
- from the first page of the textbook(page xix)
1. Students are expected to attend classes regularly, to be on time, and not to leave the classroom before the class is over.
2. Weekly labs: these will be held in 201 Cullinane. More information about them will be posted later.
2. Readings, exercises, quizzes, four (small) programming assignments, one exam, and a final.
By the end of the quarter, you should know:
what operations the chip can perform
what data structure represents each of those operations
how the hardware decodes each operation, and carries it out
all operations are carried out by doing boolean algebra on single bits
how all this affects performance
how to write small programs in assembly language
2. You'll need a reference for C. We require:
Brian Kernighan and Dennis Ritchie.
The C Programming Language: Second Edition.
Prentice Hall, 1988.
Sometimes referred to as the New Testament;
commonly called K&R.
Readings from this will be assigned, but you may be able to avoid buying the book. The readings will be short, perhaps 5 to 20 pages; you may be able to keep up by using the copy on reserve in Snell library.
3. The course Xerox packet, from Gnomon Copy, which is just across Huntington Avenue, and a 3-ring binder to hold it, along with other handouts. If I put the right refernce materials in the packet, you can use it when you're doing homework or programming, rather tha lugging the heavy textbook around.
Randal E. Bryant and David O'Hallaron.
Computer Systems: A Programmer's Perspective.
Prentice-Hall, 2002.
A strong emphasis on optimizing performance, and
a way of seeing programs run on real machines.
Yale N. Patt and Sanjay J. Patel.
Introduction to Computing Systems: From Bits and Gates
to C and Beyond.
McGraw-Hill, 2001.
The title says it: start from transistors and logic gates,
and work through the design of a tiny, but real,
machine, and arrive, bottom-up, at C programs.
Andrew S. Tanenbaum.
Structured Computer Organization.
Prentice-Hall: 1999.
Also a bottom-up approach: start with digital logic
and end with assembly language.