From: Mouse
> simulating a segmented machine on a non-segmented
machine, i.e. one
> with large unidirectional addresses (segmented being a
> bi-directionally addressed machine) - [...]
Hm, "unidirectional" and
"bidirectional" are terms I'm having trouble
figuring out the meaning of here. You seem to be using them as,
effectively, synonyms for "non-segmented" and "segmented"
Yes.
but I don't see any way in which directionality
makes any sense for
either, so I can only infer I'm missing something.
Imagine a graphic model of the memory in non-segmented, and segmented,
machines.
The former can be modeled as a linear array of memory cells - hence
'uni-directional'. The latter can be modelled by a two-dimensional array -
segment number along one axis, word/byte within segment on the other - hence
'bi-directional'.
Maybe 'uni-axis' or 'bi-axis' would have been a bit more techically
correct,
but 'uni-directional' and 'bi-directional' were the first terms that came
to
mind - and I didn't think of how they could be confusing (in terms of their
common meanings, when used for flows). Sorry!
Noel
PS: I'm trying to remember all my thoughts about simulating a segmented
memory with a large flat address space. One was that one can prevent pointer
incrementing from 'walking' from one segment into another by leaving a 'guard
band' of a few empty pages between each 'segment'. However, this points out
an issue with such simulation: one cannot easily grow a 'segment' once
another 'segment' has been assigned space above it.