鱼C论坛

 找回密码
 立即注册
查看: 4404|回复: 9

关于cpu寻址的问题。

[复制链接]
发表于 2011-5-29 16:26:16 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
问个很白痴的问题:寄存器是16位的,地址总线有20位,寻址的时候就要*16在加偏移地址。这多麻烦啊?为什么不把地址总线设置成16位或者把寄存器设置成20位这不就不用这么麻烦了吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-5-29 16:43:12 | 显示全部楼层
这个问题很严重~我不是专家,等待大牛们来解决!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-5-29 17:36:55 | 显示全部楼层
这个问题还真没考虑过诶。。呵呵
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-5-29 18:17:39 | 显示全部楼层
那么这个光荣而艰巨的任务就交给你了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-5-29 22:13:59 | 显示全部楼层
我想这个应该和当时的技术情况有关系吧?总不可能有制作二十位的寄存器而放弃他吧?那就是制作不了二十位的寄存器,而且发现没!寄存器这些什么的都是按倍数来的 16位  32位 64位 …… 所以应该就是:当时只有十六位(寄存器,现在也是的),二十位地址总线:导致为了方便研究出来了 一个生成二十位地址的算法!
以上纯属个人看法!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-5-29 22:14:32 | 显示全部楼层
计算机只认识0 1,8位1个字节,8086CPU的寄存器16位,我现在跑XP的CPU是32位
地址总线上能传送多少个不同的信息,CPU就可以对多少个存储单元进行寻址,显然20根比16根要多
不知道说的对不对,这些都是发明计算机的人决定的,我们只能接受。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-5-29 22:36:11 | 显示全部楼层
地址总线到20位时,才能实现1M的内存寻址,要不让你用64K的内存,你肯定不爽
以当时的水平,16位的寄存器已经牛掰上天了,两个16位寄存器合成20位的地址总线,就是最好的选择
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-5-29 23:28:25 | 显示全部楼层
期待楼主解决这个问题。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-5-31 13:27:07 | 显示全部楼层
本帖最后由 zhouzz0419 于 2011-5-31 13:29 编辑

关于这个问题你要明白CPU内部和外部工作的原理,关于CPU内部的寻址能力和其他能力的晶体管是装在一个芯片(也就是CPU上的),由于CPU的大小是有限的,所以内部的寻址和处理数据的大小也是有限度的,而我们通过一个地址加法器(逻辑上的手段)也是在CPU物理上没升级的情况下扩大它的寻址能力,对于8086CPU来说,内部的寻址能力是16位也就是64KB是固定的,如果没有地址加法器,你就只能按一个64K的内存条,如果有了地址加法器,你可以装一个20位也就是1M的内存条,CPU还是那个CPU,但是能力扩大了。。这个就是其中的区别
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-5-31 19:19:09 | 显示全部楼层
那麻烦你如果有能力改造这个缺陷   然后生出自己的CPU    比尔盖茨绝对会主动来请你去吃饭;P
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-18 22:36

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表