Renesas



Section1
Section2
Section3
Section4
Section5




SH-2AおよびSH2A-DUAL製品のご紹介


SHシリーズは、1993年に最初のCPUコアであるSH-1がリリースされてから、既に15年以上の歴史を持つシリーズです。その間にSH-1、SH-2、SH-3、SH-4、それからDSPを内蔵したSH2-DSP、SH3-DSP等の製品化を行ってきました。

SHシリーズは大きく二つに分けられます。一つはコントローラ系と呼んでいるものでSH-1、SH-2、それからSH2-DSPがあります。一方でSH-3、SH-4、SH3-DSPはプロセッサ系と呼んでいます。

この二つの系列は、その使われ方に違いがあります。プロセッサ系はMMUを内蔵しており、仮想記憶を使ったLinuxなどの汎用OSへの対応が可能です。また画像や音声などの大容量のメモリを使うシステムに向いており、ネットワーク機器、携帯電話、カーナビ、デジタルAV機器などに使われています。

一方、コントローラ系は組み込み用途に向けて、フラッシュメモリや各種周辺機能を内蔵したマイコンをラインナップしており、特にリアルタイム性能を必要とするような産業、自動車、民生用途に使われています。

現在では、そういった使われ方に合わせ、コントローラ系はSH-2A、プロセッサ系はSH-4Aというコアの展開を行っています。そして、更なる性能向上をめざし、それぞれマルチコアの開発を進めています。

SHコントローラ系については、SH-2からSH-2AとCPUコアに製品展開を図っています。動作速度は、SH-2では50〜80MHzでしたが、SH-2Aでは200MHzの高速動作が可能です。そして、更に性能が必要な場合にはSH-2Aデュアルコア製品を用意しています。

また、フラッシュ内蔵マイコンでは、SH-2AコアのSH7211という160MHz動作品を既に量産中で、更に200MHz動作のフラッシュ内蔵マイコンの製品化を計画中です。

最近、新たな取り組みとして、大容量SRAMを内蔵した製品の開発も進めています。1MByteのSRAMを内蔵したSH7262/7264を、現在開発中です。

ここでSH-2Aコアの特長について簡単にお話します。

まず、一つは実行サイクル性能を向上させたということです。SH-2Aでは命令バスとデータバスが分離したハーバードアーキテクチャを採用しており、命令フェッチとデータアクセスの競合を防止しています。

パイプラインに関しては、分岐ペナルティやデータハザードを防止するために従来の5段パイプラインを据え置きにしています。

また、スーパースカラというアーキテクチャを用いて2命令同時実行という点でも性能を向上させています。

命令体系で言いますと従来は16ビットの固定長命令でしたが、SH-2Aでは32ビット命令も追加しています。命令の追加は実行サイクル性能の向上だけではなく、コードサイズ削減にも貢献していて、コンパイラによる最適化と合わせてさらに削減効果を向上しています。

また、特にリアルタイム性能が要求されるところで使われるマイコンですので、割り込み応答性を向上させるということは非常に重要なポイントです。そのためにレジスタバンクを導入して、割り込み発生時にハード的にレジスタの退避ができるという仕組みを作りました。

具体的にどの程度性能が上がったか、従来のSH-2/50MHz動作のマイコンとSH-2A/200MHz動作のマイコンを比較したデータで見てみます。

SH-2Aでは、割り込み性能で1/25、処理性能で6倍、コードサイズで75%という性能を実現しています。

次にSH-2Aの内部ブロック図について説明します。SH-2Aではハーバードアーキテクチャを用いていますので、命令バスとデータバスはそれぞれ独立しています。バスはCPUバスと内部バス、周辺バスに分離しています。このようにバスを階層化することによって、バスの負荷を減らすことができますので、CPU処理速度が向上します。

また、バスを階層化することによって、CPUスピードを上げるだけではなく、例えばDMACから周辺機能にアクセスする動作と、CPUから内蔵RAMにアクセスする動作が同時に実行できるようになりますので処理性能が更に向上します。

設計的な手法では、FPU、キャッシュ、内蔵のフラッシュメモリなどをLSI設計時にオプショナブルに選択できるような構造にしており、製品開発期間を短縮することができます。

