Upgrade to Pro — share decks privately, control downloads, hide ads and more …

シリーズAI入門:3. 計算機の仕組み

FSCjJh3NeB
February 03, 2021

シリーズAI入門:3. 計算機の仕組み

AIの作成に用いられることが多い,計算機の仕組みについて眺めます。

FSCjJh3NeB

February 03, 2021
Tweet

More Decks by FSCjJh3NeB

Other Decks in Education

Transcript

  1. 映画:Hidden Figures n マーキュリー計画に参加し た Computer(右の3人の女性) が主人公の映画 u 日本題:ドリーム u

    半分以上は実話 u 初期のプログラミング言語 FORTRAN の話も出てくる 4 ※ マーキュリー計画:1958年〜1963年 IBM 7090 は 1959年に完成,導入 本作品で主人公(ポスター真ん中)として取り上げられた キャサリン・ジョンソン博士は2020年2月に101歳で逝去
  2. IT, ICT n IT u Information Technology u 情報技術 n

    ICT u Information/Communication Technology u 情報通信技術 5
  3. 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
  4. コンピュータの計算原理 n 電磁リレー u 電磁石を使って,回路をON・OFF n 真空管 u 電気的に,電気のON・OFFを制御 n

    トランジスタ u 真空管をもっと進化させたようなイメージ 「そろばん」の“珠”を,スイッチで表現 14
  5. スイッチの原理 種別 速度 安定性 作りやすさ 電磁リレー とても遅い すぐ壊れる 簡単 真空管

    遅い すぐ壊れる すこし難しい トランジスタ 早い まず壊れない 非常に難しい 16
  6. 最古の(電子式)コンピュータ…? n 定義によるが,多くの場合… u ABC:Atanasoff-Berry Computer u ENIAC: Electronic Numerical

    Integrator and Computer 時期的には1940年代,第2次世界大戦中に開発 ENIACは特に,弾道計算を目的に作成された 17
  7. 余談:類するもの 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
  8. ポイント n この時代のコンピュータは,ハードウェア的に プログラムを作成するものが多い u 「4+8」を計算させるとして,回路上の線などを 物理的に差し替えることで実行 n ただし,基本的な原理は現在も変わらず u

    大まかには,小型化&高速化したもの 情報空間=「仮想世界」,物理空間=「現実世界」??? 小型化・ブラックボックス化により 現実感がないが,当然,物理的な動きに根ざす 19
  9. ABC vs. ENIAC n 書籍やWebサイトにより「世界最初の電子式コン ピュータ」や,その成立年には揺らぎ… u 定義の仕方により見解が分かれる u 多くの場合でABCもしくはENIACがあげられ,後者が主

    流 n 成立年の揺らぎについて(※トリビア) u どの論文・特許・レポートなどを用いるかによる n ABCとENIACの揺らぎ u 「電子式コンピュータ」の定義等による 20
  10. ABC vs. ENIAC n ABC u 二進法によるデータ表現 u 機械的なデバイス(歯車や機械的スイッチ)を用いず, 電子的に計算を実行

    u 計算をする部分とデータを保持する部分メモリを分離 u 非プログラム内蔵方式 u 連立一次方程式を解く機能のみを実現 n ENIAC u 10進法によるデータ表現 u 機械的なデバイス(歯車や機械的スイッチ)を用いず, 電子的に計算を実行 u 計算をする部分とデータを保持する部分メモリを分離 u プログラム内蔵方式(後になってから) p チューリング完全(ここでは様々な計算問題を解ける…位でOK) 21
  11. 最初期の汎用コンピュータ&ハードディスク n UNIVAC-I (1951) n IBM 305 RAMAC (1956) 最初期のコンピュータ

    ENIAC 完成が おおよそ1946年 汎用電子デジタルコンピュータは,その5年後に ENIAC のエンジニアらが設計 汎用のハードディスクは,さらに5年後の 1956年 (ダートマス会議も同年) ※厳密には305に搭載された350ユニット 26
  12. そろばんの計算方法(足し算) n 玉の位置で数値を表現 n 各列が桁(1, 10, 100, 1000…)に対応 n 玉が動かせなくなったら(各列で9以上になった

    ら)その分を上の桁に繰り越し 引き算は逆の操作 かけ算は足し算の繰り返しでもOK 電気的にできたら高速にできるかも? 34
  13. デジタル計算機 n デジタル -> digital ------> digit -> 桁 砂そろばん

    (メソポタミア?) 千 百 十 一 算木 (中国?) 計算尺 ※ Description: Calculator Triumphator CRN1 build 1958 in Germany (DDR) * Source: made by author * Date: 2006-02-12 * Author: Hannes Grobe 手回し式計算機※ 石や棒などの独立したモノで 何らかの数値を表すタイプ 明確な切れ目がない,定規のようなタイプ デジタル アナログ 36
  14. コンピュータの計算原理 n 電磁リレー u 電磁石を使って,回路をON・OFF n 真空管 u 電気的に,電気のON・OFFを制御 n

    トランジスタ u 真空管をもっと進化させたようなイメージ 「そろばん」の“珠”を,スイッチで表現 38
  15. スイッチの原理 種別 速度 安定性 作りやすさ 電磁リレー とても遅い すぐ壊れる 簡単 真空管

    遅い すぐ壊れる すこし難しい トランジスタ 早い まず壊れない 非常に難しい 動く・熱が出る=壊れやすい …と,考えればOK! 39
  16. AND I1 I2 O 0 0 0 0 1 0

    1 0 0 1 1 1 I1 I2 O 43
  17. OR I1 I2 O 0 0 0 0 1 1

    1 0 1 1 1 1 I1 I2 O 44
  18. NOT I O 0 1 1 0 I O ※

    LEDの記号との混乱に注意 45
  19. NOT AND (NAND) I1 I2 O 0 0 1 0

    1 1 1 0 1 1 1 0 I1 I2 O 46
  20. NOT OR (NOR) I1 I2 O 0 0 1 0

    1 0 1 0 0 1 1 0 I1 I2 O 47
  21. 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
  22. 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
  23. 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
  24. 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
  25. 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
  26. 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
  27. 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
  28. 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
  29. 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
  30. シークエンス回路 n 順序回路とも n 単純な論理回路だけでは状態が保持できない u 2入力の回路で,1+2+3 を実現するには… p 1+2

    の結果(A)を求める p Aの状態をセットし,A+3の結果(B)を求める n 過去の状態も参考に,出力を決められる回路 n “遅延(Delay)”要素によって過去状態を保持 自動でセットしたい 59
  31. 遅延回路 n 単位遅延(1t分の遅延)で,出力を戻す回路 u n回単位遅延させることで,任意の時間の遅延も実現 φ1 φ2 t φ1 φ2

    O I 一瞬だけ電気(電荷) を保持できる部品 キャパシタ (≈コンデンサ) パストランジスタ (スイッチの⼀種) 66