> When you use Push ports, the component will send 

> information by pushing them to a PushOutput port 

> When you use Pull ports,  the component will send 

> information by putting them to a PullInput

What I understand is that I can send information to either 

PushOutput or PullInput.  Really isn't there any difference between them?

I want to know when should I use PullInput and PushOutput? Please give 

a scenario that PullInput works but PushOutput doesn't.

Thanks


// Naderan *Mahmood;


----- Original Message -----
From: Volos Stavros <[email protected]>
To: Mahmood Naderan <[email protected]>; simflex <[email protected]>
Cc: 
Sent: Monday, July 11, 2011 3:15 PM
Subject: RE: Some questions

Hi Mahmood,

When you instantiate a component array (e.g., L1-D cache), you need to specify 
its width.
For example, SCALE_WITH_SYSTEM_WIDTH will be 16 in case of a 16-CPU simics 
checkpoint. 
When you multiply by 1, this means that the width of the component array will 
be 16.

Regarding the difference between Pull and Push. When you use Push ports, the 
component 
will send information by pushing them to a PushOutput port which is connected 
to a PushInput 
of another component. When you use Pull ports,  the component will send 
information by putting 
them to a PullInput which is connected to a PullOutput of another component. 
You use "push", >> 
and "pull", << respectively.

The Stalled port of components such as uArch, uFetch, v9Decoder, 
FetchAddressGenerator is used 
in the multithreaded simulator and they are connected to the corresponding 
ports of the component 
MTManager.

Regards,
-Stavros.


________________________________________
From: Mahmood Naderan [[email protected]]
Sent: Wednesday, July 06, 2011 8:26 AM
To: simflex
Subject: Some questions

Hi

1- What does (...SCALE_WITH_SYSTEM_WIDTH, MULTIPLY, 1); mean in 
FLEXUS_INSTANTIATE_COMPONENT_ARRAY ?

2- What is the difference between PushInput and PullInput? Also PushOutput and 
PullOutput? It is easy to understand PushInput and PullOutput

3- some components has DYNAMIC_PORT_ARRAY( PullOutput, bool, Stalled). However 
"stalled" is not wired in simulator. Is it a special thing? When should I use 
that?


Thanks

// Naderan *Mahmood;

Reply via email to