x86 Assembly

Moderators: None (Apply to moderate this forum)
Number of threads: 4563
Number of posts: 16029

This Forum Only
Post New Thread
Single Post View       Linear View       Threaded View      f

Report
Instruction Latencies Posted by AnPapaSeiBua on 24 Mar 2004 at 1:28 AM
Hello,

does anybody know a complete list of the instruction latencies (and throughput) of Pentium 4 processors?
I searched the Intel homepage and found the "IA-32 Intel(R) Architecture Optimization Reference Manual", but the list in there is not complete, only the commonly used instructions are listed.
I tried the Intel support but I only get automated e-mails which did not help.

Greets,
Juergen
Report
Re: Instruction Latencies Posted by jeffleyda on 24 Mar 2004 at 7:48 AM
: Hello,
:
: does anybody know a complete list of the instruction latencies (and throughput) of Pentium 4 processors?
: I searched the Intel homepage and found the "IA-32 Intel(R) Architecture Optimization Reference Manual", but the list in there is not complete, only the commonly used instructions are listed.
: I tried the Intel support but I only get automated e-mails which did not help.
:
: Greets,
: Juergen
:

Try this site.

http://www.sandpile.org/

-jeff!
Report
Re: Instruction Latencies Posted by AnPapaSeiBua on 25 Mar 2004 at 7:22 AM
: : Hello,
: :
: : does anybody know a complete list of the instruction latencies (and throughput) of Pentium 4 processors?
: : I searched the Intel homepage and found the "IA-32 Intel(R) Architecture Optimization Reference Manual", but the list in there is not complete, only the commonly used instructions are listed.
: : I tried the Intel support but I only get automated e-mails which did not help.
: :
: : Greets,
: : Juergen
: :
:
: Try this site.
:
: http://www.sandpile.org/
:
: -jeff!
:
Thanks,

I searched the site and found one document listed (P4 instruction latencies, japanese), but it cannot be downloaded (I know why...). I searched the intel download-ftp, but I can't find anything, even not in japanese...

Greets,
Jrgen
Report
Re: Instruction Latencies Posted by AsmGuru62 on 25 Mar 2004 at 8:51 AM
: : : Hello,
: : :
: : : does anybody know a complete list of the instruction latencies (and throughput) of Pentium 4 processors?
: : : I searched the Intel homepage and found the "IA-32 Intel(R) Architecture Optimization Reference Manual", but the list in there is not complete, only the commonly used instructions are listed.
: : : I tried the Intel support but I only get automated e-mails which did not help.
: : :
: : : Greets,
: : : Juergen
: : :
: :
: : Try this site.
: :
: : http://www.sandpile.org/
: :
: : -jeff!
: :
: Thanks,
:
: I searched the site and found one document listed (P4 instruction latencies, japanese), but it cannot be downloaded (I know why...). I searched the intel download-ftp, but I can't find anything, even not in japanese...
:
: Greets,
: Jrgen
:
Just out of curiosity - why do you need such information?

I am asking, because if the need is to optimize your code for speed - then this will not help much, because the time of the instruction depends on so many things now, that to 'lick' out every clock is not possible anyway. The speed of code mostly depends on how do you keep your data (aligned/not-aligned) and how do you plan your logic, and also, CPU has internal cache and its workings is kind of a mystery... well, not exactly, but very complex... Also, if you have wrong memory management in your program - you will get a lot of page faults and one of these takes about a million clocks (!), so whatever you think you saved is gone...

So, what is the reason to get this info?
Some cool research or to optimize code?

Report
Re: Instruction Latencies Posted by AnPapaSeiBua on 25 Mar 2004 at 9:21 AM
: : : : Hello,
: : : :
: : : : does anybody know a complete list of the instruction latencies (and throughput) of Pentium 4 processors?
: : : : I searched the Intel homepage and found the "IA-32 Intel(R) Architecture Optimization Reference Manual", but the list in there is not complete, only the commonly used instructions are listed.
: : : : I tried the Intel support but I only get automated e-mails which did not help.
: : : :
: : : : Greets,
: : : : Juergen
: : : :
: : :
: : : Try this site.
: : :
: : : http://www.sandpile.org/
: : :
: : : -jeff!
: : :
: : Thanks,
: :
: : I searched the site and found one document listed (P4 instruction latencies, japanese), but it cannot be downloaded (I know why...). I searched the intel download-ftp, but I can't find anything, even not in japanese...
: :
: : Greets,
: : Jrgen
: :
: Just out of curiosity - why do you need such information?
:
: I am asking, because if the need is to optimize your code for speed - then this will not help much, because the time of the instruction depends on so many things now, that to 'lick' out every clock is not possible anyway. The speed of code mostly depends on how do you keep your data (aligned/not-aligned) and how do you plan your logic, and also, CPU has internal cache and its workings is kind of a mystery... well, not exactly, but very complex... Also, if you have wrong memory management in your program - you will get a lot of page faults and one of these takes about a million clocks (!), so whatever you think you saved is gone...
:
: So, what is the reason to get this info?
: Some cool research or to optimize code?
:

