Web Resources for CS U380, Section 2
(Computer Organization)
Instructor:
Gene Cooperman
Fall, 2007
Course basics:
Here are some immediate resources in the course for doing homework, following
the readings, etc.
- The course directory contains all course homework,
handouts, and the syllabus. The syllabus contains the required
readings in the textbook.
-
The course directory includes a help directory.
-
Please also note the directory for
UNIX editors.
You will need to login to a UNIX machine to use these.
They are in /course/csu380-gc/unix-editors.
-
Appendix A from the text CD is also online
(requires CCIS UNIX password).
It is the manual for
MIPS Assembly language. Read it, and re-read it.
- Portions of the rest of
the text CD are also available online
(requires CCIS UNIX password).
-
Some help files for UNIX and its compilers,
editors, etc. are also available.
As you use UNIX, please look into using gdb
(GNU debugger), which will help you greatly in debugging. This will
help when you test your homeworks on our UNIX machines.
-
If you use Windows, there is a free, open-source IDE (Integrated
Development Environment) for C/C++,
Dev-C++.
Homeworks must be handed in using C, but this is a subset of C++.
When your code works, you must still test it under UNIX:
gcc myfile.c; ./a.out
If it doesn't work on our UNIX (Solaris) system, it will be graded
as not working.
Linux (optional):
Many students have expressed interest in Linux in the past. Linux is
a fast growing operating system with
high
demand from IT. I have
a Linux web page,
with basic information. For those who are interested, we will:
- provide
pointers to scripts that install the LiveCDs to hard disk;
- provide
pointers to full Linux
distributions that install to hard
disk (harder to configure properly than LiveCDs, but much more
software)
- provide pointers to help with Linux issues (e.g.
Crew
and in-class volunteers)
Certain assignments will be using xspim, a graphic simulator
for the MIPS instruction set. It allows you to load a MIPS assembly
language and single-step through it, or run the entire program,
while watching the registers change. I will support the xspim
program running on the UNIX machines at CCS. (The command is xspim.)
If you prefer, you may
download a copy for a Linux, PC, or Macintosh computer.
Other alternatives are (1) to use ssh from another Linux/UNIX machine to
connect to a CCS computer, and then execute xspim at CCS. (The window
will display locally, but in slow motion.); or (2) to login to a
CCS machine and use spim, a text-oriented version.
Note that Appendix A of your text provides documentation for xspim
and also for the MIPS
assembly language (along with the inside back cover, and Chapter 3.).
Note also that Figure A.9 (page A-44) is a table of system calls,
that allow your assembly program to print using xspim.
There are two common "gotcha's" for new users of xspim.
- 1.
- When you want to re-load a program into xspim, first hit <clear>
and then choose to clear memory. Otherwise, you will be loading a second
copy of your program into memory after the first copy, and without
re-initializing the program counter.
- 2.
- In your assembly source code, make sure that the the file ends with a
newline. If you use emacs, emacs tends to add an extra tab on the
next line after you type <newline> (so as to prepare for the next
assembly instruction). You'll have to check that before saving.
(This portion has not been updated since last year. It will grow
during the semester. For example, the question about 64-bit CPUs
has now become an absolute standard, and dual-core processors
are now the latest thing.)
- Intel chips
- AMD chips
- IBM POWER4 and POWER5