
结构4_总线和存储器结构pdf课件--北京理工大学dsp课件一次性下载(高梅国教授).pdf
22页BIT/TI1数字信号处理器结构• 处理器基本结构 • 指令控制单元与流水线指令控制单元与流水线 • 处理单元与数据通道 • 总线和存储器结构 • Cache • VLIW结构 • SIMD结构 • 中断机制 • 片上通用外设结构BIT/TI21、总线和存储器访问需求• 经典的FIR抽头延迟滤波器的乘法累 加指令MAC对存储器的访问 –读取指令 –读取采样数据 –读取滤波器系数 –把数据写入存储器(下一抽头延迟线位 置)BIT/TI32、冯诺曼结构和哈佛结构处理器内核 地址总线 1 数据总线 1 地址总线 2 数据总线 2 存储器 1 存储器 2 存储器 1 处理器内核 地址总线 数据总线 (a) (b)图 2-?? 二种存储器结构 (a) 冯.诺曼存储器结构 (b) 哈佛存储器结构BIT/TI42、冯诺曼结构和哈佛结构• 冯诺曼结构 – 只有一个存储器空间,它通过一套总线(包括数 据总线和地址总线)与处理器内核相连接,程序 和数据存放在同一存储空间 – 总线带宽低 • 哈佛结构 – 指令存储空间和程序存储空间分离,采用两套独 立的总线,一套连接程序存储器和处理器内核, 另一套连接数据存储器和处理器内核 – 改进哈佛结构把存储空间分成3个独立空间 – 现代DSPs为了方便用户,片外存储器使用冯诺曼 结构,但片内存储器充分地利用哈佛结构BIT/TI53、C2xx总线和片上存储器结构BIT/TI64、片上存储器类型• 片上ROM/flash、SARAM、B0块DARAM可作 为程序存储器 • SARAM、B0~B2块DARAM可作为数据存储器 • SARAM是单访问存储器,在一个指令周期 CPU只能对其进行1次访问 • DARAM是双访问存储器,在一个指令周期 CPU只能对其进行2次访问。
BIT/TI75、C3x总线和片上存储器结构BIT/TI86、C6000存储器结构• C62xx DSPs片内集成了大容量存储器 – 分为程序区间和数据区间两个独立的部分 – 程序区间可以作为普通SRAM映射到存储空间,也 可以作为高速缓存(cache)使用; – 数据区间通过两套总线与处理器内核相连,在一 个指令周期内不同Bank的数据存储器可同时被各 访问一次 – C62xx处理器在一个指令周期内最多可对片内存 储器进行3次访问 – C62xx处理器对存储器的管理和数据传输是由专门 的控制器来完成的,BIT/TI96、C6000程序存储器结构BIT/TI106、C6000数据存储器结构BIT/TI117、提高存储器带宽技术• 存储器带宽总是低于处理器对数据带宽的 要求,这种差别甚至达到一个数量级 • 提高存储器的访问带宽,可以采用并行访 问、流水交叉访问等技术 • 使存储器带宽与总线带宽及处理器带宽相 匹配BIT/TI127、提高存储器带宽技术:并行访问数据寄存器 MAR存储体 (m 字×w 位) 地址寄存器 MARw 位w 位MBR1 MBR2 · · · MBRn存储体 (m/n 字×nw 位) 地址寄存器 MAR w 位w 位w 位w 位· · · 多路选择器 · · · 低位地址/ 字选择 高位地址 地址 (a) (b) 图 2-hh (a) 一般存储器结构 (b) 并行访问存储器结构数据总线BIT/TI137、提高存储器带宽技术:并行访问• 并行访问存储器的存储器数据宽度与处理 器数据宽度不一致,存在存储器访问冲突 –取指令冲突:当作为程序存储器,读出的有一 条转移指令,而且转移成功时,读取的其它指 令将无效。
–读数据冲突:一次并行读出的n个数据,并不 一定都是需要处理的数据 –写数据冲突:当只需要写其中的某一个字,为 不改变其它字的内容,需要先把其它字读出, 与该字拼接,才能进行整个字的写入 –读写冲突:与一般存储器一样,不能同时对同 一存储器地址进行读和写BIT/TI147、提高存储器带宽技术:交叉访问• 交叉访问存储器 – 由多个模块存储器组成,模块存储器连接到系统总 线或开关网络上,通过对相邻模块存储器进行流水 线访问,可以获得更高的存储器带宽 – 主存储器地址分为二部分:模块地址和字地址(模 块存储器地址), • 二种交叉访问存储器 – 低位交叉访问存储器和高位交叉访问存储器, • 在低位交叉存储器中,低位地址不同的存储单元 分配在不同的存储器模块,使得连续地址的存储 器访问顺序对不同模块流水进行,这样即使存储 器模块的速度较低,但总存储器的访问速度可以 很高BIT/TI157、提高存储器带宽技术:低位交叉访问···MDB m 0 MAB m(n-1) ···MDB m+1 1 MAB m(n-1)+1) ···MDB 2m-1 m-1 MAB (mn-1) 数据总线/开关网络 模块地址译码器 字地址 模块地址 字地址缓冲存储器地址 · · · · · · · · · (a) 低位m路交叉存取 存储器数据缓冲模块地址缓冲模块0模块m-1模块1LSBLSB MSBMSB BIT/TI167、提高存储器带宽技术:高位交叉访问···MDB 1 0 MAB n-1) ···MDB n+1 n MAB 2n-1 ···MDB (m-1)n+1 (m-1)n MAB (mn-1) 数据总线/开关网络 模块地址译码器字地址 模块地址字地址缓冲 存储器地址 · · · · · · · · · (a) 高位 m 路交叉存取 存储器数据缓冲模块地址缓冲模块 0模块 m-1 模块 1LSBMSBBIT/TI177、提高存储器带宽技术:交叉访问流水线0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 周期数 访问周期τw0 w1 w2 w3 w4 w5 w6 w7 w8访问字图2-fff 交叉存储器流水线访问 BIT/TI187、提高存储器带宽技术:交叉访问例子• LDB/LDH/LDW/LDDW指令BIT/TI198、存储器的层次结构指令和通用寄存器 外部存储器 高速缓存 Cache 主存储器 第 1 层第 2 层第 3 层第 4 层CPU 内部存储容量变大,每位价格变低 访问速度变快 图 2-ccc 处理器存储器层次结构 BIT/TI209、存储系统原理• 一个处理器系统可以有多种存储器 – Cache、主存储器和外部存储器 – SRAM、SBSRAM、DRAM – 存储器在处理器系统任意组织是不能成为一个有效 的存储系统 • 存储器系统 – 两个或两个以上速度、容量和价格各不相同的存储 器用硬件或(和)软件连接起来的对应用程序员透 明、统一的一个数据和(或)指令存放系统,它的 速度接近速度最快的存储器的速度,它的容量等于 或接近容量最大的存储器的容量,它的单位容量价 格接近容量最大的存储器的单位容量价格BIT/TI219、存储系统原理存储系统 存储器M1 (T1,S1,C1)存储器M2 (T2,S2,C2)存储器Mn (Tn,Sn,Cn)· · ·当作系统,从外部看: 对应用程序员,存储系统透明、统一 存储访问周期 T ≈ min (T1,T2,•••,Tn) 存储系统容量 S ≈ min (S1,S2,•••,Sn) 单位容量价格 C ≈ min (C1,C2,•••,Cn) 图2-lll 存储系统原理 BIT/TI229、存储系统原理主存储器 Cache。












