220 likes | 348 Views
数字信号处理器结构. 处理器基本结构 指令控制单元与流水线 处理单元与数据通道 总线和存储器结构 Cache VLIW 结构 SIMD 结构 中断机制 片上通用外设结构. 1 、 总线和存储器访问需求. 经典的 FIR 抽头延迟滤波器的乘法累加指令 MAC 对存储器的访问 读取指令 读取采样数据 读取滤波器系数 把数据写入存储器(下一抽头延迟线位置). 2 、 冯诺曼结构和哈佛结构. 2 、 冯诺曼结构和哈佛结构. 冯诺曼结构 只有一个存储器空间,它通过一套总线(包括数据总线和地址总线)与处理器内核相连接,程序和数据存放在同一存储空间。 总线带宽低
E N D
数字信号处理器结构 • 处理器基本结构 • 指令控制单元与流水线 • 处理单元与数据通道 • 总线和存储器结构 • Cache • VLIW结构 • SIMD结构 • 中断机制 • 片上通用外设结构
1、总线和存储器访问需求 • 经典的FIR抽头延迟滤波器的乘法累加指令MAC对存储器的访问 • 读取指令 • 读取采样数据 • 读取滤波器系数 • 把数据写入存储器(下一抽头延迟线位置)
2、冯诺曼结构和哈佛结构 • 冯诺曼结构 • 只有一个存储器空间,它通过一套总线(包括数据总线和地址总线)与处理器内核相连接,程序和数据存放在同一存储空间。 • 总线带宽低 • 哈佛结构 • 指令存储空间和程序存储空间分离,采用两套独立的总线,一套连接程序存储器和处理器内核,另一套连接数据存储器和处理器内核 • 改进哈佛结构把存储空间分成3个独立空间 • 现代DSPs为了方便用户,片外存储器使用冯诺曼结构,但片内存储器充分地利用哈佛结构
4、片上存储器类型 • 片上ROM/flash、SARAM、B0块DARAM可作为程序存储器 • SARAM、B0~B2块DARAM可作为数据存储器 • SARAM是单访问存储器,在一个指令周期CPU只能对其进行1次访问 • DARAM是双访问存储器,在一个指令周期CPU只能对其进行2次访问。
6、C6000存储器结构 • C62xx DSPs片内集成了大容量存储器 • 分为程序区间和数据区间两个独立的部分 • 程序区间可以作为普通SRAM映射到存储空间,也可以作为高速缓存(cache)使用; • 数据区间通过两套总线与处理器内核相连,在一个指令周期内不同Bank的数据存储器可同时被各访问一次。 • C62xx处理器在一个指令周期内最多可对片内存储器进行3次访问。 • C62xx处理器对存储器的管理和数据传输是由专门的控制器来完成的,
7、提高存储器带宽技术 • 存储器带宽总是低于处理器对数据带宽的要求,这种差别甚至达到一个数量级 • 提高存储器的访问带宽,可以采用并行访问、流水交叉访问等技术 • 使存储器带宽与总线带宽及处理器带宽相匹配
7、提高存储器带宽技术:并行访问 • 并行访问存储器的存储器数据宽度与处理器数据宽度不一致,存在存储器访问冲突 • 取指令冲突:当作为程序存储器,读出的有一条转移指令,而且转移成功时,读取的其它指令将无效。 • 读数据冲突:一次并行读出的n个数据,并不一定都是需要处理的数据。 • 写数据冲突:当只需要写其中的某一个字,为不改变其它字的内容,需要先把其它字读出,与该字拼接,才能进行整个字的写入。 • 读写冲突:与一般存储器一样,不能同时对同一存储器地址进行读和写。
7、提高存储器带宽技术:交叉访问 • 交叉访问存储器 • 由多个模块存储器组成,模块存储器连接到系统总线或开关网络上,通过对相邻模块存储器进行流水线访问,可以获得更高的存储器带宽。 • 主存储器地址分为二部分:模块地址和字地址(模块存储器地址), • 二种交叉访问存储器 • 低位交叉访问存储器和高位交叉访问存储器, • 在低位交叉存储器中,低位地址不同的存储单元分配在不同的存储器模块,使得连续地址的存储器访问顺序对不同模块流水进行,这样即使存储器模块的速度较低,但总存储器的访问速度可以很高。
7、提高存储器带宽技术:交叉访问例子 • LDB/LDH/LDW/LDDW指令
9、存储系统原理 • 一个处理器系统可以有多种存储器 • Cache、主存储器和外部存储器 • SRAM、SBSRAM、DRAM • 存储器在处理器系统任意组织是不能成为一个有效的存储系统 • 存储器系统 • 两个或两个以上速度、容量和价格各不相同的存储器用硬件或(和)软件连接起来的对应用程序员透明、统一的一个数据和(或)指令存放系统,它的速度接近速度最快的存储器的速度,它的容量等于或接近容量最大的存储器的容量,它的单位容量价格接近容量最大的存储器的单位容量价格