虚拟存储器与Cache的比较

简介: 虚拟存储器与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)重视编译优化工作,减少程序执行时间。

相关文章
|
7月前
|
存储 缓存
怎么理解内存中的Buffer和Cache?
怎么理解内存中的Buffer和Cache?
80 2
|
7月前
|
存储 缓存 Linux
CPU高速缓存架构
CPU高速缓存架构
|
7月前
|
缓存 算法 Linux
Linux内存管理宏观篇(六)物理内存:分配小内存块
Linux内存管理宏观篇(六)物理内存:分配小内存块
112 1
|
7月前
|
缓存 Linux 索引
内存学习(四):内存映射2
内存学习(四):内存映射2
97 0
|
7月前
|
存储 缓存 Linux
内存学习(四):内存映射4
内存学习(四):内存映射4
64 0
|
7月前
|
缓存 Linux
内存学习(四):内存映射5
内存学习(四):内存映射5
53 0
|
7月前
|
存储 缓存 Linux
内存学习(四):内存映射1
内存学习(四):内存映射1
247 0
|
存储 缓存 Linux
系统内存管理:虚拟内存、内存分段与分页、页表缓存TLB以及Linux内存管理
虚拟内存的主要作用是提供更大的地址空间,使得每个进程都可以拥有大量的虚拟内存,而不受物理内存大小的限制。此外,虚拟内存还可以提供内存保护和共享的机制,保护每个进程的内存空间不被其他进程非法访问,并允许多个进程共享同一份物理内存数据,提高了系统的资源利用率。虚拟内存的实现方式有分段和分页两种,其中分页机制更为常用和灵活。分页机制将虚拟内存划分为固定大小的页,将每个进程的虚拟地址空间映射到物理内存的页框中。为了减少页表的大小和访问时间,采用了多级页表的方式,将大的页表划分为多个小的页表,只加载需要的页表项,节约了内存空间。
414 0
系统内存管理:虚拟内存、内存分段与分页、页表缓存TLB以及Linux内存管理
|
缓存 内存技术
硬件 - CPU 缓存 SRAM 与内存 DRAM 的区别
硬件 - CPU 缓存 SRAM 与内存 DRAM 的区别
336 0
|
缓存 大数据 编译器
CPU高速缓存和内存屏障
为了提高程序运行的性能,现代CPU在很多方面对程序进行了优化。 例如:CPU高速缓存。尽可能地避免处理器访问主内存的开销,处理器大多会利用缓存以提高性能。
CPU高速缓存和内存屏障