Path: utzoo!utgpu!jarvis.csri.toronto.edu!rutgers!mcnc!rti!bcw From: bcw@rti.UUCP (Bruce Wright) Newsgroups: comp.sys.dec Subject: Re: PDP-11 MOVB instruction: correction Summary: Q-BUS != UNIBUS !!!!! Message-ID: <3078@rti.UUCP> Date: 15 Jul 89 03:33:34 GMT References: <396@decus.com.au> Organization: Research Triangle Institute, RTP, NC Lines: 50 In article <396@decus.com.au>, caffin@decus.com.au (Roger) writes: > Re: PDP-11 MOVB instruction > > Standard PDP-11 interface design is such that the decoding of the bus signals > will generate either a BYTE write OR a WORD write signal. There is a specific > signal for this: BWTBT. "It is asserted during BDOUT (in a DATOB bus cycle) > for byte addressing." (DEC specifications.) The best place to see this is in > the DRV-11 circuit diagrams, or in the DCK chip specifications. If you do it > any other way, that's your decision, and NOT in accord with the PDP-11 > architecture. A long time ago in a country far, far away there was a computer manufactured with a bus known as a UNIBUS. Because computer technology there was then in such a primitive state, numerous corners were cut (even by the manu- facturer of said computer). Seriously, the problem that causes this botch is only likely to be found on a UNIBUS machine. Such a bus does not look like the more modern Q-BUS. As I had mentioned in my previous posting, it is UNLIKELY that you will encounter the problem in hardware produced post-1980, but there is still a surprising amount of 1970's PDP-11 hardware floating around. Yes, even DEC hardware produced then often did not meet the "official" specs. It's pretty amazingly primitive by modern standards. (DCK chip? You mean that the communication with the bus can be done in ONE chip instead of the double handfull we're using now?? Must have several dozen gates at least! :-) :-) :-) (BTW, a DRV11 is a Q-BUS device ONLY. The analogous UNIBUS device is a DR11 -- many varieties existed. I don't know offhand if any of them had this problem). For what it's worth, this was known around 1976-1977 at least in the PDP-11 systems community. I have *seen* this problem more than once and know at least one person who was asked about this subject when he interviewed with DEC during that time frame (he gave the correct answer that some devices would not handle the byte reference properly and that the result turned out to be a sign extend on the processors then in use - his interviewer made the comment that not everyone seemed to be aware of this). I can certainly understand that this whole topic is something of a historical curio -- it isn't a problem with modern hardware and hasn't been for quite a while. But as I mentioned in the previous article, if you produce commercial software you can't necessarily know what kind of ancient hardware will be subjected to your program, and in that case it's better to be safe than sorry. I'd recommend writing words rather than bytes to any type of device which had some version that existed during the 1970's (especially the early 1970's). Bruce C. Wright