Mali-T880の省電力機構
携帯機器の場合は、消費電力の低減は非常に重要であり、Mali GPUではクロックゲートとパワーゲートを行って、動作する必要が無い部分の消費電力をカットしている。また、動作状態に応じてクロックと電源電圧を最適化するDVFSを採用している。
使用するメモリバンド幅の低減
最近では、DRAMとのインタフェースのドライバ、レシーバの電力が大きな比重を占めるようになっており、電力を抑えてGPUの性能を上げるためにはメモリアクセスを減らす必要がある。
Mali-T880ではタイルごとの表示データのCRCを計算し、次のフレームのデータのCRCが前のフレームと同じなら、そのデータの書き出しを行わない「Transaction Elimination」という手法を使っている。次の図で緑の網が掛かっている部分が前のフレームから変化が無く、書き出しが省略された部分である。書き出しが減れば、その分、メモリアクセスが減り、省電力になる。
この手法で、Broken Sword 5では92%、Angry Birdsでは32%、User Interfaceでは75%、ハイエンドゲームでは10%の書き出しが省略されたという。
また、Mali-T880ではAFBC(ARM Frame Buffer Compression)というロスレスのデータ圧縮を行ってGPUからディスプレイなどへのデータ転送量を減らしている。AFBCを使うことにより、User Interfaceでは50%、ビデオでは60%、ハイエンドゲームでは46%、Angry Birdsでは33%の転送バンド幅を削減できたという。
ASTC(Adaptive Scalable Texture Compression)はARMが開発したテクスチャデータの圧縮手法であるが、現在では、OpenGLやDirect3D規格に取り込まれて他社でも使用できるようになっている。これもテクスチャデータの転送量を減らし、消費電力を減らす効果がある。ASTC 6×6では83%、ASTC 5×5では74%、ETC2では66%、転送データ量が減るとのことである。
まとめとして、Mali-T880は階層的タイル方式の描画を行うGPUである。1ピクセル/サイクルの処理能力を持つシェーダコアが基本構成単位であり、T880は1~16コアの構成が採れる。パイプライン処理を行っており、頂点処理とフラグメント処理をオーバラップさせることができる。
Transaction EliminationやAFBC、ASTCなどの適用で、必要なメモリバンド幅を抑えて省電力化を行っていると結んだ。