本文へ移動
コンピュータのしくみ初心者向け基本コース

Computer fundamentals

入力から出力までを、ひとつの基本モデルから見ていく。

この講座では、パーソナルコンピュータ、スマートフォン、サーバーなど、多くのに共通する考え方を、から学びます。を中心に、情報の流れを追います。

!すべてのコンピュータが同じ構造という意味ではありません。基本、実機での変形、異なる計算方式を順に区別します。
STORED-PROGRAM COMPUTER
入力装置
データを受け取る
主記憶:命令・データアドレス・データ・制御CPU:制御・演算
出力装置
結果を外へ返す

これは多くの汎用コンピュータを理解するための出発点です。やアプリも主記憶へ読み込まれ、CPUが実行します。

01 ・ Foundation model

ノイマン型コンピュータを、学習の出発点にする。

主記憶に命令とデータを置き、CPUが命令を読み出して実行する関係から全体を見ます。

START HERE
入力装置
  • キーボード
  • マウス
  • マイク
  • カメラ
  • センサー
入力データ
主記憶 ⇄ CPU
入力装置と出力装置も、入出力回路とバスを介してCPU・主記憶と情報を交換します。
処理結果
出力装置
  • ディスプレイ
  • スピーカー
  • プリンタ
  • モーター
VN

基本モデル:命令とデータを主記憶へ置き、CPUが実行する

各部分を選ぶと、命令・アドレス・データ・制御信号の役割を表示します。

学習地図を見る →

、GPU、NPU、各種コントローラは、多くの実機でこの基本モデルに重なる拡張として学びます。異なる計算方式まで、すべてをこの図へ押し込めるものではありません。

02 ・ Model scope

基本モデルが説明する範囲を、最初に知る。

「広く使える説明」と「すべてが同じ構造であること」を混同しないため、三つの段階に分けます。

IMPORTANT
FOUNDATION

まず、共通する基本を学ぶ

多くの汎用コンピュータは、プログラムを記憶し、CPUが命令を読み出して処理するモデルで説明できます。本講座の第0〜第8章は、この共通部分を軸に進みます。

MODIFIED / HYBRID

実機では、変形と分担が加わる

命令用とデータ用に分かれたキャッシュ、複数のCPUコア、GPUやNPUなどを組み合わせます。ソフトウェアからは一つのコンピュータに見えても、内部はになっています。

ALTERNATIVE

異なる計算方式も存在する

マイコン、などは、ノイマン型だけでは十分に説明できません。

この講座の読み方最初にノイマン型で共通部分を理解し、次に現代の実機で加わる拡張を重ね、最後に異なる計算方式とハイブリッド構成を比較します。

03 ・ Five functions

基本モデルを、5大機能として読む。

入力、記憶、演算、制御、出力を、主記憶とCPUの関係へ対応づけます。

01 ・ INPUT

入力

人や環境の状態を、コンピュータが扱えるデータへ変える。

キー・タッチ・マイク・カメラ
02 ・ MEMORY

記憶

主記憶が、命令と処理対象のデータをアドレス付きで保持する。

命令・データ・アドレス
03 ・ ARITHMETIC

演算

ALUとレジスタが、計算、比較、論理演算を行う。

ALU・汎用レジスタ
04 ・ CONTROL

制御

制御装置が命令を読み、各部へ制御信号を送る。

PC・命令レジスタ・制御信号
05 ・ OUTPUT

出力

内部の数値を、光、音、印刷、通信、物理的な動きへ変える。

表示・音・プリンタ・モーター
補助記憶と通信SSD、HDD、ネットワークは、主記憶との間でプログラムやデータをやり取りする入出力として基本モデルへ接続します。

04 ・ Instruction & data

「G」が画面に見えるまで。

入力データと、主記憶に置かれた命令をCPUがどのように処理するかを追います。

READY ・ 0 / 8
G?

Gキーを押して、データの旅を始めよう

