DSP原理与应用-第2章CPU结构与指令集.ppt
《DSP原理与应用-第2章CPU结构与指令集.ppt》由会员分享,可在线阅读,更多相关《DSP原理与应用-第2章CPU结构与指令集.ppt(129页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第二章第二章 CPU结构与指令集结构与指令集第二章第二章 CPU结构与指令集结构与指令集2.1 CPU结构结构 2.2 C67x指令集指令集 2.3 流水线流水线 2.4 中中 断断 DSP的一般结构的一般结构2.1 CPU结构结构外外外外设设设设CPUCPU内部存储器内部存储器内部存储器内部存储器内部总线内部总线内部总线内部总线外外外外 部部部部存储器存储器存储器存储器数据寄存器数据寄存器处理处理单元单元片内存储器片内存储器片外存储器片外存储器存储器的层次存储器的层次2.1.1 CPU结构框图结构框图程序取指程序取指程序取指程序取指指令分配指令分配指令分配指令分配指令译码指令译码指令译码指令
2、译码程序执行机构程序执行机构程序执行机构程序执行机构程序总线程序总线程序总线程序总线数据总线数据总线数据总线数据总线存储器映射存储器映射(统一编址统一编址)描述描述起始地址起始地址终终止地址止地址单单字字节节或四字或四字节寻节寻址址内部ROM页0(256K Bytes)0 x0000 0000 0 x0003 FFFF 单字节或四字节内部ROM页1(128K Bytes)0 x0004 0000 0 x0005 FFFF 单字节或四字节内部RAM页0(256K Bytes)0 x1000 0000 0 x1003 FFFF 单字节或四字节存储器和缓存控制寄存器0 x2000 0000 0 x2
3、000 001F 单字节器件配置寄存器0 x4000 0000 0 x4000 0083 单字节PLL控制寄存器0 x4100 0000 0 x4100 015F 单字节定时器(RTI)控制寄存器0 x4200 0000 0 x4200 00A3 单字节通用主机接口(UHPI)寄存器0 x4300 0000 0 x4300 0043 单字节McASP0控制寄存器0 x4400 0000 0 x4400 02BF 单字节SPI0控制寄存器0 x4700 0000 0 x4700 007F 单字节I2C0控制寄存器0 x4900 0000 0 x4900 007F 单字节I2C1控制寄存器0 x4
4、A00 0000 0 x4A00 007F 单字节McASP0 DMA端口(此范围内的任何地址)0 x5400 0000 0 x54FF FFFF 单字节dMAX控制寄存器 0 x6000 0000 0 x6000 008F 单字节dMAX0(HiMAX)事件入口表0 x6100 8000 0 x6100 807F 单字节或四字节dMAX0(HiMAX)传输入口表0 x6100 80A0 0 x6100 81FF 单字节或四字节通过EMIF访问的外部SDRAM空间0 x8000 0000 0 x8FFF FFFF 单字节或四字节通过EMIF访问的外部异步器件/Flash空间0 x9000 00
5、00 0 x9FFF FFFF 单字节或四字节EMIF控制寄存器0 xF000 0000 0 xF000 00BF 单字节2.1.2 CPU数据通道数据通道2个通用寄存器组个通用寄存器组(A和和B),包括,包括32个个寄存器寄存器8个功能单元个功能单元(.L1、.L2、.S1、.S2、.M1、.M2、.D1、.D2)2个数据读取通路个数据读取通路(LD1和和LD2),每侧,每侧有有2个个32位读取总线位读取总线2个数据存储通路个数据存储通路(ST1和和ST2),每侧,每侧有有1个个32位存储总线位存储总线2个寄存器组交叉通路个寄存器组交叉通路(1x和和2x)2个数据寻址通路个数据寻址通路(DA
6、1和和DA2)1.通用寄存器组功能通用寄存器组功能(1)存放数据,作为指令的存放数据,作为指令的源操作数源操作数和和目的操目的操作数作数。注意传送方向和数据字长。注意传送方向和数据字长(2)作为作为间接寻址间接寻址的地址指针,寄存器的地址指针,寄存器A4A7和和B4B7还能够以循环寻址方式工作还能够以循环寻址方式工作(3)A1、A2、B0、B1和和B2可用做可用做条件寄存器条件寄存器A1:A0A1:A0A3:A2A3:A2 A29:A28A29:A28A31:A30A31:A30odd odd eveneven:32328 8 40-bit Reg 40-bit RegB1:B0B1:B0B3
7、:B2B3:B2 B29:B28B29:B28B31:B30B31:B30odd odd eveneven:32328 8 40-bit Reg 40-bit Reg40位位/64位寄存器对位寄存器对 All combinations of 40-bit registers are shown below:lThe registers must be from the same side.lThe first register must be even and the second odd.lThe registers must be consecutive.2.功能单元功能单元 功能功能单单
8、元元 定点操作定点操作 浮点操作浮点操作.L单单元元3240位算位算术术和比和比较较操作操作32-位最左位最左边边1或或0的位数的位数计计数数32位和位和40位位归归一化操作一化操作32位位逻辑逻辑操作操作算算术术操作操作数据数据类类型型转换转换操作操作DP SPINT DP,INT SP.S单单元元 32位算位算术术操作操作3240位移位和位移位和32位位域操作位位域操作32位位逻辑逻辑操作操作转转移移常数常数产产生生寄存器与控制器数据寄存器与控制器数据传递传递(仅仅.S2)比比较较倒数和倒数平方根操作倒数和倒数平方根操作绝对值绝对值操作操作SPDP数据数据类类型型转换转换.M单单元元 16
9、 16位乘法操作位乘法操作 3232乘法操作乘法操作浮点乘法操作浮点乘法操作.D单单元元 32-位加,减,位加,减,线线性及循性及循环寻环寻址址计计算算带带5位常数偏移量的字位常数偏移量的字读读取与存取与存储储带带15位常数偏移量的字位常数偏移量的字读读取与存取与存储储(仅仅.D2)带带5位常数偏移量的双字位常数偏移量的双字读读取取3.寄存器组交叉通路寄存器组交叉通路.L1、.S1、.D1和和.M1可以直接读写寄存器组可以直接读写寄存器组A.L2、.S2、.D2和和.M2可以直接读写寄存器组可以直接读写寄存器组B 1x交叉通路允许数据通道交叉通路允许数据通道A的功能单元从寄存器的功能单元从寄存
10、器组组B读它的源操作数读它的源操作数2x交叉通路允许数据通道交叉通路允许数据通道B的功能单元从寄存器的功能单元从寄存器组组A读它的源操作数读它的源操作数4.数据存储器及读取存储通路数据存储器及读取存储通路(Load指令指令)寄存器组寄存器组A的读入通路为的读入通路为LD1(2个个32位位)寄存器组寄存器组B的读入通路为的读入通路为LD2(2个个32位位)LDDW指令一次可读取指令一次可读取64位数据到位数据到A或或B寄存器寄存器(Store指令指令)寄存器组寄存器组A的写数据通路为的写数据通路为ST1寄存器组寄存器组B的写数据通路为的写数据通路为ST25.数据地址通路数据地址通路数据地址通路数
11、据地址通路DA1和和DA2来自来自.D功能单元功能单元 数据通道以数据通道以T1、T2表示表示 LDW .D1T2 *A03,B1D1产生地址,用产生地址,用LD2数据通道读入数据到数据通道读入数据到B1寄存器寄存器6.控制寄存器组控制寄存器组缩缩写写 寄存器名寄存器名 描述描述AMR寻寻址模式寄存器址模式寄存器指定是否使用指定是否使用线线性或循性或循环寻环寻址。如果是循址。如果是循环寻环寻址,址,还还包括循包括循环寻环寻址的尺址的尺寸寸CSR控制状控制状态态寄存器寄存器包括全局中断使能位,高速包括全局中断使能位,高速缓缓冲存冲存储储器控制位和其他各种控制和状器控制位和其他各种控制和状态态位位
12、FADCR浮点加法配置寄存器浮点加法配置寄存器指定指定.L单单元的溢出方式,舍入方式,元的溢出方式,舍入方式,记录记录NaN及其他异常及其他异常FAUCR浮点浮点辅辅助配置寄存器助配置寄存器记录记录.S单单元元NaN及其他异常及其他异常FMCR浮点乘法配置寄存器浮点乘法配置寄存器指定指定.M单单元的溢出方式,舍入方式,元的溢出方式,舍入方式,记录记录NaN及其他异常及其他异常ICR中断清除寄存器中断清除寄存器允允许软许软件清除挂起的中断件清除挂起的中断IER中断使能寄存器中断使能寄存器允允许许使能禁止个使能禁止个别别中断中断IFR中断中断标标志寄存器志寄存器显显示中断状示中断状态态IRP中断返
13、回指中断返回指针针 保存从可屏蔽中断返回保存从可屏蔽中断返回时时的地址的地址ISR中断中断设设置寄存器置寄存器允允许软许软件控制件控制设设置中断置中断ISTP中断服中断服务务表指表指针针指向中断服指向中断服务务表的起始地址表的起始地址NRP不可能屏蔽中断返回指不可能屏蔽中断返回指针针保存从不可屏蔽中断返回保存从不可屏蔽中断返回时时的地址的地址PCE1程序程序计计数器数器保存保存处处于流水于流水线线E1节节拍的取指包地址拍的取指包地址6.控制寄存器组控制寄存器组模式模式描述描述00线线性性寻寻址址(复位后默复位后默认值认值)01循循环寻环寻址使用址使用BK0字段字段10循循环寻环寻址使用址使用B
14、K1字段字段11保留保留寻址模式寄存器寻址模式寄存器(AMR)控制状态寄存器控制状态寄存器(CSR)位位字段名字段名功能功能1510 PWRD 控制低功耗模式,控制低功耗模式,该值读时总为该值读时总为零零9 SAT 饱饱和位。任一功能和位。任一功能单单元元执执行一个行一个饱饱和操作和操作时时被置被置1,饱饱和位只能有和位只能有MVC指令清零,指令清零,被功能被功能单单元元饱饱和和操作置位。当清除和置位在同一周期内操作置位。当清除和置位在同一周期内发发生生时时,功能,功能单单元元对对它的置位它的置位优优先。先。饱饱和位在和位在饱饱和和发发生后一个生后一个周期被置位周期被置位8 EN 端端结结方式
15、:方式:1=小端小端终结终结,0=大端大端终结终结75 PCC PCC程序高速程序高速缓缓冲存冲存储储器控制模式器控制模式42 DCC 数据高速数据高速缓缓冲存冲存储储器控制模式器控制模式1 PGIE 当一个中断当一个中断发发生生时时,保存以前的全局中断使能位,保存以前的全局中断使能位GIE0 GIE 全局中断使能位,它控制除复位和不可屏蔽中断之外的所有可屏蔽中断使能:全局中断使能位,它控制除复位和不可屏蔽中断之外的所有可屏蔽中断使能:GIE=1时时,可屏蔽中断,可屏蔽中断使能:使能:GIE=0时时,可屏蔽中断禁止,可屏蔽中断禁止6.控制寄存器组控制寄存器组指令集概述指令集概述1.指令和功能单
16、元之间的映射指令和功能单元之间的映射 指令指令 功能单元功能单元乘法相关的指令都是在乘法相关的指令都是在.M单元执行单元执行产生数据存储器地址的指令在产生数据存储器地址的指令在.D功能单元功能单元算术逻辑运算大多在算术逻辑运算大多在.L与与.S单元执行单元执行 2.延迟间隙延迟间隙延迟间隙在数量上等于从指令的源操作数被读取直到延迟间隙在数量上等于从指令的源操作数被读取直到执行的结果可以被访问所需要的指令周期数。执行的结果可以被访问所需要的指令周期数。指令指令类类型型延延迟间迟间隙隙功能功能单单元等待元等待时间时间读读周期周期写周期写周期单单周期周期 0 1 i i 2周期周期 DP 1 1 i
17、 i,i+1 DP 比比较较1 2 i,i+1 1+1 4周期周期3 1 i i+3 INT到到DP转换转换4 1 i i+3,i+4 Load 4 1 i i,i+4MPYSP2DP 4 2 i i+3,i+4 ADDDP/SUBDP 6 2 i,i+1 i+5,i+6 MPYSPDP 6 3 i,i+1 i+5,i+6 MPYI 8 4 i,i+1,1+2,i+3 i+8 MPYID 9 4 i,i+1,1+2,i+3 i+8,i+9 MPYDP 9 4 i,i+1,1+2,i+3 i+8,i+9 3.指令操作码映射图指令操作码映射图代码段代码段说明说明creg指定条件寄存器的代码指定条件
18、寄存器的代码z指定条件指定条件src,dst分别指定源及目的操作数代码分别指定源及目的操作数代码x指定源操作数指定源操作数2是否使用交叉通道是否使用交叉通道op指令操作代码指令操作代码s选择寄存器组选择寄存器组A或或B作为目的操作数作为目的操作数p指定是否并行执行指定是否并行执行CPU运行时,总是一次取运行时,总是一次取 8条指令,组成一个条指令,组成一个取指包取指包 所有并行执行的指令组成一个所有并行执行的指令组成一个执行包执行包 周期/执行包指令1A2B3C D E4F G H4.并行操作并行操作3位操作码字段位操作码字段creg指定条件寄存器指定条件寄存器1位字段位字段z指定是零测试还是
19、非零测试指定是零测试还是非零测试z=1,进行零测试,即条件寄存器的内容为,进行零测试,即条件寄存器的内容为0是真是真z=0,进行非零测试,即条件寄存器的内容非,进行非零测试,即条件寄存器的内容非0是真是真creg=0,z=0,则指令将无条件地执行,则指令将无条件地执行 条件寄存器:条件寄存器:A1、A2、B0、B1和和B2 B0 ADD .L1 A1,A2,A3|!B0 ADD .L2 B1,B2,B3 以上2条指令是相互排斥 5.条件操作条件操作6.寻址方式寻址方式全部采用全部采用间接寻址间接寻址所有寄存器都可以做所有寄存器都可以做线性寻址线性寻址的地址指针的地址指针循环寻址的地址指针:循环
20、寻址的地址指针:A4-A7,B4-B7由由AMR控制地址修改方式:线件方式或循环方式控制地址修改方式:线件方式或循环方式循环寻址循环块的尺寸与循环寻址循环块的尺寸与BK0BK1内内5位数值位数值N的关系为的关系为块尺寸块尺寸2(N+1)字节字节例如例如N的二进制数为的二进制数为10000,等于十进制,等于十进制16,则,则块尺寸块尺寸2(16+1)131072字节字节寻寻址方式址方式不修改地址寄存器不修改地址寄存器先修改地址寄存器先修改地址寄存器后修改地址寄存器后修改地址寄存器寄存器寄存器间间接接寻寻址址*R*R *R*R *R 寄存器相寄存器相对寻对寻址址*Rucst5*Rucst5*Ruc
21、st5*Rucst5*R ucst5*R ucst5基地址基地址+变变址址*RoffseR*RoffseR*RoffseR*RoffseR*R offseR*R offseR带带15位常数偏移量位常数偏移量的寄存器相的寄存器相对寻对寻址址*+B14B15ucst156.寻址方式寻址方式读取存储类指令访问数据存储器地址的汇编语法格式读取存储类指令访问数据存储器地址的汇编语法格式 ucst5-无符号二进制无符号二进制5位常数偏移量位常数偏移量ucst15-无符号二进制无符号二进制15位常数偏移量位常数偏移量uLittle-endian ordering,in which bytes are ord
22、ered from right to left,the most significant byte having the highest addressuBig-endian ordering,in which bytes are ordered from left to right,the most significant byte having the lowest addressu大小端位由大小端位由DSP的的LENDIAN管脚设置管脚设置终结方式终结方式(大小端位大小端位)BA 98 76 54h11,10,01,00BA 98 76 54h00,01,10,11终结方式终结方式(大小
23、端位大小端位)C6000DSP 汇编指令分类汇编指令分类u读取读取/存储类指令存储类指令u算术运算类指令算术运算类指令u逻辑与位操作类指令逻辑与位操作类指令u搬移搬移类指令类指令u程序转移程序转移类指令类指令u空操作类指令空操作类指令u浮点操作浮点操作类指令类指令2.2.2 读取读取/存储类指令存储类指令读取指令:读取指令:LDBLDBULDHLDHULDWLDDW存储指令:存储指令:STBSTHSTW单字节单字节(Byte)、双字节、双字节(半字半字Half Word)和四字节和四字节(字字Word)位数不同位数不同有符号有符号/无符号无符号(U),符号位的扩展不同,符号位的扩展不同地址偏移
24、修正因子:地址偏移修正因子:LDB(U)LDH(U)LDW指令分别读指令分别读入字节半字字,要乘以相应的比例因子入字节半字字,要乘以相应的比例因子1、2、42.2.2 读取读取/存储类指令存储类指令例例2-1 线性寻址下的变址计算线性寻址下的变址计算 LDW.D1 *+A41,A6此例为先修改地址,地址偏移量按此例为先修改地址,地址偏移量按14计算,计算结果计算,计算结果如下所示:如下所示:示例示例02012.2.2 读取读取/存储类指令存储类指令例例2-2 循环寻址方式下的地址计算循环寻址方式下的地址计算 LDW.D1 *+A49,A1此处假设寻址模式寄存器此处假设寻址模式寄存器AMR=0
25、x00030001,A4已被设定为已被设定为循环寻址方式,块字节尺寸为循环寻址方式,块字节尺寸为24=16=10h(N=3)。因为是以字。因为是以字为单位读取,变址偏移量为为单位读取,变址偏移量为94=36=24h。线件寻址时地址应。线件寻址时地址应为为00000124h;循外寻址时,;循外寻址时,24h对低对低4位位(第第0-3位位)地址地址10h取模,余数为取模,余数为4,故实际寻址地址为,故实际寻址地址为00000104h。示例示例02022.2.3 算术运算类指令算术运算类指令1.加减运算指令加减运算指令(1)ADD/ADDU/SUB/SUBU 操作数为整型操作数为整型(32位位)或长
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- DSP 原理 应用 CPU 结构 指令
限制150内