CPU実験室

誰も見向きもしない古いCPUをいじって動かしてみようというプロジェクトです

パタン最適化

オートルータの最適化は完了しているのですが細かい部分を手修正しています。とくにラインがこんがらがっているところは部品を移動させたり、多少遠回りさせてみるだけでも劇的に改善する場合があります。

一方、パタンは回路図通り厳密に接続されていますが関係性を緩くすることによっても効果が大きく出ることがあります。例えばSRAMのピン配置です。

SRAMのデータ、アドレス線はボード内で自己完結していて、書き込み時と読み出し時で一対一対応してればいいのでどのように入れ替えても問題ありません。

たとえば回路図どおりにSRAMのデータ線をつなぐとかなり無理くりな引き回しになります。

f:id:O3I:20220216210633j:plain

 

ところがデータバスのD4~D7を適当に入れ替えると(そもそもピン名のD0~D7も便宜的なものなので)格段に引き回しがシンプルになります。

f:id:O3I:20220216210648j:plain

これはアドレスラインも同様に入れ替えが可能です。チップ上の物理的セル位置のどこにデータが書かれようが知ったことではないわけです。このような最適化も自動で出来ればありがたいのですがそれはちょっと無理かもしれません。

当然他のシステムで読み書きされる可能性があるROMではできない芸当で、逆に故意にそれをすることによってデータをスクランブル化して解析されにくくする原始的なテクニックもありました。