コンピュータアーキテクチャ
コンピュータアーキテクチャ
学習目標
- 1回の講義で全部やるのは無理がある
- ここで扱うのはハードウェアアーキテクチャ.コンピュータの基本要素として出した「演算装置」と「記憶装置」について
- 最近は記憶装置のイメージが曖昧になり始めている(ダウンロード型が増えてきている)のが,不安ではある
- 基礎知識
- 演算装置と記憶装置をざっくり説明
- 演算装置の分類
- 中央処理装置
- 画像処理装置 (GPU, PPU)
- 記憶装置の分類
- 主記憶装置と補助記憶装置
- (レジスタ:演算装置の説明の時に出す)
- キャッシュとかは省略.ゲーム機のスペックとして出てくる範囲で
- ここで学習者が「???」となってもあまり気にしない.これから出てくる具体例を理解するための前ふり.
- よく使われる例え
- 中央処理装置=脳みそ,主記憶装置=作業机,補助記憶装置=本棚
- 画像・音声処理装置=専門の職人
- 脳みそがパワフル=計算速度が速い,作業机が広い=一度に広げられるデータの数量が増える,本棚が大きい=取り出せるデータの量が増える
- ゲームのハードウェア
- 本体の中身(日経エレクトロニクスの分解記事を参照)
- 補助記憶装置
- 補助記憶装置=ゲームメディア
- 光ディスク,HDD,フラッシュメモリ
- ROMカートリッジ(外付けの読み出し専用記憶装置)
中身は実際のファミコンカートリッジを分解したものを見せる(中古屋で100円くらいの安いものを入手)
- 主記憶装置の仕組み
- 電源を切るとデータが消える
- 補助記憶装置の存在する意味
- 読み書きが低速だが安価
- それだけではゲーム進行には支障があるので,主記憶装置に今使うデータを広げる
- 「今使うデータ」をうまく選択して持ってくるテクニックが必要
- 先ほどの【脳みそ・机・本棚】とも合わせて説明
- 記憶装置の種類
- マスクROM, 光ディスク, HDD, フラッシュメモリ, ...
- 昔は磁気テープ,磁気ディスクも
- 要するに0と1の2通りで表せて,コンピュータが読み取れるならどんな装置でも良い.バーコードでもいい(バーコードバトラー(1991, エポック社)
- なんなら人を使っても良い → ふっかつのじゅもん
ゲーム機の中身
- 参照:「日経エレクトロニクス分解半の軌跡」 http://techon.nikkeibp.co.jp/NEWS/disassembly/
- 最新電子機器を発売直後に分解して構造を解析
- テレビゲーム機も対象
- ハードウェアアーキテクチャを説明するのに適した資料がいっぱい
- PS3初期版 http://techon.nikkeibp.co.jp/article/NEWS/20081009/159404/?P=9
- CPU: CELL (SCEが主導で開発されたCPU.7個のコプロセッサを内蔵.)
- CPUが2つ(1つはPS2のゲームを動作させるためのもの.独自規格過ぎてCELLでは再現しきれなかったらしい.後の廉価版ではPS2のCPUを削除)
- ファミコン: (画像)
- 今も昔もハードウェアの構成要素に違いは無い,という事例として使用
- 中央処理装置: 1.8MHz,主記憶装置 2kB
- 演算装置
- 性能指標:クロック周波数とビット幅
- 処理しきれる以上の命令がやってくると→ 「処理落ち」
- 主な現象は「画面上のキャラクタの動きが遅くなる」.
- 大量のキャラクタの動きが重なるとよく発生する→CPUが時間内に処理できる範囲を超える命令が来てしまい,その処理に時間がかかる
主記憶装置のサイズの変遷
機種 | 発売年 | サイズ |
ファミコン | 1983 | 2kB |
スーパーファミコン | 1990 | 128kB |
ニンテンドウ64 | 1996 | 4.5MB |
プレイステーション2 | 2000 | 32MB |
プレイステーション3 | 2006 | 256MB |
PS Vita(携帯ゲーム機) | 2011 | 512MB |
プレイステーション4 | 2013 | 8GB |
- 同時期のパソコンと比べるとかなり少ない
- ゲーム用途に特化した設計なので,パソコンほど大量に積む必要ない
- コスト削減の意味もある
- 最近はゲーム以外の役割も多数持つように→PS4の大容量主記憶装置
主記憶装置の使い方
- 主記憶装置の容量が少ない場合
- PCエンジン CD-ROM^2:補助記憶装置:640MB(CD-ROM),主記憶装置:8KB+拡張64KB
- 当時のCD-ROMドライブは「等速」
- 場面転換のたびに,6秒くらいロード待ち
- 開発者曰く「池からバケツで少しずつ水をくみ出すようなもの」 (「ゲームセンターCX」 広井王子氏インタビューより)
- PCエンジン CD-ROM^2:補助記憶装置:640MB(CD-ROM),主記憶装置:8KB+拡張64KB
ソニック(名前忘れた.後で確認)
- 検証映像: http://www.youtube.com/watch?v=9YJNckvunCY
- 当時「Now Loading」が頻発しすぎと話題になったゲームの事例.人気シリーズものだっただけに大騒ぎに.
- 「自分のところではここまでひどくなかった」という意見もあり,環境による可能性もある.
- 他のシリーズではここまでの現象は起こらない.
- ぺた語義記事の,図3の元ネタはこれです
- 当時「Now Loading」が頻発しすぎと話題になったゲームの事例.人気シリーズものだっただけに大騒ぎに.
PPU
Picture Processing Unit
- ファミコンで搭載
- GPUと名前が異なる理由は・・・よく知らない
GPU
Graphics Processing Unit
- 画像処理は別の演算装置を用意しているゲーム機がほとんど
Blu-ray Disk
- 最大50GB(2層)
- PlayStation3,4のメディア
- 2014年2月時点で,ゲーム機に利用されている読み出し専用メディアとしては容量最大
バッテリーバックアップ
- 低電圧でデータ保持が可能なSRAMに,電池で電源供給し続けることでデータを保存
- 1980年代後半〜1990年代のゲームソフト(ROMカートリッジ)で,よく使われていたゲームデータの保存方式
磁気記憶装置(ゲーム)
- ディスクカード (画像:Wikipedia)
- クイックディスク規格 (両面合わせて112KB)
- ケースの形状のみ,通常のクイックディスクとは微妙に異なる
- クイックディスク規格 (両面合わせて112KB)
- 64DDディスク (画像:Wikipedia)
- 64MB,うち半分以上が書き込み領域
- 1つのゲームに割り当てる書き込み領域としては,当時はかなりの大容量
- 64MB,うち半分以上が書き込み領域
- カセットテープ
ドラゴンクエスト(1986, エニックス)
ふっかつのじゅもん
- ゲームの進行状況を表す,20文字のひらがな文字列
- よく「パスワード」と呼ばれる方式だが,個人認証で用いるパスワードとは意味が異なる
- ゲームを中断するときに,そのひらがなを(手書きで)メモ
- 次にゲームを開始するときに入力すると,ゲームを再開可能
- 使用可能なひらがな:64文字
- ひらがな1文字あたり6bitのビット列に対応
- 6bit x 20文字 = 120bit のビット列を,「ひらがなの列」というメモしやすい形にして人間に記憶させる方式
- 今試すなら,復刻版でも(http://www.dragonquest.jp/25th/dq123/ 2011, スクウェア・エニックス)
ドラゴンクエストIII (1988, エニックス)
- バッテリーバックアップによるゲーム保存方式を採用
- ゲーム終了時には「リセットボタンを押しながら電源を切る」必要あり
- リセットボタン押下中はカートリッジへの信号が途切れるため.電源OFFによるノイズを防ぐための手段
- 後のゲーム機はバッテリーバックアップの存在を前提とした機構になったため,リセットボタン押下のテクニックは不要
- ゲーム終了時には「リセットボタンを押しながら電源を切る」必要あり
- 電池が切れると・・・ → ぼうけんのしょはきえてしまいました http://www.youtube.com/watch?v=gQf_QTsvXCU (YouTube)
- 矛盾に気づく学生は案外少ないが,正確にはこれは「電池が切れた時の挙動」ではない
- 電池が切れる→データが消える,ということは「データが存在した」こと自体を把握する手段がない
- データが消えた事を把握できる → 「正常なデータ」が消えた,という意味(誤ったデータが存在している)
- 情報論に関連するネタ
- 矛盾に気づく学生は案外少ないが,正確にはこれは「電池が切れた時の挙動」ではない
ニンテンドウ64 (1996, 任天堂)
- 名称の"64"は,CPUのビット幅
- 当時の主流ゲーム機はいずれも32bitCPUを使用
- 主記憶装置を拡張できるゲーム専用機(唯一?)
- 4MB拡張RAM
セガサターン (1994, セガ)
- 32bitCPUを2個搭載
- 当時のキャッチフレーズは「64bit級」・・・っておい.
- 参考: http://www.youtube.com/watch?v=SYKR7MW0WPk (Ecco The Dolphin Saturn CG Promo - Sega VHS 1994 0:20あたりから)
- 当時のキャッチフレーズは「64bit級」・・・っておい.
沙羅曼蛇 (ファミコン版, 1988, コナミ)
- 処理落ちの事例として使用
- ステージ2: 上から隕石が大量に降ってくる場面でレーザーを撃ちまくると,全体の動きがゆっくりになる
- 実機でデモするにはその場面まで行くのに時間がかかるのと,大体そういうときに限って操作ミスしまくるので,事前にビデオに収録
CPUの性能
ファミコン | 8bit | 1.79MHz |
スーパーファミコン | 16bit | 3.58MHz |
プレイステーション | 32bit | 33.9MHz |
ニンテンドウ64 | 64bit | 93.8MHz |
プレイステーション2 | 128bit | 295MHz |
- 近年はマルチコアプロセッサが主流になり,単純に数値での性能指標がしにくくなってきた(ので説明しにくい・・・)
PCエンジン CD-ROM^2
- 補助記憶装置・・・640MB (CD-ROM)
- CPU・・・クロック数: 7.16MHz,ビット幅:8bit
- 主記憶装置・・・8kB+64kB
- 実質,大容量のCD-ROMの大部分は「生歌・生演奏」(つまり音楽CDとしての再生)が占めていた
カセットビジョン
- ゲーム機本体にCPUがない
- カートリッジ内にCPUとゲームデータをセットにした1チップを搭載
- 本体価格を抑えることには成功,だがソフトウェアの価格は情報
- カートリッジ内にCPUとゲームデータをセットにした1チップを搭載
その他
- 外国のプロレスゲームで,Now Loadingの頻度や長さが上記のゲームの比でないレベルのものもあったのだが,タイトルを失念.