com.cmpware.cmp.links
Class CellBE_MailboxStatus

java.lang.Object
  extended by com.cmpware.cmp.Link
      extended by com.cmpware.cmp.links.PipelineRegister
          extended by com.cmpware.cmp.links.CellBE_MailboxStatus
All Implemented Interfaces:
MemoryMappedIOReader, MemoryMappedIOWriter

public class CellBE_MailboxStatus
extends PipelineRegister

This class extends the pipeline register. It is used to collect status from three other shared registers and provide status for the mailboxes in the Cell BE. Note that currently the SPU in mailbox status will return '1' if one or more values is available for read. This should not impact functionality.

Copyright (c) 2007 Cmpware, Inc. All Rights Reserved.

Author:
SAG

Field Summary
static java.lang.String copyright
          Copyright string
protected  CellBE_FIFO spuInMbox
          The SPU in mail;box
protected  CellBE_SharedRegister spuOutMbox
          The SPU out mailbox
protected  CellBE_SharedRegister spuOutMboxI
          The SPU out mailbox with interrupts
 
Fields inherited from class com.cmpware.cmp.links.PipelineRegister
readAddr, readCount, shadow, val, writeAddr, writeCount
 
Constructor Summary
CellBE_MailboxStatus(CellBE_SharedRegister spuOutMbox, CellBE_SharedRegister spuOutMboxI, CellBE_FIFO spuInMbox)
          This constructor sets up the mailbox status port.
 
Method Summary
 int read()
          This method reads a value from the Memory Mapped IO port.
 void write(int val)
          This method writes a word to the Memory Mapped IO.
 
Methods inherited from class com.cmpware.cmp.links.PipelineRegister
getReadAddress, getReadCount, getReadStallCount, getValue, getWriteAddress, getWriteCount, getWriteStallCount, isReadable, isWriteable, readCommit, reset, setReadAddress, setWriteAddress, writeCommit
 
Methods inherited from class com.cmpware.cmp.Link
get, setBufferSize
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

copyright

public static final java.lang.String copyright
Copyright string

See Also:
Constant Field Values

spuOutMbox

protected CellBE_SharedRegister spuOutMbox
The SPU out mailbox


spuOutMboxI

protected CellBE_SharedRegister spuOutMboxI
The SPU out mailbox with interrupts


spuInMbox

protected CellBE_FIFO spuInMbox
The SPU in mail;box

Constructor Detail

CellBE_MailboxStatus

public CellBE_MailboxStatus(CellBE_SharedRegister spuOutMbox,
                            CellBE_SharedRegister spuOutMboxI,
                            CellBE_FIFO spuInMbox)
This constructor sets up the mailbox status port.

Parameters:
spuOutMbox - the SPU outbound mailbox
spuOutMboxI - the SPU outbound mailbox wit interrupts
spuInMbox - the SPU inbound FIFO mailbox
Method Detail

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 PipelineRegister
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.

read

public int read()
         throws MemoryMappedIOException
Description copied from interface: MemoryMappedIOReader
This method reads a value from the Memory Mapped IO port.

Specified by:
read in interface MemoryMappedIOReader
Overrides:
read in class PipelineRegister
Returns:
This method reads a value from the Memory mapped IO port.
Throws:
MemoryMappedIOException - - this method throws a MemoryMappedIOException if the read could not be completed on this cycle. This will typically cause a stall of the processor and a retry on the next cycle.