:
I'm optimizing the inner loop of an mathematical research project (look at www.zetagrid.net). I'm working for a while on this project and figured out that Athlon XPs are now memory bandwith limited in the actual version of the code, but Pentium 4 processors are not limited by memory speed. What I want to do is to schedule the instructions to break dependency chains (it should be possible to calculate 4 chains "simultanously"). It's more important to schedule the instructions on P4 than on Athlon XPs since the P4 has the weaker FPU and the higher memory performance...

Greets,
Jrgen


Report
Re: Instruction Latencies Posted by AsmGuru62 on 25 Mar 2004 at 10:52 AM
: : : : : Hello,
: : : : :
: : : : : does anybody know a complete list of the instruction latencies (and throughput) of Pentium 4 processors?
: : : : : I searched the Intel homepage and found the "IA-32 Intel(R) Architecture Optimization Reference Manual", but the list in there is not complete, only the commonly used instructions are listed.
: : : : : I tried the Intel support but I only get automated e-mails which did not help.
: : : : :
: : : : : Greets,
: : : : : Juergen
: : : : :
: : : :
: : : : Try this site.
: : : :
: : : : http://www.sandpile.org/
: : : :
: : : : -jeff!
: : : :
: : : Thanks,
: : :
: : : I searched the site and found one document listed (P4 instruction latencies, japanese), but it cannot be downloaded (I know why...). I searched the intel download-ftp, but I can't find anything, even not in japanese...
: : :
: : : Greets,
: : : Jrgen
: : :
: : Just out of curiosity - why do you need such information?
: :
: : I am asking, because if the need is to optimize your code for speed - then this will not help much, because the time of the instruction depends on so many things now, that to 'lick' out every clock is not possible anyway. The speed of code mostly depends on how do you keep your data (aligned/not-aligned) and how do you plan your logic, and also, CPU has internal cache and its workings is kind of a mystery... well, not exactly, but very complex... Also, if you have wrong memory management in your program - you will get a lot of page faults and one of these takes about a million clocks (!), so whatever you think you saved is gone...
: :
: : So, what is the reason to get this info?
: : Some cool research or to optimize code?
: :

: :
: I'm optimizing the inner loop of an mathematical research project (look at www.zetagrid.net). I'm working for a while on this project and figured out that Athlon XPs are now memory bandwith limited in the actual version of the code, but Pentium 4 processors are not limited by memory speed. What I want to do is to schedule the instructions to break dependency chains (it should be possible to calculate 4 chains "simultanously"). It's more important to schedule the instructions on P4 than on Athlon XPs since the P4 has the weaker FPU and the higher memory performance...
:
: Greets,
: Jrgen
:
:
:
I see...
In addition to scheduling you should align the loop beginning label and all labels inside a loop to a 32-byte frame - it will make a loop larger in size, but it will speed up the JUMP-ing.

Report
Re: Instruction Latencies Posted by AnPapaSeiBua on 26 Mar 2004 at 12:31 AM
Ok, thanks.

To be more precise, I'd need the latency of three instructions:

fld st() (isn't this a commonly used instruction...)
fistp mem64 (used for store forwarding, so the latency should be smaller)
cmovs eax,ebx (I think it has latency 0.5 and throughput 0.5)

Perhaps somebody knows...


Greets,
Juergen
Report
Re: Instruction Latencies Posted by Mazegen on 26 Mar 2004 at 3:27 PM
: Ok, thanks.
:
: To be more precise, I'd need the latency of three instructions:
:
: fld st() (isn't this a commonly used instruction...)
: fistp mem64 (used for store forwarding, so the latency should be smaller)
: cmovs eax,ebx (I think it has latency 0.5 and throughput 0.5)
:
: Perhaps somebody knows...
:
:
: Greets,
: Juergen

Hi Juergen,
you need http://www.agner.org/assem/pentopt.pdf

Report
Re: Instruction Latencies Posted by AnPapaSeiBua on 28 Mar 2004 at 11:25 PM
: : Ok, thanks.
: :
: : To be more precise, I'd need the latency of three instructions:
: :
: : fld st() (isn't this a commonly used instruction...)
: : fistp mem64 (used for store forwarding, so the latency should be smaller)
: : cmovs eax,ebx (I think it has latency 0.5 and throughput 0.5)
: :
: : Perhaps somebody knows...
: :
: :
: : Greets,
: : Juergen
:
: Hi Juergen,
: you need http://www.agner.org/assem/pentopt.pdf
:
:
Great! That's it!

Thank you very much!
Juergen



 

Recent Jobs

Official Programmer's Heaven Blogs
Web Hosting | Browser and Social Games | Gadgets

Popular resources on Programmersheaven.com
Assembly | Basic | C | C# | C++ | Delphi | Flash | Java | JavaScript | Pascal | Perl | PHP | Python | Ruby | Visual Basic
© Copyright 2011 Programmersheaven.com - All rights reserved.
Reproduction in whole or in part, in any form or medium without express written permission is prohibited.
Violators of this policy may be subject to legal action. Please read our Terms Of Use and Privacy Statement for more information.
Operated by CommunityHeaven, a BootstrapLabs company.