dsPIC Digital Signal Controllers


はじめに

 dsPICは Microchip社の製品で、 Digital Signal Controllers (DSCs) と称しています。 有名な PIC マイコン (microcontrollers, MCUs) の姉妹品です。 dsPIC30Fシリーズ dsPIC33Fシリーズがあります。 dsPICの特徴としては、

などがあります。


構成

 dsPICの構成を簡略化すると、下図のようになります。 簡単のために、 プログラムメモリ、制御部、一部の演算器 (除算、シフト) 等は省略してあります。

dsPIC Architecture

dsPICの構成

ディジタル信号処理向け命令の例

 代表的なディジタル信号処理向け命令に、 MAC (Multiply ACcumulation, 積和演算) があります。 この命令は、同時に多くの処理を行うことができます。

MAC Wm*Wn,Acc {,Wx,Wxd} {,Wy,Wyd} {,AWB}

    {…}: 省略可能

    MAC Wm*Wn,Acc: 積和演算 Acc = Wm * Wn
        Wm, Wn: W4〜W7の一つ。
        Acc: アキュムレータA, Bのいずれか。

    Wx,Wxd: Xデータメモリからの読み出し Wxd = Wx
        Wxd: 読み出したデータを格納するレジスタ。W4〜W7の一つ。
        Wx: Xデータメモリのアドレス。下記のいずれか。
            [W8]+=6, [W8]+=4, [W8]+=2, [W8], [W8]-=2, [W8]-=4, [W8]-=6,
            [W9]+=6, [W9]+=4, [W9]+=2, [W9], [W9]-=2, [W9]-=4, [W9]-=6,
            [W9+W12]
        [Wi]+=j: レジスタWiで指定されたアドレスからデータを読み出す。
                 読み出し後、Wijを加える。「-=」ならば減ずる。

    Wy,Wyd: Yデータメモリからの読み出し Wyd = Wy
        Wyd: 読み出したデータを格納するレジスタ。W4〜W7の一つ。
        Wy: Yデータメモリのアドレス。下記のいずれか。
            [W10]+=6, [W10]+=4, [W10]+=2, [W10], [W10]-=2, [W10]-=4, [W10]-=6,
            [W11]+=6, [W11]+=4, [W11]+=2, [W11], [W11]-=2, [W11]-=4, [W11]-=6,
            [W11+W12]

    AWB: AWB = ConvertTo16Bit(Other Acc)
         積和演算に使わなかったアキュムレータの内容を保存する。
         (Accumulator Write-Back)16bitに変換してから保存する。
         保存先はW13, [W13]+=2のいずれか。
例えば、
MAC W4*W5,A,[W8]+=2,W6,[W10]-=2,W7,[W13]+=2
は、以下の処理を行います。
A = W4 * W5
W6 = [W8]
W8 = W8 + 2
W7 = [W10]
W10 = W10 - 2
[W13] = ConvertTo16Bit(B)
W13 = W13 + 2
あまりにも煩雑になるので省略してありますが、 dsPICもリングバッファ を使用することができるので、 その場合にはさらに処理が増えています。

[上へ] [戻る Blackfin DSP] [目次] [次へ ADSP-21369 SHARC Ez-Kit Lite DSPボード]