Comments
Description
Transcript
第7回 M32Rソフト・コアの特徴
作川 守 M32Rソフト・コアの特徴 第7 回 前回までの連載では,CPU コアとして MicroBlaze(Xilinx ● 高性能でコンパクトな RISC コア M32R CPU 社)を取り上げてきました.本学習キットでは,MicroBlaze 以 M32R CPU は,ルネサス テクノロジの 32 ビット高性能コン 外の CPU コアも動作させることができます.そこで今回から パクト RISC コアです.よく使用される大半の命令を 1 クロッ は,本学習キットに添付予定のコアとして,M32R ソフト・コ クで高速に実行できます.図 2 に CPU コアの構成を示します. ア(ルネサス テクノロジ)について解説します. 命令セットは,16 ビット長/32 ビット長命令形式を採用してい るので,高いコード効率を実現できます.また積和演算器を内 1 M32R CPU の内部構成 蔵しており,DSP 機能用命令を備えています. さらに DSP 機能を中心に演算処理性能を向上させた Dual- M32R は,embedded-RAM 技術による大容量 DRAM と CPU issue コアがあります〔図 2(b) 〕 .このコアでは,16 ビット命令 コアの 1 チップ化を実現した M32R/D シリーズから,その歴史 がスタートしています.高速データ処理と低消費電力,低ノイ ズの特徴を生かし,ディジタル・スチル・カメラ,ディジタ マルチコア・ プロセッサ ル・ビデオ・カメラなどに採用されてきました. M32RコアCPU製品展開 現在は大容量フラッシュ・メモリ内蔵の M32R/ECU シリー ズや,システム LSI 内蔵 CPU コアを中心に展開,開発されて M32RⅡ コア MMU搭載 おり,前述の DSC,DVC をはじめとして,DVD レコーダ, ディジタル TV などに搭載されています. M32R ソフト・コアは,CPU コアと周辺機能を Verilog-HDL SoC展開 (システムLSI内蔵CPUコア) M32R/Dシリーズ で記述したフルシンセサイザブル・コアです.LSI の CAD ツー ルとの親和性のみならず,FPGA での設計も考慮したデザイン M32R コア M32R/ECUシリーズ になっています.このため,FPGA でのプロトタイプから LSI 開発といった設計フローをスムーズに行うことができ,より短 図 1 M32R コアのロードマップ い期間で LSI を開発することが可能になりました. 16ビット命令 図 1 に M32R コアのロードマップを示します. 16ビット命令 ジャンプ/ロード/ストア命令 ジャンプ/ロード/ストア命令 算術論理演算命令 算術論理演算命令 PC ALU シフト ロード ストア (a)M32R CPUコア 積和演算 ユニット 32×16+ 56ビット Acc 算術論理演算命令 DSP機能用命令 算術論理演算命令 DSP機能用命令 命令デコーダ 命令デコーダ レジスタ 32ビット × 16本 + + + + PC ロード ストア シフト ALU レジスタ 32ビット × 16本 積和演算 ユニット 32×16+ 56ビット Acc シフト ALU (b)M32R CPUコアDSP機能拡張版(Dual-Issue) 図 2 M32R CPU コアの構成 Aug. 2006 KEYWORD ―― M32R,レジスタ・セット,命令セット,MMU,M32R/ECU,M32R ソフト・コア 179 図 3 のように「命令 B」の MSB が‘0’の場合, 「命令 A」と「命 1ワード +0 +1 +2 MSB +3 MSB 「命令 A」→「命令 B」 0 シーケンシャル 16ビット命令A 「命令 A」&「命令 B」 0 パラレル 16ビット命令A 0 令 B」はシーケンシャルに実行されますが, 「命令 B」の MSB が ‘1’の場合は, 「命令 A」と「命令 B」はパラレルに実行されます. ● シンプルで扱いやすいレジスタ・モデル 16ビット命令B M32R CPU には 16 本の汎用レジスタ,6 本の制御レジスタ, 1 アキュムレータ,およびプログラム・カウンタがあります(図 4) . 16ビット命令B アキュムレータは DSP 機能用命令と乗算命令(MUL 命令)で使 1 32ビット命令 用されるもので,それ以外の演算処理はすべて汎用レジスタ間 図 3 命令の実行 で行います. 汎用レジスタは 32 ビットのものが 16 本(R0 ∼ R15)あり, 2 個を並列に実行する機能をもつほかに,新たに命令数を 12 種 データの格納やベース・レジスタの保持に自由に使えます.こ 類追加し,さらに 56 ビット・アキュムレータを 2 本に増強して のうち R14 はリンク・レジスタ(サブルーチン呼び出し命令実 います. 行時の戻り先番地格納),R15 はスタック・ポインタとしても 使用されます. 命令フォーマットは 2 種類あり,一つは 32 ビット・ワード境 また,制御レジスタには,プロセッサ・ステータス・レジス 界内に格納された二つの 16 ビット命令,もう一つは単一の 32 タ(PSW),条件ビット・レジスタ(CBR),割り込み用スタッ ビット命令です.32 ビット命令の MSB(Most Significant Bit) はつねに‘1’です.16 ビット命令の場合,上位のハーフワード ク・ポインタ(SPI) ,ユーザ用スタック・ポインタ(SPU) ,EIT 境界に存在する命令の MSB はつねに‘0’ですが,それに続く ベクタ・ベース・レジスタ(EVB),バックアップ PC(BPC)の 16 ビット命令は,その命令の MSB の値によって処理が異なり 六つがあります. なお,図 4 のレジスタ・モデルでわかるように,M32R は ます. Column 1 生産性の向上と量産後のメンテナンスに寄与します. M32R/ECU また,多機能周辺回路を採用するとともに,各周辺機能どうしの 組み合わせによるシーケンサ的使い方が可能です.耐環境性(広動 M32R/ECU シリーズは,M32R CPU コア(32176 グループ以外 作温度範囲−40 ∼+125 ℃,低ノイズ,低消費電力)にもすぐれ, は,IEEE754 に完全に準拠した単精度 FPU を内蔵)と周辺機能, とくに信頼性を要求される パワー・トレイン制御,産業機器制御, および ROM/RAM を 1 チップにしたマイコン・シリーズです.1M AV 機器制御に最適なマイコンです(図 A) . バイトの大容量フラッシュ・メモリを内蔵し,開発/製造段階での 32192 160MHz, 1Mバイト/176Kバイト CAN 2チャネル, 144ピン 3219y(計画中) 160MHz, 2Mバイト 32196S(計画中) 160MHz, 1Mバイト CAN 2チャネル, 144ピン パフォーマンス 32196 160MHz, 1Mバイト/64Kバイト CAN 2チャネル, 144ピン 32195(ES) 160MHz, 512Kバイト/32Kバイト CAN 2チャネル, 144ピン 3218y(計画中) 80MHz, 2Mバイト CAN 2チャネル, 144ピン 32186 80MHz, 512Kバイト/24Kバイト CAN 2チャネル, 144ピン 32185(ES) 80MHz, 512Kバイト/32Kバイト CAN 2チャネル, 144ピン 32176 40MHz, 512Kバイト/24Kバイト CAN 2チャネル, 144ピン 2004 32186S(計画中) 80MHz, 1Mバイト 2005 2006 2007 2008 2010 [年] 図 A M32R/ECU シリーズのロードマップ 180 Aug. 2006