Chap1(TMS320C62xxC67xx结构概述).ppt_第1页
Chap1(TMS320C62xxC67xx结构概述).ppt_第2页
Chap1(TMS320C62xxC67xx结构概述).ppt_第3页
Chap1(TMS320C62xxC67xx结构概述).ppt_第4页
Chap1(TMS320C62xxC67xx结构概述).ppt_第5页
已阅读5页,还剩71页未读 继续免费阅读

下载本文档

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

文档简介

1、1,1,C H A P T E R,TMS320C6000结构概述,2,学习内容,了解C62xx/C67xx CPU基本结构和指令 了解C62xx /C67xx存储器映射和外设主要特点 初步掌握开发工具,3,提要,1,3,2,4,C62xx /C67xx CPU结构介绍,指令集概述,C6201 CPU内部数据总线,C62xx存储器映射,5,6,C62xx外设及系统方框图,开发工具简介,4,Digital Signals Processing 数字信号处理(方法、技术) Digital Signals Processor 数字信号处理器 DSP的厂家: Texas Instrument(TI)、

2、Motorola、Philips 本课内容将安排TI DSP,DSP?,5,TMS320 DSP 系列产品,6,TMS320C6000简介,C62x:C6201,C6202, C6203,C6211 C67xx:C6701,C6711 C64xx: C6415 C6416,C6000平台 Veloci TI结构 统一的开发工具 管脚与代码兼容,7,C62xx/C67xx主要特点,Veloci TI结构,CPU有8个功能单元:2个乘法器和6个算术逻辑单元,每周期可执行8条指令,具有RISC类指令集 有效的C编译器和汇编优化器 支持8/16/32位数操作,也支持40位操作 支持饱和和正常溢出运算,

3、定点和浮点DSP管脚兼容 大的片内RAM空间 32bit片外存储器接口支持SDRAM、SBSRAM、SRAM和其它异步存储器 16位主口可以访问C62X/C67X存储器和外设 多通道DMA控制器 多通道串口 32位定时器/功耗,C67xx:支持单精度32bit/双精度64bit操作,支持3232乘法,8,C62xx/C67xx系统简框图,9,C62xx/C67xx CPU结构,10,TMS320C62xx CPU数据通路,11,TMS320C67xx CPU数据通路,12,1.CPU数据通路,C62X和C67X的数据通路包括: 2个通用寄存器组(A和B) 8个功能单元(.L1,.L2,.S1,

4、.S2, .M1,.M2,.D1,和D2) 2个存储器读取通路(LD1和LD2) 2个存储器存储通路(ST1和ST2) 2个寄存器组交叉通路(1X和2X) 2个数据寻址通路(DA1和DA2),13,通用寄存器组,C62X/C67X数据通路中有2个通用寄存器组(A和B): 寄存器组A:A0-A15, 寄存器组B:B0-B15。 条件寄存器: A1、A2、B0、B1和B2 可用于循环寻址的寄存器:A4-A7和B4-B7。 通用寄存器组支持32位和40位定点数据, C67X也支持32位单精度和64位双精度浮点数据。对于40位和64位数据,需跨放在两个寄存器内。,14,功能单元,8个功能单元分成A、B

5、两组: A组:.L1、.S1、.M1、.D1 B组:.L2、.S2、.M2、.D2 每个功能单元都有:2个32bit读口和1个32位写口 .L1、.L2、.S1和.S2另有:8bit写口和8bit读口,支持40位操作数的读写 同一周期8个功能单元可并行使用,1x,15,功能单元和寄存器,16,功能单元和执行操作,17,用C62xx实现算法举例,多数DSP算法包括如下的点积运算:,运算操作:相乘、相加、循环和更新数据 如何实现这个运算?,18,点积运算,运算的两个基本指令:,乘法: 加法:,19,相乘(.M功能单元),功能单元,20,相加(.L功能单元),21,寄存器组A,22,寄存器取代变量,

6、23,建立循环,.添加跳转指令和循环标号 .设定一个循环计数器 .添加递减循环计数指令 .给出基于循环计数值的跳转条件,24,1. 跳转(.S单元),25,2. 设定一个循环计数器,26,3. 递减循环计数,27,4.条件指令,所有指令都是根据下面条件寄存器的值为0或非0条件地执行: A1、A2、B0、B1、B2 代码语法 指令执行条件 A2 A2 0 !A2 A2=0,28,使用条件指令,29,将数值读入寄存器,如何读取a和x? .a、x和Y在存储器中 .建变量指针 .load/store中使用指针,30,读取/存入(.D单元),31,读取指针,地址是常数,因此使用指令MVK: MVK指令所

7、移的位数:16 bit 表示一个完整地址的位数:32 bit 一个地址读入寄存器必须使用两条指令: 例如:,32,关于指针,第1次循环后,A4为: 第2次循环如何访问a(1)和x(1)?,33,递增指针,34,完整代码(仅使用A侧),35,寄存器组交叉通路,CPU中有两个交叉通路1X和2X 1X:允许A侧功能单元读取B组寄存器数据 2X:允许B侧功能单元读取A组寄存器数据 每侧仅有一个交叉通路,在同一周期内从另一侧寄存器组读操作数只能一次,或者同时进行使用2个交叉通路(1X和2X)的操作。 .D功能单元不能使用交叉通路 仅src2可以使用另一侧寄存器数据,36,C62xx存储器存取通路,DA:

