一道分页存储和缺页中断题
发布日期:2021-06-30 17:18:45 浏览次数:2 分类:技术文章

本文共 658 字,大约阅读时间需要 2 分钟。

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
分析:
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 次。

第2问,如上分析,1页有1024个地址单元,根据题干描述,指令、数据,都跨页,因为地址从0开始,1023是第一页的最后一个单元,3071是第3页最后一个单元,5119是第五页最后一个单元。也就是说,指令、数据占据了6页。难道会产生6次页面中断?由于要执行指令,前提就是已经读到这条指令,因此指令的第一页不算,只算后面的5次页面中断。

为什么会产生页面中断呢?因为指令和数据事先并没有在内存中,所以要调入内存,才能被CPU读取、执行。

答:

1、应该访问 4 * 3 = 12 次内存。

2、产生5次页面中断。


2021.02.24

按字节编址,意味着一个地址存放8bit的内容;按字编址,一个地址存放16bit内容。内存容量最小单位为bit,地址不是内存的容量单位。

转载地址:https://leftfist.blog.csdn.net/article/details/112442272 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:arcgis图层按日期字段查找
下一篇:html5播放flv

发表评论

最新留言

路过按个爪印,很不错,赞一个!
[***.219.124.196]2024年04月18日 07时27分17秒