正在加载图片...
dsPIC30F/33F程序员参考手册 2.1 dsPIC30F/33F概述 dsPIC30F和dsPIC33F器件采用改进的哈佛架构内核,数据线宽度为16位,采用增强指令集 包含对DSP的支持。内核采用具有可变长度操作码字段的24位指令字。程序计数器(PC)为 23位宽,可对最大为4MX24位的用户程序存储空间进行寻址。单周期指令预取机制用来帮助维 持吞吐量并提供可预测的执行。大多数指令都在单个周期内执行。使用D0和REPEAT指令支持 无开销的程序循环结构,这两个指令在任何时候都可被中断。 dsP1C30F和dsP1C33F拥有16个16位工作寄存器。每个工作寄存器可作为数据、地址或偏移 量寄存器。第16个工作寄存器(W15)用作中断和调用时的软件堆栈指针。 dsPIC30F和dsPIC33F架构具有相同的指令集。包括两类指令:MCU类指令和DSP类指令 该架构将这两类指令进行了无缝集成,所有指令的执行均由同一个执行单元来实现。该指令集包 括多种寻址模式,且设计为确保最佳的C编译器效率。 数据空间可寻址为32K字或64KB,被分成两块,称为X和Y数据存储空间。每个存储块有各自 独立的地址发生单元(Address Generation Unit,.AGU)。MCU类指令只通过X数据空间AGU 进行操作,可将整个存储器映射作为一个线性数据空间访问。那些具有两个源操作数的DSP类 指令通过X和Y的AGU进行操作,这将数据地址空间分成两个部分,X和Y数据空间的边界视 具体器件而定。 可以选择以16K程序字为边界(由8位程序空间可视性页(Program Space Visibility Page, PSVPAG)寄存器定义)将数据存储空间的高32KB映射到程序存储空间。程序存储空间到数据 存储空间的映射功能让任何指令都能象访问数据存储空间一样访问程序存储空间,这对于数据常 数的存放是非常有用的。 X和Y地址空间都支持无开销循环缓冲区(模寻址)。模寻址省去了DSP算法的软件边界检查 开销。此外,XAGU的循环寻址可以与任何MCU类指令一起使用。XAGU还支持位反转寻 址,大幅简化了基为2的FFT算法对输入或输出数据的重新排序。 该款器件内核支持固有(无操作数)寻址、相对寻址、立即数寻址、存储器直接寻址、寄存器直 接寻址、寄存器间接寻址以及寄存器偏移量寻址模式。根据功能性要求的不同,每一条指令都与 预先定义的寻址模式组相关联。任何一条指令可支持多达7种寻址模式。 对于大多数指令,dsPIC30F33F可在每一指令周期内执行数据(或程序数据)存储器读、工作 寄存器(数据)读、数据存储器写以及程序(指令)存储器读操作。因此可支持3操作数指令, 即允许在单个周期内执行A+B=C操作。 DSP引擎具备一个高速17位×17位乘法器、一个40位ALU、两个40位饱和累加器和一个40位 双向桶形移位寄存器。该桶形移位寄存器在单个周期内至多可将一个40位的值右移16位或左 移16位。DSP类指令可以无缝地与所有其他指令一起操作,设计为可实现最佳的实时性能。 MAC类指令和其他相关指令可以同时从存储器中取出两个数据操作数并将两个工作寄存器相乘。 这要求数据空间对于这些指令拆分为两块,但对所有其他指令保持线性。这是通过为每个地址空 间指定某些工作寄存器,以透明和灵活的方式实现的。 dsPIC:30F具有向量异常机制,可支持最多8个不可屏蔽陷阱源和最多54个中断源。dsPIC33F 具有相似的向量异常机制,不同的是可支持最多118个中新源。两个系列都可为每个中断源分 配7个优先级之一。 DS70157BCN第2-2页 初稿 2006 Microchip Technology Inc.dsPIC30F/33F 程序员参考手册 DS70157B_CN 第 2-2 页 初稿  2006 Microchip Technology Inc. 2.1 dsPIC30F/33F 概述 dsPIC30F 和 dsPIC33F 器件采用改进的哈佛架构内核,数据线宽度为 16 位,采用增强指令集, 包含对 DSP 的支持。内核采用具有可变长度操作码字段的 24 位指令字。程序计数器 (PC)为 23 位宽,可对最大为 4M x 24 位的用户程序存储空间进行寻址。单周期指令预取机制用来帮助维 持吞吐量并提供可预测的执行。大多数指令都在单个周期内执行。使用 DO 和 REPEAT 指令支持 无开销的程序循环结构,这两个指令在任何时候都可被中断。 dsPIC30F 和 dsPIC33F 拥有 16 个 16 位工作寄存器。每个工作寄存器可作为数据、地址或偏移 量寄存器。第 16 个工作寄存器 (W15)用作中断和调用时的软件堆栈指针。 dsPIC30F 和 dsPIC33F 架构具有相同的指令集。包括两类指令:MCU 类指令和 DSP 类指令。 该架构将这两类指令进行了无缝集成,所有指令的执行均由同一个执行单元来实现。该指令集包 括多种寻址模式,且设计为确保最佳的 C 编译器效率。 数据空间可寻址为 32K 字或 64KB,被分成两块,称为 X 和 Y 数据存储空间。每个存储块有各自 独立的地址发生单元(Address Generation Unit,AGU)。MCU 类指令只通过 X 数据空间 AGU 进行操作,可将整个存储器映射作为一个线性数据空间访问。那些具有两个源操作数的 DSP 类 指令通过 X 和 Y 的 AGU 进行操作,这将数据地址空间分成两个部分,X 和 Y 数据空间的边界视 具体器件而定。 可以选择以 16K 程序字为边界 (由 8 位程序空间可视性页 (Program Space Visibility Page, PSVPAG)寄存器定义)将数据存储空间的高 32KB 映射到程序存储空间。程序存储空间到数据 存储空间的映射功能让任何指令都能象访问数据存储空间一样访问程序存储空间,这对于数据常 数的存放是非常有用的。 X 和 Y 地址空间都支持无开销循环缓冲区 (模寻址)。模寻址省去了 DSP 算法的软件边界检查 开销。此外, X AGU 的循环寻址可以与任何 MCU 类指令一起使用。 X AGU 还支持位反转寻 址,大幅简化了基为 2 的 FFT 算法对输入或输出数据的重新排序。 该款器件内核支持固有(无操作数)寻址、相对寻址、立即数寻址、存储器直接寻址、寄存器直 接寻址、寄存器间接寻址以及寄存器偏移量寻址模式。根据功能性要求的不同,每一条指令都与 预先定义的寻址模式组相关联。任何一条指令可支持多达 7 种寻址模式。 对于大多数指令, dsPIC30F/33F 可在每一指令周期内执行数据 (或程序数据)存储器读、工作 寄存器(数据)读、数据存储器写以及程序(指令)存储器读操作。因此可支持 3 操作数指令 , 即允许在单个周期内执行 A + B = C 操作 。 DSP 引擎具备一个高速17位×17位乘法器、一个40 位ALU、两个40 位饱和累加器和一个40位 双向桶形移位寄存器。该桶形移位寄存器在单个周期内至多可将一个 40 位的值右移 16 位或左 移 16 位。 DSP 类指令可以无缝地与所有其他指令一起操作,设计为可实现最佳的实时性能。 MAC 类指令和其他相关指令可以同时从存储器中取出两个数据操作数并将两个工作寄存器相乘。 这要求数据空间对于这些指令拆分为两块,但对所有其他指令保持线性。这是通过为每个地址空 间指定某些工作寄存器,以透明和 灵活的方式实现的。 dsPIC30F 具有向量异常机制,可支持最多 8 个不可屏蔽陷阱源和最多 54 个中断源。 dsPIC33F 具有相似的向量异常机制,不同的是可支持最多 118 个中断源。两个系列都可为每个中断源分 配 7 个优先级之一
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有