第5章_引脚流水线和外部总线.ppt_第1页
第5章_引脚流水线和外部总线.ppt_第2页
第5章_引脚流水线和外部总线.ppt_第3页
第5章_引脚流水线和外部总线.ppt_第4页
第5章_引脚流水线和外部总线.ppt_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、5.1 TMS320VC5402引脚功能 5.2 流水线技术 5.3 外部总线,第5章 引脚、流水线和外部总线,C54x的引脚功能(P275 TQFP封装:薄片四边平面封装) C5402共有144个引脚,引脚分布如图。,5.1 引脚功能,TMS320C5402引脚:,电源引脚 时钟引脚 控制引脚 地址和数据引脚 串行口引脚 主机接口引脚 通用I/O引脚 测试引脚,1. 电源引脚,C5402采用双电源供电,其引脚有: CVDD(16、52、68、91、125、142), 电压为+1.8V,为CPU内核提供的专用电源; DVDD(4、33、56、75、112、130), 电压为+3.3V,为各I/

2、O引脚提供的电源; VSS(3、14、34、40、50、57、70、76、93、106、111、128),接地。,2时钟引脚,C5402的时钟发生器由内部振荡器和锁相环PLL构成(P150) CLKMD1、CLKMD2和CLKMD3:设定时钟工作模式引脚,用来硬件配置时钟模式。 CLKOUT:主时钟输出引脚,周期为CPU的机器周期。 X1:时钟振荡器引脚。 若使用内部时钟,用来外接晶体电路; 若使用外部时钟,该引脚悬空。 X2/CLKIN:时钟振荡器引脚。 若使用内部时钟,用来外接晶体电路; 若使用外部时钟,该引脚接外部时钟输入。 TOUT:定时器输出引脚。,3控制引脚,控制引脚用来产生和接收

3、外部器件的各种控制信号 RS :复位信号; MSTRB :外部存储器选通信号; PS :外部程序存储器片选信号; DS:外部数据存储器片选信号; IS:I/O设备选择信号; IOSTRB:I/O设备选通信号; R/W:读/写信号; READY:数据准备好信号; HOLD:请求控制存储器接口信号;,3控制引脚,HOLDA:响应控制存储器请求信号; MSC:微状态完成信号; IAQ:中断请求信号; IACK:中断响应信号; MP/MC:DSP工作方式选择信号; INT0、INT1、INT2、INT3:外部中断请求信号。 NMI:非屏蔽中断。,4地址和数据引脚,C5402芯片共有20个地址引脚和16

4、条数据引脚 。 地址引脚用来寻址外部程序空间、外部数据空间和片外I/O空间。 A19A0:可寻址1M的外部程序空间 64K外部数据空间 64K片外I/O空间,4地址和数据引脚,数据引脚:用于在处理器、外部数据存储器、程序存储器和I/O器件之间进行16位数据并行传输。 D15D0:组成16位外部数据总线。 在下列情况下,D15D0将呈现高阻状态。 当没有输出时 当HOLD有效时 当RS有效时 当EMU1/OFF为低电平时,5. 串行口引脚(P167),C5402器件有两个McBSP串行口,共有12个外部引脚。 BCLKR0:缓冲串行口0同步接收时钟信号; BCLKR1:缓冲串行口1同步接收时钟信

5、号; BCLKX0:缓冲串行口0同步发送时钟信号; BCLKX1:缓冲串行口1同步发送时钟信号; BDR0:缓冲串行口0的串行数据接收输入; BDR1:缓冲串行口1的串行数据接收输入;,5. 串行口引脚,BDX0:缓冲串行口0的串行数据发送输出; BDX1:缓冲串行口1的串行数据发送输出; BFSR0:缓冲串行口0同步接收信号; BFSR1:缓冲串行口1同步接收信号; BFSX0:缓冲串行口0同步发送信号; BFSX1:缓冲串行口1同步发送信号。,6. 主机接口HPI引脚 (P163),C5402的HPI接口是一个8位并行口,用来与主设备或主处理器接口,实现DSP与主设备或主处理器间的通信。

6、HD7HD0:8位双向并行数据线; HCS:片选信号,作为HPI的使能端; HAS:地址选通信号; HDS1:数据选通信号,由主机控制HPI数据传输; HDS2:数据选通信号,由主机控制HPI数据传输;,6. 主机接口HPI引脚,HBIL:字节识别信号,用来判断主机送来的数据是第1字节还是第2字节。 HCNTL0:HCNTL1:主机控制信号。用于主机选择所要寻址的寄存器; HR/W :主机对HPI口的读/写信号; HRDY :HPI数据准备好信号; HINT/TOUT1:HPI向主机请求的中断信号; HPIENA:HPI模块选择信号。,7. 通用I/O引脚,C5402芯片都有2个通用的I/O引

