- 1、本文档共2页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
3.23流水线结构指令交迭在不同部件内处理,这种工作方式称 - Read
第3章 嵌入式DM642开发系统
同半字或不同字节组成一个新字,解包类指令执行相反的过程。打包/
解包类指令非常适合于图像处理的应用,可以将四个8比特位宽的图像
数据打包在一起进行操作,从而有效的提高了图像处理速度,这在我们
的视频编码应用中得到了充分利用。
3.23流水线结构
现代微处理器是用结构的复杂性来换取速度的提高。它把指令的处理分成几
个子操作,每个子操作在微处理器内部由不同的部件来完成 。对处理器的每个部
件来说,每隔1个时钟周期即可进入1条新指令,这样在同一时间内,就有多条
指令交迭在不同部件内处理,这种工作方式称为流水线4[1(pipeline)工作方式.
DM642的特殊结构又可使多个指令包 (每包最多可达8条指令)交迭在不同部
件内处理,大大提高了微处理器的吞吐量。
如图3一所示,DM642中所有指令均按照取指 (Fetch)、译码 (Decode)和
执行 (Execute)3级流水线运行,每一级又包含几个节拍 (Stage)。其中,取指
级有4个节拍,分别是程序地址产生 (PqProgramaddressGenerate),程序地址
发送((PS,ProgramaddressSend),程序访问等待((PW,ProgramaddressreadyWait)
和程序取指包接受 ((PR,ProgramfetchpacketReceive):译码级有2个节拍,分
别是指令分配 (DP,instructionDisPatch)和指令译码 (DC,instructionDeCode)c
执行级最大有5个节拍。流水线操作以CPU周期为单位,一个执行包在流水线
1个节拍的时间就是 1个CPU周期。
图3-2DM642流水线
流水线是高性能的一个重要因素。若程序中的算法能使流水线保持充满,这
时的流水线效率最高。1个取指包 (FP,FetchPacket)包含8条指令,每个取指
包可分成1-8个执行包 (EP,ExecutePacket),每个执行包是并行执行的指令,
每条指令在1个独立的功能单元内执行。图3一是理想的流水线时序,可是实际
中往往这样理想的流水线是难以实现的,流水线会因为各种原因被阻塞,其中最
常发生的一种情况是一个取指包中含有多个执行包。如图3-4所示,FP,取指包
中包含有三个执行包,那么在第8周期流水线就会被阻塞,因为FP。的第2个执
行包需要在这个周期被执行,而FPe,r只能停留在DC节拍,其它随后的指令包
都会被阻塞,第9周期,FP.第3个执行包被送入执行单元,流水线依然阻塞,
直到第10周期FP.+r的执行包被送入执行单元,流水线才恢复。因此,理想的8
条指令并行执行不容易做到,要尽可能保证所有的功能单元能够被使用,使每个
北京工业大学工学硕士学位论文
取指包只包含一个执行包,减少流水被阻塞的可能。
CI侧出口日匕
F h g e P a d e · 暨 巨 2 3 4 5 巴 T 荟 . 百 , 鬓
门 阴 限 {, - 一
。 | P6 PS 曰月 曰R E l l 一 臼 - 曰
、 。 C O 工 即 戈 一 曰 瓣 一 E 3 一 曰 - 曰 曰
葬- 一 - -
、 闪 P O 曰 臼
PsPPSeamPli币5 日月
: 凡 PS P S 一 一 阴 P R - 一 附 ︸ D C 一 一 曰 创 一 一 曰
n + s 些 , 1-- 一 竺 - 一 昭 阳 淤 一 P O - 一 一 一 刚 限 曰 P
文档评论(0)