计算机体系结构new.ppt

第4章 指令级并行 Review: 基本流水线 流水线提高的是指令带宽(吞吐率),而不是单条指令的执行速度 相关限制了流水线性能的发挥 结构相关:需要更多的硬件资源 数据相关:需要定向,编译器调度 控制相关:尽早检测条件,计算目标地址,延迟转移,预测 增加流水线的级数会增加相关产生的可能性 异常,浮点运算使得流水线控制更加复杂 编译器可降低数据相关和控制相关的开销 Load 延迟槽 Branch 延迟槽 Branch预测 指令级并行的概念 计算机系统的并行性,从执行程序的角度,分为: 指令内部并行:指令内部的微操作 指令级并行:并行执行两条或多条指令 任务级或过程级并行:并行执行两个或多个过程或任务 作业或程序级并行:在多个作业或程序间并行 从处理数据的角度,并行性等级分为: 字串位串 字串位并 字并位串 全并行 提高并行的三种途径 时间重叠 资源重复 资源共享 4.1 先进流水线技术和指令级并行(Instruction Level Parallelism) ILP: 无关的指令重叠执行 流水线的平均CPI Pipeline CPI = Ideal Pipeline CPI + Struct Stalls + RAW Stalls + WAR Stalls + WAW Stalls + Control Stalls 本章研究 减少停顿(stalls)数的方法和技术 基本途径 软件方法(编译器优化) Gcc: 17%控制类指令 5 instructions + 1 branch 在基本块上,得到更多的并行性 挖掘循环级并行 硬件方法 动态调度方法 以DLX的浮点数操作为例 采用的基本技术 本章遵循的指令延时 基本块内的指令级并行 基本块的定义 直线型代码,无分支 单入口 整个程序是由分支语句连接基本块构成 循环级并行 for (i=1; i<=1000; i++) x(i) = x(i) + s; ? 计算x(i)时没有相关 ? 可以并行产生1000个数据 ?这里没有相关是指没有数据相关 ?问题是在生成代码时会有Branch指令-控制相关 ?预测比较容易,但我们必须有预测方案 向量处理机模型 ? load vectors x and y (up to some machine dependent max) ? then do result-vec = xvec + yvec in a single instruction 简单循环及其对应的汇编程序 for (i=1; i<=1000; i++) x(i) = x(i) + s; FP 循环中的相关 Loop:LDF0,0(R1);F0=vector element ADDDF4,F0,F2;add scalar from F2 SD0(R1),F4;store result SUBIR1,R1,8;decrement pointer 8B (DW) BNEZR1,Loop;branch R1!=zero NOP;delayed branch slot FP 循环中的相关 FP 循环中的Stalls 10 clocks: 是否可以通过调整代码顺序使stalls减到最小 FP 循环中的最少Stalls数 6 clocks: 通过循环展开4次是否可以提高性能? 循环展开4次(straightforward way) Rewrite loop to minimize stalls? Stalls数最小的循环展开 代码移动后 SD移动到SUBI后,注意偏移量的修改 Loads移动到SD前,注意偏移量的修改 循环展开示例小结 移动SD到SUBI和BNEZ后,需要调整 SD中的偏移 循环展开对循环间无关的程序是有效的降低stalls的手段(对循环级并行). 不同次的循环,使用不同的寄存器. 删除不必要的测试和分支后,需调整循环步长等控制循环的代码. 注意循环展开中的Load和Store,不同次循环的Load 和Store 是相互独立的。需要分析对存储器的引用,保证他们没有引用同一地址. 指令调度,必须保证程序运行的结果不变 从编译器角度看代码移动(1/5) 编译器分析程序的相关性依赖于给定的流水线 编译器进行指令调度来消除相关 (True) 数据相关(Data dependencies), 对于指令i和j,如果 Instruction j使用指令I产生的结果 , 或 Instruction j 与instruction k相关, 并且instruction k 与instruction I有数据相关. 如果相关, 不能并行执行 对于寄存器比较容易确定(fixed names

计算机体系结构在线读,计算机体系结构new.ppt相关推荐

  1. 计算机体系结构在线读,计算机体系结构_arch01_intro-c1.pdf

    计算机体系结构_arch01_intro-c1.pdf 高等计算机系统结构 高等计算机系统结构 引 论 (第一讲) 程旭 2007年9月10日 北京大学微处理器研究开发中心 chengxu@ 主要教材 ...

  2. 计算机体系结构在线读,计算机体系结构复习题.ppt

    人武11计科复习;一.单项选择题:(10*2=20分)二.填空题( 10*2=20分)三.名词解释(4*3=12分)四.简答题:(3*6=18分)五.分析计算题(4*5=20分)六.综合应用题(1*1 ...

  3. 计算机体系结构在线读,18春北交《计算机体系结构》在线作业二-3

    18春北交<计算机体系结构>在线作业二-3 (7页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 4.90 积分 18 春北交<计算机体系 ...

  4. 计算机一级在线练习,计算机一级练习系统

    计算机一级练习系统是根据浙江省计算机一级考试内容的开发的练习系统,共包含window操作题.文件操作题.Excel操作题.ppt操作题.Frontpage操作题.Access操作题.Ie操作题和Out ...

  5. 计算机仿真在线投稿,计算机仿真期刊投稿_计算机仿真投稿格式要求

    <计算机仿真>简介 计算机仿真是仿真技术领域的综合性科技期刊.98年起已列入国家科技部中国科技论文统计源期刊,同时被各种文摘数据库引录,如中国导弹与控制文摘.电子文摘等引录.2001年被国 ...

  6. 计算机操作系统在线阅读,计算机操作系统3-1.ppt

    计算机操作系统3-1 计算机操作系统 第三章 进程管理 本章主要内容: 3.1进程的概念 3.2进程的描述 3.3进程状态及其转换 3.4进程控制 3.5进程互斥 3.6进程同步 3.1进程的概念 3 ...

  7. 计算机大全在线阅读,计算机基础知识大全.doc

    您所在位置:网站首页 > 海量文档 &nbsp>&nbsp计算机&nbsp>&nbsp计算机应用/办公自动化 计算机基础知识大全.doc69页 本文档 ...

  8. 计算机学报在线阅读,计算机学报CHIN.pdf

    计算机学报CHIN.pdf 第22卷 第7期 1999年7月 计 算 机 学 报 CH I N ESE J1COM PU TERS Vol 22 No 7 July 1999 曲线曲面的形态算法及应用 ...

  9. 计算机专业在线杂志,计算机类的cscd期刊汇总

    时间:2020-01-08 12:00 (12) 摘要:Cscd是中国科学引文数据库的英文简称,属于核心期刊数据库,收录的学科范围有数学.物理.天文学.地理学.计算机类等等,人们在评高级职称的时候需要 ...

最新文章

  1. 把数学函数印在T恤上却被告侵权,这位程序员怒了
  2. Get Started with Field Service
  3. angular 指令
  4. java监听窗口饮品,Java 完成部分水吧点饮品系统的:点饮品,饮品管理片段的实现...
  5. hive把字符串转换为时间_关于hive的时间转换
  6. 栈中函数调用原理_详解
  7. Centos6的VSFTP服务器配置使用教程
  8. python中findroot_Python源码问题算负数平方根无结果输出何解,python负数,def findRoot...
  9. matlab2c使用c++实现matlab函数系列教程-exppdf函数
  10. centos源码安装Xen
  11. H5 下载文件到本地
  12. 2、RH850外设时钟选择及配置
  13. 元宇宙产业化还很遥远
  14. android usb摄像头 前后置,android – 在后置和前置摄像头之间切换
  15. MinIO对象生命周期管理解析
  16. 电商运营基本常识你都知道哪些?
  17. java 中完成 乘方 , 开方 可借助于java.lang.Math类的工具
  18. 【论文】使用endnote进行论文引用插入
  19. vim .bashrc进入vim编辑界面之后如何退出
  20. ios 中生成随机数

热门文章

  1. [debug] RuntimeError: CUDA error: no kernel image is available for execution on the device
  2. 配置Sublime Text3和MASM32编译汇编的问题汇总
  3. Latex空格一个字符\空格
  4. library的英语怎么读音_英语元音与辅音
  5. 万兆交换机用什么网线_超五类线到底是百兆线还是千兆线?家庭环境中我们要选择几类网线?...
  6. [理解] Linux 作为一个服务器是怎样的存在 (一)
  7. nodejs+react使用webpack打包时控制台报错
  8. [开源]STM32F103RBT6最小系统,LEDx2,KEYx4
  9. layout_gravity与gravity的区别
  10. 完全采用CSS的CROSS BROWSER TABBED PAGES