コンピュータシステム A (2013年度春学期 月曜日4限)

補講のときに、受講生からあがった質問を軸とした幾つかの技術的な事項に関する議論を行った。
Q1. コンピュータがどうやって実行するプログラムを解釈しているか。
はじめ処理系の話かと思ったのだが、どうやら OS のことを聞いていたようなのでそちらを重点的に説明。
つまりメモリにプログラムを書き込んで CPU にここへ行ってこい、とハードを直接操作するケースからはじめて、そのあたりを支援する OS の存在を説明。CUI, GUI はユーザの振る舞いを監視して、実行すべきプログラム(アプリケーション)を選択してメモリに読み込んで実行させているのだ、という話。
Q2. Flash メモリとして売られている製品に SD, microSD, USB 等あるが、何が違うのか
何も違わない、と説明。中身はフラッシュチップとインタフェイスチップだけ(基本は)であり、工場から出てくるチップは全く同じものが使われている。8GB, 4GB などの製品差も下手をすると積層数が違うだけでチップ(シリコン)そのものは同じもの、という説明。
また何故そのようなことが起きるのか、を、半導体製造の性質(研究開発費込みで超高額の工場を建てて、売れる品種を短期間大量生産するサイクルを突っ走っている)に合わせて説明。
またハイエンドの半導体はもはやそのようなサイクルを回せる僅かの製品(CPU, DRAM, Flash あたり)でしか作れないこと等々。
だから CPU も品種多いように見えるけど実は同じものだったりする等。
Q3. Android の方が iPhone よりスペック的には高いのになぜ iPhone の方がサクサク動くのか
様々な説明が可能で、かつどれが最も支配的な存在かを確定することはとても困難であることを前提に、Apple が垂直統合・少品種長周期の製品設計・展開をしていることを軸に説明。上はサービスから、底は CPU 設計まで、全部を自分達でコントロールしている Apple の体勢(狙い)を Android のフラグメントした状況と対比。
昔と違って今は多くの製品がソフトとともにあるため、アップデートが必要であることを Prius なども引いて説明。また Windows XP を例にセキュリティ上の理由で必要どころか不可避であること、そしてサービスの変化(古いサービスの終了)があるために古い製品がそのまま動き続けることすらできない状況にあることを説明して、今の状況でサービスからハードまで統合してデザインすることの利益をできるだけ説明。
(しかしこの種の話は余りに複合的なのに、少し一方的に過ぎた感が残る)

他にも CPU の「ステッピング」について質問があったが「ステッピング」の意味が分からず検索。 見るとどうも技術的には様々なことを合わせていっているようで(CPU の外部(特に論理)仕様を変えずに歩留まりあるいはコスト効率を高めるための手法全部をひっくるめて言っている?)、それぞれの手法の意味についてそれまでのクラスの中で採り上げたことなどを引用しつつ説明。


<<Back
Yutaka Yasuda (yasuda@cc.kyoto-su.ac.jp)