我很少有基准应用程序符合SPARC V8 32位架构。我用它们来评估SPARC 32位处理器的性能。但是,很少有应用程序达不到性能。我想用64位SPARC V9架构(如OpenSPARC T1 / T2)测试性能。我的问题是,32位SPARC V8架构的编译二进制文件是否会在SPARC V9架构中运行而不进行任何修改?这两种架构中的二进制文件是否兼容?
答案 0 :(得分:3)
假设您使用的是相同的操作系统,可能是在较新的版本中。好的。 Solaris Sparc非常向后兼容。 Sparc架构的每个版本都是考虑到这一点而设计的。
你应该记住的事情:
所以请记住Sparc v7,Sparc v8和Sparc v9不是芯片架构,它们是指令集架构。 Sparc的性能主要取决于CPU架构的实现。来自Oracle的最新Sparc处理器正在改进单线程性能,比以往要记住的要多得多(即使它们会在你的钱包中烧掉像德克萨斯那样大小的洞)。
如果您的性能不足并且您正在设计基于FPGA的CPU,请认真考虑改进CPU设计以提高吞吐量。
答案 1 :(得分:1)
术语混淆......
SPARC有点像ARM。你有:
sun4[a-z]
;仅适用于sun4
,sun4c
,sun4d
,sun4m
,sun4u
和sun4v
的实际流片
这相当于ARM[1-9]
,ARM11
,Cortex-...
,即CPU设计的演变。sparcv7
,sparcv8
/ sparcv8+
,sparcv9
;其中一些是32位,sparcv9
是64位
这对应于ARMv[0-9]
,转换指令集。在此上下文中,sparcv9
是64位指令集,因此需要64位操作模式;相同的二进制编码在32位/ 64位模式下可能有不同的含义,因此sparcv7/8
代码不会在64位模式下运行。
仍然,sun4u
和sun4v
CPU架构支持32位模式 - sparcv8+
指令集加上一些扩展,sparcv8
本身就是{的超集{1}}。
Sun / Oracle以其二进制向后兼容性而自豪;所有当前的SPARC CPU都应该运行现有的32位二进制代码而不会出现问题。在这种情况下,我假设你在谈论Solaris二进制文件?