CPU
CPU(Central Processing Unit)は、パソコンやスマホの「脳」や「心臓部」にあたる、最重要の演算・制御パーツです。
PlaydateのCPUは168MHz〜180MHz動作のARM Cortex-M7 (STM32F7) を搭載しています。
概要
1. 基本スペック
Playdate のメインプロセッサには、STMicroelectronics 社のマイコン(MCU)が採用されています。
- CPU モデル
- STM32F746 (ARM Cortex-M7F)
- クロック周波数: 168 MHz
- 初期のユニットでは 180 MHz で動作していたものもありますが、現在は 168 MHz が標準仕様となっています。
- アーキテクチャ
- Armv7E-M
- L1 キャッシュ: 8 KB
- 開発者コミュニティの情報では、リビジョン(Rev A/B)によって命令キャッシュの容量に差異(4 KB 〜 16 KB)があるとの報告もありますが、公式仕様としては 8 KB とされています。
2. 演算能力とアーキテクチャの特徴
Cortex-M7 は、マイコン向けプロセッサとしては非常に高い性能を誇る「ハイエンド・マイクロコントローラ」に分類されます。
- スーパースケーラ設計
- 6 段のパイプラインを持ち、命令を 2 つ同時に発行(Dual-issue)できる能力を持っています。
- FPU(浮動小数点演算ユニット)
- 単精度浮動小数点演算をハードウェアで高速に処理できます。
- ただし、演算結果を直後の命令ですぐに利用しようとすると、CPU ストール(停滞)が発生しやすいため、最適化には工夫が必要です。
- DSP 拡張
- 信号処理用の命令セットをサポートしており、オーディオ合成や複雑な数学演算に寄与しています。
3. メモリとストレージ
CPU の速度に対して
メモリのアクセス速度がボトルネックになりやすいという特徴があります。
- RAM: 16 MB
- 外部の低電力擬似 SRAM(PSRAM)を使用しています。
- ストレージ: 4 GB Flash (eMMC)
- ゲームデータやシステムファイルの保存に使用されます。
- パフォーマンスの特性
- CPU 自体は非常に高速ですが、キャッシュ外のメモリ(RAM)へのアクセスは比較的低速です。
- そのため、パフォーマンスを追求する場合は、データをいかにキャッシュ内に収めるか(データ局所性)が重要になります。
4. 開発における CPU の扱い
Playdate SDK では Lua と C の 2 つの言語がサポートされています。
- Lua
- 習得が容易で安全ですが、スクリプト言語であるため CPU 負荷は高くなります。
- 複雑な物理演算や描画処理を行う場合、CPU 168 MHz という制限が壁になることがあります。
- C言語
- ハードウェアの性能を最大限に引き出すことが可能です。
- 特に 3D描画やエミュレータなどの重い処理を行う場合は、C言語での実装が推奨されます。
5. 通信専用のサブプロセッサ
メイン CPU(STM32)の負荷を軽減するため、ワイヤレス通信用には別のチップが搭載されています。
- ESP32
- Wi-Fi および Bluetooth 接続を管理します。これにより、ゲームの実行中にメイン CPU が通信処理にリソースを割かれすぎるのを防いでいます。
Playdate は、この 168 MHz という限られた CPU リソースの中で「いかに効率よく描画し、面白いギミック(
クランクなど)を動かすか」という点が開発の醍醐味となっているハードウェアです。
関連ページ
最終更新:2026年04月20日 21:39