This list is for discussion of the design and implementation of field-programmable gate array based processors and integrated systems. It is also for discussion and community support of the XSOC Project (see http://www.fpgacpu.org/xsoc).
transactional memory - Jan Gray - Feb 13 10:41:57 2007
My friends, the big action these days in loveable programming models for
shared memory synchronization is transactional memory.
http://www.cs.wisc.edu/trans-memory/biblio/index.html
http://www.amazon.com/Transactional-Synthesis-Lectures-Computer-Architecture/dp/1598291246
There is an FPGA processor connection, for example if you review some of the
recent publications out of Stanford.
http://tcc.stanford.edu/publications/
On an unrelated note, I recently reviewed the moderator activity on this
mailing list and noted that others have been quietly keeping house for me.
I thank the assistant moderators of this mailing list for their help at
keeping this mailing list running and spam-free during those times when my
attentions have been elsewhere.
Jan.

(You need to be a member of fpga-cpu -- send a blank email to fpga-cpu-subscribe@yahoogroups.com )
Re: transactional memory - fgruend - Feb 14 6:12:46 2007
examples from
http://tcc.stanford.edu/publications/tcc_pldi2006.pdf -- JAVA : public
int get (){
synchronized (this) {
while (!available)
wait();
available = false;
notifyAll();
return contents;}}
public void put(int value){
synchronized (this) {
while (available)
wait();
contents = value;
available = true;
notifyAll();}}
--Atomos :
public int get() {
atomic {
if (!available) {
watch available;
retry;}
available = false;
return contents;}}
public void put (int value) {
atomic {
if (available) {
watch available;
retry;}
contents = value;
available = true;}
my example:
-- OCCAM :
CHAN OF INT available:
PROC get (int contents)
SEQ
available ? contens -- compiles to 12 13 44 F7
:
PROC put (VAL int value)
SEQ
available ! value -- compiles to 12 13 44 FB
:
The IN and OUT instructions compile to just 3 ASM Instructions
that the CPU has to execute.
So just 8 Bytes binary code are needed to solve the producer/consumer
problem (ST20 Processor).
Using kroc OCCAM compiler from kent it will be a little bit more.
Frithjof
[Non-text portions of this message have been removed]

(You need to be a member of fpga-cpu -- send a blank email to fpga-cpu-subscribe@yahoogroups.com )