摘
要
数字信号处理相对于模拟信号处理有很大的优越性,随着人们对实时处理要求的不断提高和大规模集成电路技术的迅速发展,数字信号处理技术也发生着日新月异的变革。数字信号处理的主要对象是数字信号,且是采用运算的方法达到处理目的,基本上可以分成两种实现方法,即软件实现方法和硬件实现方法。软件实现方法指的是按照原理和算法,自己编写程序或者采用现成的程序在通用计算机上实现,显然用软件方法实现比较灵活,适合于科研和教学。我们将要设计的是一个交叉汇编器。它运行在pc机上,为基于AS-218x数字信号处理器的汇编语言进行汇编。以及对于研究计算机和运行在他们上面的程序来说是一个有用的仿真器。现采用的用汇编器及仿真器实现的方法,是针对约定的汇编语言语法规则,提出并实现了一种采用一边扫描的汇编算法,在词法分析与语法分析的模块中,介绍了两个在编译器的设计过程中经常会用到的软件:Lex与YACC的使用。在符号表处理模块的设计中,提出了一些常见的表搜索的方法。
关键词:汇编器 仿真器 词法分析器 语法分析器
第一章 概 述
§1. 数字信号处理器技术
数字信号处理相对于模拟信号处理有很大的优越性,表现在精度高、灵活性大、可靠性好、易于大规模继承等方面。随着人们对实时处理要求的不断提高和大规模集成电路技术的迅速发展,数字信号处理技术也发生着日新月异的变革。
§1.
1. 数字信号处理器发展
实时数字信号处理技术的核心和标志是数字信号处理器。自第一个微处理器问世以来,处理器技术水平得到了十分迅速的提高,而快速傅立叶变换等实用算法的提出促进了专门实现数字信号处理的一类微处理的分析和发展。数字信号处理有别于普通的科学计算与分析。它强调运算处理的实时性,因此DSP除了具备普通处理器所强调的高速运算和控制功能外,针对实时数字信号处理,在处理器结构、指令系统、指令流程上做了很大的改动,其结构特点如下:
•• DSP普遍采用了数据总线和程序总线分离的哈佛结构和改进的哈佛结构,比传统的冯·诺依曼结构有更高的指令执行速度。
• DSP大多采用流水线技术,即每条指令都由片内多个功能单元分别完成取指、译码、取数、执行等多个步骤,从而在不提高时钟频率的条件下减少每条指令的执行时间。
• 片内有多条总线可以同时进行取指令和多个数据存取操作,并且有辅助寄存器用于寻址,它们可以在寻址访问前或访问后自动修改内容,以指向下一个要访问的地址。
• 针对滤波、相关、矩阵运算等大量乘法累加运算的特点,DSP大都配有独立的乘法器和加法器,使得同一时钟周期内可以完成相乘、累加两个运算。
• 许多DSP带有DMA通道控制器,以及串行通信口等,配合片内多总线结构,数据块传送速度大大提高。
• 配合中断处理器和定时控制器,可以很方便地构成系统。
• 具有软、硬件等待功能,能与各种存储器接口。
§1.
2. 数字信号处理器的应用领域
随着DSP性能的迅速提供和成本价格的大幅度下降,DSP的应用范围不断扩大,成为当前产量和销量增长最快的电子产品之一。DSP应用几乎遍及整个电子领域,常见的典型应用有:
1.通用数字信号处理
数字滤波、卷积、相关、FFT、希尔波特变换、自适应滤波、窗函数、波形发送等、
2.通信
高速调制解调器、编/译码器、自适应均衡器、传真、程控交换机、蜂房移动电话、数字基站、数字留言机、回音消除、噪声抑制、电视会议、保密通信、卫星通信、TDMA/FDMA/CDMA等多种通信方式。随着网络的迅猛发展,DSP又在网路管理/服务、信息转发、IP电话等新领域扮演着重要的角色,而软件无线电的提出和发展进一步增强了DSP在无线通信领域的应用。
3.语音处理
语言识别、合成、矢量编码、语言信箱。
4.图形/图象处理
三维图像变换、模式识别、图象增强、动画、电子出版、电子地图等。
5.自动控制
磁盘、光盘、打印机伺服、发动机控制。
6.仪器仪表
测量数据谱分析、自动检测及分析、暂态分析、勘测、模拟试验。
7.医学电子
助听器、CT扫描、超声波、心脑电图、核磁共振、医疗监护等。
8.军事与尖端技术
雷达和声纳信号处理、雷达成像、自适应波束合成、阵列天线信号处理、导弹制导、火控系统、战场CI系统。导航、全球定位GPS、目测搜索跟踪、尖端武器试验,航空航天试验,宇宙飞船、侦察卫星。
9.计算机与工作站
阵列处理器、计算加速卡、图形加速卡、多媒体计算机。
10.消费电子
数字电视、高清晰度电视、图象/声音压缩解压器、VCD/DVD/CD播放器、电子玩具、游戏机、数字留言/应答机、汽车电子装置、音响合成、住宅电子安全系统、家电电脑控制装置。
§1.
3. 定点DSP
ADSP21xx系列
1.3.1
ADSP218X特点
ADSP21XX系列各信号的存储器、外部接口各不相同。下面介绍最新的ADSP218x的性能特点。
• 指令周期25ns;
• 片内存储器分成两部分:程序16K
× 24 bit,数据16
× 16 bit,共计80
KB,片内三条总线;
• 片外寻址能力16K;
• 片内设备:2个串口,一个定时器;
• 运算单元字宽,乘法器16 bit
× 16 bit输入,32
bit结果,累加器(ACC)40
bit,ALU 16 bit;
• 寻址方式:循环,位反序;
• DMA 2个;
• 硬件堆栈16级,允许7级中断;
• 主机接口,13个状态输入/输出管脚,EZ-ICE仿真口(非JTAG标准);
• 外部中断4个;
• 封装128QFP。
ADSP21XX系列主要是面向通信系统等对处理数据精度和动态范围适中、更强调产品低成本和低功耗的应用领域。
ADSP218X系列定点DSP相对于其它定点DSP的突出优点是片内高速存储器容量大、寻址能力强、运算速度快,对于需要较大存储器(40~80KB)的应用,ADSP218X可以构成设备量最小的系统。
1.3.2
ADSP2183特点
三个独立的运算部件均可单周期操作。虽然输入数据为16 bit,但ADSP2183提供了更高精度运算的功能。ALU除进行标准算术、逻辑运算外,还提供了简易除法功能。乘法器MAC进行40 bit累加运算。移位器支持算术/逻辑移位、归一化、取指数、多字精度、块浮点等运算或数据格式。
程序控制器支持单周期的条件跳转、调用和返回,具有循环计数器和循环堆栈,支持无附加开销的指令块循环。两个地址产生器各有四个地址指针,都支持访问后变址操作、循环寻址操作。
ADSP2183支持13个中断,其中6个为外中断(一个边沿触发,2个电平触发,另3个可设置),7个内中断分别由定时器、串口(4个)、Byte DMA(DBMA)及休眠电路产生。
串口工作方式多样,可以自带内时钟/外时钟;可设置成无帧/帧同步;字长可设置成2-16bit;可以按G.711标准自动作A律或µ律压缩;发送/接受完一个字或一段数据时都可产生中断;能以循环寻址方式发/收;串口0支持TDMA多通道(24-32 bit字宽)收发。
1.3。3 存储器组织
ADSP2183存储器由四种类型组成,其地址线复用,它们是程序存储器PM,数据存储器DM和I/O空间。
(1)
PM:ADSP2183片内有16 K × 24 bit 程序存储区,允许它每周期访问两次。通过MMAP管脚和PMOVLAY寄存器的设置,16 K片内PM可以和片外同一存储区间的PM存储器重叠。这样可以和早期推出的ADSP2100(片内存储器很小)程序兼容。
(2)
DM:片内16 K × 16 K bit也可以设置为重叠存储,它是通过DMOVLAY寄存器设置的
(3)
I/O空间:ADSP2183支持2048个I/O地址,访问此空间时,地址高3位并未用到,有两个专门访问I/O的指令,4个3 bit的等待寄存器IOWAIT0-3分别在000H-1FFH,200H-3FFH,400H-5FFH,600H-7FFH四段I/O空间产生0-7个等待。