Processors
Intel® Processors, Tools, and Utilities
14507 Discussions

How are ports chosen to dispatch uops for execution?

idata
Employee
1,811 Views

Hi, does anybody know where I can find out/do you know how a processor dispatches uops to the various execution ports? For example, on Haswell ports 0, 1, 5 and 6 are available for integer arithmetic. If I had the macro instructions:

ADD

ADD

How does the reservation station schedule the uops to these ports? Is it done using a round robin? Or does it simply check whether 0 is free, if not, check whether port 1 is free, if not, check whether port 5 is free and only dispatch to port 6 if the others are busy? So port 0 is always preferred to port 6.

0 Kudos
3 Replies
EstebanA_C_Intel
Employee
762 Views

Hello, LatencySeeker:

Thank you for contacting the Intel Communities.

As per the information in your post, I can see that you already know the information for the Haswell family.

Please note that in the following file, you could be able to find the information requested for possibly another family, these files are updated as newer products are available. http://www.intel.com/content/www/us/en/processors/architectures-software-developer-manuals.html Intel® 64 and IA-32 Architectures Software Developer Manuals

Additionally, please be aware that there is a place/communities that has other programmers that could further inform you on this.

The communities mentioned would be: https://software.intel.com/en-us/forum Forums Developer Zone

That would the best place to go in order to request this type of information.

If you require any further information or support, do not hesitate to contact us back.

Regards,

Esteban C

0 Kudos
idata
Employee
762 Views

Hi,

Thanks for replying.

I'm familiar with those documents but don't recall anything about execution port scheduling? Would you be able to point me towards the correct document/chapter?

Thanks,

0 Kudos
EstebanA_C_Intel
Employee
762 Views

Thank you for your quick answer.

In this case my recommendation would be to contact the Developer Zone forum, peers there that are programmers too, could be providing you with the information requested previously.

Any additional questions or inquiries, feel free to contact the Intel® Communities back.

Regards,

Esteban.

0 Kudos
Reply