奥鹏答案网-奥鹏作业答案-奥鹏在线作业答案-奥鹏离线作业答案-奥鹏毕业论文-专业奥鹏作业答案辅导网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 268|回复: 0

北京理工大学远程教育学院2018-2019年第二学期 《DSP原理及应用》期末大作业

[复制链接]

2万

主题

2万

帖子

6万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
64471
发表于 2019-5-17 15:12:31 | 显示全部楼层 |阅读模式
     C6000实验1:汇编语言、体系结构和CCS
                    采用simulator配置文件sim6201_simulator.cfg
                    1.
            新建一个project,把tutorial\sim62xx\hello1的文件添加进去,完成其功能。练习CCS的基本操作:加载程序、go
            main、执行程序、设置断点、单步执行、观察变量、观察存储器、测试函数执行的CLK、混合代码显示。
                    2.
            打开tutorial\sim62xx\volume1的项目文件,完成图形方式观察变量、设置探点、GEL控制变量、FILE
            IO、动画显示输入输出的功能。然后单步执行load.asm:如何被C代码代码调用、观察寄存器的变化、测试函数执行时间、如何循环和返回C代码。
                    3. 解释如何在C6201上实现32bit int乘32bit int, 结果是32 bit
            int的过程:在刚才的hello1中设置3个全局变量int a = 0x10008; int b = 56; int
            c;在main函数中执行语句 c = a * b;  build后加载执行程序, 混合代码显示 c = a*b对应的汇编代码,解释之。
                    4. Hello1中添加1个C文件sop_c.c ,其中有一个矢量乘的子函数sop(short * a, short
            * x, int * y, int
            n),然后在main函数中调用。不选择任何优化选项。用混合代码显示,在汇编层次执行sop子函数,观察调用、执行和返回的过程。

            C6000实验2:C6000流水线和C运行时环境
                    采用simulator配置文件sim6201_simulator.cfg
                    1. 用汇编语言实现两个数组的乘法累加功能: sop_asm.asm中实现函数int sop_asm(short *
            a, short * x, int n);然后,手工优化汇编代码;
                    2. C调用汇编函数,汇编函数调用c函数:
             在main函数中调用汇编实现的函数addarr3, 在addarr3中调用C子函数addarr2.
             addarr3(int * arr1, int * arr2, int * arr3, int * arr4, int n)
            是汇编函数,其功能为3个数组的对应位置相加,结果放在arr4[n]中;
             汇编函数addarr3中调用C的子函数,它把arr1和arr2相加放到arr3[n]中;
            addarr2(int * arr1, int * arr2, int * arr3, int n)

             C6000实验3:DSP/BIOS
                    采用simulator配置文件sim6201_simulator.cfg
             1. 在volume2的基础上添加一个中断4,并写中断4的服务函数,每发生一次中断把计数器加1。simulator 中,利用pin
            connect仿真中断;
            2. 在实验1的基础上添加一个任务TSK1,优先级为3,其服务函数采用for(){}的结构,该任务每3ms执行一次。
            3. 在实验2的基础上添加一个idle线程,观察idle线程的函数每ms执行多少次;
            4.
            在实验2的基础上添加一个任务TSK2,优先级为4,其服务函数采用for(){}的结构,该任务每2ms执行一次。在第6ms、12ms、18ms….等时刻时,分析TSK1和TSK2的任务切换过程。

            C6000实验4:C6000代码优化
            1. 采用simulator配置文件sim6201_simulator.cfg

             写手工优化的.asm程序:在volume1的load.asm基础上实现16bit数组的乘法累加的函数,并手工优化和采用软件流水优化;要求:
            (1)使用LDW和MPY,MPYH指令;对于C64可以使用扩展乘法指令。
            (2)画出相关图和模迭代间隔表
            2. 采用simulator配置文件sim6701_simulator.cfg .
            写一个线形汇编实现的子函数,做复数数组求模,并找出模的最大值的位置和值。复数的实部和虚部为short,求模的结果为unsigned
            int;
             提示:使用INTSP指令把整数转化为浮点数后再开方;




回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 价格公开

  • 优质服务

  • 专属客服

  • 信息开放

  • 担保交易

 
 
客服一号
客服二号
客服三号
客服四号
点击这里给我发消息
官方微信扫一扫
快速回复 返回顶部 返回列表