2022年完整word版,C54x .pdf
1、 DSP芯片内部采用改进的哈佛结构,允许同时取指令和取数据,而且还允许在程序空间和数据空间之间相互传送数据。所谓哈佛结构,是将程序和数据的存贮空间分开,各有各的地址总线和数据总线。这样同一条指令可以同时对不同的存贮空间进行读操作或写操作,从而提高了处理速度。 和哈佛结构相配合的就是流水线操作。如果一条指令仅仅对一个数据空间操作,哈佛结构就失去其存在的意义。而DSP指令又不可避免地需要一些单操作数指令。所谓流水线操作,就是将各条指令执行过程的几个阶段(取指、译码、取操作数、执行)重迭进行,执行完第一条指令的第一步后,紧接执行该指令的第二步,同时执行下条指令的第一步,使得指令执行加快,使大多数指令都可以在单个指令周期内完成。2、DSP芯片内部采用多总线结构, C54X 内部有 8 条 16 位总线,即1 条程序总线, 3 条数据总线,和4 条地址总线。程序总线PB传送取自程序存贮器的指令代码和立即操作数或系数表中的数据;数据总线CB和 DB 传送读自数据存贮器的操作数;数据总线EB传送写到存贮器的数据;地址总线传送执行指令所需的地址。3、DSP 执行一条指令,需要经过取指、译码、取操作数和执行等几个阶段。由于采用流水线结构, 使指令执行的这几个阶段重迭进行。C54X 有一个 6 级深度的流水线,在任何一个机器周期内,可以有16 条不同的指令在同时工作,每条指令工作在不同级的流水线上。4、C54X 可寻址 64K 字程序空间,64K 字数据空间, 64K 字 I/O 空间,总共可寻址192K 字空间,而 C548 和C549 的程序空间可扩展到8M(即 8192K)字。5、C54X 中,内部存贮器的形式有DARAM、SARAM和 ROM 三种, RAM(包括DARAM 和SARAM)总是安排到数据存贮空间,也可以构成程序存贮空间;ROM 一般构成程序存贮空间,也可部分地安排到数据存贮空间。所谓双寻址RAM(DARAM)就是每个机器周期内可以进行两次存取操作的RAM 存贮器 ,而单寻址RAM(SARAM)就是每个机器期间内只能进行一次存取操作的 RAM 存贮器。6、 在处理器工作方式状态寄存器PMST中有 3 个状态位 MP/ 、 OVLY和 DROM, 用来安排 C54X片内存贮器作为程序或数据空间。若MP/ 0,则片内ROM 安排到程序空间。若MP/ =1,则片内 ROM 不安排到程序空间。 若 OVLY=0, 则片内 RAM 只安排到数据存贮空间。若 OVLY=1 ,则片内 RAM安排到程序和数据空间。若 DROM0, 则片内 ROM不安排到数据空间。 若 DROM1,则片内ROM 安排到数据空间。7、为了增强处理器的性能, C54X 对片内 ROM 进行分块,这样可以在对片内ROM 的某一块取指的同时, 又可对片内ROM 别的块读数据。 为了增强处理器的性能,C54X 对片内 RAM也进行分块,分块以后,可以在同一周期内从同一块DARAM 中取出两个操作数并将数据写入另一块 DARAM 中。8、 C548 和 C549 采用分页扩展方法,把程序空间分成128 页,每页 64K 字,使其程序空间可扩展到8M 字。因此,它们有23 根地址线,增加了一个额外的存贮器映象寄存器程序计数器扩展寄存器 (XPC ) 。 当片内 RAM 安排到程序空间时,每页程序存贮器分成两部分:一部分是公共的32K 字;另一部分是各自独立的32K 字;当片内ROM 被寻址( MP/MC=0),它只能在 0 页,不能映象到程序存贮器的其它页。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 1 页,共 8 页9、C54X 有两类特殊功能寄存器,它们都映象到数据存贮器空间的0 页,第一类是CPU寄存器,它们映象到数据空间的0000001FH 地址范围内,主要用于程序的运算处理和寻址方式的选择及设定,第二类是外围电路寄存器,它们映象到数据空间的0020H005FH区域内,主要用于控制片内外设,包括串行通信控制寄存器组、定时器控制寄存器组、机器周期设定寄存器组等。10、指数编码器可以在单个周期内执行EXP指令,求得累加器中数的指数值,并以 2 的补码的形式存放到T寄存器中。累加器的指数值冗余符号位8,也就是为消去多余符号位而将累加器中的数值左移的位数,当累加器数值超过32 位时指数时个负值。11、对于 C54X 来说,不同型号器件的CPU是相同的, 它由以下基本部件组成:40 位的 ALU、2 个 40 位累加器、桶形移位寄存器(移位数为1631) 、乘法器 /加法器单元、比较选择和存储单元CSSU 、指数编码器、CPU状态和控制寄存器。12累加器A 和 B 都可分为三部分:保护位高阶位和低阶位。其中,保护位用作计算时的数据余量 ,以防止诸如自相关那样的迭代运算时溢出。13桶形移位寄存器的任务是为输入的数据定标,包括在ALU 运算前对来自数据存贮器的操作数或累加器的值进行定标对累加器的值进行移位归一化处理等。14 C54X CPU有一个 17 位17 位硬件乘法器,它与一个40 位专用加法器相连,乘法器/加法器单元可以在一个流水线状态周期内完成一次乘法累加(MAC)运算。当 ST1中的小数方式位FRCT=1 ,乘法器工作在小数相乘方式,乘法结果自动左移1 位,以消去多余的符号位。15比较选择和存储单元CSSU是专为 Viterbi 算法设计的硬件单元,只要将ST1中的 C16位置 1, ALU就被配置成双16 位工作方式,所有的双字指令都变成双16 位的算术运算指令。ALU 可以在一个机器周期内完成两个16 位数的加 /减运算,结果分别存放在累加器的高16位和低 16 位,然后可以利用CMPS指令对累加器的高16 位和低 16 位进行比较,并选择较大者存放到指令所规定的存贮单元中。16状态寄存器0 中,ARP字段是作为辅助寄存器指针,在间接寻址单操作数时,用来选择辅助寄存器,当DSP工作在标准方式时,不能修正ARP ,它必须置 “0”。17状态寄存器0 中,DP字段称数据存贮器页指针,在直接寻址方式,若 ST1中的 CPL=0 ,该字段( 9 位)与指令中给出的低7 位地址一起形成一个16 位直接寻址存贮器的地址。18处理器工作方式状态寄存器PMST中的 IPTR字段( 9 位)为中断的向量指针,它指示中断向量所驻面的128 字程序存贮器的位置,DSP复位时,这9 位字段全部置“1”,所以复位向量总是驻面在程序存贮器空间FF80H。19 C54X 寻址存贮器有两种基本形式:16 位数和 32 位数。 在 32 位数寻址时, 先处理高有效字,后处理低有效字。如果寻址的第1 个字处在偶地址,那么第 2 个字就在下一个 (较高精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 2 页,共 8 页的)地址。如果寻址的第1 个字处在奇地址,那么第2 个字就处在前一个(较低的)地址。20 C54X 共有七种寻址方式,分别为立即寻址绝对寻址累加器寻址直接寻址间接寻址存贮器映象寄存器寻址堆栈寻址。21立即寻址就是在指令中已经包含有执行指令所需的操作数。 C54X 中的立即数有两种形式;即短立即数和长立即数。22绝对寻址,就是在指令中包含有所要寻址的存贮单元的16 位地址。23累加器寻址, 就是利用累加器的数值 (低 16 位或低 23 位) 作为地址来读写程序存贮器。24直接寻址,就是在指令中包含有数据存贮器地址(dma)的低7 位,由这7 位 dma 作为偏移地址值,与基地址值(DP或 SP )一道构成16 位数据存贮器地址。25间接寻址就是利用8 个辅助寄存器(AR0AR7)中的任一个ARX中的内容作地址寻址64K 字数据存贮空间中的任一个存贮单元。26间接寻址方式中的位码倒序寻址,就是以ARX 为指针访问数据存贮器之后,再把ARX的内容加 /减 AR0中的内容进行指针调整时,是以位倒序的方式进行,即进位 /借位是从左到右,而不是从右到左。27间接寻址方式中的循环寻址,就是在存贮器中设置一个长度为R 的循环缓冲区,用来保存最新的一批数据,缓冲区基地址的N 个最低有效位必须为0,即 N 是满足R的最小整数。将 R 值存放在循环缓冲区长度寄存器BK中,并指定一个辅助寄存器ARX指向循环缓冲区,寻址时以ARX的低 N 位作为循环缓冲区的偏移量进行所规定的寻址操作,并根据以下循环寻址方法修改偏移量,再返回ARX的低 N 位。If0 index+stepIndex=index+stepElseif index+step BK index=index+step-BK Elseif index+step锁定时间 /16 TCLK IN57、主机接口HPI是一个 8 位并行口,用来与主设备或主处理器接口。外部主机是HPI的主控者,它可以通过HPI直接访问 CPU的存储空间,包括存贮器映象寄存器。HIP是主机的一个外围设备。 C54X 与主机传送数据时,HPI 能自动地将外部接口传来的连接的8 位数组合成 16 位数后传送给C54X。58、HPI主要由 HPI存贮器( HPI RAM) 、HPI地址寄存器( HPIA) 、HPI数据锁存器( HPID) 、HPI控制寄存器 (HPIC)和 HPI控制逻辑五个部分组成。HPI RAM为 2K字 DARAM, 主要用于 C54X与主机之间传送数据,也可作为双寻址RAM 或程序 RAM。HPIA只能被主机寻址,寄存器中存放的是主机要访问的HPIRAM 单元地址。 HPID 也只能被主机直接访问,其中的内容是主机当前读 /写 HPI RAM的数据。 HPIC可被 C54X 也可被主机访问。59、 HPI有两种工作方式: 共用寻址方式SAM 和仅主机寻址方式HOM。 在共用寻址方式下,主机和 C54X 都能寻址HPI RAM,在仅主机寻址方式下,仅能让主机寻址HPI RAM,如果工作时序周期发生冲突,则主机有更高优先权。C54X 等待一个周期。60、HPI 存贮器地址的自动增量特性(使引脚HCNTL1 、HCNTL0 01,进入地址自动增量方式) ,可以用来连续寻址HPI RAM,在自动增量方式,每进行一次读操作,都会使HPIA事后增 1,每进行一次写操作,都会使HIPA事先增 1。61、HPIC寄存器是一个16 位的寄存器,其中有4 个状态位控制着HPI的操作。由于主机接口总是传送8 位字节,在主机这一边就以相同内容的高字节与低字节通过8 位 HPI数据总线传送给 HPIC (选择 HCNTL1和 HCNTL0均为 0) 。在C54X 这一边 HPIC的高位是不用的,控制/状态位都在低4 位,寻址HPIC的地址为002CH。62、C54X具有高速、全双工串行口,它有三种形式:标准同步串行口SSP 、缓冲串行口BSP和时分多路串行口TDM。C54X 的串行口都是双缓冲的。63、标准同步串行口SSP是由 16 位数据接收寄存器DRR 、数据发送寄存器DXR 、接收移位寄存器 RSR 、发送移位寄存器XSR以及控制电路所组成。收、发部分还有与之相关的时钟、帧同步脉冲信号,串行数据可按8 位字节或 16 位字转换。64、 缓冲串行口BSP是在标准同步串行口的基础上增加了一个自动缓冲单元ABU,它是一种增强型的标准串行口。ABU 利用独立于CPU 的专用总线,让串行口直接读/写C54X 的内部存贮器。65、BSP有两种工作方式:非缓冲方式和自动缓冲方式。当工作在非缓冲方式时ABU是透明精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 7 页,共 8 页的,数据传送操作与标准同步串行口一样,串行口产生以字为基础的中断加到CPU,作为接收和发送中断。 当工作在缓冲方式时,串行口直接与 C54X 内部存贮器进行16 位数据传送。66、时分多路串行口TDM 是将时间间隔分成若干个子间隔,按事先规定,每一个子间隔表示一个通信信道,C54X TDM 最多可以有8 个 TDM 信道可用,每个器件可以用1 个信道发送数据,用1 个或多个信道接收数据。67、TDM 串行口也有两种工作方式:非TDM 方式和 TDM 方式,当工作在非TDM 方式时,其功能与标准同步串行口是一样的。68、标准同步串行口的工作原理?接口操作受串行口控制寄存器SPC控制。69、 C54X 通过外部总线与外部存贮器以及I/O 设备相连,外部总线由数据总线、地址总线以及一组控制信号线所组成。当CPU 寻址片内存贮器时,外部数据总线呈高阻状态,地址总线及、 、 均保持先前的状态,如果PMSR中的地址可见位AVIS=1 ,那么 CPU执行指令时的内部程序存贮器的地址就出现在外部地址总线上,同时指令地址采集信号IAQ 有效。通过 READY信号和片内软件可编程等待状态发生器,可以使处理器与慢速的存贮器及I/O 口设备接口。当外部设备需要寻址C54X 的外部程序、数据和I/O 空间时,可以利用HOLD 和HOLDA信号,达到控制C54X 的外部资源的目的。70、 C54X 外部是单总线结构,每个周期只允许进行一次寻址,否则就会发生流水线冲突,因此 C54X 规定了流水线各阶段操作的优先级别:数据寻址比程序寻指有较高的优先权,在所有的 CPU数据寻址完成以前程序存贮器取指操作是不可能开始的。71、 C54X 片内有两个部件等待状态发生器和分区转换逻辑电路,控制着外部总线的工作。软件可编程等待状态发生器可以将外部总线周期延长多达7 个机器周期, 如果外部器件要求插入 7 个以上的等待周期,则可以利用硬件READY线来接口 ,当所有的外部寻址都配置在0等待状态时,加到等待状态发生器的时钟被关断。72、 C54X 将程序空间和数据空间都分成两个32K 字块, I/O 空间由一个64K 字块组成。软件等待状态寄存器每3 位一个字段, 共 5 个字段, 分别对应这5 个存贮空间, 用来定义各个空间插入等待状态的数目07。73、可编程分区转换逻辑允许C54X 在外部存贮器分区之间切换时不需在外部为存贮器插入等待状态。 当跨越外部程序或数据空间中的存贮器分区界线寻址时,分区转换逻辑会自动地插入一个周期。分区转换控制寄存器BSCR中的分区对照位4 位字段,决定外部存贮器分区的大小。在下列几种情况下,分区转换逻辑可以自动插入一个附加的周期。 当 PS DS 位置 1 时,一次程序存贮器/数据存贮器读之后,紧跟着一次数据存贮器/程序存贮器读操作。精选学习资料 - - - - - - - - - 名师归纳总结 - - - - - - -第 8 页,共 8 页