ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

一些总结

2022-05-07 10:06:25  阅读:156  来源: 互联网

标签:总结 读取 中断 Cache 修改 一些 Line CPU


多核下的数据修改及数据同步
修改:(承接上面多核读取结束后,CPU A对数据进行了修改)

1.CPU A进行Local write,修改变量z=2,此时要将其cache line的状态修改为M(修改),并通知有缓存了z变量的CPU,此处即CPU B。

2.CPU B需要将本地cache 中的z设置为I(无效)

3.CPU A对变量z进行赋值

 

同步:(涉及两种情况:其它CPU,如CPU B此时要读取z,或者CPU B此时要读取并修改z)

CPU B此时要读取z

1.CPU B发出读取z的指令(Remote read)

2.CPU A在写总线上嗅探到这个读请求以后,先将Cache Line里修改过的数据回(Write Back)到Memory中,然后在内存总线上放一份Cache Line的拷贝作为应答。

3.将自身的Cache Line的状态修改为Shared,由此产生的结果是CPU A与CPU B里对应的Cache Line的状态都为Shared。

 

//////////////////////////////////////////

 

中断(interrupt)

CPU 微处理器有一个中断信号位, 在每个CPU时钟周期的末尾, CPU会去检测那个中断信号位是否有中断信号到达, 如果有, 则会根据中断优先级决定是否要暂停当前执行的指令, 转而去执行处理中断的指令。(其实就是 CPU 层级的 while 轮询)

时钟中断( Clock Interrupt )

一个硬件时钟会每隔一段(很短)的时间就产生一个中断信号发送给 CPU,CPU 在响应这个中断时, 就会去执行操作系统内核的指令, 继而将 CPU 的控制权转移给了操作系统内核, 可以由操作系统内核决定下一个要被执行的指令。

系统调用(system call)

system call 是操作系统提供给应用程序的接口。用户通过调用 systemcall 来完成那些需要操作系统内核进行的操作, 例如硬盘, 网络接口设备的读写等

标签:总结,读取,中断,Cache,修改,一些,Line,CPU
来源: https://www.cnblogs.com/caopf/p/16241221.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有