SMJ320C6701
浮点数字信号处理器
SGUS030B - 2000年4月 - 修订2001年5月
CPU说明
CPU获取的VelociTI高级甚长指令字(VLIW) (256位宽度)提供多达八个
32位指令到8个功能单元中的每一个时钟周期。的的VelociTI VLIW架构的特点
控制通过其中所有八个单元不必与指令供给,如果他们还没有准备好来执行。该
每一个32位指令的第1位决定的下一个指令属于同一个执行包
先前指令,或者是否它应该在接下来的时钟作为下一个执行数据组的一部分来执行。
获取的包总是256位宽;然而,在执行包的大小而有所不同。可变长度
执行数据包是一个关键的节省内存的功能,区别于其他的VLIW体系结构“的C67x CPU 。
该CPU拥有两套功能单元。每组包含四个单元和一个寄存器文件。一组包含
功能单元.L1 , .S1 , .M1和.D1 ;另一组包含单位.D2 , .M2 , .S2和.L2 。这两个寄存器文件
包含16个32位寄存器,每一个用于32个通用寄存器的总数。两套功能单元
以及两个寄存器堆,构成侧面A和CPU的B(参见功能和CPU的框图
和图1)。这四个功能单元上的CPU的每一侧可以自由地共享的16个寄存器属于
那一侧。此外,每个侧设有连接于所有的寄存器在另一侧的单一数据总线,通过它
两套功能单元可以访问在相对侧上从寄存器文件中的数据。虽然寄存器访问
由功能单元上的CPU作为寄存器文件的同一侧可以在一个时钟周期中提供服务的所有单位
使用整个CPU的寄存器文件支持一个读取和每个周期一个写寄存器访问。
在'的C67x CPU执行的所有“与C62x指令。除了'与C62x定点指令,六个,八个
功能单元( .L1 , .M1 , .D1 , .D2 , .M2和.L2 )也执行浮点指令。剩下的两个
功能单元( .S1和.S2 )也执行了新的LDDW指令,加载每个CPU侧64位的
总的每个周期为128位。
该“的C67x CPU的另一个重要特点是加载/存储架构,其中所有的指令寄存器进行操作
(相对于数据存储器中) 。两套数据寻址单元( .D1和.D2 )负责所有数据
寄存器文件和内存之间的传输。由.D单元驱动的数据地址允许数据
要用于从一个寄存器文件生成的地址加载或存储数据或从其他寄存器文件。该
'的C67x CPU支持各种使用或者直链或环状的寻址模式间接寻址模式
用5或15位偏移量。所有的指令都是有条件的,也最能访问的32个寄存器的任何一个。一些
寄存器,然而,被挑选出来,以支持特定的寻址或者保持为条件的条件
指令(如果条件是不会自动“真” ) 。两个.M功能单元专用于乘法运算。
这两个.S和.L功能单元执行一般的算术,逻辑和分支的功能与效果
可每个时钟周期。
该处理流程开始时的256位宽的指令取出的数据包是从程序存储器中取出。
目的地为单独的功能单元的32位指令被“链接”在一起,在至少“1”位
的指示显著位(LSB)位置。被“链接”在一起同时进行的说明
执行(最多总计8 )组成一个执行包。的“0”中的LSB位的指令打破链,
有效地将跟着它在未来的执行数据包中的说明。如果执行数据包穿过
取包边界( 256位宽),汇编学位在未来获取的数据包,而其余
目前取包填充为NOP指令。执行分组的取数据组内的号
可能从一个到八个。执行分组被调度到它们各自的功能单元的一种的速度
每一个时钟周期,下一个256位的取数据组是不取出的,直到从当前的所有执行分组取
包已经被发送。解码后,将指示同时驱动所有的活性的功能单元
八条指示每个时钟周期的最大执行速率。虽然大多数的结果被存储在32位
寄存器,它们随后可以移动到存储器以字节或半字为好。所有的加载和存储
指令是针对字节,半字或字寻址。
4
邮政信箱1443
休斯敦,得克萨斯州77251-1443