版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第七讲数据访问与程序控制BIT/TI1第七讲连接器第七讲数据访问与程序控制BIT/TI1第七讲连接器学习内容一、定界(alignment)二、操作数数据交叉通路、地址交叉通路、条件交叉通路指针操作数与循环缓存区有限字长效应问题三、程序控制子程序调用与返回程序跳转四、实验BIT/TI2第七讲连接器学习内容一、定界(alignment)BIT/TI2第七讲一、定界定界:数据或代码在存储器内的开始地址有一定要求常数变量代码BIT/TI3第七讲连接器一、定界定界:数据或代码在存储器内的开始地址有一定要求BIT数据定界原则数据类型决定:定界、存取指令数据类型 定界(开始存放地址) LD/ST指令.byte 无限制 LDB/STB.short/.half 2的整数倍(1LSB=0) LDH/STH.word/.int 4的整数倍word(2LSB=00) LDW/STWBIT/TI4第七讲连接器数据定界原则数据类型决定:定界、存取指令数据类型 定界(开始常数定界编译器会根据常数类型自动定界为避免存储器浪费,定义时应遵循先大后小的原则v.short20hBIT/TI5第七讲连接器常数定界编译器会根据常数类型自动定界为避免存储器浪费,定义时变量定界省去alignment域?var_name .usect “sect_name”,#bytes,alignment .bss var_name,#bytes,alignment定界信息可选BIT/TI6第七讲连接器变量定界省去alignment域var_name .usec错误定界BIT/TI7第七讲连接器错误定界BIT/TI7第七讲连接器数据类型要与存取指令一致BIT/TI8第七讲连接器数据类型要与存取指令一致BIT/TI8第七讲连接器数据定界练习1)定义一个16位长的short类型变量 m .usect “vars”,__,__2)定义一个word类型数组,元素个数20 n .usect “vars”,__,__BIT/TI9第七讲连接器数据定界练习1)定义一个16位长的short类型变量BIT代码定界连接器自动按照256bits定界代码的起始存放地址必须是256的整数倍,即8LSB=0。BIT/TI10第七讲连接器代码定界连接器自动按照256bits定界BIT/TI10第定界小结数据类型决定定界方式和访问方式定义变量时必须填写定界信息为节省存储空间,应按照word,short,byte的顺序定义数据无需考虑常量的定界问题:m .byte 10无需考虑代码的定界问题BIT/TI11第七讲连接器定界小结数据类型决定定界方式和访问方式BIT/TI11第七讲二、操作数BIT/TI12第七讲连接器二、操作数BIT/TI12第七讲连接器操作数:交叉通路-CrossPaths数据交叉通路(.L,.S,.M)地址交叉通路(.D)条件交叉通路(所有单元)条件寄存器:A1,A2,B0,B1,B2BIT/TI13第七讲连接器操作数:交叉通路-CrossPaths数据交叉通路(.L,BIT/TI14第七讲连接器BIT/TI14第七讲连接器数据交叉通路BIT/TI15第七讲连接器数据交叉通路BIT/TI15第七讲连接器地址交叉通路CPU内部总线地址交叉通路-指针寄存器来自对侧寄存器LDW.D1*A0,A5LDW.D1*A0,B5BIT/TI16第七讲连接器地址交叉通路CPU内部总线地址交叉通路-LDW.D1*A地址交叉通路LDW.D1*PTR,RegSTW.D1Reg,*PTR数据寄存器指令功能单元和指针寄存器必须同侧数据寄存器如果与功能单元不同侧,即使用了地址交叉通道BIT/TI17第七讲连接器地址交叉通路LDW.D1*PTR,Reg数据寄存器指令在并行存取指令中使用地址交叉通路的限制标准并行存取指令使用地址交叉通路的并行存取指令必须同时使用地址交叉通路BIT/TI18第七讲连接器在并行存取指令中使用地址交叉通路的限制标准并行存取指令使用地条件交叉通路所有指令都可以是条件指令条件寄存器可以与功能单元不同侧,而且不占用数据交叉通路或地址交叉通路例子[B2]ADD .L1x A2,B0,A4[!A1]MPY .M2x B0,A5,B4BIT/TI19第七讲连接器条件交叉通路所有指令都可以是条件指令BIT/TI19第七讲交叉通路-小结数据交叉通路只能用于源寄存器一个执行包内,每侧的数据交叉通路只能用一次地址交叉通路指针寄存器与功能单元必须在同侧只能用于LD/ST指令的数据寄存器并行存取指令:只能都使用或都不使用地址交叉通路条件交叉通路没有限制BIT/TI20第七讲连接器交叉通路-小结数据交叉通路BIT/TI20第七讲连接器交叉通路-练习下面的指令中使用了哪些交叉通路?请判断上面的指令是否能通过编译?BIT/TI21第七讲连接器交叉通路-练习下面的指令中使用了哪些交叉通路?请判断上面的指操作数:指针操作数偏移地址disp是5bit常量或寄存器若基地址寄存器为B14/B15,则偏移地址可以是15bit常量指针按照线性寻址修改,或采用循环寻址修改BIT/TI22第七讲连接器操作数:指针操作数偏移地址disp是5bit常量或寄存器循环寻址在卷积、相关、FIR等应用中用来实现一个或两个滑动窗。输入数据x(n)循环寻址指针开始位置新样本替换x(N-1)滤波器系数线性寻址旧新BIT/TI23循环寻址在卷积、相关、FIR等应用中用来实现一个或两个滑动窗一个采样周期后指针开始位置旧新BIT/TI24第七讲连接器一个采样周期后指针开始位置旧新BIT/TI24第七讲连接器两个采样周期后指针开始位置旧新BIT/TI25第七讲连接器两个采样周期后指针开始位置旧新BIT/TI25第七讲连接器循环寻址指针的修改8个寄存器可以用于循环寻址A4-A7,B4-B7指针的使用与线性寻址指针相似,只是地址修改稍有不同只能在循环缓存区的地址范围内修改若指针修改后超出循环缓存区,则地址指针“绕回”起始地址循环寻址:地址指针的修改限制在一个存储区域,超出范围后指针内的地址绕回起始地址BIT/TI26第七讲连接器循环寻址指针的修改循环寻址:地址指针的修改限制在一个存储区域循环寻址的使用
-AMR低16位设置寻址模式模式 说明00 线性(默认)01 循环(BK0说明循环缓存区长度)10 循环(BK0说明循环缓存区长度)11 保留BIT/TI27第七讲连接器循环寻址的使用
-AMR低16位设置寻址模式模式 说明BI循环寻址的使用
-AMR高16位设置循环缓存区长度循环缓存区长度(字节)=2N+1N 循环缓存区长度00000 200111 256(27+1=256)11111 4G(231+1=4G)BIT/TI28第七讲连接器循环寻址的使用
-AMR高16位设置循环缓存区长度循环缓存区设置寄存器AMR-例子MVC-在控制寄存器与通用寄存器之间传递数据,使用功能单元.S2BIT/TI29第七讲连接器设置寄存器AMR-例子MVC-在控制寄存器BIT/TI29第循环寻址-练习 .sect “myData” .align 16 .int 11111111,22...
.sect “myCode” MVK.S1 0001h,A2 MVKLH.S1 0003h,A2 MVC.S2x A2,AMR MVK.S1 100h,A4 LDW.D1 *A4++[2],A1 LDW.D1 *A4++[3],A1设置AMRBIT/TI30第七讲连接器循环寻址-练习 .sect “myData”设置AMRB操作数:有限字长效应问题采用Q15表示操作数,乘法不会有溢出问题加法有溢出问题BIT/TI31第七讲连接器操作数:有限字长效应问题采用Q15表示操作数,乘法不会有溢出加性溢出的解决方法1.选择饱和运算指令(Saturation),并检查运算结果是否发生运算结果饱和。2.使用警戒位(guardbits)。3.使用非增益系统(系统增益<1)BIT/TI32第七讲连接器加性溢出的解决方法1.选择饱和运算指令(Saturatio1.饱和运算1)使用饱和运算指令编程2)检查结果是否发生饱和BIT/TI33第七讲连接器1.饱和运算1)使用饱和运算指令编程BIT/TI33第七讲检查运算结果是否发生饱和
-SAT位的提取和清除提取清除BIT/TI34第七讲连接器检查运算结果是否发生饱和
-SAT位的提取和清除提取清除BI饱和运算小结饱和运算造成非线性结果使用指令SADD,SSUB,SAT,SMPY时,如果结果发生饱和,则控制状态寄存器CSR的SAT位被置位饱和位SAT置位后,在下次使用前要清零BIT/TI35第七讲连接器饱和运算小结饱和运算造成非线性结果BIT/TI35第七讲连2.使用警戒位BIT/TI36第七讲连接器2.使用警戒位BIT/TI36第七讲连接器用long40实现警戒位BIT/TI37第七讲连接器用long40实现警戒位BIT/TI37第七讲连接器如何使用40bit结果?结果存入存储器(40位结果无法直接作乘法器输入)指令SAT把40bits结果转换为32bits(转换结果可能会发生饱和)BIT/TI38第七讲连接器如何使用40bit结果?结果存入存储器(40位结果无法直接作3.使用非增益系统如果系统有界,并且是线性的,则最后结果不会发生溢出。 y=H.x假设: |x|<1,|H|<1则: |y|<1BIT/TI39第七讲连接器3.使用非增益系统如果系统有界,并且是线性的,则最后结果不会非增益系统例子中间结果产生溢出正确的最后结果BIT/TI40第七讲连接器非增益系统例子中间结果产生溢出正确的最后结果BIT/TI40三、程序控制-子程序调用与返回调用-CALL返回-RETBIT/TI41第七讲连接器三、程序控制-子程序调用与返回调用-CALL返回-RETBI跳转指令共有两个跳转指令B标号 -相对跳转 -标号与当前地址的偏移限制在+/-220B寄存器 -绝对跳转 -只能在.S2上执行跳转指令及其延迟间隙不可中断5个延迟间隙BIT/TI42第七讲连接器跳转指令共有两个跳转指令BIT/TI42第七讲连接器实验实验目的:综合掌握4,5,6,7章知识,了解完整的汇编语言编程实验内容30点点积的完整汇编语言编程:包括数据结构和算法,以及程序复位、数据初始化,和连接器命令文件。BIT/TI43第七讲连接器实验实验目的:BIT/TI43第七讲连接器第七讲数据访问与程序控制BIT/TI44第七讲连接器第七讲数据访问与程序控制BIT/TI1第七讲连接器学习内容一、定界(alignment)二、操作数数据交叉通路、地址交叉通路、条件交叉通路指针操作数与循环缓存区有限字长效应问题三、程序控制子程序调用与返回程序跳转四、实验BIT/TI45第七讲连接器学习内容一、定界(alignment)BIT/TI2第七讲一、定界定界:数据或代码在存储器内的开始地址有一定要求常数变量代码BIT/TI46第七讲连接器一、定界定界:数据或代码在存储器内的开始地址有一定要求BIT数据定界原则数据类型决定:定界、存取指令数据类型 定界(开始存放地址) LD/ST指令.byte 无限制 LDB/STB.short/.half 2的整数倍(1LSB=0) LDH/STH.word/.int 4的整数倍word(2LSB=00) LDW/STWBIT/TI47第七讲连接器数据定界原则数据类型决定:定界、存取指令数据类型 定界(开始常数定界编译器会根据常数类型自动定界为避免存储器浪费,定义时应遵循先大后小的原则v.short20hBIT/TI48第七讲连接器常数定界编译器会根据常数类型自动定界为避免存储器浪费,定义时变量定界省去alignment域?var_name .usect “sect_name”,#bytes,alignment .bss var_name,#bytes,alignment定界信息可选BIT/TI49第七讲连接器变量定界省去alignment域var_name .usec错误定界BIT/TI50第七讲连接器错误定界BIT/TI7第七讲连接器数据类型要与存取指令一致BIT/TI51第七讲连接器数据类型要与存取指令一致BIT/TI8第七讲连接器数据定界练习1)定义一个16位长的short类型变量 m .usect “vars”,__,__2)定义一个word类型数组,元素个数20 n .usect “vars”,__,__BIT/TI52第七讲连接器数据定界练习1)定义一个16位长的short类型变量BIT代码定界连接器自动按照256bits定界代码的起始存放地址必须是256的整数倍,即8LSB=0。BIT/TI53第七讲连接器代码定界连接器自动按照256bits定界BIT/TI10第定界小结数据类型决定定界方式和访问方式定义变量时必须填写定界信息为节省存储空间,应按照word,short,byte的顺序定义数据无需考虑常量的定界问题:m .byte 10无需考虑代码的定界问题BIT/TI54第七讲连接器定界小结数据类型决定定界方式和访问方式BIT/TI11第七讲二、操作数BIT/TI55第七讲连接器二、操作数BIT/TI12第七讲连接器操作数:交叉通路-CrossPaths数据交叉通路(.L,.S,.M)地址交叉通路(.D)条件交叉通路(所有单元)条件寄存器:A1,A2,B0,B1,B2BIT/TI56第七讲连接器操作数:交叉通路-CrossPaths数据交叉通路(.L,BIT/TI57第七讲连接器BIT/TI14第七讲连接器数据交叉通路BIT/TI58第七讲连接器数据交叉通路BIT/TI15第七讲连接器地址交叉通路CPU内部总线地址交叉通路-指针寄存器来自对侧寄存器LDW.D1*A0,A5LDW.D1*A0,B5BIT/TI59第七讲连接器地址交叉通路CPU内部总线地址交叉通路-LDW.D1*A地址交叉通路LDW.D1*PTR,RegSTW.D1Reg,*PTR数据寄存器指令功能单元和指针寄存器必须同侧数据寄存器如果与功能单元不同侧,即使用了地址交叉通道BIT/TI60第七讲连接器地址交叉通路LDW.D1*PTR,Reg数据寄存器指令在并行存取指令中使用地址交叉通路的限制标准并行存取指令使用地址交叉通路的并行存取指令必须同时使用地址交叉通路BIT/TI61第七讲连接器在并行存取指令中使用地址交叉通路的限制标准并行存取指令使用地条件交叉通路所有指令都可以是条件指令条件寄存器可以与功能单元不同侧,而且不占用数据交叉通路或地址交叉通路例子[B2]ADD .L1x A2,B0,A4[!A1]MPY .M2x B0,A5,B4BIT/TI62第七讲连接器条件交叉通路所有指令都可以是条件指令BIT/TI19第七讲交叉通路-小结数据交叉通路只能用于源寄存器一个执行包内,每侧的数据交叉通路只能用一次地址交叉通路指针寄存器与功能单元必须在同侧只能用于LD/ST指令的数据寄存器并行存取指令:只能都使用或都不使用地址交叉通路条件交叉通路没有限制BIT/TI63第七讲连接器交叉通路-小结数据交叉通路BIT/TI20第七讲连接器交叉通路-练习下面的指令中使用了哪些交叉通路?请判断上面的指令是否能通过编译?BIT/TI64第七讲连接器交叉通路-练习下面的指令中使用了哪些交叉通路?请判断上面的指操作数:指针操作数偏移地址disp是5bit常量或寄存器若基地址寄存器为B14/B15,则偏移地址可以是15bit常量指针按照线性寻址修改,或采用循环寻址修改BIT/TI65第七讲连接器操作数:指针操作数偏移地址disp是5bit常量或寄存器循环寻址在卷积、相关、FIR等应用中用来实现一个或两个滑动窗。输入数据x(n)循环寻址指针开始位置新样本替换x(N-1)滤波器系数线性寻址旧新BIT/TI66循环寻址在卷积、相关、FIR等应用中用来实现一个或两个滑动窗一个采样周期后指针开始位置旧新BIT/TI67第七讲连接器一个采样周期后指针开始位置旧新BIT/TI24第七讲连接器两个采样周期后指针开始位置旧新BIT/TI68第七讲连接器两个采样周期后指针开始位置旧新BIT/TI25第七讲连接器循环寻址指针的修改8个寄存器可以用于循环寻址A4-A7,B4-B7指针的使用与线性寻址指针相似,只是地址修改稍有不同只能在循环缓存区的地址范围内修改若指针修改后超出循环缓存区,则地址指针“绕回”起始地址循环寻址:地址指针的修改限制在一个存储区域,超出范围后指针内的地址绕回起始地址BIT/TI69第七讲连接器循环寻址指针的修改循环寻址:地址指针的修改限制在一个存储区域循环寻址的使用
-AMR低16位设置寻址模式模式 说明00 线性(默认)01 循环(BK0说明循环缓存区长度)10 循环(BK0说明循环缓存区长度)11 保留BIT/TI70第七讲连接器循环寻址的使用
-AMR低16位设置寻址模式模式 说明BI循环寻址的使用
-AMR高16位设置循环缓存区长度循环缓存区长度(字节)=2N+1N 循环缓存区长度00000 200111 256(27+1=256)11111 4G(231+1=4G)BIT/TI71第七讲连接器循环寻址的使用
-AMR高16位设置循环缓存区长度循环缓存区设置寄存器AMR-例子MVC-在控制寄存器与通用寄存器之间传递数据,使用功能单元.S2BIT/TI72第七讲连接器设置寄存器AMR-例子MVC-在控制寄存器BIT/TI29第循环寻址-练习 .sect “myData” .align 16 .int 11111111,22...
.sect “myCode” MVK.S1 0001h,A2 MVKLH.S1 0003h,A2 MVC.S2x A2,AMR MVK.S1 100h,A4 LDW.D1 *A4++[2],A1 LDW.D1 *A4++[3],A1设置AMRBIT/TI73第七讲连接器循环寻址-练习 .sect “myData”设置AMRB操作数:有限字长效应问题采用Q15表示操作数,乘法不会有溢出问题加法有溢出问题BIT/TI74第七讲连接器操作数:有限字长效应问题采用Q15表示操作数,乘法不会有溢出加性溢出的解决方法1.选择饱和运算指令(Saturation),并检查运算结果是否发生运算结果饱和。2.使用警戒位(guardbits)。3.使用非增益系统(系统增益<1)BIT/TI75第七讲连接器加性溢出的解决方法1.选择饱和运算指令(Saturatio1.饱和运算1)使用饱和运算指令编程2)检查结果是否发生饱和BIT/TI76第七讲连接器1.饱和运算1)使用饱和运算指令编程BIT/TI33第七讲检查运算结果是否发生饱和
-SAT位的提取和清除提取清除BIT/T
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 为提升员工满意度开展健康讲座的邀请函5篇范文
- 电子技术设备操作安全手册
- 2026年楚雄彝族自治州中医医院编外人员招聘(8人)笔试备考试题及答案解析
- 电商平台用户行为分析及订单处理优化方案
- 2026年供应商库存管理标准更新执行确认函(8篇范文)
- 兴业银行广州分行2027届校园招聘考试模拟试题及答案解析
- 2026徐州市东方人民医院公开招聘非在编人员(第二批)5人考试备考题库及答案解析
- 2026年蚌埠水务乡镇抄表收费员、乡镇抄表收费组长、项目经理招聘考试模拟试题及答案解析
- 酒店客房经理客户满意度及服务质量评估表
- 快递业务管理员KPI考核表
- 浙江省城镇净水厂安全运行管理规范
- 履带吊安拆施工方案交底
- DZ∕T 0305-2017 天然场音频大地电磁法技术规程(正式版)
- 酒店客房样板间装修验收记录表
- 设计速写(室内设计和环境艺术设计专业)全套教学课件
- 《孙周兴:艺术哲学美是如何诞生的》2021-2022超星尔雅课后测试答案
- 庞贝古城探秘课件
- GB/T 25146-2010工业设备化学清洗质量验收规范
- 辅酶Q10-增强心动力课件
- 综合实践-奇妙的指纹课件
- 立体裁剪课件
评论
0/150
提交评论