1、第三节 内部总线结构,不同总线作用与区别,程序总线(PB) 数据总线(CB、DB和EB) 地址总线(PAB、CAB、DAB和EAB) 在片双向总线,传送取自程序存储器的指令代码和立即操作数。,CB和DB传送读自数据存储器的操作数,EB传送写到存储器的数据。,传送执行指令所需的地址。,为何要设置多内部总线 一个机器周期内可完成的存取操作 为何要用两个辅助寄存器算术运算单元 一个周期内如何执行3操作数指令,要点,并行处理和流水线工作,取1指、读2字、写1字。,双字寻址取双操作数,用C、D、P总线取操作数,第四节 C54x芯片的存储器结构,一、哈佛结构,冯诺依曼 结构,特点 与 区别,哈佛结构 改善
2、的哈佛结构,特点 与 区别,对存储器空间分配的不同考虑,部分程序/数据空间可交叉,二、哈佛结构存储空间分配,64K字程序存储空间 64K字数据存储空间,空 间 构 架,DARAM SARAM ROM,64K字的I/O空间,并行性及RAM双寻址 片内/片外存储器,特 点,程序存储器/片外存储器本身不能并行,1存储器空间的划分与交叉,片内存储器 类型,空间 交叉 的条件,使能,禁止,DARAM SARAM ROM,PMST,C54x中,片内存储器的型式有DARAM、SARAM和ROM三种,取决于芯片的型号。 RAM总是安排到数据存储空间,但也可以构成程序存储空间。 ROM一般构成程序存储空间,也可
3、以部分地安排到数据存储空间。 C54x通过处理器工作方式状态寄存器(PMST)中的3个状态位,可以很方便地“使能”和“禁止”程序和数据空间中的片内存储器。,MP/ MC位:若MP/ MC =0,则片内ROM安排为程序空间;若MP/ MC =1,则片内ROM不安排为程序空间。OVLY位:若OVLY=0,则片内RAM只安排为数据存储空间;若OVLY=1,则片内RAM安排为程序和数据空间。DROM位:若DROM=0,则片内ROM不安排成数据空间;若DROM=1,则部分片内ROM安排为数据空间。DROM位的用法与MP/ MC位的用法无关。不同的 C54x的数据和程序存储区分配略有不同,下图给出了TMS
4、320C549存储器空间分配图。,TMS320C549存储器空间分配图,多款C54芯片可进行页扩展,以增加程序空间容量。如C548和C549其程序空间可扩展到8192K字。为此,它们有23根地址线,并增加了程序计数器扩展寄存器(XPC),以及6条寻址扩展程序空间的指令。C548和C549中的程序空间分成128页,每页64K。 下图为C548和C549的外部扩展程序存储器图。 当片内RAM安排到程序空间时,每页程序存储器分成两部分:一部分是公共的32K字;一部分是各自独立的32K字。公共存储区为所有页共享,而每页独立的32K字存储区只能按指定的页号寻址。如果片内ROM被寻址(MP/ MC=0),
5、它只能在0页,不能映象到程序存储器的其它页。,C548和C549页扩展方法 对程序空间扩展,程序计数器扩展寄存器XPC,2程序存储器,片内存储器作为程序存储器条件 外部存储器作为程序存储器条件 片内ROM分块的目的,DROM=0,为了增强处理器的性能,对片内ROM再细分为若干块,这样就可以在片内ROM的一个块内取指的同时,又在别的块中存数据。如下图所示为片内ROM的分块图。,当存储单元映象到程序空间时,处理器就能自动地对它们所处的地址范围寻址。如果程序地址生成器(PAGEN)发出的地址处在存储器地址范围外,处理器就能自动地对外部寻址。表2-3列出了C54x可用的片内程序存储器地址的容量。,表2
6、-3,C54x可用的片内程序存储器地址的容量,当处理器复位时,复位中断向量映象到程序空间的FF80h。 复位后,这些向量可以被重新映象到程序空间中任何一个128字页的开头。这就很容易将中断向量表从引导ROM中移出来,然后再根据存储器分配图进行安排。 C54x的片内ROM容量有大(28K或48K字)有小(2K字),容量大的片内ROM可以把用户的程序代码编写进去,然而片内高2K字ROM中的内容是由TI公司定义的。,高端2K字的利用,3数据存储器,数据存储器类型,RAM(SARAM) RAM(DARAM) 片内ROM(软件映像),片内/片外数据存储器的识别,由OVLY、 DROM确定,表2-4,C5
7、4x系列DSP的片内数据存储器利用情况,当处理器发出的地址处在片内存储器的范围时,就对片内的RAM或数据ROM(当ROM设为数据存储器时)寻址。当数据存储器地址产生器发出的地址不在片内存储器的范围内时,处理器就会自动地对外部数据存储器寻址。数据存储器可以驻留在片内或者片外。片内DARAM都是数据存储空间。,在双操作数寻址时,如果操作数驻留在同一块内,则要2个周期;若操作数驻留在不同块内,则只需1个周期就可以了。 为了提高处理器的性能,片内RAM也细分成若干块。 分块后,用户可以在同一个周期内从同一块DARAM取出两个操作数,并将数据写入到另一块DARAM中。,RAM分块目的,DARAM前1K数
8、据存储器的配置,地址0020h005Fh,32字SPRAM便笺式存储器0060h007Fh,896字DARAM 0080h03FFh,地址0000h001Fh,4存储器映像寄存器,地址0000h001Fh,寻址存储器映象CPU寄存器,不需要插入等待周期。 外围电路寄存器用于对外围电路的控制和存放数据,对它们寻址,需要2个机器周期。,位置,作用,访问所需周期数,暂存CPU及对外设控制和交换的数据,存储器映像CPU寄存器,存储器映像在片外围寄存器,C54x除了程序和数据存储器空间外,还有一个I/O存储器空间。它是一个64K字的地址空间(0000HFFFFH),都在片外。可以用两条指令(输入指令PORTR和输出指令PORTW)对I/O空间寻址。,5I/O存储器,谢 谢,