免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 8318 | 回复: 16
打印 上一主题 下一主题

请问16位CPU、32位CPU和64位CPU的区别究竟是什么啊 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-09-09 19:50 |只看该作者 |倒序浏览
我查了很多资料,都说16位处理器一次处理16位数据,32位处理器一次处理32位数据,64位处理器一次处理64位数据,
但是更具体一些的阐述是什么呢?
是寄存器还是数据总线?或者是什么别的呢?
386处理器在实模式下也可以使用32位寄存器啊、
谢谢

论坛徽章:
0
2 [报告]
发表于 2009-09-09 19:58 |只看该作者
跪求高手用汇编代码展示一下16和32位处理数据的区别、
386处理器在16位模式下使用32位寄存器,这是俺最困惑的

论坛徽章:
0
3 [报告]
发表于 2009-09-09 20:12 |只看该作者
你适合去读一下计算机基础

论坛徽章:
0
4 [报告]
发表于 2009-09-09 21:51 |只看该作者
老大、书看不明白我才来发问的啊
实模式下也可以使用32位寄存器,能不能说,16位处理器添加了32位寄存器,就能像32位处理器那样,一次处理32位数据了,就是32位处理器了?
应该不是吧?
但是错在哪儿了呢

论坛徽章:
0
5 [报告]
发表于 2009-09-09 22:08 |只看该作者
应该就是cpu的位宽,
当写汇编时比如add ax,bx
这就是把 bx寄存器里的数据加到ax中。

则不不同位数的cpu就回有差别了。这影响到计算能力。

论坛徽章:
0
6 [报告]
发表于 2009-09-09 22:09 |只看该作者
寄存器

论坛徽章:
0
7 [报告]
发表于 2009-09-09 22:34 |只看该作者
楼上两位说的我还是不明白
实模式下也可以使用32位指令
也可以用
mov eax ebx,一次处理32位数据,
那么16位和32位的区别应该不是寄存器吧?

论坛徽章:
0
8 [报告]
发表于 2009-09-09 22:48 |只看该作者
前面说的“数据”其实应该是“指令”吧?
我google到的,大家同意这里的说法吗?
http://hi.baidu.com/xgyjcr/blog/ ... 67cec20b46e041.html

论坛徽章:
0
9 [报告]
发表于 2009-09-09 22:55 |只看该作者
LZ:偶指点你一下:

物理资源在实模式和保护模式都是一样的。 也就是说:寄存器在实模式和保护模式都是一样宽。

x86 上:GPRs 都是 32 位,不存在说:实模式是 16 位,而保护模式是 32 位
x64 上:GPRs 都是 64 位,同样,不存在说:实模式是 16 位,而 legacy 是 32 位,long 是 64 位。
--------------------------------------------------------------------------
模式之间所不同的是:缺省的操作数大小不同

实模式下是缺省操作数是 16 位、保护模式是 32 位。

因此:实模式下读取 32 位寄存器是非常正常、正确的行为。它只是改变了操作数的大小。



LZ:你好好领会,等你真正理解了,你就有了一个质的飞跃。

就是一般的老师都不理解这个道理!

论坛徽章:
0
10 [报告]
发表于 2009-09-09 23:19 |只看该作者
真不容易啊、谢谢mik,眼泪汪汪地,!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP