RP2350
Raspberry Pi PicoのRP2050は「RAMが264KB」「FPUなし」のため、東大CPU実験のレイトレを動かすのは無理そうだったんだけど、Raspberry Pi Pico 2のRP2350は「8MBのPSRAM対応(搭載している機種でのみ)」「FPUあり」のため、このスペックならレイトレを動かせそう。いろいろ調査してみる。
データシート
RP2350 Datasheet
レジスタ
汎用レジスタ
R0 〜 R12
R0–R3:引数・戻り値(関数呼び出しで使用)
R4–R11:汎用(callee-saved)
push {r4, r5, r6, lr}
pop {r4, r5, r6, lr}
fp = r11
lr = r14
R12:一時用途(scratch register)
スタックポインタ
R13(SP)
リンクレジスタ
R14(LR)
関数戻りアドレスを保持
例外復帰情報も含む
プログラムカウンタ
R15(PC)
浮動小数点レジスタ
(本当?)
S0 〜 S31(単精度)
D0 〜 D15(倍精度として扱う)
FPSCR(ステータス)
参考
RP2350データシート
Adafruit Metro RP2350
RP2350 + PSRAM(8MB)を搭載したボード。このスペックならCPU実験のレイトレを動かせるかも。
アセンブリプログラミング
CPU実験のレイトレ
メモ
Cortex-M33
qemu-arm-xpack
Adafruit Metro RP2350 with PSRAM
現在Adafruitから出荷されているAdafruit Metro RP2350はRP2350のA2バージョンを使用しています。I/Oのプルダウンが必要な場合はRP2350データシートのErrata RP2350-E9をご確認頂き、8.2 kΩ以下(Adafruit指定値)の抵抗を使用されますよう御注意下さい。
QEMU M-profile サポート