n AIは計算機で作成されることが多い
u 計算機ができたことで,AI研究が盛り上がった
u 計算機はそもそもどんなもの?
p 計算機はどういう仕組みでできている?
p 計算機はどういう仕組みで計算している?
p (なんで,それで知能ができるの???)
2
Slide 3
Slide 3 text
日用品過ぎて謎の存在コンピュータ
n Computer?
u Compute=“計算する”を意味する動詞が元
p 我々が今,一般にいう「コンピュータ」登場以前は
計算を行う人を指して「 Computer」と呼称
u この講義では計算機とコンピュータを同義で呼称
u 実は「コンピュータ」は「そろばん」とほぼ同じ
3
Slide 4
Slide 4 text
映画:Hidden Figures
n マーキュリー計画に参加し
た Computer(右の3人の女性)
が主人公の映画
u 日本題:ドリーム
u 半分以上は実話
u 初期のプログラミング言語
FORTRAN の話も出てくる
4
※ マーキュリー計画:1958年〜1963年
IBM 7090 は 1959年に完成,導入
本作品で主人公(ポスター真ん中)として取り上げられた
キャサリン・ジョンソン博士は2020年2月に101歳で逝去
Slide 5
Slide 5 text
IT, ICT
n IT
u Information Technology
u 情報技術
n ICT
u Information/Communication Technology
u 情報通信技術
5
Slide 6
Slide 6 text
情報処理と情報通信
n 情報通信:入力=出力
n 情報処理:入力 = 出力
/
6
Slide 7
Slide 7 text
コンピュータの基礎構成要素
n 基本は3種類:入力・演算(処理)・出力
f(x)
入力 演算 出力
7
Slide 8
Slide 8 text
コンピュータの基礎構成要素
n 基本は3種類:入力・演算(処理)・出力
入力
演算
出力
8
Slide 9
Slide 9 text
コンピュータの基礎構成要素
n 演算部分が本体
u パソコンを買うときによく聞く単語=重要な要素
G
PU
メモリ CPU
HDD/SSD GPU
データを記録 データを処理
9
Slide 10
Slide 10 text
コンピュータの基礎構成要素
n ハードウェアを制御するためにはソフトウェアも
G
PU
BIOS
OS
アプリ アプリ
ミドルウェア ミドルウェア
10
Slide 11
Slide 11 text
コンピュータの基礎構成要素
n ハードウェアを制御するためにはソフトウェアも
G
PU
BIOS
OS
アプリ
ミドルウェア
ソフトウェア
ハードウェア
11
Slide 12
Slide 12 text
n “計算”は文明の構築に不可欠な要素
u 暦の策定,建造物(ex.ピラミッド)の構築,などなど
u 補助ツールとしての計算機もいろいろ
計算機色々
砂そろばん
(メソポタミア?)
千 百 十 一
算木
(中国?)
計算尺
※ Description: Calculator Triumphator CRN1 build 1958 in
Germany (DDR) * Source: made by author * Date: 2006-02-12 *
Author: Hannes Grobe
手回し式計算機※
12
Slide 13
Slide 13 text
コンピュータの計算原理
n 実は「コンピュータ」は「そろばん」とほぼ同じ
13
Slide 14
Slide 14 text
コンピュータの計算原理
n 電磁リレー
u 電磁石を使って,回路をON・OFF
n 真空管
u 電気的に,電気のON・OFFを制御
n トランジスタ
u 真空管をもっと進化させたようなイメージ
「そろばん」の“珠”を,スイッチで表現
14
Slide 15
Slide 15 text
スイッチの原理
n リレー回路の場合は単純な電磁石の仕組み
u 電気を通すと,磁石の力でスイッチON
u 電気を止めると,磁力が消えてスイッチOFF
×
15
最古の(電子式)コンピュータ…?
n 定義によるが,多くの場合…
u ABC:Atanasoff-Berry Computer
u ENIAC: Electronic Numerical Integrator and Computer
時期的には1940年代,第2次世界大戦中に開発
ENIACは特に,弾道計算を目的に作成された
17
Slide 18
Slide 18 text
余談:類するもの
n Enigma,Bombe,COLOSSUS
u ABC,ENIACと同時期に作成された計算機
u 暗号生成・解析用
※ A rebuild of a British Bombe located at Bletchley Park museum. Photographer: User:Tom Yates
Enigma
Colossus Mark-I
Bombe※
これらは特定の暗号生成・解析しかできず,さらにEnigmaはほぼ機械式
18
Slide 19
Slide 19 text
ポイント
n この時代のコンピュータは,ハードウェア的に
プログラムを作成するものが多い
u 「4+8」を計算させるとして,回路上の線などを
物理的に差し替えることで実行
n ただし,基本的な原理は現在も変わらず
u 大まかには,小型化&高速化したもの
情報空間=「仮想世界」,物理空間=「現実世界」???
小型化・ブラックボックス化により
現実感がないが,当然,物理的な動きに根ざす
19
Slide 20
Slide 20 text
ABC vs. ENIAC
n 書籍やWebサイトにより「世界最初の電子式コン
ピュータ」や,その成立年には揺らぎ…
u 定義の仕方により見解が分かれる
u 多くの場合でABCもしくはENIACがあげられ,後者が主
流
n 成立年の揺らぎについて(※トリビア)
u どの論文・特許・レポートなどを用いるかによる
n ABCとENIACの揺らぎ
u 「電子式コンピュータ」の定義等による
20
Slide 21
Slide 21 text
ABC vs. ENIAC
n ABC
u 二進法によるデータ表現
u 機械的なデバイス(歯車や機械的スイッチ)を用いず,
電子的に計算を実行
u 計算をする部分とデータを保持する部分メモリを分離
u 非プログラム内蔵方式
u 連立一次方程式を解く機能のみを実現
n ENIAC
u 10進法によるデータ表現
u 機械的なデバイス(歯車や機械的スイッチ)を用いず,
電子的に計算を実行
u 計算をする部分とデータを保持する部分メモリを分離
u プログラム内蔵方式(後になってから)
p チューリング完全(ここでは様々な計算問題を解ける…位でOK)
21
Slide 22
Slide 22 text
この時代のコンピュータの基礎構成要素
メモリ (計算用回路) 出力
電気を貯める 電気を流す・止める 光る
22
Central Processing Unit
Slide 23
Slide 23 text
この時代のコンピュータの基礎構成要素
n CPU,メモリ,などはすごそうだ(実際スゴイ)が,
基本的には下のような回路のちょっとスゴイ版
電池
スイッチ
×電球
23
Slide 24
Slide 24 text
プログラム内蔵方式
n メモリ上にプログラムを読み込み,実行する
u <-> ワイヤードプログラム方式
p 回路上で,線(ワイヤー)を繋いでプログラムを表現する
24
ENIACの操作風景
ケーブルを抜き差ししている
2進数における n bit の演算
n n-1 n-2 … j … 1 0
IA
IB
O
0桁目があるので,これで n bit
n bit 同士の足し算では,最大 n+1 bit
j 桁目の出力を決める要因は…?
IA,j
, IB,j
と (IA,j-1
+ Ib,j-1
)の桁上がりの有無
55
2進数における N bit の演算
IA
IB
O1
O2
IA
IB
O1
O2
IC
IA
IB
O1
O2
IC
IA
IB
O1
O2
IC
IA,0
IB,0
IA,1
IB,1
IA,2
IB,2
IA,n-1
IB,n-1
…
O0
O1
O2
On-1
On
…
58
Slide 59
Slide 59 text
シークエンス回路
n 順序回路とも
n 単純な論理回路だけでは状態が保持できない
u 2入力の回路で,1+2+3 を実現するには…
p 1+2 の結果(A)を求める
p Aの状態をセットし,A+3の結果(B)を求める
n 過去の状態も参考に,出力を決められる回路
n “遅延(Delay)”要素によって過去状態を保持
自動でセットしたい
59
Slide 60
Slide 60 text
シークエンス回路
論理回路
入力 出力
内部状態
次の
内部状態
D
D
D
遅延回路
60
Slide 61
Slide 61 text
シーケンス回路の構成要件
n 「出力を入力につなげば,前の状態を取り込める」
という発想自体は理解できる
n 単純に,出力を入力に戻してOKか?
u 「ラットレーシング」現象
p 入力と出力が区別できなくなりループしてしまう…
61
Slide 62
Slide 62 text
シーケンス回路の構成要件
n 入出力の対応を明確にするために,
何らかの「カウンタ」を持ち込んではどうか?
u 状態1に対する出力を,状態2の入力に…
n 「カウンタ」をどう実現?
u 発振回路:一定の周期で電圧を上下させる仕組み
n 「カウンタ」に対応させた出力の入力をどう実現?
u 遅延回路:カウンタに応じて前の状態を戻す仕組み
62
Slide 63
Slide 63 text
発振回路
n 水晶の圧電効果を用いるものが一般的
u 原理や回路についてはここでは省略
n 発振回路によって,特定の周波を得ることができ,
これをクロック信号(カウンタ)に利用
t
1t
63
Slide 64
Slide 64 text
発振回路
n 実は発振回路は非常に身近
u CPUにおける重要な要素の一つ
n これらの数値が発振回路のクロック周波数
u 1秒あたりのカウント回数( ≈ 計算回数)
64
Slide 65
Slide 65 text
クロック周波数
n 1秒間に刻むクロックの数
n 動作周波数とも
n 単位はHz(ヘルツ)
u 1秒間に10回のクロックを刻む場合,10Hzと表現
n このクロックを回路(コンピュータ)全体で
共有することで,同期をとる
65
Slide 66
Slide 66 text
遅延回路
n 単位遅延(1t分の遅延)で,出力を戻す回路
u n回単位遅延させることで,任意の時間の遅延も実現
φ1
φ2 t
φ1
φ2
O
I
一瞬だけ電気(電荷)
を保持できる部品
キャパシタ
(≈コンデンサ)
パストランジスタ
(スイッチの⼀種)
66
Slide 67
Slide 67 text
パストランジスタ
n P型とN型のトランジスタを組み合わせた
( Complementary :C型 )のトランジスタ
u ここではP型,N型の欠点を相補するスイッチ
…といった程度の認識でOK
I O
G
G
I O
G
67
Slide 68
Slide 68 text
レジスタ
n メモリ(データを保持する回路)の一種
u 先の遅延回路の応用の一種ともいえる
n 特に“内部メモリ”として利用
I
φ1
・Wt φ2
φ1
・Wt
φ1
・Rd
O
68