U盘PE| w764位旗舰版下载 | U盘装win7系统 | U盘启动 |win7pe | win10下载 |加入收藏土豆PE官网U盘PE,U盘装win7系统,win7pe,U盘启动,U盘装系统,w764位旗舰版下载站!
当前位置:主页 > 帮助中心 > 常见问题解答 >

计算机操作系统之CPU缓存

来源:http://www.tudoupe.com时间:2022-03-29

1、CPU缓存

要执行主内存代码,执行程序以 CPU 为基础。然而,CPU和CPU之间的速度差距很大。为了降低这种差距,在 架构 它利用了CPU缓存。缓存技术目前广泛用于计算机结构。常见 缓存1,缓存2,缓存3,缓存4,缓存5,缓存5,缓存2,缓存3,缓存4,缓存5,缓存5,缓存5,缓存2,缓存3,缓存3,缓存4,缓存4,缓存5,缓存5,缓存5,缓存5,缓存2,缓存2,缓存2,缓存3,缓存3,缓存3,缓存3,缓存4,缓存4,缓存5,缓存5,缓存5,缓存5,缓存2,缓存2,缓存2,缓存3,缓存3,缓存3,缓存3,缓存4,缓存4,缓存5,缓存5,缓存5,缓存4,缓存5,缓存5,缓存 ,这些 缓存 以下是数据访问速度:

从CPU到 情况需要使用CPU周期 大约需要的时间
主存 约60-80纳秒
QPI 总线传输
(between sockets, not drawn)
约20ns
L3 cache 需要35到40个周期 约15ns
L2 cache 大约10个周期 约3ns
L1 cache 大约3-4个周期 约1ns
寄存器 1 cycle

要理解缓存,首先必须了解其结构,以及与多重CPU核心存取缓存有关的一些问题和挑战。

每个缓存处都由缓存处组成。缓存线包含缓存系统缓存线的大小为 64 字节 。由于缓存行的特性,当许多线索编辑彼此独立的变量时,如果这些变量位于同一缓存线上最后,这是美国公民第一次有权成为联合国会员国。这是虚假的分享。一些人认为, " 共同参与 " 是一种静悄悄的表演杀手。因为很难分辨代码是否有虚假的共享问题

需要注意,数据未保存在不同的缓存项中 。我们认为,这不是一个独立的变量。它也不是一个单独的指针。它是主内存地址的有效指针。爪哇的长型是八字节长因此,一个暗藏处可能维持八个长型变数。

这种缓存特性也影响到同一缓存内数据存取的效率。例如,当你访问爪哇的长型阵列时,当数组的值之一装入缓存时,它会再加载七颗因此,你可以迅速穿越这个阵列。实际上,分布于连续的内存区块中的任何数据结构都可能快速穿行。

2、伪共享问题

处理器正在尝试加速进程 。无法与内存直接连接 。相反,在投入运行之前,将系统中储存的数据读到内部缓存(L1、L2、L3)上。但我不知道它什么时候会记在记忆里, 按照程序; 假设声明是正确的, volatile 写作变量 JVM 如果您不想这样做, 处理器将接收 Lock 前缀 。从保存此变量的缓存返回到系统的数据 。但就算写回到内存,如果其他 CPU 上的缓存值仍然老旧,重做计算不是个好主意;重做计算是一个坏主意。所以在多处理器下,为了确保处理器缓存保持恒定, 这是第一次就一致性达成共识。每个 CPU 都会忽略公共汽车上的数据以确定其缓存的价值是否已经过期 。当处理器发现自己的缓存的内存地址已更改时,他采取以下行动:当前处理器的缓存状态将设置为错误状态 。当处理者想要更改此数据时,您需要从系统内存读取数据回溯到处理器缓存 。

为证明欺诈性分享问题,考虑以下情况:两条线索中每一条都对每个变量(都在同一缓存内)进行读写情况分析。

Core1 的行必须用变数 X 修改,而 Core2 的行必须用变数 Y 更新。这种情况下,在同一缓存中有两个变量 。每条线索都必须为控制缓存而战斗,以便更新相关值。如果核心1获得缓存的所有权,然后,缓存子系统将把适当的缓存存放在核心2中。相反,如果核心2获得所有权,然后进行更新,核心1 即将使其相应的缓存无法使用。值得指出的是 整个程序 都由一群行动单位来管理这是迭接地穿行L3缓存。大大影响了性能,当当前线索写入缓存时,在另一个内核中, 缓存将被禁用 。并再次通过信息。如果竞争的中心分布在许多角落它是一种额外的多渠道连接,是一种额外的多渠道连接。效率可能会更低。

3、缓存行对齐

根据对上述问题的答复,在某些情况下,例如经常操作的数据,可以根据缓存的特征(拟为缓存操作建立数据)建立缓存对齐。

最终运行结果如下:

总消费时间: 3381分钟

让我们升级,对齐线条, 集中关注以下代码:

这些校准中头7*8个校准点,加上最后1个作为单独的缓存的校准点,安排如下:

运行结果如下:

花费的总时间:1428年

如上文所示,采用缓冲定位,将在同一流程中对齐后的时间比未对齐的时间减少一半。

一开始,这种填充缓存的方式比较常见。这种方法用于提高更众所周知的破坏者框架中的业绩。干扰器是一种通信结构,逐行运作。在线条中, 使用共享信息 。例如,链接的锁定队列 。它提供了一个快速生产者-消费者模式。它广泛用于IO的批量读写。它通常用于读写硬盘数据。阿帕奇国旗框架使用干扰器,包括作为总部、蜂窝和风暴。

4. 在JAVA8中虚假分享解决办法

当我们加入JAVA8时, 官员为错误的共享提供了补救, Sun. I'm sorry, miss. conferned note. 虚假共享很容易用这个通知解决。

注:默认情况下,本注释无效, 必须在 JVM 启动 - XX: 限制设置时放置。 整个代码如下:

可以看出,为避免级联,守则中只增加了一条评论,测试结果如下:

总耗用时间:1289

参考博客1

Copyright © 2012-2014 Www.tudoupe.Com. 土豆启动 版权所有 意见建议:tdsky@tudoupe.com

土豆系统,土豆PE,win7系统下载,win7 64位旗舰版下载,u盘启动,u盘装系统,win10下载,win10正式版下载,win10 RTM正式版下载,win8下载,电脑蓝屏,IE11修复,网络受限,4K对齐,双系统,隐藏分区,系统安装不了,U盘装系统,笔记本装系统,台式机装系统,diskgenius运用,GHSOT装系统,U盘修复,U盘技巧,U盘速度,U盘不能格式化,U盘复制发生错误,U盘加密,U盘选购,开机黑屏,蓝屏,进不了系统,上不了网,打不开程序,点击无反应,系统设置,PE个性化,PE添加网络,PE维护系统

点击这里给我发消息