我开始探索计算机架构领域。关于ISA有两个问题让我困惑。
谢谢
发布于 2016-02-01 07:47:16
- have set of test programs of each supported instruction set/architecture that will set specific memory or IO to predefined state if working properly
- have watch dog cycling between all the detections and stop on first valid result.
发布于 2016-02-01 07:39:45
uname -a将向您展示您正在运行的架构以及dmidecode。对于Windows,右键单击My Computer并选择Properties将显示您的体系结构。例如(Windows 7):

对于Linux (我知道,这是一个超级老版本!):
$ uname -a
Linux hostname 2.6.35-22-generic #33-Ubuntu SMP Sun Sep 19 20:32:27 UTC 2010 x86_64 GNU/Linux(在本例中,架构是x86_64),它是64位英特尔或AMD。要确定地说,您可以像我前面提到的那样运行dmidecode:
~# dmidecode |grep -i proc
Processor Information
Type: Central Processor
Version: AMD Opteron(tm) Processor 154
Processor Information
Type: Central Processor
Version: AMD Opteron(tm) Processor 154发布于 2016-02-01 07:40:46
如果实现了支持,它实际上可以读取任何指令集。目前大多数CPU支持两/三指令集,但由于32位/64位寻址而略有不同。
x86支持16位,32位和64位指令集,ARM支持32位,64位,拇指和拇指-2,等等。
原版Transmeta,我相信它是灵活的,并被认为是将任何指令集转换为内部集,并在本地运行它。然而,它失败了,现在没有类似的东西了。
无论如何,一旦您运行了应用程序,它就会绑定到其头中的特定指令集,因此在运行时不能更改它。嗯,ARM是个例外-它可以在完全版本和拇指版本之间切换,但是它们只是对相同的.
对于第二部分--无论是在您的OS中还是通常可以阅读它--在Linux中通过读取/proc/cpuinfo,在环境变量PROCESSOR_ARCHITECTURE上读取。
https://stackoverflow.com/questions/35125055
复制相似问题