8、32bit 两个32位数据地址通路,来自于两 个功能单元.D的数据地址 LD、ST:32bit 两个32位通路可把数据从存 储器读到寄存器(A:LD1, B:LD2)或把数据从寄存器存 储到存储器(A:ST1,B:ST2) ST1、ST2与功能单元.L和.S的 长型数据读通路共享,37,C67xx存储器存取通路,A组 寄存器,B组 寄存器,.D1,.D2,LD1 32 MSB,ST1,ST2,LD2 32 LSB,DA1,DA2,LD1 32 LSB,LD2 32 MSB,可同时读取2个32位数据到A侧寄存器和2个32位数据到B侧寄存器。,38,C67xx数据地址通路,2个数据地址通路(DA1

9、,DA2): 允许寄存器产生的数据地址支持同侧寄存器到存储器的存取操作 也允许寄存器产生的数据地址支持另一侧寄存器到存储器的存取操作。,A组 寄存器,B组 寄存器,.D1,.D2,LD1,ST1,ST2,LD2,DA1,DA2,39,控制寄存器,40,控制寄存器,控制寄存器组,.S2,访问控制寄存器使用:MVC指令 MVC指令仅使用.S2功能单元,41,寻址模式寄存器(AMR),有8个寄存器可执行线性和寻址循环寻址,A4A7,B4B7,42,寻址模式,43,控制状态寄存器(CSR),44,控制状态寄存器描述,45,E1节拍程序计数器(PCE1),保存在流水线中处于E1节拍的执行包的32位地址,

10、46,TMS320C67xx扩展控制寄存器,47,浮点加法配置寄存器(FADCR),48,浮点加法配置寄存器字段描述,49,浮点乘法配置寄存器(FMCR),50,浮点辅助配置寄存器(FAUCR),DIV0:执行0倒数操作时置1; UNORD:用NAN作比较操作时置1,51,并行操作,取指包中的每条指令的执行部分由并行执行位p位控制。P位决定本条指令是否与取指包中的其他指令并行执行。CPU对p位从左至右(从低地址到高地址)进行扫描;如果指令i的p位是1,则第i+1指令与第i条指令在同一周期内执行,否则指令i的p位是0,则第i+1指令在第i条指令的下一周期执行。 执行包的最后一条指令的p位设为0

11、一个取 指包的八条指令的执行顺序有几种形式:完全串行;完全并行;部分串行。,52,并行操作,取指包:八条32bit指令 执行包:并行执行的所有指令。执行包中的每一条指令使用的功能单元必须各不相同 每条指令的并行执行位(p位)控制本条指令是否与取指包中的其他指令并行执行: p =1 与下条指令并行 p =0 下条指令在当前指令的下个周期执行,取指包的基本格式,53,例子取指包的部分并行p位模式,54,条件操作,C6000的每条指令都是条件执行的,由每条指令的4个最高有效位控制。 z=1,进行零测试 z=0,进行非零测试 creg=0,z=0,意味着指令将无条件地执行。,55,提要,1,3,2,4

12、,C62xx /C67xx CPU结构介绍,指令集概述,C6201 CPU内部数据总线,C62xx存储器映射,5,6,C62xx外设及系统方框图,开发工具简介,56,指令集,按操作类型分类: 算术指令、逻辑指令、存取指令,程序控 制指令,位操作,其他指令(nop空指令) 按功能单元分类: .S单元,.L单元,.M单元,.D单元,其他 按执行周期分类: 单周期指令,多周期指令,存取指令(load:5;Store:3),跳转指令, 其他,57,C62xx指令集(根据操作类型分类),58,C62xx指令集(根据功能单元分类),59,C62xx指令集(根据执行周期分类),60,提要,1,3,2,4,C

13、62xx /C67xx CPU结构介绍,指令集概述,C6201 CPU内部数据总线,C62xx存储器映射,5,6,C62xx外设及系统方框图,开发工具简介,61,C62xx内部数据总线,62,思考,为何程序数据是256位的?,63,提要,1,3,2,4,C62xx /C67xx CPU结构介绍,指令集概述,C6201 CPU内部数据总线,C62xx存储器映射,5,6,C62xx外设及系统方框图,开发工具简介,64,C6201/C6202/C6701有两种映射方式:map0和map1 map1:片内程序存储器位于0地址 map0:片外存储器位于0地址 C6211仅有一种映射方式 映射方式通过 管

14、脚设置: C6201/ C6701 :BOOT MODE4:0 C6202:扩展数据总线XD4:0,65,C6201/C6202/C6701存储器映射,66,C6211存储器映射,67,C6201/C6202/C6701存储器映射(map0),68,问题,C6201芯片共多少个片外存储空间? 4个: C6201芯片的片外存储空间的大小? 52M, CE0 16 M;CE1 4M; CE2+CE3=32M MAP0模式下SDRAM是否可以接入C6201芯片的片外存储空间CE2中? 可以。不能接入CE1中,69,思考,如果要在放置一个存储程序的芯片PROM (2M 同步器件),一个存储数据的SDR

15、AM (16M 异步器件),这两个芯片要求在不同的存储空间中,对于C6201芯片,采用MAP0存储映射方式,应该将这两个芯片分别放在什么地址空间里?,70,提要,1,3,2,4,C62xx /C67xx CPU结构介绍,指令集概述,C6201 CPU内部数据总线,C62xx存储器映射,5,6,C62xx外设及系统方框图,开发工具简介,71,C62xx/ C67xx外设,EMIF:访问4M/16M/32M块,EPROM、SRAM、SDRAM、SBSRAM。 DMA:4个通道,后台操作。 BOOT:管脚设置引导方式,DMA完成,对片外存储器4M空间引导。 SP:高速同步串行通信,T1/E1/MVIP接口 HPIF:16bit访问片内数据RAM Timer/Pwr D

温馨提示

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

评论

0/150

提交评论