Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
シリーズAI入門:3. 計算機の仕組み
Search
FSCjJh3NeB
February 03, 2021
Education
0
100
シリーズAI入門:3. 計算機の仕組み
AIの作成に用いられることが多い,計算機の仕組みについて眺めます。
FSCjJh3NeB
February 03, 2021
Tweet
Share
More Decks by FSCjJh3NeB
See All by FSCjJh3NeB
シリーズAI入門:13b 生成AI
2hz9qeedd
1
140
Stats of bioRxiv (2021)
2hz9qeedd
0
78
シリーズAI入門:1. ガイダンス・AIの概要
2hz9qeedd
0
190
シリーズAI入門:2. AI研究の歴史
2hz9qeedd
0
230
シリーズAI入門:4. 人間の情報処理の仕組み
2hz9qeedd
0
220
シリーズAI入門:5. 第1次AIブーム 探索
2hz9qeedd
0
150
シリーズAI入門:6. 第2次AIブーム 知識ベース
2hz9qeedd
0
150
シリーズAI入門:7. 第3次AIブーム パタン認識
2hz9qeedd
0
260
シリーズAI入門:8.AIを巡るいくつかの問題
2hz9qeedd
0
140
Other Decks in Education
See All in Education
Web 2.0 Patterns and Technologies - Lecture 8 - Web Technologies (1019888BNR)
signer
PRO
0
2.5k
(2024) Couper un gâteau... sans connaître le nombre de convives
mansuy
2
160
2024年度秋学期 統計学 第2回 統計資料の収集と読み方(授業前配付用) (2024. 10. 2)
akiraasano
PRO
0
100
TP5_-_UV.pdf
bernhardsvt
0
120
脳卒中になってしまった さあ、どうする
japanstrokeassociation
0
1.1k
HCI Research Methods - Lecture 7 - Human-Computer Interaction (1023841ANR)
signer
PRO
0
750
コンセプトシェアハウス講演資料
uchinomasahiro
0
520
自分にあった読書方法を探索するワークショップ / Reading Catalog Workshop
aki_moon
0
230
BrightonSEO, San Diego, CA 2024
mchowning
0
100
ルクソールとツタンカーメン
masakamayama
1
1.1k
オープンソース防災教育ARアプリの開発と地域防災での活用
nro2daisuke
0
200
Ch2_-_Partie_2.pdf
bernhardsvt
0
110
Featured
See All Featured
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
232
17k
Producing Creativity
orderedlist
PRO
341
39k
4 Signs Your Business is Dying
shpigford
181
21k
Adopting Sorbet at Scale
ufuk
73
9.1k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
127
18k
Code Reviewing Like a Champion
maltzj
520
39k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
48k
Why You Should Never Use an ORM
jnunemaker
PRO
54
9.1k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
132
33k
The Language of Interfaces
destraynor
154
24k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
6
510
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.3k
Transcript
コンピューターの基礎 シリーズAI入門 © FSCjJh3NeB 2021 (※ 但し画像を除く)
n AIは計算機で作成されることが多い u 計算機ができたことで,AI研究が盛り上がった u 計算機はそもそもどんなもの? p 計算機はどういう仕組みでできている? p 計算機はどういう仕組みで計算している?
p (なんで,それで知能ができるの???) 2
日用品過ぎて謎の存在コンピュータ n Computer? u Compute=“計算する”を意味する動詞が元 p 我々が今,一般にいう「コンピュータ」登場以前は 計算を行う人を指して「 Computer」と呼称 u
この講義では計算機とコンピュータを同義で呼称 u 実は「コンピュータ」は「そろばん」とほぼ同じ 3
映画:Hidden Figures n マーキュリー計画に参加し た Computer(右の3人の女性) が主人公の映画 u 日本題:ドリーム u
半分以上は実話 u 初期のプログラミング言語 FORTRAN の話も出てくる 4 ※ マーキュリー計画:1958年〜1963年 IBM 7090 は 1959年に完成,導入 本作品で主人公(ポスター真ん中)として取り上げられた キャサリン・ジョンソン博士は2020年2月に101歳で逝去
IT, ICT n IT u Information Technology u 情報技術 n
ICT u Information/Communication Technology u 情報通信技術 5
情報処理と情報通信 n 情報通信:入力=出力 n 情報処理:入力 = 出力 / 6
コンピュータの基礎構成要素 n 基本は3種類:入力・演算(処理)・出力 f(x) 入力 演算 出力 7
コンピュータの基礎構成要素 n 基本は3種類:入力・演算(処理)・出力 入力 演算 出力 8
コンピュータの基礎構成要素 n 演算部分が本体 u パソコンを買うときによく聞く単語=重要な要素 G PU メモリ CPU HDD/SSD
GPU データを記録 データを処理 9
コンピュータの基礎構成要素 n ハードウェアを制御するためにはソフトウェアも G PU BIOS OS アプリ アプリ ミドルウェア
ミドルウェア 10
コンピュータの基礎構成要素 n ハードウェアを制御するためにはソフトウェアも G PU BIOS OS アプリ ミドルウェア ソフトウェア
ハードウェア 11
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
コンピュータの計算原理 n 実は「コンピュータ」は「そろばん」とほぼ同じ 13
コンピュータの計算原理 n 電磁リレー u 電磁石を使って,回路をON・OFF n 真空管 u 電気的に,電気のON・OFFを制御 n
トランジスタ u 真空管をもっと進化させたようなイメージ 「そろばん」の“珠”を,スイッチで表現 14
スイッチの原理 n リレー回路の場合は単純な電磁石の仕組み u 電気を通すと,磁石の力でスイッチON u 電気を止めると,磁力が消えてスイッチOFF × 15
スイッチの原理 種別 速度 安定性 作りやすさ 電磁リレー とても遅い すぐ壊れる 簡単 真空管
遅い すぐ壊れる すこし難しい トランジスタ 早い まず壊れない 非常に難しい 16
最古の(電子式)コンピュータ…? n 定義によるが,多くの場合… u ABC:Atanasoff-Berry Computer u ENIAC: Electronic Numerical
Integrator and Computer 時期的には1940年代,第2次世界大戦中に開発 ENIACは特に,弾道計算を目的に作成された 17
余談:類するもの 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
ポイント n この時代のコンピュータは,ハードウェア的に プログラムを作成するものが多い u 「4+8」を計算させるとして,回路上の線などを 物理的に差し替えることで実行 n ただし,基本的な原理は現在も変わらず u
大まかには,小型化&高速化したもの 情報空間=「仮想世界」,物理空間=「現実世界」??? 小型化・ブラックボックス化により 現実感がないが,当然,物理的な動きに根ざす 19
ABC vs. ENIAC n 書籍やWebサイトにより「世界最初の電子式コン ピュータ」や,その成立年には揺らぎ… u 定義の仕方により見解が分かれる u 多くの場合でABCもしくはENIACがあげられ,後者が主
流 n 成立年の揺らぎについて(※トリビア) u どの論文・特許・レポートなどを用いるかによる n ABCとENIACの揺らぎ u 「電子式コンピュータ」の定義等による 20
ABC vs. ENIAC n ABC u 二進法によるデータ表現 u 機械的なデバイス(歯車や機械的スイッチ)を用いず, 電子的に計算を実行
u 計算をする部分とデータを保持する部分メモリを分離 u 非プログラム内蔵方式 u 連立一次方程式を解く機能のみを実現 n ENIAC u 10進法によるデータ表現 u 機械的なデバイス(歯車や機械的スイッチ)を用いず, 電子的に計算を実行 u 計算をする部分とデータを保持する部分メモリを分離 u プログラム内蔵方式(後になってから) p チューリング完全(ここでは様々な計算問題を解ける…位でOK) 21
この時代のコンピュータの基礎構成要素 メモリ (計算用回路) 出力 電気を貯める 電気を流す・止める 光る 22 Central Processing
Unit
この時代のコンピュータの基礎構成要素 n CPU,メモリ,などはすごそうだ(実際スゴイ)が, 基本的には下のような回路のちょっとスゴイ版 電池 スイッチ ×電球 23
プログラム内蔵方式 n メモリ上にプログラムを読み込み,実行する u <-> ワイヤードプログラム方式 p 回路上で,線(ワイヤー)を繋いでプログラムを表現する 24 ENIACの操作風景
ケーブルを抜き差ししている
当時におけるコンピュータの評価 n コンピュータは全世界で5台ぐらいしか売れないと思う トーマス・J・ワトソン( IBM創業者 )?(1943年?) ※ ※ 実際にはそんなことは言っていないと言う説がかなり優勢 電卓と同様かつ手のかかるもので,
多くの人にとっては全く縁のないものだった 25
最初期の汎用コンピュータ&ハードディスク n UNIVAC-I (1951) n IBM 305 RAMAC (1956) 最初期のコンピュータ
ENIAC 完成が おおよそ1946年 汎用電子デジタルコンピュータは,その5年後に ENIAC のエンジニアらが設計 汎用のハードディスクは,さらに5年後の 1956年 (ダートマス会議も同年) ※厳密には305に搭載された350ユニット 26
現代のコンピュータの基礎構成要素 メモリ (計算用回路) 入出力 電気を貯める 電気を流す・止める 光る 27 Central Processing
Unit
メモリ 現代のコンピュータの基礎構成要素 I/O バス レジスタ CPU 28
そろばんの計算方法(数字の表し方) 2 6 5 1〜4 5 29
そろばんの計算方法(足し算) 265+ 111 = ? 30
そろばんの計算方法(足し算) 3+ 5 = ? 31
そろばんの計算方法(足し算) 3+ 6 = ? 32
そろばんの計算方法(足し算) 3+ 7 = ? 33
そろばんの計算方法(足し算) n 玉の位置で数値を表現 n 各列が桁(1, 10, 100, 1000…)に対応 n 玉が動かせなくなったら(各列で9以上になった
ら)その分を上の桁に繰り越し 引き算は逆の操作 かけ算は足し算の繰り返しでもOK 電気的にできたら高速にできるかも? 34
コンピュータの計算原理 n 「そろばん」で言う,玉の位置を電気的に保持し, 計算を実現 n 電気のあり・なし(ON/OFF)で表現 u 1桁あたり玉が一つの「そろばん」を考えると良い OFF/0 OFF/0
ON/1 35
デジタル計算機 n デジタル -> digital ------> digit -> 桁 砂そろばん
(メソポタミア?) 千 百 十 一 算木 (中国?) 計算尺 ※ Description: Calculator Triumphator CRN1 build 1958 in Germany (DDR) * Source: made by author * Date: 2006-02-12 * Author: Hannes Grobe 手回し式計算機※ 石や棒などの独立したモノで 何らかの数値を表すタイプ 明確な切れ目がない,定規のようなタイプ デジタル アナログ 36
n 離散値(デジタル)と連続値(アナログ) u 離散値:デジタル (カクカクしてる) u 連続値:アナログ (なめらか) デジタルとアナログ 37
コンピュータの計算原理 n 電磁リレー u 電磁石を使って,回路をON・OFF n 真空管 u 電気的に,電気のON・OFFを制御 n
トランジスタ u 真空管をもっと進化させたようなイメージ 「そろばん」の“珠”を,スイッチで表現 38
スイッチの原理 種別 速度 安定性 作りやすさ 電磁リレー とても遅い すぐ壊れる 簡単 真空管
遅い すぐ壊れる すこし難しい トランジスタ 早い まず壊れない 非常に難しい 動く・熱が出る=壊れやすい …と,考えればOK! 39
回路用記号(一部) 抵抗 スイッチ (ON/OFF) スイッチ (プッシュ) LED 交差 (接触なし) グラウンド
結線 スイッチ (トランジスタ) 40
トランジスタ n とりあえずここでは「半導体」を使ったスイッチ n 電気でON/OFFを制御 N型:普段はOFF 制御線に電気を流すとON P型:普段はON 制御線に電気を流すとOFF IN
OUT IN OUT GATE GATE 41
n 計算のためには電気回路で論理演算を実現する必要 n 論理演算(Logical Operation) u ブール演算(Boolean Operation)とも u 1(真)か0(偽)かの2通りの入力値に対して1つの値を出力
する演算 u AND,OR,NOT の3種類ができればOK 42
AND I1 I2 O 0 0 0 0 1 0
1 0 0 1 1 1 I1 I2 O 43
OR I1 I2 O 0 0 0 0 1 1
1 0 1 1 1 1 I1 I2 O 44
NOT I O 0 1 1 0 I O ※
LEDの記号との混乱に注意 45
NOT AND (NAND) I1 I2 O 0 0 1 0
1 1 1 0 1 1 1 0 I1 I2 O 46
NOT OR (NOR) I1 I2 O 0 0 1 0
1 0 1 0 0 1 1 0 I1 I2 O 47
n 論理演算をそのまま電気回路で実現するのは なかなか困難なタスク… n 実際には,NAND,NOR,NOT を実現 u AND は NAND
の NOT u OR は NOR の NOT 48
NOT I O 0 1 1 0 I O Vh
I O 49
NOT AND (NAND) I1 I2 O 0 0 1 0
1 1 1 0 1 1 1 0 I1 I2 O Vh O I1 I2 50
NOT OR (NOR) I1 I2 O 0 0 1 0
1 0 1 0 0 1 1 0 I1 I2 O Vh O I1 I2 51
2進数における 1bit の演算 n 入力は,IA,B の2つ n 結果の最大値は,10進数での 2,2進数の10 u
出力が2桁なので,2つの線が必要 IA IB 0 0 0 1 1 0 1 1 O 0 1 1 2 O2 O1 0 0 0 1 0 1 1 0 1bit = 1桁 52
2進数における 1bit の演算 IA IB O1 O2 IA IB 0
0 0 1 1 0 1 1 O2 O1 0 0 0 1 0 1 1 0 53
XOR I1 I2 O 0 0 0 0 1 1
1 0 1 1 1 0 I1 O I2 00 1 01 1 10 1 11 0 00 0 01 1 10 1 11 1 I1 I2 O この回路で実現 54
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進数における 1bit 3入力 の演算 IA IB Ic 0 0 0
0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 O2 O1 0 0 0 1 0 1 1 0 0 1 1 0 1 0 1 1 IA IC O1 O2 IB 下位の桁からの繰り上がり 56
2進数における 1bit 3入力 の演算 IA IC O1 O2 IB IA
IB O1 O2 IA IB O1 O2 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 0 0 0 1 0 1 1 0 0 1 1 0 1 0 1 1 57
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
シークエンス回路 n 順序回路とも n 単純な論理回路だけでは状態が保持できない u 2入力の回路で,1+2+3 を実現するには… p 1+2
の結果(A)を求める p Aの状態をセットし,A+3の結果(B)を求める n 過去の状態も参考に,出力を決められる回路 n “遅延(Delay)”要素によって過去状態を保持 自動でセットしたい 59
シークエンス回路 論理回路 入力 出力 内部状態 次の 内部状態 D D D
遅延回路 60
シーケンス回路の構成要件 n 「出力を入力につなげば,前の状態を取り込める」 という発想自体は理解できる n 単純に,出力を入力に戻してOKか? u 「ラットレーシング」現象 p 入力と出力が区別できなくなりループしてしまう…
61
シーケンス回路の構成要件 n 入出力の対応を明確にするために, 何らかの「カウンタ」を持ち込んではどうか? u 状態1に対する出力を,状態2の入力に… n 「カウンタ」をどう実現? u 発振回路:一定の周期で電圧を上下させる仕組み
n 「カウンタ」に対応させた出力の入力をどう実現? u 遅延回路:カウンタに応じて前の状態を戻す仕組み 62
発振回路 n 水晶の圧電効果を用いるものが一般的 u 原理や回路についてはここでは省略 n 発振回路によって,特定の周波を得ることができ, これをクロック信号(カウンタ)に利用 t 1t
63
発振回路 n 実は発振回路は非常に身近 u CPUにおける重要な要素の一つ n これらの数値が発振回路のクロック周波数 u 1秒あたりのカウント回数( ≈
計算回数) 64
クロック周波数 n 1秒間に刻むクロックの数 n 動作周波数とも n 単位はHz(ヘルツ) u 1秒間に10回のクロックを刻む場合,10Hzと表現 n
このクロックを回路(コンピュータ)全体で 共有することで,同期をとる 65
遅延回路 n 単位遅延(1t分の遅延)で,出力を戻す回路 u n回単位遅延させることで,任意の時間の遅延も実現 φ1 φ2 t φ1 φ2
O I 一瞬だけ電気(電荷) を保持できる部品 キャパシタ (≈コンデンサ) パストランジスタ (スイッチの⼀種) 66
パストランジスタ n P型とN型のトランジスタを組み合わせた ( Complementary :C型 )のトランジスタ u ここではP型,N型の欠点を相補するスイッチ …といった程度の認識でOK
I O G G I O G 67
レジスタ n メモリ(データを保持する回路)の一種 u 先の遅延回路の応用の一種ともいえる n 特に“内部メモリ”として利用 I φ1 ・Wt
φ2 φ1 ・Wt φ1 ・Rd O 68