Re: Ram Card Design Help



On Fri, 26 Oct 2007 22:54:40 +0000, no.spam wrote:

On Fri, 26 Oct 2007 15:05:17 +0200, Udo Munk <umunk@xxxxxxxxxxxx>
wrote:
....
I'm ignoring unix... :)

I'm totally ignorant about Windows :-)

For the cp/m case, MPM took a sane approach. I did take another. The
assumption however was an up front no program will exceed 60k and for
most CP/M programs out there that is valid. The system then could swap
a programs space, and create a sized space in ram for an application.
The programs if they crash would do so in their space and it they touch
the system page (F000h) an interupt was forced ( in hardware)

Yep, that is something else to keep in mind, it should be possible to
write-protect the common memory, or generate an interrupt on write to the
area, so that the OS can be protected.

The Z280 can exceed the 16bit space as it has both the MMU and the I&D
space split.

Right, that one is more useful for more advanced stuff.

With 4K scatter/gather efficientcy is higher. Also applications can
ask for thram they need and the manager can set that space aside and
put the program there for it's time slice. The management cost is
modest and hardware easy being basically a pair of 74189 or similar
plus glue. This is closest to the mapper used in Z280 and also the
PDP11.

If you write in assembler and think a lot about segmenting your
programs, that can be done, yes. On systems like Unix you just want to
write real huge programs and don't be bothered with the memory
management, kernel does it all for you. If you want to do page faults
just with software, you need to inspect every JMP and every MOV, if it
would address memory outside the current active page. Writing a C
compiler that does this is quite a challenge, and it's a lot of
overhead.

Again unix... It's nice if the system can.

Yeah, well, other OS's can do too if the hardware is given. I know
how this stuff is done in the Unix kernel, so I used it as example.

I cheated. I said never exceed 60k and the OS will grant it and track
it. If for some reason you ask for 60k and there is not enough ram left
the system finds a program (least recently used) and pushes it to disk
and uses the recovered space. The idea is Z80 programs are generally
small but multiple tasks require many spaces often less than 16 or 32K.
It's a small system model not an attempt ot make a Z80 into a VAX.

Yes, the swapping can be done with a Z80 too, that won't be a problem.

Clearly a 32 or better 64 bit cpu solves the address space issues and
they also support page faults and the like. I was trying to apply big
ideas in a scaled way.

Right so, trying this too, so I hope the discussion helped a bit.

Allison

Udo Munk
--
The real fun is building it and then using it...

.



Relevant Pages

  • Re: Ram Card Design Help
    ... Uzi Unix wasnted banked memory and 4K pages would be about ... When it comes to Unix and the like, just paged memory is not good enough, ... You also need a MMU that is capable of generating ... Also the Z80 can't use virtual addresses, it's limited to a 16bit address ...
    (comp.os.cpm)
  • full time AIX Admin, El Dorado Hills, CA Large Firm
    ... The Senior AIX UNIX Engineer will report to the Manager of the Infrastructure ... implementation and management ... MS SQL Server, etc.). ...
    (comp.unix.solaris)
  • Exciting full time aix admin opportunity, El Dorado Hills, CA Competitive Compensation Package
    ... The Senior AIX UNIX Engineer will report to the Manager of the Infrastructure ... implementation and management ... MS SQL Server, etc.). ...
    (comp.unix.solaris)
  • Re: How come Ada isnt more popular?
    ... manual memory management. ... But for the sake of discussion completeness, you might wish to throw an example of a situation where scoped lifetime will not make it. ... this was *manual* resource management. ... The difference is that in languages with scoped lifetime the lifetime management is a property of the type, whereas the "FP-trick" above is a property of the use-side. ...
    (comp.lang.ada)
  • Questions and Answers about z80pack
    ... a bootable memory stick, didn't work for me, Puppy Linux is it now. ... emulated Z80 just is a question of how powerful the host CPU is. ... and Opteron systems the emulation speed is a several hundred MHz ... relatively simple as emulating a graphics printer; ...
    (comp.os.cpm)