Re: Ram Card Design Help
- From: Udo Munk <umunk@xxxxxxxxxxxx>
- Date: Sat, 27 Oct 2007 01:25:04 +0200
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...
.
- Follow-Ups:
- Re: Ram Card Design Help
- From: no . spam
- Re: Ram Card Design Help
- References:
- Ram Card Design Help
- From: Grant Stockly
- Re: Ram Card Design Help
- From: Grant Stockly
- Re: Ram Card Design Help
- From: Herb Johnson
- Re: Ram Card Design Help
- From: no . spam
- Re: Ram Card Design Help
- From: Udo Munk
- Re: Ram Card Design Help
- From: no . spam
- Ram Card Design Help
- Prev by Date: Re: Ram Card Design Help
- Next by Date: Re: Ram Card Design Help
- Previous by thread: Re: Ram Card Design Help
- Next by thread: Re: Ram Card Design Help
- Index(es):
Relevant Pages
|