计算机体系结构基础知识介绍之缓存性能的十大进阶优化之关键词优先和提前重启以减少失误处罚、合并写入缓冲区以减少惩罚(五)

优化五:关键词优先,提前重启,减少漏判

处理器通常一次只需要缓存块中的一个字(word)。不要等待整个块被加载,而是在请求的字到达后就立即发送给处理器,并让处理器继续执行,同时填充块中的其他字。这两种具体的策略是:

  • 关键字优先(Critical word first)——从内存中先请求缺失的字,并在它到达后立即发送给处理器;让处理器在填充块中的其他字时继续执行。
  • 提前重启(Early restart)——按正常顺序获取字,但是在请求的块中的字到达后,立即发送给处理器并让处理器继续执行。

通常,这些技术只有在缓存块较大时才有利,因为除非块很大,否则收益很低。注意,在填充块中的其他字时,缓存通常会继续满足对其他块的访问。然而,由于空间局部性,下一个引用很可能是对还没有获取的块的部分。当关键字优先中有第二个请求时,有效的不命中惩罚是从引用到第二个部分到达的不重叠时间。关键字优先和提前重启的效益取决于块的大小和对还没有获取的块的部分再次访问的可能性。

优化六:合并写入缓冲区,减少Miss Penalty

写缓冲器是一种用于暂存待写入下一级存储器的数据的缓冲区,可以让处理器在写操作完成后继续执行,而不必等待数据真正写入。写合并是一种优化技术,可以将多个对连续地址的写操作合并为一个写操作,从而提高内存的利用率和写入速度,减少因为写缓冲器满而导致的停顿。具体来说:

  • 写直达缓存是指每次对缓存的写操作都必须同时写入下一级存储器,以保证数据的一致性。由于这样会增加内存访问的延迟和频率,所以写直达缓存依赖于写缓冲器,将待写入的数据和地址暂存在其中,让处理器可以继续执行其他指令,而不必等待数据真正写入下一级存储器。
  • 写回缓存是指只有当缓存块被替换出去时才将其写入下一级存储器,以减少内存访问的次数。即使是写回缓存,在替换缓存块时也需要使用一个简单的写缓冲器,将被替换出去的数据和地址暂存在其中,等待合适的时机再将其写入下一级存储器。
  • 写合并是指当多个对连续地址的写操作发生时,不是将每个数据单独放入一个写缓冲器的条目中,而是将它们合并为一个数据块,放入同一个条目中。这样做的好处是可以节省写缓冲器的空间,提高内存的利用率,因为多字节的写操作通常比单字节的写操作更快。另外,这样也可以减少因为写缓冲器满而导致的停顿,因为同样数量的数据占用了更少的条目。

写直达缓存和写回缓存是两种不同的缓存写策略,用于处理当处理器对缓存中的数据进行修改时,如何保证缓存和主存之间的数据一致性的问题。它们的主要区别如下:

写直达缓存(Write-through)是指当处理器对缓存中的数据进行写操作时,同时将数据写入到缓存和主存中,这样可以保证缓存和主存的内容始终一致,但是会增加内存访问的延迟和频率,降低系统性能。
写回缓存(Write-back)是指当处理器对缓存中的数据进行写操作时,只将数据写入到缓存中,而不立即写入到主存中,只有当缓存块被替换出去时,才将修改过的数据写回到主存中,这样可以减少内存访问的次数和延迟,提高系统性能,但是会导致缓存和主存的内容不一致。

 

 

有些输入输出设备寄存器是映射到物理地址空间中的,这些输入输出地址不能使用写合并技术,因为不同的输入输出寄存器可能不像内存中的数组那样可以按顺序访问。例如,它们可能需要一个地址和一个数据字来访问每个输入输出寄存器,而不是使用一个地址来进行多字节的写操作。这些副作用通常通过将这些页面标记为需要非合并写直达来实现。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/16088.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

加速大模型落地!使用4-bit训练Transformer,比FP16快2.2倍,提速35.1%

点击蓝字 关注我们 关注并星标 从此不迷路 计算机视觉研究院 公众号ID|计算机视觉研究院 学习群|扫码在主页获取加入方式 论文地址:https://arxiv.org/pdf/2306.11987.pdf 项目地址:https://github.com/xijiu9/Train_Transformers…

裸机搭建k8s报错记录

