首页 > 其他分享 >3.1 指令级并行:概念与挑战

3.1 指令级并行:概念与挑战

时间:2023-11-23 17:15:34浏览次数:22  
标签:依赖 并行 并行性 指令 ILP 3.1

3.1 指令级并行:概念与挑战

指令集并行ILP的定义

处理器使用流水线来重叠指令的执行并提高性能,指令之间的这种潜在重叠被称为指令级并行,因为指令可以并行计算。

利用ILP有两种主流方法

1.依靠硬件来帮助动态地发现和利用并行性的方法(桌面端CPU常用,例如酷睿系列);

2. 依靠软件技术在编译时静态地发现并行性的方法(移动端追求能效,设计师利用较低水平的ILP,不过未来如Cortex-A9正在使用动态方法)。

数据依赖

数据依赖性会限制我们可以利用的指令级并行性的数量,本章的主要重点是克服这些限制。可以通过两种不同的方式克服依赖关系:(1)维护依赖关系,但避免危险;(2)通过转换代码消除依赖关系。对代码进行调度是在不改变依赖关系的情况下避免危险的主要方法,这种调度可以由编译器和硬件完成。

  1. 数据依赖:指令i产生的结果被指令j使用(真数据依赖)

  2. 名字依赖:当两个指令使用相同的寄存器或内存位置时必须保证顺序。(1)指令 i 读后指令 j 写(反依赖)(2)指令 i 和 j 先后写(输出依赖)

数据危险

只要指令之间存在依赖关系且足够接近,就会导致执行期间重叠改变访问顺序,就会存在危险。

  1. 写后读RAW:真数据依赖

  2. 写后写WAW:输出依赖

  3. 读后写WAR:反依赖

控制依赖

决定指令 i 相对分支指令的顺序,以便正确执行。通常施加两条约束:

  1. 受分支影响的指令不能放在控制指令之前,否则无法对其进行控制;

  2. 不受分支影响的指令不能放在控制指令之后,否则它的执行会受到控制;

 

标签:依赖,并行,并行性,指令,ILP,3.1
From: https://www.cnblogs.com/panpanda07/p/17851984.html

相关文章

  • 百度网盘(百度云)SVIP超级会员共享账号每日更新(2023.11.23)
    一、百度网盘SVIP超级会员共享账号可能很多人不懂这个共享账号是什么意思,小编在这里给大家做一下解答。我们多知道百度网盘很大的用处就是类似U盘,不同的人把文件上传到百度网盘,别人可以直接下载,避免了U盘的物理载体,直接在网上就实现文件传输。百度网盘SVIP会员可以让自己百度账......
  • Vue 实现一个拖拽功能(指令)
    用Vue实现一个拖拽功能,以指令的方式被调用。使用Vue的自定义指令(directive)来实现拖拽功能。一下是Vue代码示例:<template><div><divv-draggable>拖拽我</div></div></template><script>exportdefault{directives:{draggable:{moun......
  • 界面组件DevExpress Reporting v23.1 - Web报表设计器功能升级
    DevExpressReporting是.NETFramework下功能完善的报表平台,它附带了易于使用的VisualStudio报表设计器和丰富的报表控件集,包括数据透视表、图表,因此您可以构建无与伦比、信息清晰的报表界面组件DevExpressReportingv23.1已经发布一段时间了,新版本增强了Web报表设计器的自定义......
  • 2023.11.22值得推荐的一款服务器空间
    ,已经体验一个月咯,非常不错的免费资源,适合大家去了解了解~!他们家的免费空间,免费服务器,非常稳定,非常靠谱,值得拥有,价格厚道~!免备案服务,域名管理等等服务,应有尽有,2023年你值得了解,他们家的免费云服务器还是独立IP的哦,非常非常好,非常NICE~!官网地址:https://www.sanfengyun.com......
  • 2023.11.22 日记g
    今天又来机房了。本来最近没啥训练的心情的,奈不过sx热情万分。噢噢,下午和同学打球去了又没有洗澡,吃完饭回教室已经有点晚迟到了,然后lsx提议直接来机房,我曰:“善!”然后改了上一场arc的b、c、d。感觉大脑出现了一些问题。不过最终还是完成了任务。然后今天whk还是一如既往......
  • 2023.11.22——每日总结
    学习所花时间(包括上课):9h代码量(行):0行博客量(篇):1篇今天,上午学习,下午学习;我了解到的知识点:1.JavaGUI2.会话跟踪技术明日计划:学习......
  • CSC3150 指令集
    一个简单且类似Unix的教学操作系统,作为指导您实现间接块以支持大文件管理。在现有实现时,单个间接块可以处理对大文件无效的有限块经营在这个分配中,您将把xv6文件的最大大小增加实现用于进一步扩展的双重间接块。我们建议您在编写代码之前先阅读第8章:文件系统。准备工作mkfs程序......
  • 雅礼信奥 2023.11.22 习题课记录(讲解版)
    雅礼信奥\(2023.11.22\)习题课记录(讲解版)都是CF题,不如AT。剧情版后面会更。A-YarikandArray(CF1899C)dp题,作为学OI\(3\)年的萌新OIer,后面才想到dp真是太蒟蒻了,时间复杂度\(O(tn)\)。初始\(f_1=1\),其他为\(0\)。状态转移方程:\(\begin{cases}\text{if}&......
  • 2023.11.22学习笔记(2)
    跳石头P2678[NOIP2015提高组]跳石头-洛谷|计算机科学教育新生态(luogu.com.cn)佬啊佬啊,我的思路:用数组b去储存它的差分,每一次找到它的最小值,将最小值和它旁边的较小的那个值合并,边界的话就直接合并,总计进行m次合并操作,这个时候再找到它的最小值,就是答案但是如果是枚举......
  • 了解常用的Linux指令
    Linux存在很多指令suroot切换到管理员cd文件切换到该文件cd  切出pwd查看当前工作目录cat命令查看文件file1的内容touch创建文件mkdir创建文件夹rmdir删除文件夹:wq退出vi编辑器以上很多都是Linux常见的指令,通过本次课程的学习,加上课程练习,巩固了对Linux指......