今天准备考研的朋友问我一道题:cpu有20根地址线和32根数据线,问按字节寻址和按字寻址的范围分别是多少。
乍一想,一个字4个字节,一次寻址2^20字,即一次寻址2^22字节。便发给了他。
可是他却告诉我天勤william hill官网
里的考研笔记书上说,一次寻址2^20字节,即一次2^18字。
当时我就纳闷了,天勤怎么这么不小心(哈哈哈~~)。但还是怀着求是精神去找了一下,发现了这边博客:
如何计算地址线和数据线。这才回想起来,CPU寻址的单位是字节,不是字,偶错了。
然后再回想到平时说的,64位CPU的64位指的又是啥?仍然乍一想,应该是数据线位数吧。是吗?依然错了。伤蛋。。google到互动百科的一篇:64位处理器。是通用寄存器(General-Purpose Registers)的位数。
我的总结是,CPU的数据线位数只代表CPU的最大寻址范围,且单位为字节;数据线位数则只代表cpu和内存之间一次最多能传输的数据位数(甚至不代表传过去的每一位都有用或者一次就全用上,更甚至不代表数据线有多少位就传多少位);而通用寄存器才是cpu一次最多能处理的数据位数。
但是一般情况下,CPU的数据线和地址线会用同样的位数,地址线和通用寄存器更是会用同样的位数,都是为了方便管理和处理(不用特别定制,避免复杂处理)。
今天准备考研的朋友问我一道题:cpu有20根地址线和32根数据线,问按字节寻址和按字寻址的范围分别是多少。
乍一想,一个字4个字节,一次寻址2^20字,即一次寻址2^22字节。便发给了他。
可是他却告诉我天勤william hill官网
里的考研笔记书上说,一次寻址2^20字节,即一次2^18字。
当时我就纳闷了,天勤怎么这么不小心(哈哈哈~~)。但还是怀着求是精神去找了一下,发现了这边博客:
如何计算地址线和数据线。这才回想起来,CPU寻址的单位是字节,不是字,偶错了。
然后再回想到平时说的,64位CPU的64位指的又是啥?仍然乍一想,应该是数据线位数吧。是吗?依然错了。伤蛋。。google到互动百科的一篇:64位处理器。是通用寄存器(General-Purpose Registers)的位数。
我的总结是,CPU的数据线位数只代表CPU的最大寻址范围,且单位为字节;数据线位数则只代表cpu和内存之间一次最多能传输的数据位数(甚至不代表传过去的每一位都有用或者一次就全用上,更甚至不代表数据线有多少位就传多少位);而通用寄存器才是cpu一次最多能处理的数据位数。
但是一般情况下,CPU的数据线和地址线会用同样的位数,地址线和通用寄存器更是会用同样的位数,都是为了方便管理和处理(不用特别定制,避免复杂处理)。
举报