同じ「G」が、入力情報、文字、画素、光へと意味と表現を変えながら進みます。

OVERVIEW
SSD / HDDアプリやフォントを必要に応じてへ読み込む保管庫です。キャッシュされた情報を使えるため、キーを押すたびに必ずSSDへアクセスするわけではありません。

05 ・ Beginner course

初心者向け、6つの学習ページ。

入口から出口まで、コンピュータの中で情報が進む順番に並べました。CPUとGPUは既存の詳しい教材を利用します。

FOLLOW 01 → 06
01
DETAILED LESSON

入力装置のいろいろ

操作、音、光、周囲の変化をデータへ変える

入力の入口へ →
04
CPUEmulator ・ EXISTING

CPUってなに?

命令を読み、計算・判断・制御を行う

CPU教材へ →
05
GPUEmulator ・ EXISTING

GPUってなに?

画像処理と同じ形の大量計算を分担する

GPU教材へ →
発展内容OS、ネットワーク、実機の拡張、ノイマン型と異なる計算方式は、6つの基本ページを学んだ後に進む内容として、このトップページ後半に残します。

06 ・ Learning labs

見るだけで終わらない、2つの実験室。

CPUEmulatorは基本モデルの命令実行を、GPUEmulatorは現代の並列処理との役割分担を観察する教材として統合します。

CPUEmulator を利用

CPUの命令を、1クロックずつ追う。

主記憶から命令を読み、制御装置とALUが「5+3」を実行する過程を観察します。

  • プログラムカウンタ、命令レジスタ、ALU
  • フェッチ、デコード、実行
  • (4bit)と系(8bit)
GPUEmulator を利用

CPUとGPUの役割分担と、並列計算を見る。

CPUが仕事を登録し、GPUが多数の処理単位へ分配して、結果をメモリへ戻す流れを学びます。

  • CPU、主記憶、GPUの接続
  • 8レーン並列加算
  • スケジューラ、演算器、レジスタ、VRAM

07 ・ Model extensions

ノイマン型を基礎とする実機へ広げる。

高速化、並列化、専用化、通信の仕組みを、CPU・主記憶・入出力のどこへ接続されるかで整理します。ここでは基本モデルと連続して説明できる拡張を扱います。

キャッシュCPUと主記憶の速度差を埋める
マルチコア複数の命令列を並行して実行
GPU描画と大量並列計算を分担
NPUAI推論の演算を分担
SSD・補助記憶と主記憶を接続
コントローラと装置を接続
ネットワーク離れたコンピュータとの入出力
電源・冷却システムを安定して動かす

08 ・ Beyond the model

基本モデルと異なる計算方式も比較する。

「現在のコンピュータはすべてノイマン型」ではありません。違いを知ることで、基本モデルをどこまで使えるかが明確になります。

CHAPTER 09

ハーバード型マイコン

命令用とデータ用の記憶・バスを分けます。AVRなど、実際の組み込み機器で使われる明確な反例です。

実用・プログラム内蔵型

量子プロセッサ

量子ビットへゲートと測定を適用します。通常は古典CPUが制御するため、システム全体はハイブリッドです。

異なる計算原理・ハイブリッド

ニューロモーフィック

神経細胞の発火をまねたイベント駆動・並列処理を行います。Intel Loihi 2は研究用の実例です。

研究・脳型計算

インメモリ計算

記憶する場所で演算し、CPUとメモリ間のデータ移動を減らします。アナログ方式を含む研究が進んでいます。

研究・専用アクセラレータ
GPUの位置づけGPUは単純な反例とはせず、まずプログラムで動く並列処理装置として第6章で扱います。その後、CPU・GPU・専用装置を組み合わせる現代のハイブリッド構成として整理します。

Next step

基本モデルで共通部分をつかみ、実機との違いを重ねよう。

最初の問い:なぜノイマン型を出発点にし、どの計算方式にはそのまま当てはめないのでしょうか。