CompactRISCは、ナショナル セミコンダクター社の命令セットアーキテクチャファミリーです。このアーキテクチャは、縮小命令セットコンピューティング(RICS)の原理に基づいて設計されており、主にマイクロコントローラで使用されています。[ 1 ] このファミリーのサブアーキテクチャは、16ビットのCR16とCR16C、および32ビットのCRXです。[ 2 ]
アーキテクチャ
CR16ファミリーの特徴:コンパクトな実装( 250 nmで1 mm 2未満)、2 MB(2 21)のアドレス指定、最大66 MHzの周波数、16ビット整数用のハードウェア乗算器。[ 1 ]
ビット操作、保存/復元、複数のレジスタのプッシュ/ポップなどの複雑な命令を1つのコマンドで実行できます。[ 1 ]
CR16には、16ビットの汎用レジスタが16個と、21ビット幅のアドレスレジスタが2個あります。特殊レジスタは8個あります。プログラムカウンタ、割り込みスタックポインタ(ISP)、割り込みベクターアドレスレジスタ(INTBASE)、ステータスレジスタ(PSR)、コンフィギュレーションレジスタ、そして3つのデバッグレジスタです。ステータスレジスタは、C、T、L、F、Z、N、E、P、Iの各フラグを実装します。[ 1 ]
命令は2アドレス形式で複数の形式でエンコードされます。通常は16ビットエンコードですが、32ビット長の中規模即値命令には2つの形式があります。一般的なオペコード長は4ビット(ほとんどのエンコードタイプではビット9~12)です。基本的なエンコード形式は以下のとおりです。
- レジスターからレジスターへ、
- レジスタへの5ビットの短整数値、
- 16ビット値の中間即値をレジスタに格納(32ビットエンコード)
- 短い5ビット変位(2ビットオペコード)による相対的なロード/ストア、
- 中規模18ビット変位(32ビットエンコーディング、2ビットオペコード)による相対ロード/ストア。[ 1 ]
CR16Cは異なるオペコードエンコーディングフォーマットを採用しており、23~32ビット幅のアドレスレジスタと2つの32ビット汎用レジスタを備えています。[ 3 ]
CR16はトラップと割り込みを実装しています。CR16の実装は、フェッチ、デコード、実行の3段階のパイプラインで構成されています。[ 1 ]
CR16製品
CR16はナショナルセミコンダクター社のマイクロコントローラに採用されており、2001年以降はフラッシュメモリを内蔵した統合型マイクロコントローラも提供されている。[ 4 ] [ 5 ] 2007年以降はCR16ベースのIPがライセンス供与されている[ 6 ]
参考文献
- ^ a b c d e f Brunvand, Erik. 「National Semiconductor CR16、コンパクトRISCプロセッサ、ベースラインISA、そしてそれ以降」(PDF) . CS/EE 3710.ユタ大学. 2016年12月3日閲覧。
- ^フォン・ハーゲン、ウィリアム (2011). GCC の決定版ガイド。アプレス。 p. 422.ISBN 9781430202196。
- ^ 「CR16Cプログラマーズリファレンスマニュアル」(PDF) 。2004年10月29日時点のオリジナル(PDF)からのアーカイブ。
- ^ Graham, Jeanne (2001年2月22日). 「National Semiconductorの16ビットMCUはフラッシュとアナログを統合」 . EETimes . 2016年12月3日閲覧。
- ^ 「ナショナルの16ビットRISC MCU、高耐久性フラッシュをアピール」 EETimes、2001年3月13日。 2016年12月3日閲覧。
- ^ Hammerschmidt, Christoph (2007年2月21日). 「NatSemi、組み込みIPの再販にIPextremeを活用」 . EETimes . 2016年12月3日閲覧。
外部リンク
- ナショナル セミコンダクター 組み込みマイクロコントローラ(CR16 およびCOP8 )
- National Semiconductor の Web サイトのCompactRISC コア アーキテクチャページ (2007 年のアーカイブ コピー)
- CR16B プログラマーズ・リファレンス・マニュアル、ナショナル・セミコンダクター、1997
- GCC CR16 ポート