C6000(2)_流水线
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
BIT/TI
第二讲 流水线介绍
7
程序取指(PF-级)
程序取指(PF)分为4个节拍: PG:程序地址产生 PS:程序地址发送 PW:程序访问等待 PR:程序接收
BIT/TI
第二讲 流水线介绍
8
译码(D—级)
• 译码分成2个节拍: DP:确定指令到功能单元路线(指令分配) DC:指令在功能单元译码
BIT/TI
BIT/TI
第二讲 流水线介绍
42
部分并行wenku.baidu.com行(第二执行包进入E1)
BIT/TI
第二讲 流水线介绍
43
完全并行代码
BIT/TI
第二讲 流水线介绍
44
完全并行执行
BIT/TI
第二讲 流水线介绍
45
完全并行执行
BIT/TI
第二讲 流水线介绍
46
记住:
• B:5个延迟间隙
• LD:4个延迟间隙 • MPY:1个延迟间隙
BIT/TI
描述 完成单周期指令 完成乘法指令
数据读入寄存器 跳转发生
第二讲 流水线介绍 11
取指令(LD)执行节拍
• 虽然取指令只需一个周期执行操作(E1),但 结果延迟4个周期
BIT/TI
第二讲 流水线介绍
12
C62xx总流水线节拍
E2-E6结果延迟节拍
BIT/TI
第二讲 流水线介绍
13
三、取指包
第二讲 流水线介绍 50
VelociTI与标准VLIW比较
VelociTI 可减小代码 尺寸达到8:1 • 较少的程序取指 • 较少的功耗 • 较低的存储器成本
BIT/TI
第二讲 流水线介绍
51
VelociTI的EP/FP编排
• 执行包不能超出取指包边界 • 汇编器在编排执行包时,对于不够 8条指令的取指包,用NOP填充。
第二讲 流水线介绍
34
代码性能
内核循环: 第一个 LD 第二个 LD MPY ADD/ SUB B 总周期数: 1 5 2 2 6 16*40=640+2=642
优化后 642 周期——3410ns(200MHz)
30 周期——150ns(200MHz)
第二讲 流水线介绍
BIT/TI
35
五、串行、部分并行和完全并行 代码通过流水线的过程举例
19
程序取指结束
BIT/TI
第二讲 流水线介绍
20
指令分配
BIT/TI
第二讲 流水线介绍
21
指令译码
BIT/TI
第二讲 流水线介绍
22
执行(E1)
BIT/TI
第二讲 流水线介绍
23
MVK完成,LD→E1
BIT/TI
第二讲 流水线介绍
24
指令类型和延迟间隙(delay slots)
类型 ISC IMPY LD B 描述 单周期指令 乘法指令 取指令 跳转指令 数目 34 6 1 4 延迟间隙 0 1 4 5
BIT/TI
第二讲 流水线介绍
14
取指包
BIT/TI
第二讲 流水线介绍
15
C62xx系统方框图
• 256-bit片内程序数据总线
BIT/TI
第二讲 流水线介绍
16
四、代码通过流水线过程举例
BIT/TI
第二讲 流水线介绍
17
点积代码
BIT/TI
第二讲 流水线介绍
18
程序取指开始
BIT/TI
第二讲 流水线介绍
BIT/TI 第二讲 流水线介绍 52
总结
• C62xx流水线操作 • 取指包、执行包、延迟间隙 • 串行、部分并行和完全并行代码通过流 水线 • VelociTI结构
BIT/TI
第二讲 流水线介绍
53
BIT/TI 第二讲 流水线介绍 3
一、为什么使用流水线?
BIT/TI
第二讲 流水线介绍
4
非流水与流水的CPU
BIT/TI
第二讲 流水线介绍
5
二、C62xx流水线各级介绍
BIT/TI
第二讲 流水线介绍
6
流水线基本级描述
流水线级 程序取指(PF) 译码(D) 执行(E) 描述 产生程序取指地址 读操作码 确定操作码到功能单元路线 指令译码 执行指令
第二讲 流水线介绍
BIT/TI
第二讲 流水线介绍
1
学习内容
• 描述C62xx流水线操作 • 定义:取指包、执行包、延迟间隙 • 观察串联、部分串联和并行代码流过流 水线情况 • 比较VeiociTI和标准VLIW
BIT/TI
第二讲 流水线介绍
2
题目
一、为什么使用流水线? 二、C62xx流水线各级介绍 三、取指包 四、代码通过流水线的过程举例 五、串行、部分并行和完全并行代码通过 流水线的过程举例 六、VelociTI与标准VLIW
第二讲 流水线介绍
9
C62xx指令类型和执行周期
C62xx所有指令仅需要1个周期执行,但有 些指令的结果被延迟。
类型 ISC IMPY LD B
BIT/TI
描述 单周期指令 乘法指令 取指令 跳转指令
第二讲 流水线介绍
数目 34 6 1 4
延迟 0 1 4 5
10
执行(E—级)
执行节拍 E1 E2 E3 E4 E5 E6
BIT/TI
第二讲 流水线介绍
25
第二个LD进入E1
BIT/TI
第二讲 流水线介绍
26
MPY到达E1
BIT/TI
第二讲 流水线介绍
27
ADD到达E1
BIT/TI
第二讲 流水线介绍
28
MPY /ADD指令完成
BIT/TI
第二讲 流水线介绍
29
使ADD延迟执行
BIT/TI
第二讲 流水线介绍
30
ADD进入E1
BIT/TI
第二讲 流水线介绍
31
NOP与延迟间隙
类型 ISC IMPY LD B 描述 单周期指令 乘法指令 取指令 跳转指令 延迟间隙 0 1 4 5 NOP 数 0 1 4 5
BIT/TI
第二讲 流水线介绍
32
添加NOP
BIT/TI
第二讲 流水线介绍
33
使用多周期NOP
BIT/TI
BIT/TI
第二讲 流水线介绍
47
六、VelociTI与标准VLIW
BIT/TI
第二讲 流水线介绍
48
VelociTI与标准VLIW
BIT/TI
第二讲 流水线介绍
49
VelociTI(定义)
• • • • •
BIT/TI
定义: 取指包:8个32-bit指令 VLIW:甚长指令字(256-bit) EP:执行包 指令:32-bit操作码 VelociTI:TI的VLIW结构
BIT/TI
第二讲 流水线介绍
36
串行代码
BIT/TI
第二讲 流水线介绍
37
串行执行
BIT/TI
第二讲 流水线介绍
38
部分并行代码
BIT/TI
第二讲 流水线介绍
39
部分并行执行
BIT/TI
第二讲 流水线介绍
40
部分并行执行(第一执行包进入DC)
BIT/TI
第二讲 流水线介绍
41
部分并行执行(第一执行包进入E1)