社区
CPU和硬件区
帖子详情
Intel cpu,指令缓存和数据缓存分开吗? 什么分离策略?
tocligg
2016-04-25 09:23:40
网上说,现代cpu都采用指令Cache和数据Cache分离的策略,来减少指令流水线的资源冲突。
那么,例如我的i7 cpu,32k一级缓存,256k二级缓存,8M三级缓存,
1.在这些缓存当中,是否有固定容量分配给指令缓存,其余的容量分配给数据缓存?
2.这个缓存分配策略是哪个软/硬件层次决定的? cpu还是OS还是别的什么?
...全文
414
2
打赏
收藏
Intel cpu,指令缓存和数据缓存分开吗? 什么分离策略?
网上说,现代cpu都采用指令Cache和数据Cache分离的策略,来减少指令流水线的资源冲突。 那么,例如我的i7 cpu,32k一级缓存,256k二级缓存,8M三级缓存, 1.在这些缓存当中,是否有固定容量分配给指令缓存,其余的容量分配给数据缓存? 2.这个缓存分配策略是哪个软/硬件层次决定的? cpu还是OS还是别的什么?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
vinter-he
2019-03-01
打赏
举报
回复
虽然结贴了,但是看到这个问题的时候我突然想回答一下,首先L1缓存是指令和数据分开的,就像你说的便于流水作业,因为这一级缓存是直接面向处理单元的。L2和L3是指令和数据联合在一起的,因为要提高缓存的命中率,只要有空闲,就可以存,并没有规定多少属于数据多少属于指令。至于实现方式,首先要有硬件支持,也就是要确确实实有那个缓存块,第二就是操作系统也要支持去写那个缓存块。操作系统实现了自动使用缓存,对上层使用者是透明的。
tocligg
2016-05-04
打赏
举报
回复
有人回答一下吗?
处理器架构与
指令
集
哈佛结构和冯诺依曼结构主要区别在是否区分
指令
与
数据
。在教科书里这是两种截然不同的做法。但实际上在内存里,
指令
和
数据
是在一起的。而在
CPU
内的
缓存
中,还是会区分
指令
缓存
和
数据
缓存
,最终执行的时候,
指令
和
数据
是从两个不同的地方出来的。你可以理解为在
CPU
外部,采用的是冯诺依曼模型,而在
CPU
内部用的是哈佛结构。哈佛结构设计复杂,但效率高。冯诺依曼结构则比较简单,但也比较慢。
CPU
厂商为了提高处理速度,在
CPU
内增加了高速
缓存
。也基于同样的目的,区分了
指令
缓存
和
数据
缓存
。
cpu
,内存,虚拟内存,硬盘,
缓存
之间是什么关系??
1。
CPU
即中央处理器,是英语“Central Processing Unit”的缩写。
CPU
从内存或
缓存
中取出
指令
,放入
指令
寄存器,并对
指令
译码分解成一系列的微操作,然后发出各种控制命令,执行微操作系列,从而完成一条
指令
的执行。 2。但是,
CPU
并不能直接调用存储在硬盘上的系统、程序和
数据
,必须首先将硬盘的有关内容存储在内存中,这样才能被
CPU
读取运行。因而,内存(即物理内存,是...
【全面讲解】
CPU
缓存
一致性:从理论到实战(上)
大多数处理器还支持更细粒度的屏障
指令
。严格按照MESI协议,核心0 在修改本地
缓存
之前,需要向其他核心发送 Invalid 消息,其他核心收到消息后,使他们本地对应的
缓存
行失效,并返回 Invalid acknowledgement 消息,核心0 收到后修改
缓存
行。的,当一个线程对
缓存
行中
数据
执行写操作时,必须通知其他线程该
缓存
行失效,导致另一个线程从
缓存
中读取其想修改的
数据
失败,必须从内存重新加载,导致性能下降。当访问某个路对应的
缓存
行时,先将该路对应的所有行置为 1,然后再将该路对应的所有列置为 0。
cpu
缓存
以及内存屏障
0
CPU
缓存
缓存
的出现主要是为了解决
CPU
运算速度与内存读写速度不匹配的矛盾,因为
CPU
运算速度要比内存读写速度快很多,这样会使
CPU
花费很长时间等待
数据
到来或把
数据
写入内存。 当
CPU
要读取一个
数据
时,首先从
缓存
中查找,如果找到就立即读取并送给
CPU
处理;如果没有找到,就用相对慢的速度从内存中读取并送给
CPU
处理,同时把这个
数据
所在的
数据
块调入
缓存
中,可以使得以后对整块
数据
的读取都从
缓存
...
L1 Cache(一级
缓存
)
CPU
缓存
(Cache Memory)是位于
CPU
与内存之间的临时存储器,它的容量比内存小的多但是交换速度却比内存要快得多。
缓存
的出现主要是为了解决
CPU
运算速度与内存读写速度不匹配的矛盾,因为
CPU
运算速度要比内存读写速度快很多,这样会使
CPU
花费很长时间等待
数据
到来或把
数据
写入内存。在
缓存
中的
数据
是内存中的一小部分,但这一小部分是短时间内
CPU
即将访问的,当
CPU
调用大量
数据
时,就可避开内存直接从
缓存
中调用,从而加快读取速度。 简介
缓存
大小也是
CPU
的重要指标之一,而且
缓存
的结构和大小对
CPU
速度
CPU和硬件区
1,025
社区成员
562
社区内容
发帖
与我相关
我的任务
CPU和硬件区
Linux /Unix kernel支持不同的硬件体系,X86, ARM, MIPS, 等等
复制链接
扫一扫
分享
社区描述
Linux /Unix kernel支持不同的硬件体系,X86, ARM, MIPS, 等等
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章