首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >段寄存器、IP寄存器和内存寻址问题!

段寄存器、IP寄存器和内存寻址问题!
EN

Stack Overflow用户
提问于 2010-03-28 10:14:20
回答 1查看 1.1K关注 0票数 2

在下面的课文中,我问了两个问题,我还描述了我对这些问题的了解,以便你们能够理解我的想法。您对以下文本的宝贵评论是必要的。

下面是第一个问题的详细内容

我们知道,如果我们有一个超级字节内存,那么我们需要20位来处理这个内存。另一件事是,每个内存单元都有一个物理地址,在1Mb内存中是20位。IAPX88中的IP寄存器为16位。现在我的观点是,我们根本不能通过IP寄存器访问内存,因为内存需要20位地址来寻址,而IP寄存器是16位。如果我们有一个64k的内存,那么IP寄存器可以访问这个内存,因为这个内存需要16位才能被寻址。但是在1mb内存IP不能。告诉我我是否正确,如果不是,为什么?假设内存的物理地址是11000000000000000101,那么我们如何通过16位访问这个内存位置。

下面是下一个问题的详细内容:

我的下一个问题是,假设IP寄存器指向内存位置,而段寄存器也指向内存位置(段的开始),内存是1MB,我们如何通过这两个16位寄存器访问内存位置,告诉我如何访问20位可寻址内存位置的步骤顺序。如果您的回答是,我们取段值,然后将其转换为4位,然后将IP值加到其中以获得20位地址,这就引出了另一个问题,即地址总线(地址总线应该是20位宽),寄存器--段寄存器和IP寄存器--各为16位,如果地址总线宽为20位,这意味着地址总线连接到两个寄存器。如果不是这样,那么我脑海中的另一件事是,这两个寄存器都生成一个20位地址,并且会有一个寄存器可以存储20位,并且这个寄存器将连接到这些寄存器和地址总线。

EN

回答 1

Stack Overflow用户

发布于 2010-03-28 10:22:41

答案是,段寄存器总是被使用,一个20位的地址总是被产生.如果段寄存器包含零,那么只能访问第一个64K,但仍然使用20位地址访问它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2532514

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档