|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.ObjectInputLinkController
public class InputLinkController
InputLinkController controls the incoming flits and helps in determining the route of the flits in a switch. It works as a wrapper of the input buffer where input virtual channels are implemented.
Field Summary | |
---|---|
private InputVCBuffer |
inputBuffer
InputVCBuffer s associated with the physical link |
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 Switch |
parentSwitch
Base class type variable of different types of switches for different types of networks. |
Constructor Summary | |
---|---|
InputLinkController(Switch parent,
int linkNo,
int vcCount,
int linkCount)
Constructor for the InputLinkController class. |
Method Summary | |
---|---|
boolean |
addInputBufferData(Flit flit,
int curCycle)
Adds an incoming flit to a input FIFO buffer at a specified virtual channel. |
private int |
getFreeVC()
Returns free virtual channel index for the corresponding physical link. |
InputVCBuffer |
getInputBuffer()
Returns the input buffer associated with the input link controller. |
boolean |
hasFreeSlotInVCBuffer(int vcId)
Returns true, if the virtual channel has more slots to store additional flit. |
boolean |
isVCFree(int vcId)
Returns 'true' if the virual channel is free, false-otherwise. |
Flit |
removeInputBufferData(int vcId,
int curCycle)
Removes a flit from a virtual channel. |
void |
setOutPathRequest(int curCycle)
Invoked in every simulation cycle to set a request for switching the flits through the crossbar switch to the output link controller of the switch. |
void |
updateStatusAfterCycle()
Updates status information at the end of each simulation cycle. |
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 int linkNo
private int numVCCount
private int numLinkCount
private InputVCBuffer inputBuffer
InputVCBuffer
s associated with the physical link
Constructor Detail |
---|
public InputLinkController(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 addInputBufferData(Flit flit, int curCycle)
Invoked by the adjacent IP nodes and Switches of the parent switch through the reference of the parent switch. It performs its functionalities in following steps.
flit
- flit data, either Header or Data flitcurCycle
- cycle at which the operation is being performed
InputVCBuffer
,
Flit
public Flit removeInputBufferData(int vcId, int curCycle)
vcId
- virtual channel indexcurCycle
- current simulation cycle
InputVCBuffer
public boolean hasFreeSlotInVCBuffer(int vcId)
vcId
- virtual channel index
InputVCBuffer
public boolean isVCFree(int vcId)
vcId
- virtual channel index
InputVCBuffer
private int getFreeVC()
InputVCBuffer
public InputVCBuffer getInputBuffer()
InputVCBuffer
public void updateStatusAfterCycle()
InputVCBuffer
public void setOutPathRequest(int curCycle)
curCycle
- the simulation cycle at which the operation is being performed
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |