⑴ 一次间接寻址范围怎么计算
是2的16次方。
举个最简单的例子,某个程序要访问内存,以16位为例。采用间接寻址。假设,地址码是4位2进制,如果是1对1的关系,4位地址码最多是2的4次方内存单元。只用一个1个内存就能访问更大的单元。//先访问0001H单元内存mov 0001H 0000H //将立即数0001H放。
(1)立即寻址需要访问几次内存扩展阅读:
由于程序中的指令序列通常是顺序排列的,对于顺序推进的指令序列,采用程序计数器PC加1的方式自动形成下一条指令的地址。当程序发生转移时,就不能采用上述方式,此时把指令地址的形成转换为操作数地址的寻址。把指令不当指令信息,而当作操作数信息来处理、按操作数的寻址方式获得指令地址。
⑵ 在无快表的段页式存储管理系统中,为获得一条指令需要访问内存多少次每次取出什么内容
两次,第一次访问内存中的页表,找到指定页的物理块号,将块号与页内偏移量拼接,形成物理地址,第二次访问,取得数据
⑶ 段页式储存系统中,为了获得一条指令或数据,需几次访问内存
至少需要访问三次以上的内存:
第一次是由段表地址寄存器得段表始址后访问段表,由此取出对应段的页表在内存中的地址。
第二次则是访问页表得到所要访问的物理地址。
第三次才能访问真正需要访问的物理单元。
⑷ C++对未对齐的内存访问为什么要访问两次。讲深点。谢谢
我是这样理解的:
假设地址0x90000000-0x90000003存放int型数据,然后cpu用整型读写这个地址时,因为这个地址是32位对齐的,所以cpu直接用0x90000000访问即可,只访问一次。
假设地址0x90000002-0x90000005存放int型数据,然后cpu用整型读写这个地址时,因为这个地址不是32位对齐的,所以cpu先用0x90000000访问操作数据的高两个字节,再用0x90000004操作数据的低两位字节,需要访问两次。
⑸ 在页式存储器管理中 当执行一段程序时 至少访问几次内存
查找页表,之后对比值,应该是两次啊。不知道为什么楼上说是3次,3次是段页式管理。
⑹ 汇编语言寻址方式以及物理地址
1,MOV
AX,OABH
立即寻址方式,0ABH直接放在代码中。
2,
MOV
AX,BX
寄存器寻址方式,1100H放在BX中,直接送AX,不需访问内存来取操作数。
3,MOV
AX,[100H]
直接寻址方式,操作数放在DS*10H+100H即20100H开始的物理内存中,送AX
4,MOV
AX,VAL
直接寻址方式,操作数放在DS*10H+3000H即23000H开始的物理内存中,送AX
5,MOV
AX,[BX][SI]
基址变址寻址方式,BX是基址寄存器,SI是变址寄存器,操作数放在DS*10H+1100H+1000H即22100H开始的物理内存中,送AX
⑺ 段页式管理每一次数据要访问几次内存
一般需要访问三次以上的内存:
第一次是由段表地址寄存器得段表始址后访问段表,由此取出对应段的页表在内存中的地址。 第二次则是访问页表得到所要访问的物理地址。 第三次才能访问真正需要访问的物理单元。
分别为2、2、3次,因为他的检索方法不同,段页式访问次数多,但是效率高。
三 段页式管理的实现原理
1 虚地址的构成
一个进程中所包含的具有独立逻辑功能的程序或数据仍被划分为段,并有各自的段号s。这反映相继承了段式管理的特征。其次,对于段s中的程序或数据,则按照一定的大小将其划分为不同的页。和页式系统一样,最后不足一页的部分仍占一页。这反映了段页式管理中的页式特征。从而,段页式管理时的进程的虚拟地址空间中的虚拟地址由三部分组成:即段号s,页号P和页内相对地址d。虚拟空间的最小单位是页而不是段,从而内存可用区也就被划分成为着干个大小相等的页面,且每段所拥有的程序和数据在内存中可以分开存放。分段的大小也不再受内存可用区的限制。
2 段表和页表
为了实现段页式管理,系统必须为每个作业或进程建立一张段表以管理内存分配与释放、缺段处理、存储保护相地址变换等。另外,由于一个段又被划分成了若干页,每个段又必须建立一张页表以把段中的虚页变换成内存中的实际页面。显然,与页式管理时相同,页表中也要有相应的实现缺页中断处理和页面保护等功能的表项。另外,由于在段页式管理中,页表不再是属于进程而是属于某个段,因此,段表中应有专项指出该段所对应页表的页表始址和页表长度。
3 动态地址变换过程
在一般使用段页式存储管理方式的计算机系统中,都在内存中辟出一块固定的区域存放进程的段表和页表。因此,在段页式管理系统中,要对内存中指令或数据进行一次存取的话,至少需要访问三次以上的内存:
第一次是由段表地址寄存器得段表始址后访问段表,由此取出对应段的页表在内存中的地址。
第二次则是访问页表得到所要访问的物理地址。
第三次才能访问真正需要访问的物理单元。
⑻ 分页存储管理方式中,要按照给定的逻辑地址进行读/写时,需要访问几次内存
如果是单级页表的话,需要2次,一次访问内存中的页表,第二次才访问内存
有快表的话是1次或2次
⑼ 在页式存储管理系统中,当访问主存中的一条指令或数据时,需要访问多少次主存段式存储呢
1)页式存储管理中,访问指令或数据时,首先要访问内存中的页表,查找到指令或数据所在页面对应的页表项,然后再根据页表项查找访问指令或数据所在的内存页面。需要访问内存两次。
段式存储管理同理,需要访问内存两次。
段页式存储管理,首先要访问内存中的段表,然后再访问内存中的页表,最后访问指令或数据所在的内存页面。需要访问内存三次。
对于比较复杂的情况,如多级页表,若页表划分为N级,则需要访问内存N+1次。若系统中有快表,则在快表命中时,只需要一次访问内存即可。