January 1999 status report
--------------------------

 From brg Sat Jan  9 10:47:39 1999
 Subject: status of mips project, #2
 To: mconst@csua.berkeley.edu
 Date: Sat, 9 Jan 1999 10:47:39 -0500 (EST)
 
 Here's where the MIPS project is now (Jan 9 1999): 
 
 * Only 6 instructions remain unimplemented: lwcZ, swcZ, lwl, lwr, swl,
   and swr.  (I've never seen these generated or anything, so I'm not
   treating these as a high priority right now.)
 
 * The MIPS emulator successfully runs a kernel-mode insertion sort of 300
   numbers generated by the FreeBSD random() code, successfully executing
   just over 1 million instructions in 2.344 seconds. (Yes, that's pretty
   slow; it runs a little faster if you optimize the code, but not by
   much. I need to work on streamlining the internals somewhat. This may
   result in the entire thing having to be rewritten, but I suspect this
   version is good enough for most classwork...)
 
 * I have written a GNU ld script and a bit of assembly glue to make loading
   ROM images easier.
 
 * Caches remain unfinished, and the TLB remains untested. Also, there still
   aren't any I/O devices, and I want to think about what's a good way to
   implement these. I was thinking about borrowing the idea of the IOASIC
   (a chip which memory-maps a bunch of different registers on a bunch of
   different chips) from the DECstation, and implementing a virtual 4-port
   serial interface as the first thing. By default I would probably choose
   the Zilog serial chip, but if you have any other recommendations...
 
 * I also eventually want to think about writing a virtual VGA board
   for the simulator, as well, which would display itself in an X window. I
   know these ASICs aren't things you would find in any earthly DECstation,
   but I started to think about what you'd really want in a simulator, and
   I thought it might be nice to emulate things students might actually
   see in real life -- this would favor the generic VGA board over the
   DECstation Turbochannel PMAG-B frame buffer and its brethren, which
   I think it's universally accepted are strange, hairy, undocumented
   beasts indeed...
 
 * Another thing to implement, eventually, would be a MIPS R3010 FPU. I 
   can't say I'm looking forward to this.