7、脚,分别为: XF:外部标志输出信号,用来给外部设备发送信号。通过编程设置,控制外设工作。 BIO:控制分支转移输入信号,用来监测外设的工作状态。,8. 测试引脚,C5402芯片具有符合IEEE1149.1标准的在片仿真接口。 TCK:测试时钟输入引脚; TDI:测试数据输入引脚; TDO:测试数据输出引脚; TMS:测试方式选择引脚; TRST:测试复位引脚; EMU0:仿真器中断0引脚; EMU1/OFF:仿真器中断1引脚/关断所有 输出引脚。,5.2 流水线操作,流水线操作是指各条指令以机器周期为单位,相差一个时间周期而连续并行工作的情况。 操作原理:将指令分成几个子操作,每个子操作由不

8、同的操作阶段完成。每隔一个机器周期,每个操作阶段可以进入一条新指令。在同一个机器周期内,在不同的操作阶段可以处理多条指令,相当于并行执行了多条指令。,1. 流水线操作的概念,C54x的流水线操作是由6个操作阶段或操作周期组成。在任何一个机器周期内,可以有1 6条不同的指令在同时工作,每条指令可在不同的周期内工作在不同的操作阶段。,1. 流水线操作的概念,六个操作阶段:, 预取指P;, 取指F;, 译码D;, 寻址A;, 读数R;, 执行X。,流水线结构:,1. 流水线操作的概念,各操作阶段的功能: 预取指P:在T1机器周期内,CPU将PC中的内容加载到程序地址总线PAB,找到指令代码的存储单元

9、。 取 指 F:在T2机器周期内,CPU从选中的程序存储单元中,读取指令代码加载到程序总线PB 译 码 D:在T3机器周期内, CPU将PB中的指令代码加载到指令译码器IR进行译码,产生执行指令所需要的一系列控制信号。,各操作阶段的功能:,寻址A:在T4周期内,CPU将数据1或数据2的读地址或同时将两个读地址分别加载到数据地址总线DAB和CAB中,并对辅助寄存器或堆栈指针进行修正。 读数R: CPU在T5周期内,将读出的数据1和数据2分别加载到数据总线DB和CB中。若是并行操作指令,可同时将数据3的写地址加载到数据地址总线EAB中。 执行X:在T6机器周期内,CPU根据操作码的要求执行指令,并

10、将写数据3通过EB总线写入指定的存储单元中。,C54x存储器操作情况:,C54x存储器操作情况:,流水线操作,2. 存储器的流水线操作,存储器的流水线操作: (1) 双寻址存储器的流水线操作 (2)单寻址存储器的流水线操作,(1) 双寻址存储器的流水线操作,DARAM分成若干个独立的存储器块,CPU可以在单个周期内对其访问2次。 在单个周期内允许同时访问不同的DARAM块; CPU同时处理两条指令访问不同的存储块; 处于流水线不同阶段的两条指令,可以同时访问同一个存储块。,两次访问分别发生在机器周期的前半周期和后半周期,不会发生时序冲突。 利用PAB/PB取指前半周期 利用DAB/DB读第一操

11、作数前半周期 利用CAB/CB读第二操作数后半周期 利用EAB/EB写操作数后半周期,DARAM的半周期寻址图, 取指令操作,在T2的前半周期,利用PB线进行读指令操作。, 读单操作数操作,在T5的前半周期,利用DB线进行读存储器操作。,DARAM的半周期寻址图, 读双操作数操作,T5的前半周期,利用DB线读第一操作数; T5的后半周期,利用CB线读第二操作数。, 写单操作数操作,在T6的后半周期,利用EB线写操作数。,DARAM的半周期寻址图, 写双操作指令,T6的后半周期,利用EB线写第一操作数。,T7的后半周期,利用EB线写第二操作数。, 读单操作数和写单操作数操作,T5的前半周期,利用

