HORSEシリーズ
このシリーズは、僕のレッドストーンCPUに革命を起こすと思っています。
まだ完成しているわけではなく、途中でお蔵入りになる可能性があります。
概要
目的・用途
このHORSEシリーズは、サーバーやスパコン、ワークステーションのような、並列処理能力が重要な用途向けに設計し、レッドストーンCPUの可能性を広げます。
アーキテクチャ
HORSEにはsushi memory architectureと5~10HzのマルチコアCPUを搭載し、ノイマン型を採用することで並列処理能力を高めます。
拡張性
HORSE専用のINFINITY INTERFACEを採用することで、これまでなかったほどの拡張性を持たせます。
結論
HORSEはこれまでのCPUとは一味違うサーバーやワークステーション向けのシリーズです。
目的・用途
このHORSEシリーズは、サーバーやスパコン、ワークステーションのような、並列処理能力が重要な用途向けのコンピューターとなる予定です。
このHORSEシリーズを作ろうと思った大きな理由の一つが、ネットワークの構築です。
僕のディスコードサーバーの方達で、共有規格を作ることになったので、そのためにサーバーが必要な可能性が浮上してきました。
そのためのHORSEでもあります。
ですが、そのHORSEについて考えているうちに「並列処理能力と汎用性が高いコンピューターにしよう」と、思うようになりました。
そうすれば、より幅広い用途に使えると思ったからです。
たとえば、夏休みの宿題を赤石CPUで全て一気に片付けてしまうなどです。
また、僕は車が好きなので、車載システムの再現も出来ればやりたいと思いました。
アクセルを踏むと、スピードメーターとタコメーターが動くような感じです。
そこで、HORSEを開発・制作したいと考えました。
アーキテクチャ
最も重要なアーキテクチャに関してですが、CPUコアの数は2~4にしたいと思っています。
これにより、並列処理能力を毎秒20回の演算が出来るくらいまで引き上げようと考えました。
また、これまでの問題は毎秒20回の演算にROMが耐えきれなかった点です。
ROMは、最大でも10Hzでしか動かすことが出来なかったため、毎秒20行分の命令を読み出すことが不可能でした。
マルチROMにすれば、解決できましたが、空き容量を別のスレッドが使えないなどの問題が発生するため、あまりいい方法ではないと思っていました。
ですが、今の僕にはsushi memory architectureがあります。
つまり、帯域で困ることはもうありません。
sushi memory architectureには、アクセスにかかる時間が大きいという問題がありますが、それはキャッシュメモリを使うことで解決できる可能性が出てきました。
キャッシュメモリを使うことで、命令の読み出しは条件分岐を除いてほぼカバーできることが分かっているので、あとはデータのアクセスなどを対策していけば、さらに改善される可能性があります。
次に、ストレージですが、HORSEシリーズのストレージにはROMを採用しようと考えています。
理由は、通常のRAMよりもサイズがコンパクトだからです。
なので、電源を入れるとROMの情報をメモリにコピーして、
電源を切るとメモリの情報を消して最初からになる感じになります。
また、I/Oポートの情報は、メモリの特定のアドレスの情報と同期する感じにしようと思います。
後で説明しますが、こうすることで別のCPUが別のI/Oポートにアクセスできるようになります。
拡張性(INFINITY INTERFACE)
サーバーやワークステーションには、高い拡張性が欠かせません。
HORSEシリーズには、独自のINFINITY INTERFACEを搭載することで、これまでの僕のレッドストーンCPUでは不可能だったレベルまで拡張性をアップさせます。
INFINITY INTERFACEは、僕のsushi memory architectureを拡張するもので、HORSEの両端に搭載されます。
HORSEを隙間なく隣に配置すると、自動的に認識され、メモリが接続されます。
つまり、1つの大きなメモリになるわけです。
こうなることで、メモリを経由して隣のHORSEのI/Oポートにもアクセスできるようになり、その分汎用性や拡張性がアップします。
また、プログラムを保存するROMの数も増えるため、実質的に書ける行数もその分増えることになります。
当然CPUコアの数も増えるため、並列処理速度も向上し、より幅広い用途に対応できます。
ただ、欠点が無いわけではありません。
INFINITY INTERFACEは、ループ式のメモリを接続することで、1つの大きななメモリとして扱えるようにする技術でした。
ですが、ループ式メモリには、大容量になればなるほど一周するのにかかる時間が増えてしまう傾向があります。
なので、CPUがデータにアクセスしたくても、そのデータが回ってくるまでに時間がかかってしまい、結局並列処理速度を上げられなくなってしまう可能性があります。
対策法としては、大容量なキャッシュを搭載することがあげられます。
大容量なキャッシュにより、実際にメモリにアクセスしなくてはいけないタイミングを減らすことで、大幅な高速化につながる可能性があります。
ですが、大容量なキャッシュメモリは、サイズも大きくなってしまうので、そこが大きな課題です。
キャッシュにもループ式を使うか考えています。
他には、メモリを大きな一つにするのではなく、複数のループがある状態にする案があります。
この案のメリットとして、メモリアクセスにかかる時間をほぼそのままにしながら、容量を拡張することが出来ます。
ですが、デメリットも当然あり、それはメモリを複数のCPUからアクセスできるような構造にする必要がある点です。
その分配線も増え、構造も複雑になり、スペースを取ってしまうので、CPUのコア数削減やキャッシュ容量削減に繋がってしまう恐れがあります。
このように、INFINITY INTERFACEにはまだ問題が残っています。
結論
いかがでしたでしょうか。
HORSEシリーズは、これまでとは違い、並列処理速度やメモリ容量、拡張性などを重視した比較的大規模なレッドストーンCPUになる予定です。
大規模といっても、これまで通り64×64に収まるサイズにしたいと考えているので、ある程度は現実的なサイズになると思います。
64×64にする理由は、ストラクチャーブロックで扱えるようにするためです。
ストラクチャーブロックで扱えるようにすることで、使い勝手が向上し、さらにワールドに召喚する際も各段にやりやすくなります。
また、必要に応じて隣に召喚すれば、自動的に接続され大型な一つのコンピューターとして機能するので、容量面で困ることは基本的にないと思います。
それでは、最後まで読んでいただき、ありがとうございました!