DSP原理 第四章
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
4-4 累加器A和B 累加器A 功能;参与完成算术与逻辑运算 功能; A、B基本结构,均为40位 基本结构,均为40位
说明: 说明: 1、 AG/BG 安全位,迭代不易溢出,有符号运算 安全位,迭代不易溢出, 时为扩展符号位。 时为扩展符号位。 2、 AH/BH 为高16位,AL/BL为低16位。 为高16位 AL/BL为低 位 为低16 3 、 AL,AH,AG,BL,BH,BG都是存储器映 AL,AH,AG,BL,BH,BG 都是存储器映 像寄存器,地址为0008H~000DH( 26表 像寄存器,地址为0008H~000DH(书P26表1-8) 4、A与B的区别在于A的(31~16)位可以作为一 的区别在于A 16) 个乘数, 个乘数,而B不能 5、54系列有符号数一般数据格式为 ( 32 位 ) : 54 系列有符号数一般数据格式为 32位 系列有符号数一般数据格式为( 第31位为符号位
CPL:编辑模式位。 CPL:编辑模式位。 CPL=0 在直接寻址中,使用指针DP( 当CPL=0时,在直接寻址中,使用指针DP(数 据页指针) 据页指针) CPL=1 在直接寻址中,使用指针SP( 当CPL=1时,在直接寻址中,使用指针SP(堆 栈指针) 栈指针) XF:XF 状态位 , 它决定外部引脚 XF状态 。 可 XF:XF状态位 它决定外部引脚XF 状态 状态位, 状态。 用指令SSBX置XF=1 RSBX置XF=0 用指令SSBX置XF=1,用RSBX置XF=0。 HM:保持模式位 HM: HM=0 CPU正在执行内部程序存储器程 当 HM=0 时 , CPU 正在执行内部程序存储器程 序,外部接口处于高阻态 HM=1 CPU停止执行内部程序 当HM=1时,CPU停止执行内部程序
例:存储器饱和指令DST说明 存储器饱和指令DST说明
*
-
4-3 算术与逻辑运算单元—ALU 算术与逻辑运算单元—
功能:完成算术运算与逻辑运算 功能: 完成二进制补码运算, 完成二进制补码运算,(A,B)第31 位为符号位。 位为符号位。 如图4 所示。 如图4-1所示。
图4-1 ALU功能框图 (书P28图1-9)
AVIS: 地址可访问设置, AVIS: 地址可访问设置 , 此位决定是否可以由外 AVIS=1 部引 脚 访问内 部程序 存储器 。 AVIS=1, 可以 ; AVIS=0 不可以。 AVIS=0 不可以。 CLKOFF:时钟禁止位。 CLKOFF:时钟禁止位。 CLKOFF=1 CLKOFF=1时 , 禁止时钟输出端 CLKOUT输出, 禁止时钟输出端CLKOUT输出 输出, CLKOUT为高电平 CLKOUT为高电平 CLKOFF=0 CLKOFF=0时,允许时钟输出端CLKOUT输出。 允许时钟输出端CLKOUT输出 输出。 SMUL: 乘法运算饱和位, SMUL=1 SMUL: 乘法运算饱和位 , 当 SMUL= 1 , 在执行 MAC或MAS指令时 先完成乘法饱和操作, MAC或MAS指令时,先完成乘法饱和操作,再进 指令时, 行累加操作。 一般设SMUL=0 行累加操作。 (一般设SMUL=0)
3-2 处理器模式状态寄存器PMST 地址001DH 处理器模式状态寄存器PMST 地址001DH 各位分布: 各位分布:
各位意义: 各位意义: IPTR: 中断向量指针, 复位时各位全1 IPTR: 中断向量指针 , 复位时各位全 1 , 为 FF1H, 此时中断矢量永远为 FF80H。IPTR FF1 此时中断矢量永远为FF80H 拼接中断向量地址形成中断矢量。 (9位)拼接中断向量地址形成中断矢量。复 位后可用软件修改IPTR值 位后可用软件修改IPTR值,改变中断矢量映 射区。 射区。
6、如何把40位的累加器中内容存入到16位的寄存器中 如何把40位的累加器中内容存入到16位的寄存器中 例如 (AR0)=0100H,A中值为 0100H
STL A,*AR0+;(AL) 0100H,(0100H)=789AH,( AL) 0100H 0100H 789AH, AR0)=0101H 0101H STH A,*AR0+;(AH) 0101H,(0101H)=3456H,( AH) 0101H 0101H 3456H AR0)=0102H 0102H STH A,-16,*AR0+;A 中内容右移 16位后 , 把 ( AH) 16, 中内容右移16 位后, AH) 0102H 0102H,(0102H)=0012H, (AR0)=0103H 0102H 0012H 0103H 存储完成后A中值仍然不变( 123456789AH) 存储完成后A中值仍然不变(为123456789AH)
C: 进位位 。该位定义在 A的 bit32,向 32 位有进位 C=1 进位位。该位定义在A bit32, 32位有进位 1 位有进位C= 有借位C=0 ,有借位C=0 OVA:累加器A溢出标志位。 OVA:累加器A溢出标志位。 以累加器A为目的寄存器的算术逻辑运算和乘/ 以累加器A为目的寄存器的算术逻辑运算和乘/加运 发生溢出时OVA=1 算,发生溢出时OVA=1 一旦发生溢出,除了复位或以AOV( 有溢出) 一旦发生溢出 , 除了复位或以 AOV(A 有溢出 ) 、 ANOV为条件的 ANOV为条件的B、BC、XC等指令的执行外, OVA保 为条件的B BC、XC等指令的执行外 OVA保 等指令的执行外, 持不变 OVA=1 有 符 号 数 运 算 时 , OVA=1 表 示 计 算 结 果 大 于 7FFFFFFFH或小于80000000H FFFFFFFH或小于 或小于80000000H 根据测定加法运算时, 中第30位向第 位 符号位) 位向第31 根据测定加法运算时,A中第30位向第31位(符号位) 有进位时,OVA=1 有进位时,OVA=1。
第四章 54系列中央处理单元----CPU 54系列中央处理单元 CPU 系列中央处理单元----
目的:掌握CPU各部分功能 目的:掌握CPU各部分功能 54系列CPU概述参看2-3节 54系列 系列CPU概述参看 概述参看2
本章主要内容
4-1 4-2 4-3 4-4 4-5 4-6 4-7 4-8 CPU状态与控制寄存器 ST CPU状态与控制寄存器----ST0,ST1 状态与控制寄存器---处理器模式状态寄存器PMST 处理器模式状态寄存器PMST 算术与逻辑运算单元— 算术与逻辑运算单元—ALU 累加器A 累加器A和B 滚筒移位寄存器— 滚筒移位寄存器—Barrel Shifter 乘法加法器 比较、选择与存储单元CSSU 比较、选择与存储单元CSSU 指数编码器 EXP
4-1 CPU状态与控制寄存器----ST0,ST1 CPU状态与控制寄存器 ST 状态与控制寄存器---1 、 CPU 状态与控制寄存器 ST0, 地址 0006H, 各 CPU状态与控制寄存器 状态与控制寄存器ST 地址0006 H 位分布
各位意义: 各位意义: ARP:辅助寄存器指针。 ARP: 辅助寄存器指针。在兼容模式下选择 AR0—AR7,一般ARP=0 一般ARP=0 TC: 测试控制位 。 保存对 ALU的测试结果 , TC: 测试控制位。 保存对ALU 的测试结果 的测试结果, 常用在位测试和比较指令中
C16:双16/双精度算术运算模式位 16/ C16=0时,ALU进行32位字长运算,双精度运算 ALU进行 位字长运算 进行32位字长运算, C16=1时,ALU同时进行2个独立的16位字长运算, ALU同时进行 个独立的16位字长运算 同时进行2 位字长运算, 16位运算 双16位运算 FRCT : 小 数 方 式 位 。 复 位 时 , FRCT=0 。 FRCT=0 FRCT=1乘法器输出左移一位, FRCT=1乘法器输出左移一位,以消去多余的符 号位。 号位。 CMPT:兼容模式位。 本课程不讲) CMPT:兼容模式位。(本课程不讲) ASM: 累加器移位模式位, ASM用二进制补码 ASM: 累加器移位模式位 , ASM 用二进制补码 表示, 移位范围- 16~ 15 ( 表示 , 移位范围 - 16 ~ +15( 右移为负 , 左移为 正)。
INTM:中断方式位。INTM从整体上屏蔽或开 INTM:中断方式位。INTM从整体上屏蔽或开 放中断。 放中断。 INTM=0 当INTM=0时,开放全部可屏蔽中断 INTM=1 当INTM=1时,开放全部可屏蔽中断 • SSBX指令可以置INTM为1,RSBX指令可以 SSBX指令可以置 指令可以置INTM为 RSBX指令可以 INTM清 将INTM清0 。 • 当复位或者执行可屏蔽中断 ( INTR 指令或 当复位或者执行可屏蔽中断( INTR指令或 外 部 中 断 ) 时 , INTM 置 1 。 当 执 行 一 条 RETE或RETF指令 中断返回) RETE或 RETF指令 ( 中断返回 ) 时 , INTM 指令( 清 0.
OVB:累加器B溢出标志位。 OVA类似 OVB:累加器B溢出标志位。与OVA类似。 类似。 DP: 数据存储器页指针 。 在直接寻址中 , DP: 数据存储器页指针。 在直接寻址中, DP(高九位,页地址)拼接指令的低7位 DP(高九位,页地址)拼接指令的低7 构成操作数地址。 构成操作数地址。
SST:存储饱和位。 SST:存储饱和位。 SST=1 当 SST=1时 , 累加器的结果在存入存储器时进行 饱和操作,而累加器值并不改变。 饱和操作,而累加器值并不改变。 存储器饱和操作: 存储器饱和操作: SXM=0 当 SXM=0 时 , 把 大 于 FFFFFFFFH 的 数 饱 和 成 FFFFFFFFH SXM=1 当 SXM=1 时 , 把 大 于 7 FFFFFFFH 的 数 饱 和 成 7 FFFFFFFH, 把 小 于 8 0 0 0 0 0 0 0 H 的 数 饱 和 成 FFFFFFFH, 80000000H 80000000H
例C16位功能说明 指令: Lmem,src[, 指令:DADD Lmem,src[,dst] 执行时 若C16=0时, Lmem(31~ ))+ src(31~ dst (Lmem(31~0))+(src(31~0)) 若C16=1时, Lmem(31~16)) ))+ src(31~16)) dst (Lmem(31~16))+(src(31~16)) (31~16) 31~16) Lmem(15~ ))+ src(15~ (Lmem(15~0))+(src(15~0)) dst(15~0) dst(15~
2 、 CPU 状态与控制寄存器 ST1, 地址 0007H, 各 CPU状态与控制寄存器 状态与控制寄存器ST 地址0007 H 位分布
各位意义 BRAF: BRAF:块重复激活标志 BRAF=1 表示块重复处于激活状态, BRAF=1 表示块重复处于激活状态,当执行 RPTB指令时 BRAF=1 RPTB指令时,BRAF=1 指令时, BRAF=0 表示块重复处于非激活状态, BRAF=0 表示块重复处于非激活状态,当块 重复计数器BRC减到 减到0 BRAF自动为 自动为0 重复计数器BRC减到0时,BRAF自动为0。
Hale Waihona Puke Baidu
OVM: OVM:溢出模式位 OVM=0 OVM=0时,溢出结果直接加载目的累加器 OVM=1 OVM=1时, 把大于007FFFFFFFH的正数加载到目的累 把大于007FFFFFFFH的正数加载到目的累 加器为007FFFFFFFH; 加器为007FFFFFFFH; 把小于FF80000000H 把小于 FF80000000H 的负数加载到目的累 加器为FF80000000H 加器为FF80000000H。 SXM:符号扩展模式位。 SXM:符号扩展模式位。 SXM=0 SXM=0时,禁止符号位扩展,进行无符号运算 禁止符号位扩展, SXM=1 SXM=1时,允许符号位扩展,进行有符号运算 允许符号位扩展,
1、ALU结构: ALU结构 结构: ALU输入 ALU输入 X端(DB0~15,S移位寄存器) 移位寄存器) Y端(CB0~15,A,B,T) ALU输出 ALU输出 A,B 2、OVA,OVB,TC,C 参看 CPU状态寄存器 OVA,OVB,TC, 参看CPU 状态寄存器 ST0 3、 OVM,C16参看CPU状态寄存器ST1 OVM, 参看CPU状态寄存器 状态寄存器ST 4、ZA/ZB 用于比较条件指令(A=0,B=0) 用于比较条件指令(A=0 B=0