com.cmpware.cmp.links
Class CellBE_FIFO
java.lang.Object
com.cmpware.cmp.Link
com.cmpware.cmp.links.FIFO
com.cmpware.cmp.links.CellBE_FIFO
- All Implemented Interfaces:
- MemoryMappedIOReader, MemoryMappedIOWriter
public class CellBE_FIFO
- extends FIFO
This class is exactly like the typical FIFO, except that
it does not stall when the FIFO is full. Instead it
quietly overwrites the last entry. This implements
the functionality of the PPU to SPU mailbox in the Cell BE.
Copyright (c) 2007 Cmpware, Inc. All Rights Reserved.
- Author:
- SAG
|
Field Summary |
static java.lang.String |
copyright
Copyright string |
| Fields inherited from class com.cmpware.cmp.links.FIFO |
DEFAULT_SIZE, fifo, head, mmioe, readAddr, readCount, readFlag, readStallCount, tail, writeAddr, writeCount, writeStallCount, writtenFlag |
|
Constructor Summary |
CellBE_FIFO(int size)
This constructor initializes the Cell BE FIFO. |
|
Method Summary |
void |
write(int val)
This method writes a word to the Memory Mapped IO. |
void |
writeCommit()
All Memory Mapped IO writes are performed whenever
data is available. |
| Methods inherited from class com.cmpware.cmp.links.FIFO |
free, getReadAddress, getReadCount, getReadStallCount, getValue, getWriteAddress, getWriteCount, getWriteStallCount, isEmpty, isFull, isReadable, isWriteable, read, readCommit, reset, setBufferSize, setReadAddress, setWriteAddress, used |
| Methods inherited from class com.cmpware.cmp.Link |
get |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
copyright
public static final java.lang.String copyright
- Copyright string
- See Also:
- Constant Field Values
CellBE_FIFO
public CellBE_FIFO(int size)
- This constructor initializes the Cell BE FIFO.
- Parameters:
size - the size of the Cell BE FIFO.
write
public void write(int val)
throws MemoryMappedIOException
- Description copied from interface:
MemoryMappedIOWriter
- This method writes a word to the Memory Mapped IO.
- Specified by:
write in interface MemoryMappedIOWriter- Overrides:
write in class FIFO
- Parameters:
val - The value to write to the Memory Mapped IO.
- Throws:
MemoryMappedIOException - - this method throws
a MemoryMappedIOException if the write could not
be completed on this cycle. This will typically
cause a stall of the processor and a retry on the
next cycle.
writeCommit
public void writeCommit()
- Description copied from interface:
MemoryMappedIOWriter
- All Memory Mapped IO writes are performed whenever
data is available. But because this is a multiprocessor
simulation environment, it may not be proper to
flag this communication resource as "free" until the
end of the simulation cycle. This is necessary to preserve
clock boundaries in multiprocessor simulation
environments. This method should be called at
the end of all activity in a simulation cycle and should
tag the resource as free as necessary.
- Specified by:
writeCommit in interface MemoryMappedIOWriter- Overrides:
writeCommit in class FIFO