12、DB线读操作数。,在T6的后半周期,利用EB线写操作数。,(1)双寻址存储器的流水线操作,CPU访问DARAM会发生流水冲突的情况: 同时从同一存储块中取指令和读操作数; 同时对同一存储块进行写操作和读第二操作数。 当发生流水冲突时,CPU可通过写操作延迟一个周期,或通过插入一个空操作来解决流水线冲突。,例如:当执行下列程序发生时序冲突时,CPU能对取指自动延迟一个周期。,LD *AR2+,A ;AR2指向相同的DARAM块 i2 ;假定i2指令不访问DARAM i3 ;假定i3指令不访问DARAM i4,第1条指令读操作数,i4指令取指操作,发生时序冲突,(2)单寻址存储器的流水线操作,单寻

13、址存储器:CPU在单个周期内对每个存储器块访问一次。 分为: 单寻址读/写存储器SARAM; 单寻址只读存储器ROM。,无时序冲突的操作:,CPU同时寻址不同的存储器块; CPU同时处理两条指令访问不同的存储器块。 有时序冲突的操作: CPU同时访问两次同一个存储器块。 解决办法: 将第二次寻址操作自动延迟到下一个周期。,5流水线的等待周期,C54x的流水线结构,允许多条指令同时利用CPU的内部资源。由于CPU的资源有限,当多于一个流水线上的指令同时访问同一资源时,可能产生时序冲突。 解决的办法: 由CPU通过延时自动解决; 通过程序解决,如重新安排指令或插入空操作指令。,5.3 外部总线接口

14、,1. 外部总线的组成 C54x的外部总线由数据总线、地址总线以及一组控制信号所组成,可用来寻址C54x的外部存储器和I/O口。 C54x的外部程序存储器、数据存储器和I/O的地址总线和数据总线是复用的,其操作主要是依靠片选和读写选通信号配合来实现。,1. 外部总线的组成,地址总线:AiA0 2316位 用于外部程序存储器地址线,与PS配合可寻址程序空间; 用于外部数据存储器地址线,与DS配合可寻址数据空间; 用于外部I/O地址线,与IS配合可寻址I/O空间;,数据总线:D15D0 16位 用于外部程序存储器、数据存储器和I/O口的数据总线。 控制总线: 外部程序存储器片选信号,用来选通程序存

15、储器,作为外部程序存储器的第1选通信号,与存储器CS1连接;,控制总线:,外部数据存储器片选信号,用来选通数据存储器,作为外部数据存储器的第1选通信号,与存储器CS1连接; I/O选择信号,用来选通外部I/O设备,作为I/O的第1选通信号,与I/O的CS1连接; 外部存储器选通信号,用来选通程序存储器和数据存储器,分别作为两存储器的第2选通信号,与存储器CS2连接;,控制总线:,I/O设备选通信号,用来选通外部I/O设备,作为I/O的第2选通信号,与I/O的CS2连接;,读/写信号,用来实现数据存储器和I/O设备的读写操作,控制数据流的方向;,READY:,数据准备好信号,用来实现CPU与不同

16、速度的存储器或I/O进行数据交换;,保持请求信号,用来控制C54x的保持工作模式,即:正常模式和并发DMA模式;,外部总线等待状态控制,C54x片内有两个控制CPU等待状态的部件: 软件可编程等待状态发生器 可编程分区转换逻辑电路 这两个部件用来控制外部总线工作,分别受两个存储器映像寄存器的控制。 软件等待状态寄存器SWWSR 可编程分区转换逻辑寄存器BSCR,外部总线接口时序,所有外部总线的读写操作都是在整数个CLKOUT周期内完成的。 从CLKOUT信号的一个下降沿开始,到下一个下降沿所需的时间定义为CLKOUT信号的一个周期。 外部总线接口时序,主要包括存储器寻址时序和I/O寻址时序。它

17、们能够反映C54x进行存储器和I/O操作时各信号之间的时序关系。,1存储器寻址时序图,存储器读读写操作时序图,第一周期,第二周期,第三周期,第四周期,1存储器寻址时序,CLKOUT开始时,DS = 1,PS = MSTRB = 0。,第一个周期:进行第一次程序存储器读操作; 第二个周期:进行第二次程序存储器读操作; 第三个周期:为读写转换周期。,第四个周期:完成写操作。 整个读读写操作过程需要4个时钟周期。,插入等待周期的存储器读读写操作时序图,等待状态,等待状态,存储器写写读操作时序图,1存储器寻址时序,当 MSTRB 由低变高后,写操作的地址线和数据线继续保持约半个周期的有效。 当R/W改变时,在每一个写周期结束瞬间MSTRB变为高电平,以防止存储器被再次改写。 每次存储器写操作需要2个机器周期,而仅随其后的读操作也

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论