PIC24とdsPIC
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/03/03 13:50 UTC 版)
「PIC (コントローラ)」の記事における「PIC24とdsPIC」の解説
詳細は「PIC instruction listings#PIC24 and dsPIC 16-bit microcontrollers」および「these families of microcontrollers」を参照 2001年にマイクロチップ社はdsPICシリーズを発表し、2004年後半に出荷を開始した。 マイクロチップ社による本格的な16ビットのマイクロコントローラである。PIC24は一般的な目的用であり、dsPICはDSPの能力を追加したものである。 PIC24 このシリーズにはプログラムメモリ256KB、RAM32KBといった大容量なものもあるPIC24F系 最大16MIPS PIC24H系 最大40MIPS PIC24E系 最大70MIPS dsPIC 命令24ビット長・データ長16ビットのCPUコアと、DSPを内蔵dsPIC30F系 最大30MIPS dsPIC33F系 最大40MIPS dsPIC33E系 最大70MIPS それでいてそれ以前のPICアーキテクチャに類似しているにもかかわらず、飛躍的に拡張されている: すべてのレジスタは16ビット幅 命令実行サイクルがこれまでのPICアーキテクチャの4クロックサイクルから、2クロックサイクルに短縮された データアドレス空間は64KBに拡張される 最初の2KBは周辺機器コントロールレジスタとして予約される データバンク切り替えはRAMが62KBを超えるまで必要ない 「fオペランド」による直接的なアドレス指定は13ビットに拡張される (8KB) 16W レジスタが、レジスタ間命令用に利用できる(ただしfオペランドとは常にW0が参照される) プログラムカウンタは22ビット(ビット22:1が有効で、bit0は常に0) 命令は24ビット幅 命令はバイト (B=1) および16ビット形態 (B=0) をとる スタックはRAMの中にとられる(W15がスタックポインタ); ハードウェアスタックは存在しない W14はフレームポインタ ROMに格納されたデータは直接参照できる(プログラム空間が読める) 異なる割り込みソースからの割り込みベクタがサポートされる いくつかの特長: ハードウェア積和演算 バレルシフタ ビット反転 16x16ビットの1サイクルでの積算およびその他のDSP命令 ハードウェア除算支援(16/32ビット除算で19サイクル) ループ処理に対するハードウェア支援(ゼロオーバーヘッドループ) ダイレクトメモリアクセス dsPICではマイクロチップXC16コンパイラ(C30と呼ばれる)を使用することでC言語でプログラミングできる。これはGCCの一種である。 プログラム用ROMは24ビット幅である。ソフトウェアは16ビット幅でこのROMにアクセスできる。16ビット2ワードとして読み込むと、1ワード目は16ビット、2ワード目は8ビットであり、上位8ビットは0が設定される。プログラムカウンタは23ビット幅であるが、最下位ビットは常に0であり、実質的には22ビットである。 命令は大きく2種類ある。一つはクラシックなPIC命令であり、W0および指定されたfレジスタ(例えば最初の8KBのRAM)の間の処理である。出力先はビット設定により選択され、処理結果として書き換えられる。Wレジスタはメモリマップである。つまりfオペランドはあらゆるWレジスタであるといえるだろう。
※この「PIC24とdsPIC」の解説は、「PIC (コントローラ)」の解説の一部です。
「PIC24とdsPIC」を含む「PIC (コントローラ)」の記事については、「PIC (コントローラ)」の概要を参照ください。
- PIC24とdsPICのページへのリンク