为什么16位CPU的寻址寄存器的编码范围是00000H - 0FFFFH

为什么16位CPU的寻址寄存器的编码范围是00000H-0FFFFH,只能寻址64K为什么不是000000H-0FFFFFH这样寻址空间不就更大了吗... 为什么16位CPU的寻址寄存器的编码范围是00000H - 0FFFFH,只能寻址64K 为什么不是000000H - 0FFFFFH 这样寻址空间不就更大了吗 展开
 我来答
胡杨胖子
2008-03-01 · TA获得超过362个赞
知道小有建树答主
回答量:186
采纳率:0%
帮助的人:185万
展开全部
16位最大的数是FFFFH(每位16进制数相当于4位二进制)=64K(65535),16位CPU一般采用的是16位寄存器,最大只能表示到64K,所以寻址寄存器最大的寻址空间是64K,至于8086系列CPU能访问1M(FFFFFH)空间,是因为它采用 段:偏移量 来寻址,需要用到段寄存器和另外一个寄存器才能表示(段寄存器X10H+偏移量)。
另外,CPU能访问的最大空间事实上是由地址总线宽度决定的,8086系列CPU具有20条地址总线,所以最大能访问1M(FFFFFH)空间,MCS51只有16条地址总线,最大只能访问64K(FFFFH)空间。
lpad
2008-02-25 · 超过45用户采纳过TA的回答
知道小有建树答主
回答量:154
采纳率:0%
帮助的人:152万
展开全部
因为它只有16位呀,16条地址线就只能有这么大的寻址空间。0FFFFH已经够16了,再多也没有用了呀。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
刀丹烟N1
2008-02-25 · 超过37用户采纳过TA的回答
知道答主
回答量:109
采纳率:0%
帮助的人:0
展开全部
十六进制的一位代表二进制的4位,16位的cpu是里面的寄存器的位数,这样它所能表示的最大十六进制数就是0FFFF,
你所说的000000h-0fffffh是相对于段寻址来讲的,用两个地址码可以表示1MB的空间。
比如:
2000:0100就可以表示20100H的物理地址
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
李成勇律师
2008-02-25 · 律师
李成勇律师
采纳数:406 获赞数:1270

向TA提问 私信TA
展开全部
2的16次方用十六进制表示就是ffffh,但是表示时需要用0表示十六进制。所以是0ffffh。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
鲲鹏展翅LHY
2008-02-25 · TA获得超过2637个赞
知道小有建树答主
回答量:642
采纳率:0%
帮助的人:976万
展开全部
16位CPU的寻址寄存器寻址空间的大小为2的16次方=64K=65336=10000h=10000 0000 0000 0000b
范围为0-65535或者0000H-FFFFH或者0000 0000 0000 0000B-1111 1111 1111 1111B。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式