COOL Chips XIIIにおいて、NVIDIAのGordon Grigor氏は同社のTegra 2チップの設計思想を解説した。NVIDIAのTegra 2は1GHzクロックで動作するARMのハイエンドコアであるCortex-A9を2コアとARM7コア、GPU、HDビデオのデコーディングとエンコーディングエンジン、オーディオ処理エンジン、そしてイメージセンサの情報を処理するエンジンと合計8個のプロセサを搭載する携帯機器用のチップである。
図1 Tegra 2の設計思想について講演するNVIDIAのGordon Grigor氏 |
携帯用プロセサでは消費電力を低減し、マルチメディア処理に十分な性能と十分な電池寿命を両立させることが最重要である。ARMプロセサのような汎用プロセサはオーディオやビデオなどの定形のストリーム処理を行う場合には専用のハードウェアロジックのエンジンに比べてエネルギー効率が低い。このため、携帯機器で重要なマルチメディア処理には専用エンジンを搭載し、必要な性能を確保し、かつ、消費電力の低減を図っている。
携帯機器は待機時間が長いので、動作電力の削減だけでなく、リーク電流の削減も重要となる。このため、機能ごとに電源を分離し、非動作時には電源もクロックもオフにするクロックゲートとパワーゲートを行っている。また、処理負荷が低い場合には、電源とクロックを低減するDVFS(Dynamic Voltage Frequency Scaling)を行っている。
さらに、クロックに関しては、オンオフだけでなく、必要な処理能力が低い場合にはクロックを間引くという機能を持たせている。DVFSではクロック周波数を変えるとPLLの再ロックに時間が掛かるが、クロックを間引く方法では瞬時に切り換えが行えるという。また、PLLの消費電力も無視できないので、DVFSでクロックを大幅に低下させる場合には高速のPLLから低電力の低速PLLに切換えて電力の低減を行うなど、各種の省電力技術を駆使している。
また、Cortex-A9コアは高速動作用に作られているのでリーク電流も多いが、ARM7コアは速度は遅いが低リークのトランジスタで作られている。そして、複雑な処理を行う場合はCortex-A9コアを使うが、オーディオやビデオエンジンを動かすというような単純な仕事ではARM7プロセサを使い、Cortex-A9プロセサの電源を切って消費電力を節約している。
加えて、GPUやディスプレイコントローラはCPUの介在を減らすようになっており、CPU動作の必要性を減らしている。さらに、ファイルからのストリームデータの読み込みはバースト的に行い一区切りがつくとCortex-A9コアをパワーオフするなどチップの動作モードとしても省電力を追及している。
このような徹底した省電力技術により、YouTubeなどのインターネット上のビデオの再生の場合、図2に示すように、Cortex-A9コアは開始時のセットアップにフルパワーで動作した後は低レベルの動作となる。また、GPUはフレームが切り替わるたびに短時間動作し、ARM7、ビデオ、オーディオは必要最低限のレベルの動作を継続する結果、550mW程度の消費電力に収まる。
また、インターネットサーフィングを行っている状態では400mW程度、ファイルからのムービー再生は450~500mWで行えるという。さらに、音楽の再生時はGPUやディスプレイはパワーオフされ、Cortex-A9コアもDVFSとパワーコントロールでほとんどが低電力状態で動作する。このため、音楽再生は30mW以下の消費電力で済む。