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.

  1. The course directory contains all course homework, handouts, and the syllabus. The syllabus contains the required readings in the textbook.
  2. The course directory includes a help directory.
  3. 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.
  4. 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.
  5. Portions of the rest of the text CD are also available online (requires CCIS UNIX password).
  6. 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.
  7. 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:

  1. provide pointers to scripts that install the LiveCDs to hard disk;
  2. provide pointers to full Linux distributions that install to hard disk (harder to configure properly than LiveCDs, but much more software)
  3. provide pointers to help with Linux issues (e.g. Crew and in-class volunteers)

===============================

XSPIM simulator for MIPS Assembly

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.

===============================

News of recent or soon-to-be new technologies


Newest Generation CPUs

(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.)