当前位置:文档之家› CPU状态和控制寄存器

CPU状态和控制寄存器

CPU状态和控制 寄存器
’C54x提供三个16位寄存器来作为CPU状态和 控制寄存器,它们分别为: 状态寄存器0(ST0) 状态寄存器1(ST1) 工作方式状态寄存器(PMST)
ST0和ST1主要包含各种工作条件和工作方式
的状态;
PMST包含存储器的设置状态和其他控制信息。
1.状态寄存器0(ST0)
CPL:直接寻址编辑方式标志位; 用来指示直接寻址选用何种指针。 CPL=0 选用数据页指针DP的直接寻址; CPL=1 选用堆栈指针SP的直接寻址。
INTM:中断方式控制位; 用于屏蔽或开放所有可屏蔽中断。 INTM=0 开放全部可屏蔽中断; INTM=1 禁止所有可屏蔽中断。 0:保留位,未被使用,总是读为0。
C16:双16位/双精度算术运算方式控制位; 用来决定ALU的算术运算方式。 C16=0 ALU工作在双精度算术运算方式; C16=1 ALU工作在双16位算术运算方式。
ASM:累加器移位方式控制位。 为某些具有移位操作的指令设定一个从16~15范围内的移位值。
15
14
13 XF
12
11
10 0
9
3.工作方式状态寄存器PMST
主要设定和控制处理器的工作方式和存储器的 配置,反映处理器的工作状态。
15~7 IPTR 6 5 4 AVIS 3 2 1 0 SST
MP/MC OVLY
DROM CLKOFF SMUL
中 断 向 量 指 针
CPU 工 作 方 式 选 择 位
RAM 重 复 占 位 标 志
15 —13 12 11 10 9 8 —— 0
ST0: ARP
TC TC
C
OVA
OVB
DP
C:进位标志位。 用来保存ALU加减运算时所产生的进/借位。
DP:数据存储器页指针。 用来与指令中提供的7位地址结合形成1个 16位数据存储器的地址。
2.状态寄存器1(ST1)
主要反映处理器的寻址要求、计算初始状态的 设置、I/O及中断的控制等。
DROM:用来决定片内ROM是否可以映射到 数据存储空间; CLKOFF:用来决定时钟输出引脚CLKOUT 是否有信号输出; SMUL:用来决定乘法结果是否需要进行饱和 处理; SST:用来决定累加器中的数据在存储到存储 器之前,是否需要饱和处理。
TMS320VC5402存储器配置结构
地址 程序存储空间 地址 程序存储空间 地址
15 14 13 XF 12 11 10 0 9 8 7 6 5 4~0
BRAF CPL BRAF
Hห้องสมุดไป่ตู้ INTM HM INTM
OVM SXM C16 FRCT CMPT ASM C16 FRCT CMPT ASM
BRAF:块重复操作标志位。 用来指示当前是否在执行块重复操作。 BRAF=0 表示当前不进行重复块操作; BRAF=1 表示当前正在进行块重复操作。
8
7
6
5
4~0
BRAF CPL BRAF
HM INTM HM INTM
OVM SXM C16 FRCT CMPT ASM C16 FRCT CMPT ASM
CMPT:间接寻址辅助寄存器修正方式控制位;用来决定 ARP是否进行修正。 CMPT=0 CMPT=1 在进行间接寻址单操作数时,不修正ARP; 在进行间接寻址单操作数时,修正ARP。
FRCT:小数方式控制位; 用来确定乘法器的运算方式。 FRCT=1 乘法器的输出左移一位, 消除多余的符号位。
15
14
13 XF
12
11
10 0
9
8
7
6
5
4~0
BRAF CPL BRAF
HM INTM HM INTM
OVM SXM C16 FRCT CMPT ASM C16 FRCT CMPT ASM
地 址 可 见 控 制 位
数 据 ROM 映 射 选 择 位
时 钟 输 出 选 择 位
乘 法 饱 和 方 式 位
存 储 饱 和 位
IPTR:用来指示中断向量所驻留的128字程序 存储器的位置; MP/MC:用来确定是否允许使用片内程序存 储器ROM; OVLY:用来决定片内双寻址数据RAM是否映 射到程序空间; AVIS:用来决定是否可以从器件地址引脚线看 到内部程序空间地址线;
15 14 13 XF 12 11 10 0 9 8 7 6 5 4~0
BRAF CPL BRAF
HM INTM HM INTM
OVM SXM C16 FRCT CMPT ASM C16 FRCT CMPT ASM
HM:保持方式位;响应HOLD信号时,指示 CPU是否继续执行内部操作。 HM=0 CPU从内部程序存储器取指, 继续执行内部操作。 HM=1 CPU停止内部操作。
OVM SXM C16 FRCT CMPT ASM C16 FRCT CMPT ASM
OVM:溢出方式控制位;用来确定累加器溢出时,对累加 器的加载方式。 OVM=0 将运算的溢出结果直接加载到累加器中; OVM=1 当正溢出时,将007FFFFFFFH加载累加器; 当负溢出时,将FF80000000H加载累加器。
主要反映处理器的寻址要求和计算机的运行状态。
TC:测试/控制标志。 用来保存ALU测试操作的结果。
15 —13 12 11 10 9 8 —— 0
ST0: ARP
TC TC
C
OVA
OVB
DP
ARP:辅助寄存器指针。 用来选择使用单操作数间接寻址时的 辅助寄存器AR0~AR7。
OVA/B:累加器A/B的溢出标志。 用来反映A/B是否产生溢出。
XF:外部XF引脚状态控制位。 用来控制XF通用外部输出引脚的状态。 执行SSBX XF=1 XF通用输出引脚为1; 执行RSBX XF=0 XF通用输出引脚为0。
15 14 13 XF 12 11 10 0 9 8 7 6 5 4~0
BRAF CPL BRAF
HM INTM HM INTM
OVM SXM C16 FRCT CMPT ASM C16 FRCT CMPT ASM
FFFFH
FFFFH
DROM控制的 数据存储空间
SXM:符号位扩展方式控制位;用来确定数据 在运算之前是否需要符号位扩展。 SXM=0 数据进入ALU之前禁止符号位扩展; SXM=1 数据进入ALU之前进行符号位扩展。
15 14 13 XF 12 11 10 0 9 8 7 6 5 4~0
BRAF CPL BRAF
HM INTM HM INTM
0000H 0000H
数据存储空间
0000H OVLY=1 保留 (0页) OVLY=0 外部存储器 007FH 0080H OVLY=1 内部DARAM 3FFFH 4000H EFFFH F000H 内部ROM OVLY=0 外部存储器 外部存储器
0000H OVLY=1 保留 (0页) OVLY=0 外部存储器 007FH 0080H OVLY=1 内部DARAM 3FFFH 4000H OVLY=0 外部存储器
外部存储器
FEFFH FF00H
保留 FF7FH FF80H FFFFH 中断矢量表 (内部存储器) MP/MC=0 微计算机模式 FF7FH FF80H FFFFH 中断矢量表 (外部存储器) MP/MC=1 微处理器模式
存储器映像 005FH 存储器映像寄存器 寄存器 0060H 005FH 暂存寄存器 007FH 0060H 暂存器 0080H SPRAM 内部DARAM 007FH 0080H (16K×16位) 内部DARAM 3FFFH 3FFFH 4000H (16K×16位字) 4000H 外部存储器 外部存储器 EFFFH EFFFH F000H F000H DROM=0 外部ROM DROM=1 内部ROM DROM=1 内部ROM FEFFH DROM=0 外部存储器 FEFFH FF00H FF00H DROM=0 外部存储器 DROM=1 保留 DROM=0 外部存储器 DROM=1 保留
相关主题