1 dsPIC30F 系列数字信号控制器(DSC) dsPIC30F 系列DSC 采用程序存储器和数据存储器完全分离的哈佛体系结构: 2 1、CPU结构 概述: dsPIC30F的CPU拥有24位指令字
程序计数器PC为24位宽,最低有效位总是0,除一些特殊指令外,在程序的正常执行中总是忽略其最高有效位,因此程序计数器PC可以寻址4M× 24位的用户程序存储器空间
工作寄存器阵列由16个16位的寄存器构成
每个工作寄存器都可以充当数据、地址或地址偏移寄存器
第16个工作寄存器(W15)作为软件堆栈的指针工作,用于中断服务程序和子程序的调用
dsPIC30F指令集有两类指令:MCU类指令和DSP类指令
这两类指令无缝地集成到架构中并从同一个执行单元执行
指令集包括很多寻址模式
CPU支持固有(无操作数)寻址、相对寻址、立即数寻址、存储器直接寻址、寄存器直接寻址和寄存器间接寻址模式
每条指令最多支持6种寻址模式
CPU中包含一个DSP引擎,如图2-2所示,它具备一个高速17位× 17位乘法器、一个40位ALU、两个40位饱和累加器和一个40位双向 3 桶形移位寄存器
该桶形移位寄存器在单个周期内至多可将一个40位的值右移15位或左移16位
DSP指令可以无缝地与所有其他指令一起操作,其设计可实现最佳的实时性能
MAC指令和其他相关指令可以同时从存储器中取出两个数据操作数并将两个W 寄存器相乘
这要求数据空间对于这些指令拆分为两块,但对所有其他指令保持线性
这是通过为每个地址空间指定某些工作寄存器,以透明和灵活的方式实现的
4 CPU不支持多级指令流水线,而是利用单级指令预取机制,它在指令执行的前一个周期存取并解码部分指令,以便使可利用的执行时间达到最长
单周期指令预取机制用来帮助维持吞吐量并提供可预测的执行
除了改变程序流的指令、双字移动(MOV
D)指令和表指令以外