




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、3.2.1 流水线操作的概述流水线操作的概述 TMS320C62x/64x/67x DSP指令集中的所有指令在执行过程中均通过流水线的取 指译码和执行3个阶段。其中指令执行的取指阶段有4个节拍,译码阶段有2个节 拍,而执行阶段对不同类型指令具有不同节拍数。TMS320C62x/64x和TMS320C67x 流水阶段如图3-5和图3-6所示。 1取指阶段取指阶段 流水线取指阶段的4个节拍如下: PG:程序地址产生; PS:程序地址发送; PW:程序访问等待; PR:程序取指包接收。 TMS320C62x/64x/67x使用8条指令的取指包。所有的8条指令组成一个取指包, 取指包中的8条指令依次通
2、过PG,PS,PW和PR 4个节拍。 2译码阶段译码阶段 流水线译码阶段的2个节拍如下: DP:指令分配; DC:指令译码。 图3-8(a)从左到右给出了译码各节拍的顺序。图3-8(b)显示了包含两个执 行包中的一个取指包通过流水线译码的框图,其中取指包(FP)中的6条指令是并 行的,组成一个执行包(EP),该执行包在译码阶段分配。 3执行阶段执行阶段 TMS320C6000定点流水线的执行部分分为5个阶段(E1E5)。执行不同类型的 指令需要不同的阶段数。图3-9(a)从左到右显示执行节拍的顺序。图3-9(b)和图 3-10分别为TMS320C62x和TMS320C64x执行部分的功能框图。
3、 TMS320C62x/64x指令的流水线操作可以被分为7种指令类型,其中6种在表3-8中 列出(NOP指令不包含在其中),反映了不同类型指令在各个执行节拍中的操作。 指令类型 单周期 1616单乘法指令, C64x.M单元的非 乘法指令 存储 C64x乘法 扩展 加载跳转 执行阶段E1 计算结果并写入 寄存器 读操作并开始计算计算地址 读操作数并开始 计算 计算地址 目标代码在 PG节拍 E2计算结果并写入寄存器 传送数据地址到存 储器 传送地址到寄存器 E3访问存储器访问存储器 E4写结果到寄存器传送数据回CPU E5写数据到寄存器 延迟时隙010345 注:此表格假设每个指令的条件值为真
4、。如果条件为假,则在E1之后,不执行任何流水线操作,也不写任何结果; NOP没有在表中列出,因为它在任意一个执行节拍都不发生操作。 1单周期指令单周期指令 单周期指令的流水在E1节拍期间执行完成。图3-11为单周期指令流水的取指、 译码及执行节拍。 图3-12是单周期指令的执行框图。读操作数执行操作和结果写入寄存器都在 E1阶段完成,单周期指令没有延迟时隙。 2双周期指令和双周期指令和TMS320C64x非乘法非乘法.M单元操作单元操作 乘法指令使用E1和E2节拍完成操作。图3-13为使用双周期指令的流水线节拍。 图3-14为一次乘法过程在流水线中发生的操作。在E2节拍期间,乘法结束,结 果被
5、写到目的寄存器,乘法指令有一个延迟时隙。该执行框图对TMS320C64x的其他 非乘法.M单元操作同样适用。 3存储指令存储指令 存储指令要求在E1E3节拍完成其操作。图3-15所示为使用存储指令的流水线 节拍。 图3-16为一次存储指令中在流水线中发生的所有操作。在E1节拍,保存数据 地址被计算。在E2节拍中,数据和目的地址被发送到数据存储器。在E3节拍阶段, 执行一个存储器写操作。 当用户执行一次加载和存储到同一个存储地址时,应用如下规则(i=周期): l当一次加载在一次存储前执行时,原值被加载,而新值被存储。 i LDW i+1 STW l当一次存储在一次加载之前执行时,新值被存储且加载
6、。 i STW i+1LDW l当这两条指令并行执行时,原数值先被加载,然后新值被存储,但是它们是在 同一个节拍中完成的。 i STW i|LDW 4扩展乘法指令扩展乘法指令 扩展乘法指令使用E1E4节拍来完成它们的操作。图3-17为扩展乘法指令所使 用的流水线节拍。 图3-18为一次乘法扩展中发生在流水线中的所有操作。在E1节拍,操作数被读 取并且乘法开始。在E4节拍,乘法完成,结果被写到目的寄存器中。扩展指令具有 3个延迟时隙。 5加载指令加载指令 加载指令要求所有5个节拍完成其操作。图3-19为加载指令的流水线节拍。 图3-20为一次加载中在流水线节拍发生的所有操作。在E1节拍,数据地址
7、指针 在其寄存器中被修改。E2节拍,数据地址被传送到数据存储器;在E3节拍,该地址 的一个存储器读操作被执行。 6跳转指令跳转指令 虽然跳转指令只占一个执行节拍,但从跳转执行到目标代码执行之间存在5个 延迟时隙。图3-21为跳转指令及其目标代码执行所有的流水节拍。 图3-22为跳转指令执行框图。如果一个跳转指令处于流水线E1节拍(图中.S2单 元),在同一周期,其分支目标应处于PG节拍的取指包中。由于分支目标代码需要 其节拍到达E1时才能开始执行,所以跳转指令在分支目标执行前,需要5个延迟时 隙。 1一个取指包(一个取指包(FP)包含多个()包含多个(EP)的流水操作)的流水操作 一个取指包包
8、含8条指令,每个取指包分为18个执行包,执行包是并行执行 的指令,每条指令在独立的功能单元内执行。图3-23为一个取指包(FP)包含多个 (EP)的流水操作,其代码如下: instruction A;EP k FP n | instruction B instruction C;EP k+1 FP n | instruction D | instruction E instruction F;EP k+2 FP n | instruction G | instruction H instruction I;EP k+3 FP n+1 | instruction J | instruction
9、K | instruction L | instruction M | instruction N | instruction O | instruction P 2多时钟多时钟NOP 图3-24为一个多周期NOP指令如何驱动同一个执行指令包中其他指令的操作。图 3-24(a)是一个单周期NOP指令与其他代码在一个执行包中的情况。图3-24(b)中 将(a)中的单周期指令NOP替换成多周期指令NOP 5。 图3-25显示了跳转指令对多周期NOP的影响。如果当多周期NOP指令仍在分配 NOP到流水线中时,跳转指令的延迟时间结束,则跳转指令将覆盖多周期NOP指令, 跳转指令的目标代码将在跳转指令被
10、声明的5个延迟时隙后开始执行。 3存储器的考虑存储器的考虑 TMS320C6000具有典型的DSP存储器配置,其程序存储器和数据存储器位于两个 不同的物理空间。数据加载和程序取指在流水线中具有相同的操作,它们的区别只是 用不同的节拍完成各自的操作。数据加载和程序取指对存储器的访问分为多个节拍。 这样TMS320C62x/C64x对存储器可以进行高速的访问。图3-26列出了存储器的访问节 拍。 表3-9给出了数据加载和指令读取的对比结果。数据加载和指令读取在内部存储 器以同一速度执行,且执行相同操作。 操 作程序存储器访问节拍数据加载访问节拍 计算地址PGE1 发送地址到存储器PSE2 存储器读
11、/写PWE3 程序存储器:在CPU中接收指令包 数据加载:在CPU中接收数据 PRE4 程序存储器:传送指令到功能单元 数据加载:传送数据到寄存器 DPE5 (1)存储器阻塞 当存储器没有做好响应CPU的访问时,就会发生存储器阻塞。这种阻塞发生在 程序存储器的PW节拍和数据存储器的E3节拍。存储器阻塞导致处于该流水线中的 节拍延迟一个以上的时钟周期,引起执行增加额外的时钟周期。无论阻塞发生与否, 程序执行的结果相同。存储器的阻塞过程见图3-27。 (2)存储器组冲突 多数的TMS320C6000 DSP器件使用交叉存储方案。如图3-28所示,每个数字代 表一个字节地址。从地址0开始的一个字节载
12、入指令(LDB)将载入0组的0个字节; 从地址0开始的半字载入指令(LDH)将载入0组的0和1字节;从地址0开始的字载入 指令(LDW)将载入0组和1组的03字节。 由于每组都是单口存储区,每个周期只允许一次访问,在一个周期内对一组进行 两次访问将产生存储器阻塞,从而导致所有流水线操作的暂时停止,用来完成第二个 数值的读取。一个周期内的两个存储器操作只要是不访问相同的组,就不会出现阻塞。 【例3.2】 同一存储器的加载。 LDW .D1 *A4+, A5 ;A4 地址处于组0 | LDW .D2 *B4+, B5 ;B4 地址处于组0 在例3.2中因为两条取指指令试图同时对同一个存储器组进行访问,因此一条加 载指令必须等待。第一个LDW指令在周
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 民转幼儿园后勤工作总结与纸尿裤售后培训
- 关于名人的爱情故事
- 2026届内蒙古呼伦贝尔市九年级化学第一学期期末学业水平测试模拟试题含解析
- 街道亮点工作总结
- 2026届重庆市南开融侨中学九年级化学第一学期期末复习检测试题含解析
- 研发中心年终总结报告
- 浙江省宁波市鄞州区七校2026届九年级英语第一学期期末学业质量监测试题含解析
- 重庆綦江南川巴县2026届化学九年级第一学期期中综合测试模拟试题含解析
- 2026届江西省育华学校九年级英语第一学期期末达标检测模拟试题含解析
- 山东省淄博市沂源县第二中学2024-2025学年高二上学期11月期中考试政治试卷(含答案)
- 2025年度哈尔滨市平房区纪委监委公开招聘雇员2人考试参考题库及答案解析
- 2025年江西省高考化学试卷真题(含答案)
- 情绪管理课2025年职场压力释放与心灵成长分析报告
- 2025年征地拆迁考试题及答案
- 巡游出租车考试题及答案
- 2025年秋季学期人教版三年级上册数学教学计划含教学进度表(三篇)
- 2025至2030中国方竹笋市场经营方向与竞争格局分析报告
- 2025年人教版三年级数学上册《混合运算》教案
- 2025医用眼科器械消毒处理标准流程
- 胸部穿刺教学课件
- 2025-2026学年苏教版(2024)小学科学三年级上册(全册)课时练习及答案(附目录P102)
评论
0/150
提交评论