微前端架构如何改变企业的开发模式与效率提升
896
2022-09-29
一道分页存储和缺页中断题
分析:
1)按字节编址,意味着一个地址存放一个字节,即1 Byte,8位。一个内存地址,也称为一个内存单元。
2)页面大小为1K(2^10B),则一页存放1024个地址,即1024个单元。
3)虚拟页式存储,则系统需要建立页面映射表,即虚拟内存(逻辑内存)中的页号与物理内存页号的对照表,称为页表。页表存放于内存,进程执行过程时,首先查找页表,根据索引结果,取指或取数据。
由于一个地址(单元)是1Byte,而题目中的指令和数据都为16位,则占据2Byte,分为高字节和低字节。所以无论是取指令或取数据,都需要读2次页表,取2次值,即访问4次内存。现在指令 1 条,数据 2 个,合共访问内存 4 * (1 + 2) = 4 * 3 = 12 次。
为什么取指或取数据,要查页表?页表只不过是逻辑页号和物理页号的对照表而已。是因为系统执行的时候,要按照逻辑地址,最终从内存中拿到内容进行处理。题干中指令和数据为16位,则在系统作业中,它们每个都有高字节和低字节2个逻辑地址。按地址拿东西,所以要查页表。
第2问,如上分析,1页有1024个地址单元,根据题干描述,指令、数据,都跨页,因为地址从0开始,1023是第一页的最后一个单元,3071是第3页最后一个单元,5119是第五页最后一个单元。也就是说,指令、数据占据了6页。难道会产生6次页面中断?由于要执行指令,前提就是已经读到这条指令,因此指令的第一页不算,只算后面的5次页面中断。
为什么会产生页面中断呢?因为指令和数据事先并没有在内存中,所以要调入内存,才能被CPU读取、执行。
答: 1、应该访问 4 * 3 = 12 次内存。
2、产生5次页面中断。
2021.02.24 按字节编址,意味着一个地址存放8bit的内容;按字编址,一个地址存放16bit内容。内存容量最小单位为bit,地址不是内存的容量单位。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~