On 31 Dec 2008 at 17:03, Jim Battle wrote:
I remember reading a computer architecture book back
in the early/mid 80s, I think it was
by Stone. The subject was "advanced" architectures. One section described on
attempt to
build a timesharing system for running a BASIC-like subset, and everything was hardwired
-- parsing was via gate-level state machines, not microcode. The intended audience was
college-level computer classes. As I recall, they gave up after getting a simplified
version going.
Such efforts seemed to me almost always to come from the university
environment. In the commercial setting, languages didn't seem to
matter as much (unless they were mandated by goverument contract). I
haven't the faintest idea how many different anguages that I've had
to learn during my life, but it's been a lot.
The nice part is that now I forget them as easily as I learned them.
The exposed pipe hazards weren't the real issue.
The problem was exceptions. In certain
states, there was no simple way to restore the pipe, so the interrupt handler had to
detect when one of those bad cases existed, then nudge the state along one instruction at
a time until it go to a point where it could restore the state fully and really return
from the interrupt.
I never saw it, but I heard the return from interrupt code was a couple thousand lines of
tricky assembly.
I'd heard that the latency of interrupt servicing could vary wildly,
which meant that the most successful i860 applications were those
where no interrupts or context switches were required. The MS
implmentation of NT must have been a riot to use. Did any copies
ever make it out of Redmond?
I have the Margulus (sp?) book on the i860. I remember initially
being very interested but noticing that I seemed to develop a
headache every time I picked the book up to read it. Just found the
book on my bookshelf, opened it and now my head hurts. I guess the
book still works.
Cheers,
Chuck