- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[高等教育]第2章 CPU结构与指令集
2.1 CPU结构 2.1.1 CPU结构框图 2.1.2 CPU数据通道 小端方式:数据的高有效位字节存放在地址高位字节,低有效位存放在地址的低位字节。 大端方式:数据的高有效位字节存放在地址低位字节,低有效位存放在地址的高位字节。 大小端位由DSP的LENDIAN管脚设置 C6000DSP 汇编指令分类 溢出问题 如果运算结果超出目的操作数字长所能表示的范围,造成运算结果的高位丢失,使保存的运算结果不正确,称为溢出。通常有3种办法解决溢出问题 (1)用较长的字长来存放运算结果:16?32可行,32?40耗时 (2)用带饱和的加减运算指令做补码数加减运算:保证符号不变,并且给出提示位 (3)对整个系统乘一个小于1的比例因子:实际中最常用 1.逻辑运算指令:AND、OR、XOR 、NEG (求补码) 2. 移位指令 :算术左移指令SHL、算术右移指令SHR、逻辑右移(无符号扩展右移)指令SHRU、带饱和的算术左移指令SSHL。 SHR src2, src1, dst (src1的低6位指定右移位数) 3.位操作指令 :寄存器控制中常用位域清零/置位指令CLR/SET;带符号扩展与无符号扩展的位域提取指令EXT/EXTULMBD指令,寻找src2中与src1最低位(LSB)相同的最高位位置 NORM指令,检测有多少个冗余的符号位 4.比较及判别类指令:循环条件判断时用CMPEQ/CMPGT(U)/CMPLT(U)指令用于比较两个有/无符号数的相等、大于、小于,若为真,则目的寄存器置1;反之,目的寄存器置0。 MV:通用寄存器之间传送数据 MVC:用于在通用寄存器与控制寄存器之间传送数据,此条指令只能使用.S2功能单元 MVK:用于把16位常数送入通用寄存器 MVKH/MVKLH MVKL 结合生成32位常量 用标号label表示目标地址的转移指令 B (.S) label 用寄存器表示目标地址的转移指令 B .S2 src2 从可屏蔽中断寄存器取目标地址的转移指令 B .S2 IRP 从不可屏蔽中断寄存器取目标地址的转移指令 B .S2 NRP 转移指令有5个指令周期的延迟间隙。转移指令后的 5个指令执行包全部进入CPU流水线,并相继执行。 中断就是要求CPU暂停当前的工作,转而去处理这些事件,处理完以后,再回到原来被中断的地方继续原来的工作。有3种类型中断: RESET(复位) 不可屏蔽中断(NMI) 可屏蔽中断(INT4-INTl5) 1. 复位(RESET) 复位是最高级别中断,它被用来停止CPU工作,并使之返回到一个已知状态。与其他类型中断有以下几方面的区别: (1) RESET是低电平有效信号,而其他的中断则是在转向高电平的上升沿有效。 (2) 为了正确地重新初始化CPU,在RESET再次变成高电平之前必须保持10个时钟脉冲的低电平。 (3) 复位打断所有正在执行的指令,所有的寄存器返回到它们的默认状态。 AMR、ISR、ICR、IFR、ISTP=0 IER=1 IRP、NRP未定义 CSR的D15~D0为100h或000h (4)复位后的第一条指令地址为0,复位中断服务取指包必须放在地址为0的内存中。 (5) 复位不受转移指令的影响。 2. 不可屏蔽中断(NMI) NMI优先级别为2,它通常用来向CPU发出严重硬件问题的警报,如电源故障等。为实现不可屏蔽中断处理,在中断使能寄存器中的不可屏蔽中断使能位(NMIE)必须置1、如果NMIE置1,阻止NMI处理的惟一可能是不可屏蔽中断发生在转移指令的延迟间隙内。 3. 可屏蔽中断(INT4~INT15) CPU有12个可屏蔽中断,它们被连接到芯片外部或片内外设,也可由软件控制或者不用。中断发生时将中断标志寄存器(IFR)的相应位置1。假设一个可屏蔽中断发生在转移指令的延迟间隙内,它还须满足下列条件才能得到响应,受到处理。 (1) 控制状态寄存器(CSR)中的全局中断使能位置1 (2) 中断使能寄存器(IER)中的NMIE位置1 (3) IER中的相应中断使能位置1 (4) 在IFR中没有更高优先级别的中断标志(IF)位为1 IST是包含中断服务代码取指包的一个地址表。当CPU开始处理一个中断时,它要参照IST进行。 IST位于PM空间 IST内含16个连续FP,每个FP中有8条指令,其地址以32个字节增长 表长32×16=512字节 地址000001FFh ISFP用于服务中断的取指包。 分2种情况: (1)当中断服务程序很小时,可以把它放在一个单独的取指包(FP)内。因为执行跳转指令有5个延迟间隙,所
文档评论(0)