试说明实模式下存储器如何寻址
答案:2 悬赏:60
解决时间 2021-03-15 08:20
- 提问者网友:富士山上尢
- 2021-03-15 03:38
试说明实模式下存储器如何寻址
最佳答案
- 二级知识专家网友:荒野風
- 2021-03-15 04:41
8086/8088的cpu中ALU的宽度只有16位,也就是说直接加以运算的指针长度为16位,最大寻址范围为2的16次方即64k! 而当时intel在8086/8088中决定采用1M的内存空间,就决定了地址总线为20位(2的20次方为1M)
http://topic.csdn.net/t/20030824/14/2182480.html
自己去看吧参考资料:http://topic.csdn.net/t/20030824/14/2182480.html
http://topic.csdn.net/t/20030824/14/2182480.html
自己去看吧参考资料:http://topic.csdn.net/t/20030824/14/2182480.html
全部回答
- 1楼网友:迟山
- 2021-03-15 05:13
直接寻址方式:
指令的地址码部分直接给出的不是操作数,而是操作数的存储器地址,这种方式称为直接寻址方式。根据指令地址码部分给出的直接地址A就可以从存储器中读出所需要的操作数。这种寻址方式简单,直观,也便于硬件实现,但是随着计算机的存储器容量不断扩大,所需要的地址码越来越长,势必造成指令的一部分,不能修改,故只能用来访问固定存储器单元。
如果汇编原程序中跳转指令中使用的是标号,编译后是直接跳转,如果使用了寄存器参量的就是间接跳转的了。
只能说内存寻址的大小与CPU位数有关,但不完全有CPU位数决定,这里有人为的设置,同为64位的CPU,寻址大小、方式也是不一样的,举个例子:
人为限制内存地址用8位2进制数表示,那他的寻址大小是2的8次方,就是256,也就是可以支持256比特大小的内存,以此类推,所以要看CPU是怎么定义内存地址的。
指令的地址码部分直接给出的不是操作数,而是操作数的存储器地址,这种方式称为直接寻址方式。根据指令地址码部分给出的直接地址A就可以从存储器中读出所需要的操作数。这种寻址方式简单,直观,也便于硬件实现,但是随着计算机的存储器容量不断扩大,所需要的地址码越来越长,势必造成指令的一部分,不能修改,故只能用来访问固定存储器单元。
如果汇编原程序中跳转指令中使用的是标号,编译后是直接跳转,如果使用了寄存器参量的就是间接跳转的了。
只能说内存寻址的大小与CPU位数有关,但不完全有CPU位数决定,这里有人为的设置,同为64位的CPU,寻址大小、方式也是不一样的,举个例子:
人为限制内存地址用8位2进制数表示,那他的寻址大小是2的8次方,就是256,也就是可以支持256比特大小的内存,以此类推,所以要看CPU是怎么定义内存地址的。
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯
• 手机登qq时,显示手机磁盘不足,清理后重新登 |
• 刺客的套装怎么选啊? |