|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.ObjectOutputLinkController
public class OutputLinkController
Output Link Controller controls the outgoing flits. It helps in sending the flits to the input link controllers of adjacent switches and nodes by using round robin algorithm among the virtual channels as at a time a single flit from one virtual channel can be sent. It works as a wrapper of the output buffer where output virtual channels are implemented.
Field Summary | |
---|---|
private int |
linkNo
The input physical link to whitch the link controller is associated |
private int |
numLinkCount
The number of physical links for the switch |
private int |
numVCCount
The number of virtual channels per physical link |
private OutputVCBuffer |
outputBuffer
OutputVCBuffer s associated with the physical link |
private Switch |
parentSwitch
Base class type variable of different types of switches for different types of networks. |
Constructor Summary | |
---|---|
OutputLinkController(Switch parent,
int linkNo,
int vcCount,
int linkCount)
Constructor for the OutputLinkController class. |
Method Summary | |
---|---|
boolean |
addOutputBufferData(Flit flit,
int vcId,
int curCycle)
Adds a flit to a output FIFO buffer at a specified virtual channel. |
Flit |
getBufferData(int vcId)
Returns a flit from the virtual channel specified in the parameter |
int |
getFreeVC_NEW(Flit vc)
An alternative of getFreeVC(); |
int |
getFreeVC()
Returns free virtual channel index for the corresponding physical link. |
OutputVCBuffer |
getOutputBuffer()
Returns the output buffer associated with the output link controller. |
boolean |
hasFlitToSend(int vcId)
Returns true, if the virtual channel has more flits to send. |
boolean |
hasFreeSlotInVCBuffer(int vcId)
Returns true, if the virtual channel has more slots to store additional flit. |
Flit |
removeOutputBufferData(int vcId,
int curCycle)
Removes a flit from a virtual channel. |
void |
updateStatusAfterCycle()
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
private Switch parentSwitch
Switch
private OutputVCBuffer outputBuffer
OutputVCBuffer
s associated with the physical link
private int linkNo
private int numVCCount
private int numLinkCount
Constructor Detail |
---|
public OutputLinkController(Switch parent, int linkNo, int vcCount, int linkCount)
parent
- switch to which the link controller is attached.linkNo
- physical link to which the link controller is attached.vcCount
- total no. of virtual channels per physical linklinkCount
- total no. of physical links associated with the switchMethod Detail |
---|
public boolean addOutputBufferData(Flit flit, int vcId, int curCycle)
flit
- flit data, either Header or Data flitvcId
- virtual channel no. to which this flit is to be added/curCycle
- cycle at which the operation is being performed
public Flit removeOutputBufferData(int vcId, int curCycle)
vcId
- virtual channel indexcurCycle
- current simulation cycle
OutputVCBuffer
public boolean hasFreeSlotInVCBuffer(int vcId)
vcId
- virtual channel index
OutputVCBuffer
public boolean hasFlitToSend(int vcId)
vcId
- virtual channel index
OutputVCBuffer
public void updateStatusAfterCycle()
public Flit getBufferData(int vcId)
vcId
- virtual channel number
OutputVCBuffer
,
Flit
public int getFreeVC()
OutputVCBuffer
public int getFreeVC_NEW(Flit vc)
vc
- virtual channel number
public OutputVCBuffer getOutputBuffer()
OutputVCBuffer
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |