On 10/23/2018 5:26 PM, Guy Sotomayor Jr via cctalk wrote:


On Oct 23, 2018, at 4:08 PM, Noel Chiappa via cctalk <[email protected]> 
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


I took a peek at PDF, before supper. "Benchmark in C"
That implies byte addressing, so that is not good test for older machines with word adressing only.

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.)

The PDP-11 dates back to the days of core (it went through several generations
before DRAM arrived - e.g. the -11/70 originally shipped with core), and given
core prices, minimizing code size was pretty important - hence the results
above.

So if you want to get the most bang out of 16K buck...

Get rid of byte adressing. OK 64K of bytes or 32K words is much the same, but we all know in hindsight 64KB is just too small for may applications.


Not the simplest machine to implement, mind - the -8 is a lot simpler. Which
axis is the most important to you?

For simplicity and reasonable density, you might want to look at J1 (which is
a Forth CPU).  It has been implemented in 300 lines of Verilog and the entire
CPU + 16KB of memory fits in a reasonably sized Spartan 3E FPGA (and you
have space for all of the other “cool” stuff).

Admittedly, you get to write in Forth which may be a minus for some folks.  ;-)

I did write a simulator for it (in Forth of course!) but I’m in the process of 
redoing
it in C so that I can have multiple threads of execution (for the various 
devices I
want to emulate).  For me it was important because I’m using this as the 
controller
in an FPGA so I wanted to have a better debug environment for developing the
code.  ;-)

I use ALTERA FPGA products so I code in ADHL or use TTL macros.
It is not that I understand VERLOG or VHDL, but they are so VERBOSE that I don't know just is being defined or compiled.

The FPGA is emulating TTL or 22V10 PAL logic so that I can get a design tested before I start laying out PCB's.


TTFN - Guy



Reply via email to