次にルネサスフラッシュマイコンの特長について説明します。この図は横軸にマイコンの動作速度、縦軸に処理性能を示したものです。ルネサスのフラッシュマイコンの最大の特長は100MHzまでノーウェイトアクセスが可能なフラッシュ技術を使用している点です。他社の場合は30MHz程度が限界で、それ以上の動作速度を実現するためにはウェイトを入れなければならず、処理性能が低下してしまいます。そのため、同じ100MHzで動作させた場合、処理性能に大きな差が出ます。

現在、SH-2Aコアのフラッシュ内蔵マイコンは3つの製品シリーズが揃っています。一つは7210シリーズで、160MHz動作の最高速のフラッシュ内蔵マイコンです。それから、本日のテーマのSH7280シリーズ。動作周波数は100MHzですが、USBやCANなど豊富な周辺機能を内蔵しています。SH7243シリーズは7280シリーズを100ピンにして、内蔵周辺機能をスリムにした製品です。

SH7280シリーズはSH-2Aコアを搭載し、100MHzの動作が可能です。内蔵フラッシュメモリは最大1MByteまでの大容量フラッシュメモリを搭載しています。また、電源電圧は、3.0〜5.5Vのワイドなレンジに対応しています。

周辺機能はモータを回すのに最適なタイマ、MTU2およびMTU2Sを内蔵しています。A/Dコンバータは従来10ビット分解能でしたが、より精度の高い12ビット分解能の高速A/Dコンバータを搭載しています。更にフルスピードのUSBも内蔵しています。

また、オンチップデバッグ機能を搭載しており、フルICEだけではなく、オンチップデバッガも提供します。

SH7280シリーズはSH7040シリーズ、7080シリーズの後継機種として、民生分野からOA、産業まで幅広い分野に対応します。

SH7280シリーズには144ピンのSH7285と、176ピンのSH7286の2つの製品があります。アンダーラインの付いている部分はSH7286のみに対応しています。

これはSH7280を汎用インバータとして応用した例です。SH7280は2系統のモータ制御用タイマを内蔵しているので、2系統のモータをまわすことができます。また、高精度なA/Dコンバータを内蔵していますので、より高精度なセンサ計測が可能となります。また、SCIや、IICなど豊富な通信機能を使って、EEPROMやサブマイコンなどの各種周辺デバイスと接続することができます。更にUSBファンクションを内蔵していますのでホストのパソコンからインバータの制御、メンテナンスができます。

次にSH-2、SH-2Aの開発環境について説明します。SH-2、SH-2A系のルネサス製開発環境はフルエミュレータとしてE200F、オンチップデバッガとしてE10A-USBを準備しています。また、機能的、コスト的にフルエミュレータとオンチップデバッガの中間に位置するデバッグMCUボードも、現在一部の製品だけですが準備しています。


また、SH7285及びSH7286の評価用のCPUボードも準備しています。非常にシンプルなボードで、E10A-USBと接続することでマイコンの評価を行うことができます。また、ボード回路図やサンプルプログラム等をルネサスのWebに公開していますので、お客様の開発時のリファレンスとしてご使用ください。


SH7280用のルネサス製開発環境の一覧です。SH7280用の開発環境は、3rdパーティからもいろいろ製品化されていますから、使い勝手等を考えてお選びください。

ここからSH7205、デュアルコアの製品を紹介させていただきます。

初めに、どのような背景でデュアルコアを開発したかという点ですが、まず性能をあげたいということがあり、しかし一方では開発コストとか消費電力の削減ニーズがあります。更にリアルタイム性も確保したい。こうした声に応えるためにルネサスのひとつの取り組みとしてデュアルコアの開発があるということです。SH-2Aはデュアルコア、SH-4Aはマルチコアということで進めています。SH-4Aコアを8個搭載したチップ、これは試作レベルのものですが、既に学会でも発表しています。製品レベルの話になりますと、SH-4Aコアを二つ載せた製品SH7786を開発中です。

マルチコアになる前、現在のソリューションとしては、例えばCPUとDSPを合わせて搭載したもの、あるいはマイコン2チップ構成のもの、あるいは高い動作周波数のシングルコアマイコンというものがあります。これに対してマルチコア化した時のメリットは、一つには2チップ構成が1チップになる等、部品点数の削減があります。また、高性能をローパワーで実現できることなどがあげられるでしょう。簡単に考えると、400MHz動作のマイコンよりも、200MHz動作のデュアルコアの方が、消費電力が低いということです。また、一つのICEで二つのコアのデバッグが出来る等、開発が容易であることもメリットとして挙げられるでしょう。

