虚拟存储器与Cache的比较

举报
Java小菜鸡 发表于 2022/07/27 20:52:43 2022/07/27
【摘要】 虚拟存储器与Cache的比较

虚拟存储器程序的执行过程
CPU使用续存时,由辅存硬件找出虚地址与实地址之间的对应关系,并判断这个虚地址对应的存储单元是否已装入主存。若已在主存中,则通过地址转换,CPU可直接访问主存指示的实际单元;若不在主存中,则把包含这个字的一页或一段调入主存后再由CPU访问。若主存已满,则采用替换算法置换主存的一页或一段。

快表
通常采用全相联或组相联方式,每个TLB项由页表表项内容加上一个TLB标记字段组成,TLB标记用来表示该表项曲子页表中的哪个虚页号对应的页表项,所以TLB标记的内容在全相联方式下表示该页表项对应的虚页号;组相联方式下表示对应虚页号的高位部分,虚页号的低位部分用于选择TLB组的组索引。

虚拟存储器与Cache的比较
共同点:
1)均是为了提高系统性能,二者都有容量、速度、价格的梯度;
2)均把数据划分为小信息块,并作为基本得传递单元,虚存系统的信息块更大;
3)都有地址的映射、替换算法、更新策略等问题;
4)依据程序的局部性原理,将活跃的数据放在相对高速的部件中。
不同点:
1)Cache主要解决系统速度,虚存为了解决主存容量;
2)Cache由硬件实现,是硬件存储器,对所有程序员透明;而虚拟存储器由OS和硬件共同实现,是逻辑上的存储器,对系统程序员不透明,对应用程序员透明;
3)虚拟存储器系统不命中时对系统性能影响更大;
4)CPU与Cache和主存都建立了直接访问的通路,辅存与CPU无直接通路
常见指令寻址方式的特点及适用情况:
1)立即寻址:操作数获取便捷,通常用于给寄存器赋初值。
2)直接寻址:相对于立即寻址,缩短了指令长度。
3)间接寻址:扩大了寻址范围,便于编制程序,易于完成子程序返回。
4)寄存器寻址:指令字较短,指令执行速度较快。
5)寄存器间接寻址:扩大了寻址范围。
6)基址寻址:扩大了操作数寻址范围,适用于多道程序设计,常用于为程序或数据分配存储空间。
7)变址寻址:主要用于处理数组问题,适合编制循环程序。
8)相对寻址:用于控制程序的执行顺序、转移等。

CISC与RISC特点
CISC的主要特点:
1)指令系统复杂庞大,指令数量一般大于200+;
2)指令的长度不固定,指令格式多,寻址方式多;
3)可以放村的指令不受限制;
4)各种指令的使用频度相差很大;
5)各种指令执行时间相差很大,大多数指令需要多个时钟周期才能完成;
6)控制器大多数采用微程序控制,有些指令非常复杂,难以采用硬连线控制;
7)难以用优化编译生成高效的目标代码程序。
RISC的主要特点:
1)选取使用频率最高的一些简单指令,复杂指令的功能由简单指令的组合来实现;
2)指令长度固定,指令格式种类少,寻址方式种类少;
3)只有Load/Store指令访存,其余指令的操作都在寄存器之间进行;
4)CPU中通用寄存器的数量相当多;
5)RISC采用指令流水线技术,大部分指令在一个时钟周期内完成;
6)以硬布线控制为主,不用或少用微程序控制;
7)重视编译优化工作,减少程序执行时间。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。