欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > PPT文档下载  

    第七讲数据访问与程序控制.ppt

    • 资源ID:2552884       资源大小:1.50MB        全文页数:43页
    • 资源格式: PPT        下载积分:6
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要6
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    第七讲数据访问与程序控制.ppt

    BIT/TI,第七讲 连接器,1,第七讲 数据访问与程序控制,BIT/TI,第七讲 连接器,2,学习内容,一、定界(alignment) 二、操作数 数据交叉通路、地址交叉通路、条件交叉通路 指针操作数与循环缓存区 有限字长效应问题 三、程序控制 子程序调用与返回 程序跳转 四、实验,BIT/TI,第七讲 连接器,3,一、定界,定界:数据或代码在存储器内的开始地址有一定要求 常数 变量 代码,BIT/TI,第七讲 连接器,4,数据定界原则,数据类型决定:定界、存取指令,数据类型 定界(开始存放地址) LD/ST指令 .byte 无限制 LDB/STB .short/.half 2的整数倍(1 LSB=0) LDH/STH .word/.int 4的整数倍word(2 LSB=00) LDW/STW,BIT/TI,第七讲 连接器,5,常数定界,编译器会根据常数类型自动定界,为避免存储器浪费,定义时应遵循先大后小的原则,v .short 20h,BIT/TI,第七讲 连接器,6,变量定界,省去alignment域 ?,var_name .usect “sect_name”, #bytes, alignment .bss var_name, #bytes, alignment,定界信息可选,BIT/TI,第七讲 连接器,7,错误定界,BIT/TI,第七讲 连接器,8,数据类型要与存取指令一致,BIT/TI,第七讲 连接器,9,数据定界练习,1) 定义一个16位长的short类型变量 m .usect “vars”, _, _ 2) 定义一个word类型数组,元素个数20 n .usect “vars”, _, _,BIT/TI,第七讲 连接器,10,代码定界,连接器自动按照256 bits定界 代码的起始存放地址必须是256的整数倍,即8 LSB = 0。,BIT/TI,第七讲 连接器,11,定界小结,数据类型决定定界方式和访问方式 定义变量时必须填写定界信息 为节省存储空间,应按照word, short, byte的顺序定义数据 无需考虑常量的定界问题: m .byte 10 无需考虑代码的定界问题,BIT/TI,第七讲 连接器,12,二、操作数,BIT/TI,第七讲 连接器,13,操作数:交叉通路Cross Paths,数据交叉通路(.L, .S, .M) 地址交叉通路(.D) 条件交叉通路(所有单元) 条件寄存器:A1, A2, B0, B1, B2,BIT/TI,第七讲 连接器,14,BIT/TI,第七讲 连接器,15,数据交叉通路,BIT/TI,第七讲 连接器,16,地址交叉通路,CPU内部总线,地址交叉通路 指针寄存器来自对侧寄存器,LDW.D1 *A0, A5 LDW.D1 *A0, B5,BIT/TI,第七讲 连接器,17,地址交叉通路,LDW .D1 *PTR, Reg STW .D1 Reg, *PTR,数据寄存器,指令功能单元和指针寄存器必须同侧 数据寄存器如果与功能单元不同侧,即使用了地址交叉通道,BIT/TI,第七讲 连接器,18,在并行存取指令中使用地址交叉通路的限制,BIT/TI,第七讲 连接器,19,条件交叉通路,所有指令都可以是条件指令 条件寄存器可以与功能单元不同侧,而且不占用数据交叉通路或地址交叉通路 例子 B2 ADD .L1x A2, B0, A4 !A1 MPY .M2x B0, A5, B4,BIT/TI,第七讲 连接器,20,交叉通路小结,数据交叉通路 只能用于源寄存器 一个执行包内,每侧的数据交叉通路只能用一次 地址交叉通路 指针寄存器与功能单元必须在同侧 只能用于LD/ST指令的数据寄存器 并行存取指令:只能都使用或都不使用地址交叉通路 条件交叉通路 没有限制,BIT/TI,第七讲 连接器,21,交叉通路练习,下面的指令中使用了哪些交叉通路?,请判断上面的指令是否能通过编译?,BIT/TI,第七讲 连接器,22,操作数:指针操作数,偏移地址disp是5bit常量或寄存器 若基地址寄存器为B14/B15, 则偏移地址可以是15bit常量 指针按照线性寻址修改,或采用循环寻址修改,BIT/TI,23,循环寻址,在卷积、相关、FIR等应用中用来实现一个或两个滑动窗。,BIT/TI,第七讲 连接器,24,一个采样周期后,BIT/TI,第七讲 连接器,25,两个采样周期后,BIT/TI,第七讲 连接器,26,循环寻址指针的修改,8个寄存器可以用于循环寻址 A4A7,B4B7 指针的使用与线性寻址指针相似,只是地址修改稍有不同 只能在循环缓存区的地址范围内修改 若指针修改后超出循环缓存区,则地址指针“绕回”起始地址,循环寻址:地址指针的修改限制在一个存储区域, 超出范围后指针内的地址绕回起始地址,BIT/TI,第七讲 连接器,27,循环寻址的使用 AMR低16位设置寻址模式,模式 说明 00 线性(默认) 01 循环(BK0说明循环缓存区长度) 10 循环(BK0说明循环缓存区长度) 11 保留,BIT/TI,第七讲 连接器,28,循环寻址的使用 AMR高16位设置循环缓存区长度,循环缓存区长度(字节)2N+1 N 循环缓存区长度 00000 2 00111 256(27+1=256) 11111 4G(231+1=4G),BIT/TI,第七讲 连接器,29,设置寄存器AMR例子,MVC在控制寄存器 与通用寄存器之间传递 数据,使用功能单元.S2,BIT/TI,第七讲 连接器,30,循环寻址练习,.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,设置AMR,BIT/TI,第七讲 连接器,31,操作数:有限字长效应问题,采用Q15表示操作数,乘法不会有溢出问题 加法有溢出问题,BIT/TI,第七讲 连接器,32,加性溢出的解决方法,1. 选择饱和运算指令(Saturation),并检查运算结果是否发生运算结果饱和。 2. 使用警戒位(guard bits)。 3. 使用非增益系统(系统增益1),BIT/TI,第七讲 连接器,33,1.饱和运算,1) 使用饱和运算指令编程 2) 检查结果是否发生饱和,BIT/TI,第七讲 连接器,34,检查运算结果是否发生饱和 SAT位的提取和清除,BIT/TI,第七讲 连接器,35,饱和运算小结,饱和运算造成非线性结果 使用指令SADD, SSUB, SAT, SMPY时,如果结果发生饱和,则控制状态寄存器CSR的SAT位被置位 饱和位SAT置位后,在下次使用前要清零,BIT/TI,第七讲 连接器,36,2.使用警戒位,BIT/TI,第七讲 连接器,37,用long 40实现警戒位,BIT/TI,第七讲 连接器,38,如何使用40bit结果?,结果存入存储器(40位结果无法直接作乘法器输入) 指令SAT把40bits结果转换为32bits(转换结果可能会发生饱和),BIT/TI,第七讲 连接器,39,3.使用非增益系统,如果系统有界,并且是线性的,则最后结果不会发生溢出。 y=H.x 假设: |x|1, |H|1 则: |y|1,BIT/TI,第七讲 连接器,40,非增益系统例子,BIT/TI,第七讲 连接器,41,三、程序控制子程序调用与返回,调用CALL,返回RET,BIT/TI,第七讲 连接器,42,跳转指令,共有两个跳转指令 B 标号 -相对跳转 -标号与当前地址的偏移限制在+/-220 B 寄存器 -绝对跳转 -只能在.S2上执行 跳转指令及其延迟间隙不可中断 5个延迟间隙,BIT/TI,第七讲 连接器,43,实验,实验目的: 综合掌握4,5,6,7章知识,了解完整的汇编语言编程 实验内容 30点点积的完整汇编语言编程:包括数据结构和算法,以及程序复位、数据初始化,和连接器命令文件。,

    注意事项

    本文(第七讲数据访问与程序控制.ppt)为本站会员(本田雅阁)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开