1653|0

6593

帖子

0

TA的资源

五彩晶圆(高级)

楼主
 

TMS320C55x的硬件结构 [复制链接]

1.1C55x的CPU体系

    C55x有1条32位的程序数据总线(PB),5条16位数据总线(BB、CB、DB、EB、FB)和1条24位的程序地址总线及5条23位的数据地址总线,这些总线分别与CPU相连。总线通过存储器接口单元(M)与外部程序总线和数据总线相连,实现CPU对外部存储器的访问。这种并行的多总线结构,使CPU能在一个CPU周期内完成1次32位程序代码读、3次16位数据读和两次16位数据写。C55x根据功能的不同将CPU分为4个单元,即指令缓冲单元(I)、程序流程单元(P)、地址流程单元(A)和数据计算单元(D)。

         

读程序地址总线( PAB )上传送 24 位的程序代码地址,由读程序数据总线( PB )将 32 位的程序代码送入指令缓冲单元 I 进行译码。
3 条读数据地址总线( BAB 、 CAB 、 DAB )与 3 条读数据数据总线( BB 、 CB 、 DB )配合使用,即 BAB 对应 BB 、 CAB 对应 CB 和 DAB 对应 DB 。地址总线指定 数据空间或 I/O 空间地址,通过数据总线将 16 位数据传送到 CPU 的各个功能单 元。其中, BB 只与 D 单元相连,用于实现从存储器到 D 单元乘法累加器( MAC )的数据传送。特殊的指令也可以同时使用 BB 、 DB 和 CB 来读取三个操作数。
2 条写数据地址总线( EAB 、 FAB )与两条写数据数据总线( EB 、 FB )配合使 用,即 EAB 对应 EB 、 FAB 对应 FB 。地址总线指定数据空间或 I/O 空间地址,通 过数据总线,将数据从 CPU 的功能单元传送到数据空间或 I/O 空间。所有数据 空间地址由 A 单元产生。 EB 和 FB 从 P 单元、 A 单元和 D 单元接收数据,对于同 时向存储器写两个 16 位数据的指令要使用 EB 和 FB ,而对于完成单写操作的指 令只使用 EB 。
1.2 指令缓冲单元(I unit)
      C55x 的指令缓冲单元由指令缓冲队列 IBQ ( Instruction Buffer Queue )和指令 译码器组成。在每个 CPU 周期内, I 单元将从读程序数据总线接收的 4B 程序代 码放入指令缓冲队列,指令译码器从队列中取 6B 程序代码,根据指令的长度可 对 8 位、 16 位、 24 位、 32 位和 48 位的变长指令进行译码,然后把译码数据送入 P 单元、 A 单元和 D 单元去执行。IBQ最大可以存放64b的待译码指令。
1.3 程序流单元(P unit)

       程序流程单元由程序地址产生电路和寄存器组构成。程序流程单 元产生所有程序空间的地址,并控制指令的读取顺序。
        程序地址产生逻辑电路的任务是产生读取程序空间的 24 位地 址。一般情况下,它产生的是连续地址,如果指令要求读取非连 续地址的程序代码时,程序地址产生逻辑电路能够接收来自 I 单元 的立即数和来自 D 单元的寄存器值,并将产生的地址传送到 PAB 。
       在 P单元中使用的寄存器分为5种类型。
      ( 1 )程序流寄存器:包括程序计数器( PC )、返回地址寄存器 ( RETA )和控制流程关系寄存器( CFCT )。
       ( 2 )块重复寄存器:包括块重复寄存器 0 和 1 ( BRC0 , BRC1 ) 、 BRC1 的保存寄存器( BRS1 )、块重复起始地址寄存器 0 和 1 ( RSA0 , RSA1 )以及块重复结束地址寄存器 0 和 1 ( REA0 , REA1 )。
       ( 3 )单重复寄存器:包括单重复计数器( RPTC )和计算单重复 寄存器( CSR )。
       ( 4 )中断寄存器:包括中断标志寄存器 0 和 1 ( IFR0 , IFR1 )、 中断使能寄存器 0 和 1 ( IER0 , IER1 )以及调试中断使能寄存器 0 和 1 ( DBIER0 , DBIER1 );
       ( 5 )状态寄存器:包括状态寄存器 0 , 1 , 2 和 3 ( ST0-55 , ST1-55 , ST2-55 和 ST3-55 )。
1.4  地址流单元(A unit)
        地址流程单元包括数据地址产生电路(DAGEN)、算术逻辑电路(ALU)和寄存器组 构成。
        数据地址产生电路( DAGEN )能够接收来自 I 单元的立即数 和来自 A 单元的寄存器产生读取数据空间的地址。对于使用间接 寻址模式的指令,由 P 单元向 DAGEN 说明采用的寻址模式。
         A 单元包括一个 16 位的算术逻辑电路( ALU ),它既可以接 收来自 I 单元的立即数,也可以与存储器、 I/O 空间、 A 单元寄存器 、 D 单元寄存器和 P 单元寄存器进行双向通信。 ALU 可以完成算术 运算、逻辑运算、位操作、移位、测试等操作。
        A 单元包括的寄存器有以下几种类型。
       ( 1 )数据页寄存器:包括数据页寄存器( DPH , DP )和接口数 据页寄存器( PDP );
        ( 2 )指针:包括系数数据指针寄存器( CDPH , CDP )、栈指针 寄存器( SPH , SP , SSP )和 8 个辅助寄存器( XAR0 ~ XAR7 );
        ( 3 )循环缓冲寄存器:包括循环缓冲大小寄存器( BK03 , BK47 , BKC )、循环缓冲起始地址寄存器( BSA01 , BSA23 , BSA45 , BSA67 , BSAC );
       ( 4 )临时寄存器:包括临时寄存器( T0 ~ T3 )。
1.5  数据计算单元( D )
         数据计算单元由移位器、算术逻辑电路、乘法累加器和寄存器组 构成。 D 单元包含了 CPU 的主要运算部件。
         D 单元移位器能够接收来自 I 单元的立即数,能够与存储器、 I/O 空间、 A 单元寄存器、 D 单元寄存器和 P 单元寄存器进行双向通 信,此外,还可以向 D 单元的 ALU 和 A 单元的 ALU 提供移位后的 数据。移位器可完成以下操作:
       ( 1 )对 40 位的累加器可完成向左最多 31 位和向右最多 32 位的移位 操作,移位数可从临时寄存器( T0 ~ T3 )读取或由指令中的常数 提供;
        ( 2 )对于 16 位寄存器、存储器或 I/O 空间数据可完成左移 31 位或 右移 32 位的移位操作;
       ( 3 )对于 16 位立即数可完成向左最多 15 位的移位操作。
  
        D 单元的 40 位算术逻辑电路可完成以下操作:
       ( 1 )完成加、减、比较、布尔逻辑运算和绝对值运算等操作;
       ( 2 )能够在执行一个双 16 位算术指令时同时完成两个算术操作;
       ( 3 )能够对 D 单元的寄存器进行设置、清除等位操作。
 

 
点赞 关注

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表