指令集和指令集体系结构之间的区别? [英] Difference between Instruction set and Instruction set architecture?

查看:75
本文介绍了指令集和指令集体系结构之间的区别?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

有人能解释他们的差异吗?

can anyone explain them with differences?

我在整个互联网上搜索了差异,但找不到它们.

I searched for the differences all over the internet but unable to find them.

推荐答案

这些术语没有足够具体的含义来说明有确切的区别.例如,它们是Stack Overflow上的标记同义词.

The terms don't have specific enough meanings to say there's an exact difference. For example, they're tag synonyms on Stack Overflow.

如果要包括体系结构的其他属性,例如保证原子操作的内容,内存模型,页表布局,硬件中断处理的语义,则可以使用ISA.

You might use the term ISA if you're including other properties of the architecture like what operations are guaranteed atomic, the memory model, the page-table layout, semantics of HW interrupt handling.

但是,如果您只是说了指令集",则您更有可能指的是有关可用指令及其机器代码编码的内容,例如英特尔x86手册的第2卷部分(HTML摘录 https://www.felixcloutier.com/x86/).因此,例如,可以使用原子CAS作为 lock cmpxchg [mem],reg ,加宽乘/窄除法和带进位加法( mul /div / adc )). popcnt 可用于在一条硬件指令中对寄存器中的设置位进行计数.

But if you just said "instruction set", it's more likely you're referring to stuff about the available instructions and their machine-code encodings specifically, e.g. the vol.2 part of Intel's x86 manuals (HTML extract https://www.felixcloutier.com/x86/). So for example, atomic CAS is available as lock cmpxchg [mem], reg, widening multiply / narrowing divide and add-with-carry are available (mul / div / adc) for extended-precision stuff. popcnt is available to count set bits in a register in one hardware instruction.

或更笼统地说,x86主要是2操作数ISA,用于诸如 add reg,r/m 之类的指令,AVX和其他一些扩展添加了3操作数指令,例如 vaddps xmm0,xmm1,[rdi] .

Or more generally, x86 is mostly a 2-operand ISA for instructions like add reg, r/m, with AVX and a few other extensions adding 3-operand instructions like vaddps xmm0, xmm1, [rdi].

但是,您一定可以使用"ISA"在谈论架构提供什么指令时.这些术语没有明确的具体含义,在很多情况下,它们可以互换使用.

省略架构"如果您只是在专门讨论说明,而不是其他行为,则该缩写的一部分是有意义的,但是您没有要做到这一点...............................................................................................#######(实际上,当我说x86是"2-operand ISA",而MIPS是3-operand体系结构时,我是在这个答案中亲自做的.)

Leaving out the "architecture" part of the abbreviation makes sense if you're just talking about instructions specifically, not other behaviour, but you don't have to do that. (In fact I did it myself in this answer, when I said x86 is a "2-operand ISA", vs. MIPS being a 3-operand architecture.)

从某些方面来说,我正试图发明一种可能的含义差异,仅是因为您提出了要求.如果您从使用情况上下文中看不到作者在做出区分的线索,请假定它们不是.

In some ways, I'm trying to invent a possible difference in meaning just because you asked. If you don't have some clue from usage context that an author is making a distinction, assume they aren't.

这篇关于指令集和指令集体系结构之间的区别?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

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