見出し画像

スキ!御礼!ハードとソフトの歴史的な役割の変化。ハードワイヤード+コマンドという組み合わせ。

タイトル画像:ファミコンの写真。懐かしいっす。

8ビットのファミコン。

ドットで粗く書かれた色数も少ないキャラ、しかも小さい。音もピコピコと表現される程度の能力。しかし!

「その時代では超画期的」だったのです。

それを支えたのは「ハード」。

ちなみに、書き終わって気付きました。図を一切使わずこの話が書けました!このあと、図は出てきません!

ファミコンのスペックはSwitchの1/1000

動作クロック 1.79MHz

色々な数値はありますが、今回の話に関連する基礎的なところを出しました。

こんな感じ…ですが、今のゲーム機と比べてみましょう。同じメーカーで見ると、Switchになります。実はそれほど高機能を追求したマシンではないのですが、結構違います。

動作クロック(可変MAX)1.7GHz

この時点で約1000倍。

CPUのクロックとは

ゲームの動作、描画の指示、ユーザーの操作の制御をするCPU。やることが高度になれば、1秒間にできる命令の数も多くなります。

なので、遅いより速い方が良い。

でも、そうなればCPUの価格も上がりますし、消費電力も上がる。冷蔵庫のような大きさのゲーム機を作るわけにもいきません。

どこかでバランスを取る必要があります。

高機能を目指しながらリーズナブルな価格にするために色々な手がありますが、今回は「ハード」の役割について考えてみます。CPUが担当するのは「プログラム=ソフト」。

CPUでなんでもできる

プログラムで全てを制御することはできます。

音を出すのも、波形を計算して、周波数を決めて、それをループして順番に再生回路に送り出せば。

絵を描くなら、ドットを一つずつ画面の定められた部分に描画していく。

なので、動作周波数は高いほど良い、というのは分かりやすい。

しかし、これだと「バランス」を考えると、限界はあります。製品として販売できるような価格に使える程度のCPUだと、今のゲームのような処理は全部できません。

そこでハード

「何を」をCPUが指定。そのあと、「描く」という動作は比較的定型作業。

ならば、そこから先は別の専門的な機械に任せてしまう、という方法があります。

ドットを画面上に決められた手段で埋めていく、などの単純作業部分。

これを、CPUの命令で行うのではなく、単純作業専用の機械で行う、というものです。ハード=機械。電気信号を処理する回路です。

決められた動作しかできませんが、命令によらず自動で電気信号を処理するので、格段にスピードが速い。

これだと、CPUは命令に専念でき、回路の方が一生懸命働きます。

じゃあ全部そうすればいいのに、という疑問も。

ゲームの処理は幅広い

単一の製品を大量に長時間作るというような場合は、ハードが向いています。ただし、ハードを作るのに、時間もコストもかかります。

CPUでは、あれこれ毎回やることが違っても、プログラムで対応できる。なので、動作を速くすれば色々対応できてしまう。マリオが飛んだり、サッカーやったりするわけですね。

そのため、大量生産・単一動作、などの場合はハード化しますが、ゲームのような「毎回やる事が変わる」ものはプログラムで。

そこまでやればあとは自動的に…から先をハードに任せる形にしたのがゲーム機。

マシンの性能評価はクロックだけではない

ファミコンは、当時の技術で、このバランスがうまくいった例。

なので、クロックは低くても、命令を下流に流せば、力技の処理はハードが担当し、当時としては高度なゲームが作れたわけです。

今のゲーム機だと、GPUという画像描画に特化した部分の性能と合わせて、全体のマシン性能を見ることになります。

これで、ある程度の動作周波数のCPUと、強力な描画専用マシンで、高度な絵を実現する、と言うわけです。

ファミコンもその当時は「高度な絵を実現」してたんです。さらにファミコンの場合、サウンドもハード化してたので、それも合わせて「高性能」なマシンだったわけですね。

ファミコンの場合、8×8ドットの単位のタイルをハードが貼りまくることで、一つ一つのドットを描くより、高速に絵を出していました。

64の場合、3Dの絵でまるで映画風の流れを作っていたのですが、CPUは指令を出すだけ、ハードであるGPUがガリガリ絵を描く、ということで、大きいサイズのムービーデータを使わず、カセットの中のリソースだけで素晴らしい体験を作っていました。

今後のプロダクト

ゲームをやる、ということであればこの話ですみますが、何やるか分からん!という場合は、CPUの関与の割合が高くなります。

何に使うかわからん!という代表がPCです。

ただ、最近はPCのコンテンツの中でゲームに期待する割合が大きいので、

CPU+GPU+サウンドチップ

の組み合わせは続くでしょう。

名言風に

クロック?そんなのワイヤードでしっかり設計できてりゃ、遅くたって良いんだよ。フラグ出すだけなんだから。

フラグ出せばいいんだから…

(結構ベテランのLSI設計をした人などが数名うなづいているのが見えます…)



まだまだ色々と書きたい記事もあります。金銭的なサポートをいただけたら、全額自分の活動に使います!そしたら、もっと面白い記事を書く時間が増えます!全額自分のため!