The fascinating discussion Jim just started on buses got me thinking again about a book I've been trying to track down for a while. While it's not necessarily classic-computing-oriented, it's not really about newfangled computers either; heck, I encountered it in 2003 or so, so it'd be pretty dated by now.
Basically, I'm looking for a certain book (although really any book in the same vein would satisfy), which was on computer system architecture, organization, etc.; it talked about the usual boolean logic, assembly programming in some fictitious instruction set, an overview of two actual architectures (I think at that time they were 32-bit x86 and 64-bit POWER). The other thing I remember very specifically was there was a place near the back (probably an appendix) that talked about one or more specific buses (I think at least PCI was there), with timing diagrams to tell you what was actually going back and forth between the bus and CPU. Like I said, I'm sort of keen on finding the exact book I had, but I realize that's somewhat unrealistic, so I'm open to recommendations on any book like that. And if it can cover the relavant concepts for both classic and newish computers, that would be great. Basically what I hope to learn is how you actually deal with peripherals, add-in cards, etc., on the assembly language level, and what that really translates into on a signaling level. I only really know a little about how to do that in memory-mapped IO systems like the Commodores (and to be honest I don't understand how the buses work there, just how to poke and peek.) Thanks! -- Eric Christopherson