DSP-03CPU与存储器.ppt

上传人:max****ui 文档编号:6338259 上传时间:2020-02-23 格式:PPT 页数:43 大小:440.81KB
返回 下载 相关 举报
DSP-03CPU与存储器.ppt_第1页
第1页 / 共43页
DSP-03CPU与存储器.ppt_第2页
第2页 / 共43页
DSP-03CPU与存储器.ppt_第3页
第3页 / 共43页
点击查看更多>>
资源描述
30 第三章总线 CPU结构及存贮的配置 总线结构 PAB 程序地址总线 程序空间地址CPUDRAB 程序读总线 程序存储器内容CPUDWAB 数据写地址总线 写数据空间时的地址PRDB 程序读数据总线 读数据空间时的地址DRDB 数据读总线 数据存储器内容CPUDWEB 数据写总线 数据数据存储器或程序存储器 31 3 1中央处理单元中央处理单元CPU辅助寄存器算术单元输入比例部分 输入定标单元 中央处理单元中央算术逻辑运算部分乘法器部分 CPU的任务是从程序读总线 PRDB 或数据读总线 DRDB 获取数据 经过加 乘 移位等运算 再经数据写总线 DWEB 将结果送出 32 移位器 32位 输入定标器部分 将16位输入与32位的CALU的数据对齐 TRGE乘法器16X16PREG 乘积移位器 32 CALU ACC 累加器 C 输出移位器32位 算术逻辑运算部分完成加减移位逻辑运算 数据写总线数据读总线程序读总线 MVX 多路转换器 DWEB 16 DRDB 16 PRDB 16 乘法器部分 16 16 16 16 16 16 16 16 16 1 16 1 32 32 32 32 32 32 临时寄存器 乘法寄存器 33 1 输入定标移位器 完成数据的移位和扩展 以便与32位的CALU格式对齐 来自DRDB的立即数 立即寻址 或PRDB总线上的指令操作数与CALU中的数据匹配 将输入左移0 16位 移位次数由指令给出或由TRGE 临时寄存器 的低四位给出 直接寻址 间接寻址 符号扩展二进制数以二进制有符号数的补码表示 由状态寄存器ST1中的SXM位决定SXM 0不扩展SXM 1扩展 34 3 乘法单元 1 16位X16位硬件乘法器 一个周期内完成乘法运算2 TREG为临时寄存器 将乘数与来自PRDB或DRDB中的被乘数在乘法器中相乘 乘积为32位 送PREG PREG为乘法寄存器 将结果送CALL前 在乘法移位器中进行移位定标有四种形式移位 由ST1中的PM两位决定PM 00时不移位乘积送CALU或数据写总线PM 01时左移1位移去补码乘法产生的额外符号位产生Q31格式的乘积 Q31为32位有符号小数的标准格式 最高为符号位 其后为小数点 仍限31位有效数字 PM 10时左移4位移去16位乘13位常数时 二进制补码乘法产生的额外4位符号位 产生Q31格式的乘积PM 11时右移6位把乘积定标 使最多做128次乘法累加而不导致累加器溢出 右移时总要进行符号扩展 35 3 中央算术逻辑单元32位CALU32位ACC32位输出移位器两个输入来自累加器和移位器或乘积移位器实现加减与或位测试输出移位器拷贝累加的内容并进行移位 0 7 高16位或低16位送数据存贮器中 36 3 2辅助寄存器算术单元CPU中还有一个辅助寄存器算术单元ARAU主要功能是与中央处理单元并行工作 对8个辅助寄存器 AR0 AR7 进行算术运算8个辅助寄存器为DSP提供间接寻址方式 由状态寄存器的ARP STO 决定 称ARP为辅助寄存器 AR0 AR7 的内容 16位 为要访问的数据存贮器地址 37 ARAU完成以下运算 1 辅助寄存器内容 1 1或增 减一个变址量 间接寻址指令决定 2 增 减一常数 指令字的低8位决定 3 AR0与当前AR相比较 比较结果经数据写数据总线 DWEB 送到ST1的测试 控制位 TC ARAU的其它用途1 通过CMPR指令AR与AR0作为测试条件 支持分支调用返回2 作为软件计数器进行加 减3 作为暂时寄存器 暂存数据 使用LAR装载数据 用SAR送数据存储器ARAU的运算通常在译码阶段进行为能在下条指令译码这前产生地址 38 数据读总线 DRDB ARB ARP 指令寄存器 MVX AR7 AR0 ARAU 数据写总线 DWEB 数据读地址总线 DRAB 数据写地址总线 DWAB ST1 13 15 ST0 13 15 16 16 16 16 16 8 3 3 3 3 39 3 3状态寄存器DSP有两个状态寄存ST0和ST1可用专用指令LST和SST保存和装载至存贮器 1513121110980 ST0 15131211109876543210 ST1 ARP 辅助寄存器指针 ARP装载时 原ARP值复制到ARBARB 辅助寄存器指针缓冲器 LST指令装载ARB时同时装载ARPOV 溢出标志 复位为0 40 OVM 溢出方式 OVM 0时 ACC正常溢出 OVM 1时 ACC溢出时置为最大正值7FFFFFFF或最大负值80000000HINTM 中断方式 0 使能中断1 屏蔽中断不受LST指令影响 复位时为1对RS NM1无效 DP 数据存贮器页面指针 形成直接寻址的页地址 高9位 CNF DARAM配置方式 O DARAM配置为数据空间 1 DARAM配置为程序空间 复位为0TC 测试 控制标志 测试位 1则TC 1 条件为真 复位时 0SXM 符号扩展位 SXM 1符号扩展 SXM 0符号不扩展 复位为 1C 进位位 加法时有进位C 1 减法时没有借位时C 1 复位时C 1XF 引脚状态位 复位时XF 1PM 乘积移位模式 复位时清0 41 3 4存贮器与I O空间TMS320LF240X系列为增强的哈佛结构 由三组总线并行访问多个存贮空间程序地址总线PAB数据读地址总线DRAB数据写地址总线DWABDSP采用独立的程序存贮器 数据存贮器和I O空间即可以有相同的地址 访问通过不同的控制线来区分 其中数据分为局部空间和全局空间 局部数据存贮器 全局数据存贮器 受全局存贮器分配寄存器 GREG 的控制 240T保留GREG 4个独立的选择空间64K字程序空间 指令及执行指令时需要的数据64K字局部数据空间 240T为片内32K字0000 7FFFH 32K字全局数据空间 片外32K字8000H FFFFH 2407保留 64K字I O空间 任意一组可以访问不同的程序空间 每组互相独立 并行工作 42 3 5与片外存贮器和I O空间的接口信号1 外部数据 地址总线D0 D15 A0 A1 2 片选信号 区分内部还是外部访问 是程序 数据 还是I O空间DS 外部数据空间有效PS 外部程序空间有效IS I O空间选择有效STRB 外部访问有效 B R访问外部全局数据空间有效 2407器件没有 3 读 写信号指明数据传送方向和读 写操作R W 指明数据方向 W R 具有内部上拉的指明数据方向 WE 写使能信号下沿驱动D0 D15RD 读便能信号4 请求 控制信号实现特殊操作MP MC 模式选择READY 外围器件准备好 43 3 6程序存贮器 0000H 003FH0040H7FFFH8000HFDFFHFE00HFEFFHFF00H FFFFH 64W 16个字 18个字 2个字 2个字 2个字 2个字 24个字 0000 00010002 00034 56 78 9A BC DE F10 2122 2324 2526 2728 3F 64K 256 256 44 3 7I O空间 1个字 1个字 0000H FEFFFF00 FF0EFF0F FF10 FFFEFFFF 0000003F0040 00430044 7FFFFF00FFFF 64字节保留4B 32K 68B 256B 68B 45 事件处理器EVB 事件处理器EVA 0000 005F0060 007F0080 00FF0100 01FF0200 02FF0300 03FF0400 04FF0500 07FF0800 0FFF1000 6FFF7000 73FF7400 743F7440 74FF7500 753F7540 77EF77F0 77F377F4 77FF7800 7FFF8000 FFFF 32字 256字 256字 32字 2K 1K 64字 64字 1K 4字 32K 访问非法地址引起非屏蔽NMI中断保留地址为测试保留访问进行写操作可能引起工作方式的改变 CNF决定数据存贮器配置CNF 1时B0块映射为片外程序空间CNF 0时B0块映射为片内程序空间复位时CNF 0 00000004000500060007 005F 7000 700F7010 701F7020 702F7030 703F7040 704F7050 705F7060 706F7070 707F7080 708F7090 709F70A0 70BF70C0 70FF7100 710E7200 722F7230 73FF 7400 74087411 74197420 7429742C 74317432 743F 7500 75087511 75197520 7529752C 75317532 753F 0060 007F 0800 0FFF 70007FFF 0200 02FF0300 03FF 64字 96B 256B 32B 256B 2K 30K 40K 4K 8 数据存贮器 46 DSP对数据存贮器的寻址可采用间接寻址和按页进行直接寻址直接寻址时按128为一页 数据页 对数据存贮器进行寻址由STO中的DP 9位 确定16位地址的高9位由指令给出偏移量 7位 共512页一般把同一类数据放在同一类页中 0页地址0000 007FH1页地址0080 00FFH2页地址0100 017FH 512地址FF80 FFFFH 47 3 9程序存贮器 1 程序控制程序是顺序存放 顺序执行以及支持调用 返回 复位 中断 转移 顺序执行 PC 程序地址指针复位时PC 0000HPC的内容PARPAB 总线 CPU获取指令分支转移指令 由内部硬件把指令中的跳转地址 立即寻址或累加器低16位 PC子程序调用 入口地址送PC同时下一条断点地址送堆栈堆栈为8级硬件中断 48 软件中断 向量地址送PC同时断点地址送堆栈块传送 表传送 使PC源地址 目的地址 1送微堆栈用微堆栈 一级深 保护返回地址 不对用户操作 PRDB总线 转移或调用时使用PRDB的转移调用指令中断时使用PRDB的中断向量存贮单元DRDB总线 在转移和调用累加器低16位规定地址时 使用DRDB栈顶TOS 子程序返回中断返回栈底MSTACK 块表的返回 49 DSP控制器程序地址的产生 下一条程序地址寄存器 程序计数器PC NPRR 1 程序地址寄存器 微堆栈表 块移动 程序控制 栈顶堆栈8X16 MVX MVX MSTACK 顺序执行框 中断调用分支 程序读总线 PRDB 数据读总线 DRDB 转移调用 ACC调用 ACC转移 程序地址总线 PAB 数据写总线 PWEB PUSH POPD PAR NPAR PC 50 3 10堆栈 16位宽8级深度的硬件堆栈 硬件在子程 中断 返回时自动返回地址 用户访问堆栈的两组指令 pushpop对ACC的低位字操作pushDpopD对数据存贮器的操作 3 11微堆栈 对块传递 表传递中 首先将PC 1 下一条指令地址 MSTACK然后让出PC装要传递数据 表 块 的存贮器地址 重复执行完后MSTACKPC 51 3 12流水线操作 指令流水线由指令执行期间的操作序列组成 LF240X流水线有4个独立阶段 取指 降码 取操作数 执行 4个阶段是独立的 可是重叠执行 因此在任何给定的操作之间 1 4条指令可被激活 每条指令处于不同阶段 以单字 单周期指令为例 54系列有 级流水线 52 3 13调用转移 1 无条件调用 总是被执行 PC装入指定的新地址 并从新地址执行 无条件转移 在指令到达流水线的执行节拍时 下两条指令已被取出 这两条指令将从流水线中清除 而不被执行 调用指令 返回地址被存贮到堆栈 转移指令没有返回地址新地址 来自指令的第二个字 CALL B 或累加器底16位 CALA BACC 2 条件调用 多个条件当条件满足时 中止原程序的顺序流 而从新地址执行 条件转移 必须满足能测试最近的状态位 因此 直到流水线的第4阶段 即前一条指令执行之后 判断条件才是稳定的 前一条指令执行之后的一个周期 在稳定之前 流水线停止条件指令之后的任何指令的译码 若条件满足后两条已被取出的指令清除 否则不清除继续执行 多个条件 多条件组合具有 条件不能任意组合 对两个条件分为A B类 对三个条件分为A B C类 条件必须来自不同的类 对条件转移 与堆栈无关没有返回地址 对条件调用 转移前 将返回地址送栈 53 使用的条件 13个 条件组合EQACC 02条件组合3类条件组合NEQA类B类A类B类C类LTACC 0EQOVTCCBIOLEQNEQNOVNTCNCGTACC 0LTGEQLEQCC 1GTNCGEQOVOV 1NOVTCTC 1NTC测试 控制标志BIOBIO 低引脚 54 3 14重复指令 RPT使下一条指令执行N 1次 N为RPT指令操作数 存放在RPTC 重复计数器 中 减1计数器 RPT指令执行时 将重复次数NRPTC PC 1微堆栈下一条指令执行时使用PC 每执行一次RPTC的值 1 为0时 微堆栈PC 再多执行一次 共N 1次 3 15系统配置寄存器 1 系统控制寄存器SCSR1 SYSCR 地址 7018H1514131211109876543210 R 0RW 0RW 0RW 0RW 1RW 1RW 1R 0RW 0RW 0RW 0RW 0RW 0RW 0R 0RC 0 55 14 CLKOUT时钟转出引脚选择O 引脚转出CPU时钟I 引脚转出看门狗时钟13 12 底功耗模式选择00 CPU进入LMPO模式01 CPU进入LMP1模式1X CPU进入LMP2模式11 9 PLL时钟倍数多数选择000 4fc100 0 8fc001 2fc101 0 66fc010 1 33fc110 0 57fc011 fc111 0 5fc 7 2 片内摸块时钟使能控制0 关断时钟 即禁止模块工作1 使能时钟 正常工作0 无效地址测试位1 引起NM1中断 测试到对无效地址的访问时 使位置1 0 正常 56 2 系统状态寄存器SCSR2 SYSSR 地址701915876543210 15 7保留AW 0RC 1RW 0RW BOOTTEN引脚RW 引脚RW 1RW 1 6 I O进入时钟限定 对多功能引脚 CAP1 6 X1NT1 ADCSOC ADC起动 PDP1NTA D 功率 驱动 保护 作I O使用时 不使用时钟限制 作特殊功能使用时启动时间限制 0 脉冲 5个Tc1 脉冲 11个Tc5 WD保护位 向本位写1时清00 用户不能通过软件禁止WD 只能清0 不能置11 复位时的值 用户能够通过软件禁止WD工作 4 外部存贮器接口控制0 正常模式1 高阻态 对功能引脚 1 0功能除外 的脉冲要求 57 3 引导使能位 反映BOOTEN引脚状态 可由软件改变 0 使能引导ROMOO FF被片内引导ROM块占用 禁止使用FLASH 1 禁止引导ROM 片内FLASH映射地址为OOOH 7FFFH2 MP MC选择 反映引脚状态0 MC方式程序在片内 工作模式 1 MP方式程序空间在片外 仿真模式 1 0 SARAM程序 数据空间选择00 不映射 SARAM分配到外部存贮器01 SARAM映射到片内程序空间10 SARAM映射到片内数据空间11 SARAM映射到片内程序空间又被映射到片内数据空间 复位后的状态 58 微控制器软件的开发一般需要通过计算机 称为宿主机 进行 在计算机上进行编辑 交叉汇编 交叉连接 生成的目标映像 再下载到目标系统中 目标系统的调试也需要在计算机上进行 JTAG是下载方法之一 JTAG接口为PC机与目标系统之间的通信提供手段 在线仿真ICE InCircuitEmulation 是另一种下载方法 用特定插真头 仿真器 插在CPU插座上 以外部仪器 仿真 CPU芯片的功能 3 16JTAG JointTestActionGroup 技术 59 IEEE在20世纪80年代组织了JTAG工作组 1990年发表了IEEE1149标准 JATE接口成为MPU MCU ASIA都支持的技术 将芯片的所有信号引脚与一个移位输入和输出的寄存器阵列相对应 由此形成的移位器好像把整个芯片包围起来 形成芯片的 边界 对移位器的移位操作如同在 扫描 这个边界 60 整个移位寄存器只需要一条输入线 一条输出线 一条时钟线和少量的控制线即可动态的改变移位寄存器的结构 将一次移位完成时 控制线将输出的移位寄存器的信号作用在芯片引脚上 或者将引脚的响应输入到输入移位寄存器 每向移位器移入一位 相应地也从移位器移出一位 通过移出的一位就可以了解和监视芯片的运行 由PC机向目标机的CPU提供一个 虚拟现实 的环境 达到调试 仿真的目的 61 举例 要将32位的整数写入SRAM内存中的特定地址 第一步 首先形成一个向量 将与CPU的地址线相对应的部分设置成给定地址 与数据线相对应的数据设置为给定数值 将需要的CPU写时序控制线设置成对应控制线的初值 然后将此向量输入到目标机的移位寄存器 第二步 形成第二个向量 与第一个向量基本相同 仅与时钟线相对应的 时钟位 从1变0 第三步形成第三个向量 仅时钟脉冲又从0变1 从而形成 写内存所需要的波形 并为之提供内容 完成指定操作 62 同样的道理 可以把程序写入系统闪存 或者把目标系统内存的内容上传至主机 PC 中 调试过程中设置 断点 的方法 其实就是在指定地址放上一条 自陷指令 使CPU在执行到指定地址时产生一次 自陷 当然 原地址的内容必须得到妥善保存 在完成断点需继续执行时 将保存的内容恢复 63 3 17PLL时钟模块 PLL时钟模块由锁相环 石英晶体振荡器 时钟监控电路 时钟控制电路和预定标器组成 1 PLL可以对外部时钟频率进行0 5 4倍的倍频 从而得到更高的时钟频率 避免将高频引入引脚而引起电磁干扰 2 但也容易引起躁声干扰 为了避免躁声干扰 必须有正确的电路板设计 以保证低抖动 64 3 措施 1 外接振荡器时 使导线尽可能的短 使环路乘积保持最小 2 采用外部振荡器时 XTAL1接外部振荡源 XTAL2悬空 3 PLL需外部RC元件进行回路滤波 回路滤波元件R1 C1 C2接PLLF和PLLF2引脚 在PCB图中元件尽可能的小 且走线尽可能短 否则噪声干扰会增加抖动 4 在PLLVcc和Vss引脚之间接一个旁路电容 0 01 0 1uf的陶瓷电容 注意旁路电容接最近的Vss 5 为使干扰最小 可在PLLVcca到电源之间接一个10MHZ的T型带通滤波器 X1X2VssPLLFPLLF2PLLVccVss VDD F 10M R1 C1 C2 Ca Cb Y1 Cf C 65 4 旁路模式 复位时 使TRST TMS TMS2 仿真控制引脚 进入低电平 进行旁路模式 在该模式下 PLL预定标器旁路 且环回控制不起作用 因此不需要滤波元件 CPU时钟由片外石英振荡器决定 66 3 18 看门狗 看门狗定时器时钟WDCLK CLKOUT 512将低频时钟WDCLK作为看门狗定时器同步时钟 当CPU时钟为40M时 WDCLK时钟为78 125K 以确保在IDLE1和IDLE2低功耗模式下 看门狗定时器仍然能继续计数 WD挂起时 WDCLK时钟停止 通过停止时钟输入来停止WDCLK 67 WD的操作有3个寄存器控制WD 1 WDCNTR 计数器 保存WD的计数值 地址 7023H 2 WDKEY 复位关键字 当写入一个55H随后写入AAH则清除WDCNTR地址 7025H 3 WDCR 控制器 对WD进行配置地址 7029H 68 操作1 对RD进行预定标 设置溢出率3 28ms 209 7msWDCR 2 0三位决定 共6种选择 69 操作2 WDCNTR溢出前写入正确的WDKEY字 先写55H 使能WDCNTR 再写AAH 复位WDCNTR 否则引起系统复位 任何其他值或者溢出 并置位标志WDFLAG 在编程或调试时 可通过设置WDCR 6 WDDIS 位禁止WD工作 先通过对SCSR2中的WDoverride清0 然后对WDDIS位操作 允许WD或禁止WD 操作3 检验WD对WRCR5 3写101进行检验 若WDCR内容破坏 干扰引起 则会产生一次系统复位 操作4 WD独立于CPU 且不需CPU初始化 复位后3 28秒内应尽早设置 避免CPU复位 70 3 WDCR R 可读C 写1清除W 可写WC 在Wdoverride 1时可写 0 复位值 X 复位不变W7 1 复位0 未复位6 1 看门狗禁止0 WD使能 5 4 3 101校验2 1 0定标 RC XRWC 0RW 0 71 3 19低功耗方式 IDLT 执行IDLE指令 将使系统进入低功耗方式 由SCSR1 系统控制 状态寄存器 中的LMP1 LMP0两位决定进入3种模式 72 在PDM模式下 不改变I O引脚状态 不会进入高阻态 唤配中断 外设器件 如CAN 启动器件时钟 产生相应的外部事件中断 外设中断 外设事件从低功耗唤醒 条件是中断已使能 IMRN使能 INTM允许
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!