マルチコアと言ってもいろいろな方式があります。一つはヘテロジニアス。それぞれまったく違うCPUコアを持ち、且つバスも分かれていて、周辺機能も全部分かれている。イメージとしてはまったく別のチップを一つのパッケージにしたものです。

次はAMPタイプ。アシンメトリック・マルチプロセッサです。コア同士が非対称型のマルチコア。ここでは同一CPUで書いていますが、違うCPUであってもかまいません。それぞれのCPUで異なるプログラムを動作させるが、バスと周辺機能は共通で使うというものです。

もう一つはSMPタイプ、シンメトリック・マルチプロセッサです。コア同士が対称型のタイプです。SMP対応のOSが全てのタスクを管理して、それぞれのCPUにタスクを最適に割り振ります。図で左に行くほどリアルタイム対応に優れ、右に行くほど負荷変動のある高機能処理に向いているといえます。では、SH-2Aのデュアルコアはどこに対応しているかというとAMPタイプです。

SH2A-DUALはリアルタイムの組み込み用途をターゲットとしており、AMPアーキテクチャをサポートしています。コアが動的に変更されることはないので、タスクの挙動がSMPと比べて予測しやすく、組み込み処理向きといえます。

また、キャッシュスヌープコントローラ等、SMPには必要なハードウェアリソースを省略することでコスト上昇を抑えています。その代わり、タスクは設計者が設計時に静的に分散させる必要があります。例えば、片方のコアがシステムコントロールを行い、もう一方のコアがオーディオ処理等のDSP的な処理を行うといった使い方が考えられます。

SH2A-DUALは同種のコアを2個搭載していますから、機能の分け方の自由度が高く、コア間の連携も容易です。更にデュアルコア用ITRON仕様OS等、それほど使い勝手を変えずに使える開発環境を整備しています。

SH2A-DUALの各コアであるSH2A-FPUコアはFPUを搭載しており、信号処理、グラフィックス等の広範囲な応用で有効です。また、SH-2Aの特長であるレジスタバンクによって高速な割り込み応答を実現します。また、1サイクルアクセスの内蔵URAMを活用することで安定した高速動作が可能です。

SH2A-DUALのもう一つの特長は4層のマルチレイヤバスです。CPU0、CPU1、DMACのリード、ライトがそれぞれ独立したバスを持っています。例えば、CPU0がSDRAMにアクセス、CPU1が周辺I/Oにアクセスという処理を同時に行うことができます。これによって、バスによる競合を回避し、処理性能がより向上します。

それぞれのCPU間の通信ですが、ハードウェアによるCPU間の割り込み機能を持っています。また、共有メモリを介した通信も可能です。メモリは、CPU0のみが使用できるもの、CPU1のみが使用できるもの、共通で使えるものがあります。なお、タスクの割り当てはプログラム開発時に予め決めておきます。

SH2A-DUALを搭載した最初の製品がSH7265及びSH7205です。周辺機能としてはATAPI、NANDフラッシュインターフェース、USB2.0などいろいろなストレージをサポートしています。2次元のグラフィックスエンジンを搭載しており、デジタル入力した動画の表示等にも使えます。また、産業用途でよく使われている多機能タイマを内蔵していますから、モータ制御にも使うことが可能です。

具体的な応用例ですが、これは産業/計測機器に使われている例です。CPU0でFPUを使用した座標計算を行います。更にMTU2によるモータ制御も行っています。そして、もう一方のCPU1側では表示制御とかCAN/USBによる処理を行います。

実際にご採用頂いている事例です。ここに書いてあるように電子楽器・レコーダ、アミューズメント、金融端末、FA等いろいろあります。こう見ていきますと、シスコンとDSPの組み合わせとして使っているとか、もともとシスコンを2チップ使っていたお客様が、2コアともシスコンとして使う事例が多いと言えます。

マルチコアの第一弾製品としてこのような製品に取り組んでいますが、まだまだ試行錯誤をしている部分もあります。そう言った意味で是非、皆様のご意見を頂きたいと存じます。

最後は、SH-2Aデュアルのツールです。オンチップデバッギングエミュレータE10A-USB、それからOS、コンパイラ、評価ボード、ルネサス製のツールだけですけれど、評価に必要なものですので何かありましたら、是非ご連絡ください。