流水线介绍-Read.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
流水线介绍-Read

BIT/TI 第二讲 流水线介绍 第二讲 流水线介绍 学习内容 描述C62xx流水线操作 定义:取指包、执行包、延迟间隙 观察串联、部分串联和并行代码流过流水线情况 比较VeiociTI和标准VLIW 题目 一、为什么使用流水线? 二、C62xx流水线各级介绍 三、取指包 四、代码通过流水线的过程举例 五、串行、部分并行和完全并行代码通过 流水线的过程举例 六、VelociTI与标准VLIW 一、为什么使用流水线? 非流水与流水的CPU 二、C62xx流水线各级介绍 流水线基本级描述 程序取指(PF-级) 程序取指(PF)分为4个节拍: PG:程序地址产生 PS:程序地址发送 PW:程序访问等待 PR:程序接收 译码(D—级) 译码分成2个节拍: DP:确定指令到功能单元路线(指令分配) DC:指令在功能单元译码 C62xx指令类型和执行周期 C62xx所有指令仅需要1个周期执行,但有些指令的结果被延迟。 执行(E—级) 取指令(LD)执行节拍 虽然取指令只需一个周期执行操作(E1),但结果延迟4个周期 C62xx总流水线节拍 E2-E6结果延迟节拍 三、取指包 取指包 C62xx系统方框图 256-bit片内程序数据总线 四、代码通过流水线过程举例 点积代码 程序取指开始 程序取指结束 指令分配 指令译码 执行(E1) MVK完成,LD→E1 指令类型和延迟间隙(delay slots) 第二个LD进入E1 MPY到达E1 ADD到达E1 MPY /ADD指令完成 使ADD延迟执行 ADD进入E1 NOP与延迟间隙 添加NOP 使用多周期NOP 代码性能 五、串行、部分并行和完全并行代码通过流水线的过程举例 串行代码 串行执行 部分并行代码 部分并行执行 部分并行执行(第一执行包进入DC) 部分并行执行(第一执行包进入E1) 部分并行执行(第二执行包进入E1) 完全并行代码 完全并行执行 完全并行执行 记住: B:5个延迟间隙 LD:4个延迟间隙 MPY:1个延迟间隙 六、VelociTI与标准VLIW VelociTI与标准VLIW VelociTI(定义) 定义: 取指包:8个32-bit指令 VLIW:甚长指令字(256-bit) EP:执行包 指令:32-bit操作码 VelociTI:TI的VLIW结构 VelociTI与标准VLIW比较 VelociTI 可减小代码尺寸达到8:1 较少的程序取指 较少的功耗 较低的存储器成本 VelociTI的EP/FP编排 执行包不能超出取指包边界 汇编器在编排执行包时,对于不够8条指令的取指包,用NOP填充。 总结 C62xx流水线操作 取指包、执行包、延迟间隙 串行、部分并行和完全并行代码通过流水线 VelociTI结构 内核循环: 第一个 LD 1 第二个 LD 5 MPY 2 ADD/ SUB 2 B 6 总周期数: 16*40=640+2=642 优化后 * * * * * *

文档评论(0)

dlhss + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档