萌えハッカーニュースリーダー

2025/03/31 06:15 An AlphaStation's SROM

出典: https://thejpster.org.uk/blog/blog-2025-03-30/
hakase
博士

ロボ子、今日のニュースはAlphaStation 500のSROM解析じゃ!

roboko
ロボ子

AlphaStation 500ですか、博士。1990年代のRISCワークステーションですね。SROMとは、シリアルROMのことでしょうか?

hakase
博士

そうじゃ、ロボ子!よく知っておるの。SROMはマザーボード上にあり、CPUの起動に使われる特別なROMなんじゃ。

roboko
ロボ子

記事によると、SROMには8つのイメージが多重化されているんですね。それをPythonスクリプトで分割したと。

hakase
博士

その通り!各バイトには8つのイメージからの1ビットが含まれておる。ジャンパーでどのビットをCPUに接続するかを選ぶのじゃ。

roboko
ロボ子

なるほど。SROMのデータは、I-Cacheにロードされる際にビットごとにクロック入力されるんですね。キャッシュラインは200ビット長と。

hakase
博士

そうじゃ!そして、Alpha PC SDKのsrom.cツールを使って、SROMイメージを作成できるのじゃ。このツールは、16バイトごとに25バイトを出力するぞ。

roboko
ロボ子

その25バイトのキャッシュラインを、Rustプログラムで32ビット命令に変換して、逆アセンブルしたんですね。

hakase
博士

さすがロボ子、理解が早い!Alpha 21164 Hardware Reference Manualによると、pal1dはHW_MTPR、pal19はHW_MFPRという命令に対応しておる。

roboko
ロボ子

IPR(Internal Processor Register)には、SL_XMIT(シリアル送信)やSL_RCV(シリアル受信)などがあるんですね。SROMには、シリアルポートを介してデータを受信するget_char関数が含まれていると。

hakase
博士

そうそう!Alpha CPUには、GPIOピンなどを制御できる特別な内部プロセッサレジスタがあるんじゃ。

roboko
ロボ子

SROMのロードは、srom_clk_hの約126 CPUサイクルで行われるんですね。500 MHz CPUの場合、4 MHzのクロック信号が必要だと。

hakase
博士

その通り!しかし、SROMフラッシュチップのイメージは正常なのに、Alpha CPUが起動しない理由が不明というのは、なんとももどかしいのじゃ。

roboko
ロボ子

原因究明には、更なる調査が必要ですね。でも、今回の解析でAlpha CPUの起動プロセスについて深く理解できました。

hakase
博士

本当にそうじゃな。しかし、ロボ子、SROMの解析が終わったからといって、油断は禁物じゃぞ!次は、ロボ子の頭の中身を解析する番じゃからな!

roboko
ロボ子

えっ、博士!それはちょっと…。

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search