70's computers
    Paul Koning 
    paulkoning at comcast.net
       
    Tue Oct 23 18:53:33 CDT 2018
    
    
  
> On Oct 23, 2018, at 7:08 PM, Noel Chiappa via cctalk <cctalk at classiccmp.org> wrote:
> 
>> From: Ben Bfranchuk
> 
>> I just can't find a clean simple design yet. ...
>> The PDP 11 is nice machine, but I am looking  for simpler designs
>> where 16K words is a valid memory size for a OS and small single user 
>> software.
> 
> There was a recent discussion about code density (I forget whether here, or
> on TUHS), and someone mentioned this paper:
> 
>  http://web.eece.maine.edu/~vweaver/papers/iccd09/iccd09_density.pdf
> 
> which shows that for a combo of benchmarks, the PDP-11 had the densest code
> out of all the ones they looked at. (They didn't look at the PDP-8, but I
> suspect that since it's a single-address design, it's almost ceertainly not
> as dense.)
Interesting.  There are lots of single address machines; it isn't all that obvious they would be less effective.  
It also depends on other instruction set features.  Some years ago I learned the architecture of the Dutch Electrologica X1 and X8 machines.  They are single address, with multiple registers (not many though).  But they gain a lot of efficiency by allowing almost all instructions to optionally set a condition flag, and almost all instructions to be executed conditionally on that flag.  So a lot of code full of branches becomes much shorter.  The fact that the condition flag setting itself is a choice (unlike the setting of condition codes) helps a lot.  For example:
	if (x >= 0) { foo (); x += 2; }
	else x -= 3;
translates to just 5 instructions:
	a=x,p
      y,sub(foo)
      y,a+2
      n,a-3
	x=a
since the condition flag is (normally, though it's a choice) preserved by function call/return.
Pretty efficient.
	paul
    
    
More information about the cctalk
mailing list