[HECnet] DU11 vs. DUV11

Johnny Billquist bqt at softjar.se
Sat Jan 5 17:59:35 PST 2013


On 2013-01-06 02:46, Brian Schenkenberger, VAXman- wrote:
Johnny Billquist <bqt at softjar.se> writes:

{...snip...}
One of them is a simple optimization for the PDT-11. It's not strictly
neccesary, but apparently DEC thought the time gain was enough to make
it worth exploiting. Code looks like this:

                .IF DF   L$$SI1

                MOVB       @(R5)+,-(SP)       ;;; COPY CHARACTER FOR WORD MOVE
  MOV         (SP)+,(R4)           ;;;   (SAVES 85 USECS ON PDT-11)

                .IFF       ; DF L$$SI1

                MOVB       @(R5)+,(R4)         ;;; OUTPUT A CHARACTER

                .ENDC     ; DF L$$SI1

OK, I'll bite.   Why is moving a character in the deferred location in
R5 to the stack and then, from the stack to the address in R4 faster
than just going from the deferred R5 location to the R4 address?

I'll have to make a guess, since I don't have the hardware, nor have I checked if any documentation at that level can be found anywhere.

But it seems very likely that it's the byte write that is the problem. That becomes a read-modify-write cycle on the bus, since everything on the bus is accessed as words. And accessing the DUV-11 on a PDT-11 is extremely slow. Just guessing, mind you...

	Johnny

-- 
Johnny Billquist                                   || "I'm on a bus
                                                                  ||   on a psychedelic trip
email: bqt at softjar.se                         ||   Reading murder books
pdp is alive!                                         ||   tryin' to stay hip" - B. Idol



More information about the Hecnet-list mailing list