《二讲流水线介绍》由会员分享,可在线阅读,更多相关《二讲流水线介绍(53页珍藏版)》请在金锄头文库上搜索。
1、二讲流水线介绍Stillwatersrundeep.流静水深流静水深,人静心深人静心深Wherethereislife,thereishope。有生命必有希望。有生命必有希望学习内容描述C62xx流水线操作定义:取指包、执行包、延迟间隙观察串联、部分串联和并行代码流过流水线情况比较VeiociTI和标准VLIWBIT/TI2第二讲 流水线介绍题目一、为什么使用流水线?二、C62xx流水线各级介绍三、取指包四、代码通过流水线的过程举例五、串行、部分并行和完全并行代码通过 流水线的过程举例六、VelociTI与标准VLIWBIT/TI3第二讲 流水线介绍一、为什么使用流水线?BIT/TI4第二讲
2、流水线介绍非流水与流水的CPUBIT/TI5第二讲 流水线介绍二、C62xx流水线各级介绍BIT/TI6第二讲 流水线介绍流水线基本级描述BIT/TI7第二讲 流水线介绍程序取指(PF-级) 程序取指(PF)分为4个节拍: PG:程序地址产生 PS:程序地址发送 PW:程序访问等待 PR:程序接收BIT/TI8第二讲 流水线介绍译码(D级)译码分成2个节拍: DP:确定指令到功能单元路线(指令分配) DC:指令在功能单元译码BIT/TI9第二讲 流水线介绍C62xx指令类型和执行周期 C62xx所有指令仅需要1个周期执行,但有些指令的结果被延迟。BIT/TI10第二讲 流水线介绍执行(E级)B
3、IT/TI11第二讲 流水线介绍取指令(LD)执行节拍虽然取指令只需一个周期执行操作(E1),但结果延迟4个周期BIT/TI12第二讲 流水线介绍C62xx总流水线节拍 E2-E6结果延迟节拍BIT/TI13第二讲 流水线介绍三、取指包BIT/TI14第二讲 流水线介绍取指包BIT/TI15第二讲 流水线介绍C62xx系统方框图256-bit片内程序数据总线BIT/TI16第二讲 流水线介绍四、代码通过流水线过程举例BIT/TI17第二讲 流水线介绍点积代码BIT/TI18第二讲 流水线介绍程序取指开始BIT/TI19第二讲 流水线介绍程序取指结束BIT/TI20第二讲 流水线介绍指令分配BI
4、T/TI21第二讲 流水线介绍指令译码BIT/TI22第二讲 流水线介绍执行(E1)BIT/TI23第二讲 流水线介绍MVK完成,LDE1BIT/TI24第二讲 流水线介绍指令类型和延迟间隙(delay slots)BIT/TI25第二讲 流水线介绍第二个LD进入E1BIT/TI26第二讲 流水线介绍MPY到达E1BIT/TI27第二讲 流水线介绍ADD到达E1BIT/TI28第二讲 流水线介绍MPY /ADD指令完成BIT/TI29第二讲 流水线介绍使ADD延迟执行BIT/TI30第二讲 流水线介绍ADD进入E1BIT/TI31第二讲 流水线介绍NOP与延迟间隙BIT/TI32第二讲 流水线
5、介绍添加NOPBIT/TI33第二讲 流水线介绍使用多周期NOPBIT/TI34第二讲 流水线介绍代码性能内核循环: 第一个 LD 1 第二个 LD 5 MPY 2 ADD/ SUB 2 B 6 总周期数: 16*40=640+2=642优化后BIT/TI35第二讲 流水线介绍五、串行、部分并行和完全并行代码通过流水线的过程举例BIT/TI36第二讲 流水线介绍串行代码BIT/TI37第二讲 流水线介绍串行执行BIT/TI38第二讲 流水线介绍部分并行代码BIT/TI39第二讲 流水线介绍部分并行执行BIT/TI40第二讲 流水线介绍部分并行执行(第一执行包进入DC)BIT/TI41第二讲 流
6、水线介绍部分并行执行(第一执行包进入E1)BIT/TI42第二讲 流水线介绍部分并行执行(第二执行包进入E1)BIT/TI43第二讲 流水线介绍完全并行代码BIT/TI44第二讲 流水线介绍完全并行执行BIT/TI45第二讲 流水线介绍完全并行执行BIT/TI46第二讲 流水线介绍记住: B:5个延迟间隙 LD:4个延迟间隙 MPY:1个延迟间隙BIT/TI47第二讲 流水线介绍六、VelociTI与标准VLIWBIT/TI48第二讲 流水线介绍VelociTI与标准VLIWBIT/TI49第二讲 流水线介绍VelociTI(定义) 定义:取指包:8个32-bit指令VLIW:甚长指令字(256-bit)EP:执行包指令:32-bit操作码VelociTI:TI的VLIW结构BIT/TI50第二讲 流水线介绍VelociTI与标准VLIW比较 VelociTI 可减小代码尺寸达到8:1较少的程序取指较少的功耗较低的存储器成本BIT/TI51第二讲 流水线介绍VelociTI的EP/FP编排执行包不能超出取指包边界汇编器在编排执行包时,对于不够8条指令的取指包,用NOP填充。BIT/TI52第二讲 流水线介绍总结C62xx流水线操作取指包、执行包、延迟间隙串行、部分并行和完全并行代码通过流水线VelociTI结构BIT/TI53第二讲 流水线介绍