[Hardware] Fwd: Re: JOP and tagged memory
Klaus D. Witzel
klaus.witzel at cobss.com
Sat Jun 9 08:57:23 UTC 2007
This is another message from my archive; discussed JOP+tagged memory, with
Jecel and Martin.
Cheers
Klaus
P.S. some background on JOP: http://www.jopdesign.com/ has info the
board(s) used and the tool chain.
------- Forwarded message -------
From: "Martin Schoeberl"
To: "Klaus D. Witzel"
Cc: "Jecel Assumpcao Jr"
Subject: Re: JOP and tagged memory
Date: Wed, 29 Nov 2006 10:16:03 +0100
Dear Klaus,
> I've been impressed by your development of JOP, what an exceptional
> piece of work!
thanks :-)
> Of course I have questions. I considered posting to
> java-processor at yahoogroups.com but I have no Java question. Instead:
You can also post them there. But you get probabaly only an
answer from me there ;-)
> - what is the alignment of memory access, I couldn't read that out of
> your timing.pdf document and other downloaded material. Because of the
> dense packing of Java constants, class and method bits, is it so that
> memory access is byte aligned. Or did I just overlook the info
> somewhere in your documentation.
All element are 32-bit aligned. In JOP all addresses and data
structures count in words. There is no such thing as bytes or
short (internally). I think I did not document this implementation
detail in the thesis.
> - I'm interested in an architecture which (besides a bytecode
> instruction set) supports tagged memory. That is, every 32 bit word in
> RAM and FLASH memory has (at least) one extra bit. Do you think that
> JOP architecture can support that and, if so, have suggestions how to
> achieve that.
That could be of great use with JOP (e.g. for garbage collection).
I was thinking to use tagged words on the on-chip stack to get exact
roots for the GC. However, up to now I think it makes things too
complicted with the 32-bit main memory.
As you want to do it for all memories it makes sense. There is
only this little problem: 33-bit memories are no available ;-)
> - alternately, if memory access is aligned (except for bytecode and
> [binary] strings), I consider to tag 32 bit pointers, which because of
> the alignment then would have at least one bit freed for tagging.
You mean using the two lower bits in the pointer? Not in JOP
as the pointer actually count in words (= no byte addressing).
However, as we will not use 4G words (= 16 GB) main memory
with JOP there are plenty of bits free in the upper part of
the pointer.
> - I'm confident that it is (relative) easy to implement an other
> bytecode instruction set, without compromizing JOP architecture. Was
> that already done, is there experience, are there pointers.
The core pipeline and microcode ISA is design to map easy to
Java bytecode. It's a stack machine. If you want to implement
another instruction set on top of the it should be similar.
Do you think about .NET?
AFAIK no one has done this.
Cheers,
Martin
More information about the Hardware
mailing list