SGI地址模式: O32, N32和N64
背景
MIPS R10000芯片支持MIPS ABI。遵循这一标准的程序能够运行在遵循这一标准的任何处理器/系统上。
目前,主要的支持者有SGI,西门子,Nixdof, Tandem, Pyramid, Sony和NEC。从1989年开始支持64位,这是这一MIPS产品线比较优秀的一个方面。
第一个支持64位的芯片是R4000,而第一个支持64位的系统是运行在MIPS R8000上的IRIX 6.0,始于1993年。
像SGI之类的系统厂商在兼容性和性能之间作出了平衡。在地址模式,操作系统提供的系统库以及编译器方面,这一点是首要考虑的问题。
因为一旦一个程序被设计,也就会做出支持哪种地址模式的决定。SGI提供了三种模式:O32,N32和N64。
使用这些模式的方法非常简单,开发人员只需要在编译程序时设置合适的编译器开关以及相应的共享库。
O32
来自SGI的O32地址模式符合MIPS ABI标准,从1989年开始使用。在兼容性方面,O32非常成功,并一直作为SGI平台的默认选择。
即使R10000能够支持64位操作,出于兼容性方面的考虑,O32会把它当成32位处理器使用。
这32个位,其中一个被IRIX操作系统保留使用,留给地址使用的是31位。因此,最多可以使用2GB的内存,这就意味着程序和数据不能超过2GB;对于绝大部分应用程序来说,这已经足够了,但,随着内存价格的下降,某些程序会在内存中缓存各大的数据集。
N32
为了保持在处理大数据时的高度的响应能力,现代的应用程序需要更高的运算性能。同时,这个程序被设计成了32位程序。
举个例子,SGI MineSet data visualization程序从数据库或者磁盘文件中将数据读入内存并根据用户需求执行快速的本地操作。
本地访问数据同时又要保持用户响应总比随时远程访问数据要快一些。MineSet使用SGI N32而不是O32 ABI。
因为N32 ABI能够提供大约25%的性能,很多客户选择N32来编写应用程序。除了算法上的提升,因为N32使用了处理器的一部分64位特性,也保证了性能的提升。
因为N32仍然保留了32位模式,很多O32代码只需要重新编译为N32就可以获得性能提升。
实际上,N32对代码的要求比较严格,将基于O32的代码转换为N32代码通常要进行修改,然后才能成功编译。
N32 ABI和O32 ABI并不是二进制兼容的。O32编译的应用程序模块不能链接到N32编译的应用程序模块。整个应用程序必须使用相同的编译设置。
N64
N64是SGI标准64位模式。他允许263位寻址,大概是O32/N32允许的4,000,000,000倍.这远远超过了今天的可行配置,因此N64是为未来准备的架构。
http://blog.chinaunix.net/uid-8698607-id-2455563.html
http://www.cnblogs.com/yorkwoo/p/4709772.html
http://bbs.lemote.com/forum.php?mod=viewthread&tid=72398
龙芯2F处理器GCC 4.4编译优化探秘
http://os.51cto.com/art/200810/94359_all.htm
编译方法:
http://bbs.loongnix.org/forum.php?mod=viewthread&tid=74305
SGI地址模式: O32, N32和N64的更多相关文章
- IE11/Flash页游白屏怎么办!立刻开启IE大地址模式!缓解浏览器白屏问题
您是否经常发现IE白屏了,具体表现为点开新网页时无法显示,只能切换标签,用任务管理器一看,内存1.2G之多. 这是因为IE11可能有内存泄露问题,内存不断增长以至于无法申请新的内存,于是IE就完蛋了! ...
- nor flash之4字节地址模式
背景 容量低于 16M bytes 的 nor,一般使用 3 字节地址模式,即命令格式是 cmd + addr[2] + addr[1] + addr[0] + ... 使用超过 16M bytes ...
- 【iCore4 双核心板_FPGA】例程十:FSMC总线通信实验——复用地址模式
实验原理: STM32F767上自带FMC控制器,本实验将通过FMC总线的地址复用模式实现STM32与FPGA 之间通信,FPGA内部建立RAM块,FPGA桥接STM32和RAM块,本实验通过FSMC ...
- 【iCore4 双核心板_FPGA】例程十一:FSMC总线通信实验——独立地址模式
实验原理: STM32F767上自带FMC控制器,本实验将通过FMC总线的地址独立模式实现STM32与FPGA 之间通信,FPGA内部建立RAM块,FPGA桥接STM32和RAM块,本实验通过FSMC ...
- 【iCore1S 双核心板_FPGA】例程十三:FSMC总线通信实验——复用地址模式
实验原理: STM32F103上自带FMC控制器,本实验将通过FMC总线的地址复用模式实现STM32与FPGA 之间通信,FPGA内部建立RAM块,FPGA桥接STM32和RAM块,本实验通过FSMC ...
- 【iCore1S 双核心板_FPGA】例程十四:FSMC总线通信实验——独立地址模式
实验原理: STM32F103上自带FMC控制器,本实验将通过FMC总线的地址独立模式实现STM32与FPGA 之间通信,FPGA内部建立RAM块,FPGA桥接STM32和RAM块,本实验通过FSMC ...
- 【iCore3 双核心板_FPGA】例程十三:FSMC总线通信实验——复用地址模式
实验指导书及代码包下载: http://pan.baidu.com/s/1nuYpI8x iCore3 购买链接: https://item.taobao.com/item.htm?id=524229 ...
- 【iCore3 双核心板_FPGA】实验十四:FSMC总线通信实验——独立地址模式
实验指导书及代码包下载: http://pan.baidu.com/s/1kVJBxJ5 iCore3 购买链接: https://item.taobao.com/item.htm?id=524229 ...
- 2016/5/6 thinkphp ①框架 ② 框架项目部署 ③MVC模式 ④控制器访问及路由解析 ⑤开发和生产模式 ⑥控制器和对应方法创建 ⑦视图模板文件创建 ⑧url地址大小写设置 ⑨空操作空控制器 ⑩项目分组
真实项目开发步骤: 多人同时开发项目,协作开发项目.分工合理.效率有提高(代码风格不一样.分工不好) 测试阶段 上线运行 对项目进行维护.修改.升级(单个人维护项目,十分困难,代码风格不一样) 项目稳 ...
随机推荐
- 囚徒困境、价格大战与 iPhone 的价格
静态/动态,完全/不完全: 完全信息静态博弈: 不完全信息静态博弈: 完全信息动态博弈: 不完全信息动态博弈: 囚徒困境实际上反映了一个深刻的哲学问题:个人利益与集体利益的矛盾.个人为了自己利益的最大 ...
- [ACM] POJ 1094 Sorting It All Out (拓扑排序)
Sorting It All Out Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 26801 Accepted: 92 ...
- VC和matlab混合开发遇到的问题及其解决办法
作者:朱金灿 来源:http://blog.csdn.net/clever101 1. error C2011: '_INTERFACE_INFO' : 'struct' type redefinit ...
- java序列化框架(protobuf、thrift、kryo、fst、fastjson、Jackson、gson、hessian)性能对比
我们为什么要序列化 举个栗子:下雨天我们要打伞,但是之后我们要把伞折叠起来,方便我们存放.那么运用到我们java中道理是一样的,我们要将数据分解成字节流,以便存储在文件中或在网络上传输,这叫序列 ...
- Himi浅谈游戏开发de自学历程!(仅供参考)
李华明Himi原创,转载务必在明显处注明: 转载自[黑米GameDev街区] 原文链接: http://www.himigame.com/himistudy/382.html ☞ 点击订阅 ☜ 本博客 ...
- Android之消息推送实现
在开发Android和iPhone应用程序时,我们往往需要从服务器不定的向手机客户端即时推送各种通知消息,iPhone上已经有了比较简单的和完美的推送通知解决方案,可是Android平台上实现起来却相 ...
- WPF中 MVVM模式的Slider Binding.
对于Button的Command的绑定可以通过实现ICommand接口来进行,但是Slider并没有Command属性. 另外如果要实现MVVM模式的话,需要将一些Method和Slider的Even ...
- either you have JavaScript disabled or your browser does not support JavaScript
作者:朱金灿 来源:http://blog.csdn.net/clever101 在服务器(操作系统为WindowsServer)上部署Hudson平台,使用IE访问:http://localhost ...
- redis支持哪些数据类型
虽然redis的key和value之支持string和byte[],但是仍可以以string的形式保存其他格式,甚至是图片. 1)String: 用set(key,value),get(key) 2) ...
- 【转】java内部类的作用分析
转自:http://blog.csdn.net/ilibaba/article/details/3866537 另收另外一篇有空的时候看:http://jinguo.iteye.com/blog/71 ...