能力值:
(RANK:650 )
|
-
-
2 楼
为了下向兼容
p.s. 你怎么知道就没有100个寄存器呢
|
能力值:
( LV9,RANK:170 )
|
-
-
3 楼
不多增加 GPRs 主要面临指令格式的问题。
要重新设计指令系统。 重新编排新的指令格式的话,那么原有的格式就不能平滑的使用了。
但我认为:重新设计指令格式增加 GPRs 而达到兼容目的还是可以的,前提是在 CPU 开启某种模式下。
但是处理器的解码单元要增加多点功夫了。
|
能力值:
(RANK:300 )
|
-
-
4 楼
寄存器是做什么的啊?要那么多做什么?
吃吗?
呵呵............
小水一把....
|
能力值:
( LV9,RANK:170 )
|
-
-
5 楼
寄存器当然更多些,要好啦。
|
能力值:
(RANK:300 )
|
-
-
6 楼
就目前的寄存器数量,分析的时候已经够呛了....还要那么多。累死人啊.....
|
能力值:
( LV9,RANK:370 )
|
-
-
7 楼
cpu中实际的寄存器是很多很多的,公开给我们使用的只是那几个而已。同时也可能是为了指令编码和兼容问题,所以实际可以使用的寄存器就那么几个。
|
能力值:
( LV7,RANK:100 )
|
-
-
8 楼
不要硬盘,全变内存
不要内存,全变寄存器
……赞
|
能力值:
(RANK:300 )
|
-
-
9 楼
要是真的这样了....文件保存到哪啊?呵呵..
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
脑袋和电脑连接,直接进行生物存储,强```
|
能力值:
( LV2,RANK:10 )
|
-
-
11 楼
在多点就要吐啦
|
能力值:
( LV3,RANK:20 )
|
-
-
12 楼
现在只能期盼我们的龙芯做成宇宙无敌
|
能力值:
(RANK:260 )
|
-
-
13 楼
寄存器越多,当然对于提高性能就越有好处。
MIPS处理器最初设计为32个通用寄存器。至于现在发展到什么情况我没有关注过。
目前最流行的嵌入式处理器ARM,逻辑上有16个通用寄存器,外加程序计数器和状态寄存器。而由于一部分寄存器是分栏的(处理不同模式下对应不同的物理寄存器),实际上有37个物理寄存器。
安腾处理器构有多达127(128,其中r0为常数0)个整数处理器,128个浮点寄存器,以及64个判断寄存器(1位的,可以理解为标志位寄存器),8个转移寄存器。
除去上面这些普通寄存器,还有像控制寄存器、分区寄存器、缓冲管理寄存器、中断寄存器、性能监控寄存器等等许多组(不是个,是组)系统寄存器。
但安腾是高端机的,与80x86只能十分有限地“兼容”(实际上并不兼容,需要进行处理器状态切换,而且切换后也只能执行80x86指令集的一个子集)。
80x86之所以没有再增加寄存器,就如MIK所说,指令结构中用来编码寄存器的域只有3个位,所以只能有8个通用寄存器。
而x64增加了用REX前缀扩展了指令的编码,所以x64结构可以使用16个通用寄存器。
6楼狐狸说寄存器多了难以分析,但至少在我来说,做ARM的东西时比X86的东西要容易。做过Linux和uCOS-II,ARM的代码很简单,而x86(uCos-II发布版本带有一个8086的示例)反而没有ARM简单。
由于x86没有足够多的寄存器,所以通常使用内存操作数,而寄存器常常只用来做“暂存器”。
但有了足够多的寄存器后,分析一个函数,几乎所有的变量和参数都是寄存器,所以汇编语言看起来跟高级语言没什么区别了已经。
|
能力值:
( LV3,RANK:20 )
|
-
-
14 楼
请问下书哥,做ARM开发直接用它的汇编多么,如果用LINUX开发,那是不是要用AT语法了,
|
能力值:
(RANK:260 )
|
-
-
15 楼
1.做操作系统底层是离不开汇编的。但ARM的汇编很好掌握。
2.ARM的AT&T汇编相比x86的AT&T汇编要稍微容易掌握一点。
3.即使不会AT&T,GNU的工具集里也有支持ARM手册中给出的官方汇编格式的汇编器的。
4.而且,也不一定非要用Linux下的开发工具。Win平台很多工具是使用GNU工具链的,通过适当的配置就可以交叉编译到ARM-Linux。
|
能力值:
( LV2,RANK:10 )
|
-
-
16 楼
学习了,当时自己学习的时候也有这个问题,现在终于知道怎么回事了。
|
能力值:
( LV2,RANK:10 )
|
-
-
17 楼
潜力贴留名.字数补丁.字数补丁..
|
能力值:
( LV3,RANK:20 )
|
-
-
18 楼
对于计算而言,通用寄存器的优点是速度快,但寄存器多了增加ALU等计算处理单元的复杂度,增加指令编码的长度(使用寄存器堆的还会增加管理的复杂度),更重要的,现在操作系统都是多线程的,在发生线程切换时,必须保存所有通用寄存器,重新加载新线程上下文中的所有寄存器,这无疑会增加线程资源开销。
|
能力值:
( LV2,RANK:10 )
|
-
-
19 楼
实际上来说,寄存器越多越好,可以一次性把东西都装载到寄存器中处理,效率可以提高很多。
|
能力值:
( LV2,RANK:10 )
|
-
-
20 楼
我不懂,但感觉18楼说的也有道理,若真的是寄存器越多越好,那么,INTEL公司早就解决这种技术问题了 。
|
能力值:
( LV2,RANK:10 )
|
-
-
21 楼
如果没有那么广泛的用户群体,x86就什么也不是。。。。。。
|
能力值:
( LV2,RANK:10 )
|
-
-
22 楼
寄存器是CPU很宝贵的资源,够用即可
|
|
|