首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >32位SPARC V8应用程序能在64位V9上运行吗?

32位SPARC V8应用程序能在64位V9上运行吗?
EN

Stack Overflow用户
提问于 2013-05-04 04:14:20
回答 2查看 1.3K关注 0票数 2

我很少为SPARC 32位架构编写基准应用程序。我用它们来评估SPARC 32位处理器的性能.然而,很少有应用程序在性能上落后。我想用64位的SPARC V9体系结构(比如OpenSPARC T1/T2)来测试性能。我的问题是,32位SPARC V8体系结构的编译后的二进制文件会在SPARC V9体系结构中运行而不进行任何修改吗?这两种体系结构中的二进制文件是否兼容?

EN

回答 2

Stack Overflow用户

发布于 2013-05-09 22:00:43

假设您使用的是相同的操作系统,也许是在更新的版本中。那么是的。Solaris Sparc非常二进制向后兼容。Sparc架构的每一次修订都考虑到了这一点。

你应该记住的事情:

  • Sparc v7是最低的公分母,但在实践中,Sparc v8将覆盖99%的机器。
  • Sparc v7通常缺乏硬件浮点,因此在大多数情况下都会慢一些,尽管有时它是作为加速器添加的。
  • 在某些情况下,Sparcv8代码将比Sparcv9 64位代码快,因为指针是指针的一半大。
  • Sparc v9的最优代码通常是Sparc v8+,它基本上是32位代码,有一些扩展,在大多数情况下只有64位机器有。正因为如此,所有64位Sparc操作系统都将大部分代码作为32位,并附带了一些64位代码,在这些代码中,它需要访问更多的ram或64位扩展,以提高性能,比如使用基于软件的加密。
  • 虽然Sparc的ISA相当静态,但性能却不是..。例如,Sparc T1 Niagra对于任何单线程任务都很慢,但是在加载许多任务时却像champs一样运行。然而,富士通Sparc的一些芯片在各个领域的速度都可能与英特尔匹敌。此外,如果一些较老的超工作站比NiagraT1/T2快得多,我就不会被告知单线程到一对线程的速度。一旦进入许多线程的区域,一个Niagra风格的CPU就会开始发光。

所以请记住Sparc v7、Sparc v8和Sparc v9不是芯片架构,而是指令集体系结构。Sparc的性能主要取决于CPU体系结构的实现。Oracle最新的Sparc处理器比过去提高了更多的单线程性能,这也是要记住的事情(即使它们会在你的钱包上烧一个和德州一样大的洞)。

如果您的性能下降,而您正在设计一个基于FPGA的CPU,那么请认真考虑改进您的CPU设计,以提高吞吐量。

票数 5
EN

Stack Overflow用户

发布于 2013-05-07 23:02:57

术语混乱..。

SPARC有点像手臂。你有:

  • SPARC芯片体系结构(目前由Sun Microsystems /现在的甲骨文公司开发)被命名为sun4[a-z];只有sun4sun4csun4dsun4msun4usun4v才能使用。 这对应于ARM[1-9]ARM11Cortex-...,即CPU设计的演变。
  • SPARC CPU指令集是“版本”- sparcv7sparcv8/sparcv8+sparcv9;其中一些是32位,sparcv9是64位。 这对应于ARMv[0-9],转到指令集上。
  • 工作模式(32位/64位在SPARC上); ARM这里有Thumb2,32位ARM和ARMv8 8/64位。

在这种情况下,sparcv9是64位指令集,因此需要64位操作模式;在32位/64位模式中,相同的二进制编码可能有不同的含义,因此sparcv7/8代码不会在64位模式下运行。

尽管如此,sun4usun4v CPU体系结构仍然支持32位模式--使用sparcv8+指令集加上一些扩展,sparcv8本身就是sparcv7的超集。Sun/Oracle为其二进制向后兼容性感到自豪;所有当前的SPARC CPU都应该运行现有的32位二进制代码,而不会出现问题。在这种情况下,我想您是在讨论Solaris二进制文件吧?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16370517

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档