安装教程参考 修复一、 cd /etc/kubernetes/manifests vim kube-scheduler.yaml注释掉 重启 systemctl restart kubelet.service问题二、 https://github.com/kubernetes/kubernetes/issues/70202 一直处于创建中状态 网络原因 cat << EOF > /run/flannel/subnet.…

对卷积和全连接之间关系的学习(1*1卷积与全连接层可以互换吗?)

1.对于卷积和全连接 首先我们看一张图&#xff0c;它是一张关于卷积的操作&#xff1a; 然后在看关于全连接的操作&#xff1a; 从上面两张图中可以看出卷积的过程和全连接的过程&#xff0c;我们利用粉色的卷积核在image上进行卷积&#xff0c;进行内积计算得到输出值3&#…

uniapp zjy-calendar日历,uni-calendar日历增强版

一、zjy-calendar简介 zjy-calendar日历是对uniapp uni-calendar日历的增强&#xff0c;支持圆点和文字自定义颜色。 二、使用方法 源使用说明&#xff1a;https://uniapp.dcloud.net.cn/component/uniui/uni-calendar.html 1、下载导入 https://ext.dcloud.net.cn/plugin?…

django框架中使用ORM设计数据库的模型

ORM关联数据的逻辑是&#xff1a; Django 中常见的模型字段类型及其含义&#xff1a; AutoField&#xff1a;一个自动递增的整型字段&#xff0c;添加记录时它会自动增长。BigAutoField&#xff1a;一个自动递增的 biginteger字段&#xff0c;添加记录时它会自动增长。CharFie…

RPC 框架架构设计

RPC 框架架构设计 RPC 又称远程过程调用&#xff08;Remote Procedure Call&#xff09;&#xff0c;用于解决分布式系统中服务之间的调用问题。通俗地讲&#xff0c;就是开发者能够像调用本地方法一样调用远程的服务。下面我们通过一幅图来说说 RPC 框架的基本架构。 RPC 框架…

Nginx学习

文章目录 Nginx什么是NginxLinux安装与配置Nginx编译安装Nginxnignx使用nginx默认首页配置案例 localtion的匹配规则Nginx虚拟主机基于多IP的虚拟主机基于多端口的虚拟主机基于域名的虚拟机主机 反向代理案例①案例② 负载均衡案例①案例②分配策略 动静分离案例 配置Nginx网关…

分布式监控之Zabbix6.0监控系统一

分布式监控之Zabbix6.0监控系统 前言一、Zabbix1、介绍2、zabbix监控原理3、Zabbix6.0版本新特性4、Zabbix6.0功能组件5、Zabbix与Prometheus对比 二、Zabbix6.0部署1、部署zabbix服务端2、添加 zabbix 客户端主机3、自定义监控内容4、zabbix 自动发现5、zabbix 自动注册 前言 …

从零搭建一台基于ROS的自动驾驶车-----4.定位

系列文章目录 北科天绘 16线3维激光雷达开发教程 基于Rplidar二维雷达使用Hector_SLAM算法在ROS中建图 Nvidia Jetson Nano学习笔记–串口通信 Nvidia Jetson Nano学习笔记–使用C语言实现GPIO 输入输出 Autolabor ROS机器人教程 从零搭建一台基于ROS的自动驾驶车-----1.整体介…

C语言库函数strcpy学习

strcpy是C语言的一个标准库函数&#xff1b; strcpy把含有\0结束符的字符串复制到另一个地址空间&#xff0c;返回值的类型为char*。 原型声明&#xff1a;char *strcpy(char* dest, const char *src); 头文件&#xff1a;#include <string.h> 和 #include <stdio.h&g…

MySQL:我的从库竟是我自己!?

本文将通过复制场景下的异常分析&#xff0c;介绍手工搭建MySQL主从复制时需要注意的关键细节。 作者&#xff1a;秦福朗 爱可生 DBA 团队成员&#xff0c;负责项目日常问题处理及公司平台问题排查。热爱互联网&#xff0c;会摄影、懂厨艺&#xff0c;不会厨艺的 DBA 不是好司机…

当某个微服务重启后,GateWay网关访问服务出现503的问题

因为开发阶段可能需要经常重启微服务&#xff0c;但有时会莫名奇妙返回503 Service Unavailable 由于从springcloud2020版本开始&#xff0c;弃用了Ribbon&#xff0c;因此Alibaba在2021及之后版本的nacos中删除了Ribbon的jar包&#xff0c;因此无法通过loadbalancer路由到指定…