我怎么能确定哪些指令支持英特尔处理器家族? [英] How can I determine which instructions are supported on which Intel processor families?

查看:168
本文介绍了我怎么能确定哪些指令支持英特尔处理器家族?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

只是作为一个例子,我想这正是在x86处理器家族支持 FISTTP 指令知道了。我是pretty肯定的是,它支持奔腾4和超越,但我想有一些官方的验证。而更重要的是,我想知道它是否支持任何进一步的回:是它可在奔腾III

Just as an example, I want to know exactly which of the x86 processor families support the fisttp instruction. I'm pretty certain that it's supported on the Pentium 4 and beyond, but I'd like to have some official verification of that. And more importantly, I'd like to know if it is supported any further back: is it available on the Pentium III?

我尝试了所有的明显谷歌的搜索字词,但几乎没有有任何东西可这个特定指令在线。而且即使有,这不是一个好的解决方法。

I tried all the obvious Google search terms, but there's hardly anything at all available online about this particular instruction. And even if there was, that's not a good general solution.

我知道英特​​尔IA-32体系结构手册,可在网上<一个href=\"http://www.intel.com/content/www/us/en/processors/architectures-software-developer-manuals.html\"相对=nofollow>此处。纵观指令集,A-Z ,我能找到的指令,我很感兴趣,和大量的关于它的有趣的信息。但无处该手册中没有告诉我哪个处理器系列支持每一个指令,甚至当它第一次推出。

I know about the Intel IA-32 Architecture manuals, available online here. Looking at the Instruction Set Reference, A–Z, I can find the instruction that I'm interested in and plenty of interesting information about it. But nowhere in that manual does it tell me which processor families support each instruction, or even when it was first introduced.

我试图找到此手册(即奔腾III系列)的较旧的副本,但是我来到了空,所有的链接指向回到上面链接页面与手动的当前版本。此外,这是一个很大的工作挖开手动为每个家庭,看看,如果我在乎的指令是存在的。

I tried to find older copies of this manual (i.e. for the Pentium III family), but I came up empty—all the links point back to the above-linked page with the current versions of the manual. Besides, that's a lot of work to dig up the manual for each family and see if the instruction I care about is there.

当然,这些信息是什么,其他人仰望频繁&hellip;他们使用什么资源?

Surely this information is something that other people look up frequently… What resource do they use?

注意:对于粗心的读者,请注意,我不问如何确定此信息的编程的在运行时。我想这样做,坐在我的办公桌上。

Note: For careless readers, please note that I'm not asking how to determine this information programmatically at run-time. I want to do it sitting at my desk.

推荐答案

其实,你有答案了,早已:找到这些信息的最佳资源是CPU制造商的文档中

Actually, you have the answer there already: The best resource to find such information is in the CPU manufacturers' documentation.

如果你仔细看,英特尔手册,(几乎)链接到了你需要在你的例子 FISTTP 的所有信息:它被明确列为SSE3指令(见<一href=\"http://www.intel.com/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-software-developer-manual-325462.pdf\"相对=nofollow>这里:第1卷,英特尔64的第5.7.1节和IA-32架构软件开发人员手册2013年6月)。这意味着,它支持SSE3指令集的CPU的任何,应该支持 FISTTP

If you look carefully, the The Intel manual you (almost) link to has all the information you need on your example FISTTP: it is explicitly listed as an SSE3 instruction (see here: Vol 1, Section 5.7.1 of Intel 64 and IA-32 Architectures Software Developer’s Manual, June 2013). This implies that any CPU which supports the SSE3 instruction set, should support FISTTP.

至于现代指令集去(SSE,AVX,BMI,......,你的名字),英特尔手册真正做详细说明该指令集(以及相关的 CPUID <好工作/ code>功能标志)的任何指令所属的pretty多少回当 CPUID 引入(晚80486 CPU)的那名周围的说明。有了这些信息,就很容易找出哪些CPU模型支持一个给定的指令。

As far as modern instruction sets go (SSE, AVX, BMI, ..., you name it), the Intel manuals really do a good job of detailing which instruction sets (and associated CPUID feature flags) any instruction belongs to, pretty much back to the instructions that were around when CPUID was introduced (late 80486 CPUs). With this information, it becomes easy to figure out which CPU model supports a given instruction.

我不知道如何以及英特尔手册将为搞清楚何时引入真正古老的东西(对于CPU高达486我有一个从1992年一个古老的硬拷贝微软MASM参考手册,详细介绍这些东西)工作。但我会感到惊讶,如果这个信息是不是谷歌能 - 反正这真的老了变化(如引进 BT 在386指令)都是时下大概只能从有趣学术的角度来看呢。

I am not sure about how well the Intel manuals would work for figuring out when really ancient things were introduced (for CPUs up to the 486 I have an old hard copy Microsoft MASM Reference manual from 1992 that details these things). But I would be surprised if this info wasn't google-able -- anyway these really old changes (like introduction of BT instructions on the 386) are nowadays probably only interesting from an academic standpoint anyway.

这篇关于我怎么能确定哪些指令支持英特尔处理器家族?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