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

コンピュータの仕組み(2)

 コンピュータの仕組み(2)

Naoki Kato

May 08, 2019
Tweet

More Decks by Naoki Kato

Other Decks in Education

Transcript

  1. by Naoki Kato © Naoki Kato © Naoki Kato ブール代数

    論理や推論を数学で扱うために 数学者ジョージ・ブールによって提唱 定義 集合AとA上の演算(+,・,¬),特別なAの元(⊥,T) が次の関係式を満たす 冪等律:a・a = a+a = a 交換律:a・b = b・a, a+b = b+a 分配律:a+(b・c) = (a+b)・(a+c), a・(b+c) = (a・b)+(a・c) 結合律:(a・b)・c = a・(b・c) (a+b)+c = a+(b+c) 吸収律:(a・b)+a = a,(a+b)・a = a 補元律:a・¬a = ⊥,a+¬a =T ブール代数と論理回路
  2. by Naoki Kato © Naoki Kato © Naoki Kato 二元ブール代数と論理代数

    二元ブール代数 元が 1 と 0 のみ 真(T)を 1,偽(F)を 0 に対応させた論理代数 ブール代数と論理回路 ・ ・ + + ¬ ¬ T T ⊥ ⊥ ∧(AND) 論理積 ∨(OR) 論理和 (NOT) 否定 1 0
  3. by Naoki Kato © Naoki Kato © Naoki Kato 論理演算(論理代数における演算)

    二変数(0と1)の演算の組合せは 4 通り ブール代数と論理回路 𝑥𝑥 𝑥𝑥 y y 0 0 0 1 1 0 1 1
  4. by Naoki Kato © Naoki Kato © Naoki Kato 論理演算(論理代数における演算)

    二変数(0と1)の演算の組合せは 4 通り ブール代数と論理回路 𝑥𝑥 𝑥𝑥 y y 0 0 0 1 1 0 1 1 0 か 1 0 か 1 0 か 1 0 か 1 演算の結果は
  5. by Naoki Kato © Naoki Kato © Naoki Kato 論理演算(論理代数における演算)

    二変数の論理演算の結果=種類は 16 通り ブール代数と論理回路 | | NOR XOR NAND 0 1 0 1 0 1 0 1 0 0 1 1 0 0 1 1 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 𝑥𝑥 𝑥𝑥 y y 0 0 0 1 1 0 1 1 AND OR 0 1 0 1 0 1 0 1 0 0 1 1 0 0 1 1 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1 1 0 1 1 ∧ ∨ ⊕
  6. by Naoki Kato © Naoki Kato © Naoki Kato 論理演算の完全性

    すべての二変数論理演算は, 基本論理演算(∧,∨,‾)の組合せで表現可能 実は(∨,‾)でも表現可能 さらに(NAND)だけでも表現可能 ブール代数と論理回路 1 0 1 1 0 1 0 1 0 0 0 1 1 0 1 1 0 1 0 0 x y x x∨ y x∧ x∨ y ( )
  7. by Naoki Kato © Naoki Kato © Naoki Kato 論理演算(論理代数における演算)

    三変数演算 二変数の演算結果 と 残りの変数との演算 N変数演算も二変数演算に帰着可能 すべての論理演算は,基本論理演算で表現可能 ブール代数と論理回路
  8. by Naoki Kato © Naoki Kato © Naoki Kato 論理演算と二進法における算術演算

    二進法の数の算術演算は論理演算に帰着可能 例)二進記数法の一桁の加算(結果は二桁) ブール代数と論理回路 X Y C S 0 0 0 0 0 1 0 1 1 0 0 1 1 1 1 0 𝑥𝑥 ⊕ 𝑦𝑦= ̅ 𝑥𝑥 ∧ 𝑦𝑦 ∨ 𝑥𝑥 ∧ ' 𝑦𝑦 𝑥𝑥 ∧ 𝑦𝑦
  9. by Naoki Kato © Naoki Kato © Naoki Kato 論理回路

    論理演算はスイッチの組み合わせで表現できる 1937年,クロード・シャノン ブール代数と論理回路 電流を流す 電流を流さない
  10. by Naoki Kato © Naoki Kato © Naoki Kato 論理ゲート

    スイッチで構成した基本論理演算を実現する回路 ブール代数と論理回路 X1 Y1 X2 Y2 X1 Y1 X2 Y2 X1 Y1 論理積(AND)ゲート 論理和(OR)ゲート 否定(NOT)ゲート
  11. by Naoki Kato © Naoki Kato © Naoki Kato 論理回路

    論理演算はスイッチの組み合わせで表現できる 1937年,クロード・シャノン 基本論理演算がスイッチで表現できる すべての論理演算がスイッチで表現できる 二進法の数の算術演算が, スイッチの組み合わせで表現できる 二進法で計算を行うコンピュータの開発へ! ブール代数と論理回路 それまでは⼗進法 の計算機を作ろう とがんばっていた
  12. by Naoki Kato © Naoki Kato © Naoki Kato スイッチの変貌とコンピュータの大きさ

    リレー 真空管 トランジスタ 集積回路(IC:Integrated circuit) 大規模集積回路(LSI:Large Scale IC) ブール代数と論理回路
  13. by Naoki Kato © Naoki Kato © Naoki Kato 論理ゲート(MIL)記号

    論理ゲートを表現する記号 論理回路 論理積(AND)ゲート 論理和(OR)ゲート 否定(NOT)ゲート 否定的論理積 (NAND)ゲート 否定的論理和 (NOR)ゲート 排他的論理和 (XOR)ゲート
  14. by Naoki Kato © Naoki Kato © Naoki Kato 論理回路

    組合せ回路 出力値が,その時点での入力値で決まる回路 順序回路 出力値が,現在の状態と入力の値に応じて決まる 論理回路
  15. by Naoki Kato © Naoki Kato © Naoki Kato 組合せ回路:エンコーダ

    10進法(ボタン)を2進法に変換 論理回路 Z0 A0 Z0 Z1 Z2 Z3 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 A1 A0 0 0 0 1 1 0 1 1 Z1 A1 Z2 Z3 0 1 2 3
  16. by Naoki Kato © Naoki Kato © Naoki Kato 組合せ回路:デコーダ

    2進法の数を10進法に変換するデコーダ 論理回路 C1 C0 Z0 Z1 Z2 Z3 Z0 Z1 Z2 Z3 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 C1 C0 0 0 0 1 1 0 1 1
  17. by Naoki Kato © Naoki Kato © Naoki Kato 組合せ回路:デコーダ

    2進法の数を10進法に変換するデコーダ 論理回路 C1 C0 Z0 Z1 Z2 Z3 Z0 Z1 Z2 Z3 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 C1 C0 0 0 0 1 1 0 1 1 1 0
  18. by Naoki Kato © Naoki Kato © Naoki Kato 組合せ回路:セレクタ

    論理回路 00 01 Z0 Z1 2進→10進デコーダ
  19. by Naoki Kato © Naoki Kato © Naoki Kato 組合せ回路:セレクタ

    論理回路 Z0 Z1 2進→10進デコーダ 0 1
  20. by Naoki Kato © Naoki Kato © Naoki Kato 論理回路で作る二進法の数の算術演算

    半加算器 二進一桁の加算 論理回路 X Y C S 0 0 0 0 0 1 0 1 1 0 0 1 1 1 1 0 𝑥𝑥 ⊕ 𝑦𝑦= ̅ 𝑥𝑥 ∧ 𝑦𝑦 ∨ 𝑥𝑥 ∧ ' 𝑦𝑦 𝑥𝑥 ∧ 𝑦𝑦 X Y S C X Y S C
  21. by Naoki Kato © Naoki Kato © Naoki Kato 論理回路で作る二進法の数の算術演算

    全加算器 下の桁からの繰り上がりを含めた二進一桁の加算 論理回路 A B Ci 0 0 0 0 1 0 1 0 0 1 1 0 0 0 1 0 1 1 1 0 1 1 1 1 A B C0 S Ci C0 S 0 0 0 1 0 1 1 0 0 1 1 0 1 0 1 1
  22. by Naoki Kato © Naoki Kato © Naoki Kato 論理回路で作る二進法の数の算術演算

    二進二桁の加算 論理回路 a0 b0 a1 b1 c0 c1 c2 a1 a0 + b1 b0 = c2 c1 c0 a1 a0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 b1 b0 0 0 0 1 1 0 1 1 0 0 0 1 1 0 1 1 c2 c1 c0 0 0 0 0 0 1 0 1 0 0 1 1 0 0 1 0 1 0 0 1 1 1 0 0
  23. by Naoki Kato © Naoki Kato © Naoki Kato 順序回路:RS-FF回路

    論理回路 S R 内 内部 部状 状態 態 0 0 保持 0 1 0 1 0 1 1 1 不定 RS-FF回路 S R Q Q
  24. by Naoki Kato © Naoki Kato © Naoki Kato 順序回路:トリガフリップフロップ

    (T-FF) 信号が入ると状態が変わる 論理回路 S R Q Q ⼊⼒T Q Q ⼊⼒T 出⼒Q
  25. by Naoki Kato © Naoki Kato © Naoki Kato T-FFを使った2進カウンタ

    論理回路 T T T Q1 Q2 Q3 X Q1 Q2 Q3 1 0 0 0 1 1 0 0 1 0 1 0 1 1 1 0 1 0 0 1 1 1 0 0 X
  26. by Naoki Kato © Naoki Kato © Naoki Kato 順序回路:データフリップフロップ

    (D-FF) クロック信号が入った時の入力信号がセットされる 論理回路 S R Q Q Q ⼊⼒D クロック クロック ⼊⼒D 出⼒Q D-FF回路 Q
  27. by Naoki Kato © Naoki Kato © Naoki Kato D-FFを使った記憶回路

    論理回路 CLK LD 2ビットの記憶回路 D D D LD CK D LD CK D0 D1 CK LD
  28. by Naoki Kato © Naoki Kato © Naoki Kato D-FFを使った記憶回路

    論理回路 CLK LD 2ビットの記憶回路 D D D LD CK D LD CK D0 D1 CK LD
  29. by Naoki Kato © Naoki Kato © Naoki Kato 加算電卓

    論理回路で計算機を作る 0 1 2 3 0 1 2 3 ⼗ 進 ⼆ 進 デ コ & ダ ⼗ 進 ⼆ 進 デ コ & ダ ⼆ 進 ⼆ 桁 加 算 器 ⼆ ビ - ト 記 憶 回 路 ⼆ ビ - ト 記 憶 回 路 ⼆ 進 ⼗ 進 デ コ & ダ
  30. by Naoki Kato © Naoki Kato © Naoki Kato (a+b)-(c+d)

    を計算する回路 論理回路で計算機を作る 加算器 加算器 減算器 2ビット記憶回路 2ビット記憶回路 2ビット記憶回路 2ビット記憶回路 ⼆ 進 ⼗ 進 デ コ & ダ
  31. by Naoki Kato © Naoki Kato © Naoki Kato メモリの実現(出力側)

    論理回路で計算機を作る ⼆進⼗進変換デコーダ 00 2ビット記憶回路 2ビット記憶回路 2ビット記憶回路 2ビット記憶回路 01 CK 出⼒⽤(取り出したい場所を指定) 取 り 出 し た デ ' タ 00 01
  32. by Naoki Kato © Naoki Kato © Naoki Kato メモリの実現(入力側)

    論理回路で計算機を作る ⼆進⼗進変換デコーダ 00 2ビット記憶回路 01 CK 2ビット記憶回路 LD 2ビット記憶回路 2ビット記憶回路 ⼊⼒⽤(⼊れたい場所を指定) ⼊ ⼒ し た い デ ' タ 00 01
  33. by Naoki Kato © Naoki Kato © Naoki Kato プログラマブルコンピュータもどき

    論理回路で計算機を作る 4ビットメモリ カウンタ CK 上位2ビット 2ビット記憶回路 2ビット記憶回路 2ビット記憶回路 下位2ビット 加算回路 減算回路 2ビット記憶回路 セレクタ 01 10 11 ⼆ 進 ⼗ 進 変 換 LD 出⼒⽤ ⼊⼒⽤ D0 D1 D2 D3 LD
  34. by Naoki Kato © Naoki Kato © Naoki Kato プログラマブルコンピュータもどき

    論理回路で計算機を作る 4ビットメモリ カウンタ CK 上位2ビット 11 01 01 10 10 01 下位2ビット 加算回路 減算回路 2ビット記憶回路 セレクタ case01 case10 case11 ⼆ 進 ⼗ 進 変 換 LD 出⼒⽤ ⼊⼒⽤ D0 D1 D2 D3 LD 出⼒
  35. by Naoki Kato © Naoki Kato © Naoki Kato ノイマン型コンピュータとは

    現代のほとんどのコンピュータの型 最大の特徴 命令(たとえば足し算をしろ)と データ(3+5における3と5)を 区別なく主記憶装置(メモリ)に格納 EDVAC以前は,違った計算をするためには, 配線の入れ替えなど物理的な操作が必要 プログラム(命令とデータの集合) を書き換えるだけになった ノイマン型コンピュータ
  36. by Naoki Kato © Naoki Kato © Naoki Kato プ

    プロ ログ グラ ラミ ミン ング グと とは は コンピュータの仕組み(2)
  37. by Naoki Kato © Naoki Kato © Naoki Kato フォンノイマン型コンピュータのしくみ

    プログラミングとは Photo by Computer Laboratory, University of Cambridge. データ 0と1の集合 プログラム 0と1の集合 データ 0と1の集合 基本的な処理や演算を組合せて 複雑な処理をする⼿順 ソフトウェア
  38. by Naoki Kato © Naoki Kato © Naoki Kato プログラミングとは

    これを作ること プログラミングとは プログラム 0と1の集合 基本的な処理や演算を組合せて 複雑な処理をする⼿順 ソフトウェア 0 0000100000000100 1 0011000000000101 2 0001100000000110 3 0000000000000000 4 0000000000000010 5 0000000000000011
  39. by Naoki Kato © Naoki Kato © Naoki Kato 高級プログラミング言語と実行方式

    プログラミングとは 0 0000100000000100 1 0011000000000101 2 0001100000000110 3 0000000000000000 4 0000000000000010 5 0000000000000011 10 INPUT A 20 INPUT B 30 PRINT A+B コンパイラ インタプリタ
  40. by Naoki Kato © Naoki Kato © Naoki Kato 一般的なプログラミング

    プログラミングとは テキストエディタ 10 INPUT A 20 INPUT B 30 PRINT A+B コンパイラ EXE
  41. by Naoki Kato © Naoki Kato © Naoki Kato インタプリタ型のプログラミング環境

    プログラミングとは Scratch Jr画面イメージ:https://itunes.apple.com/us/app/scratchjr/id895485086?ls=1&mt=8より Scrathc Jr 10 INPUT A 20 INPUT B 30 PRINT A+B
  42. by Naoki Kato © Naoki Kato © Naoki Kato プ

    プロ ログ グラ ラミ ミン ング グ体 体験 験 コンピュータの仕組み(2)
  43. by Naoki Kato © Naoki Kato © Naoki Kato 昔話:初期のパーソナルコンピュータ

    プログラミング体験 左写真引用:http://itoi.jp/pc-8001.html 右写真引用: http://itoi.jp/time31.html#MZ-2000 電源を入れると BASIC
  44. by Naoki Kato © Naoki Kato © Naoki Kato 昔話w

    プログラミング体験 元秋田大学教授 中学1年生の私 母 私にパソコンを教えてしまった 担任
  45. by Naoki Kato © Naoki Kato © Naoki Kato Ichigo

    Jam で体験 IchigoJam web http://fukuno.jig.jp/app/IchigoJam/ プログラミング体験
  46. by Naoki Kato © Naoki Kato © Naoki Kato お

    おし しま まい い コンピュータの仕組み(2)
  47. by Naoki Kato © Naoki Kato © Naoki Kato ノイマン型コンピュータの基本構成

    ノイマン型コンピュータ 主記憶装置 出⼒装置 制御装置 演算論理装置 ⼊⼒装置 制御の流れ データの流れ
  48. by Naoki Kato © Naoki Kato © Naoki Kato より具体的な構成

    ノイマン型コンピュータ 中央処理装置 主記憶装置 出⼒装置 演算論理装置 ⼊⼒装置 制御装置 伝送装置 プログラムカウンタ 命令レジスタ アキュムレータ
  49. by Naoki Kato © Naoki Kato © Naoki Kato ハードウェアとソフトウェア

    ノイマン型コンピュータ 中央処理装置 主記憶装置 出⼒装置 演算論理装置 ⼊⼒装置 制御装置 伝送装置 プログラムカウンタ 命令レジスタ アキュムレータ 基本的な処理や演算を⾏うための機構が スイッチの集合(論理回路)で作られている 基本的な処理や演算を組合せて 複雑な処理をする⼿順 ハ ' ド ウ / ア ソ フ ト ウ / ア
  50. by Naoki Kato © Naoki Kato © Naoki Kato オペレーティングシステムとは

    ハードウェアとのやりとりを仲介するソフトウェア オペレーティングシステム オペレーティングシステム (ソフトウェア) ハードウェア アプリケーションソフトウェア
  51. by Naoki Kato © Naoki Kato © Naoki Kato オペレーティングシステムとは

    ユーザとのやりとりをする部分(シェル)も含む オペレーティングシステム オペレーティングシステム (ソフトウェア) ハードウェア アプリケーションソフトウェア シェル
  52. by Naoki Kato © Naoki Kato © Naoki Kato オペレーティングシステムの種類

    Unix(BSD,Linux,…) TRON Microsoft Windows Mac OS などなど他にもいっぱい オペレーティングシステム
  53. by Naoki Kato © Naoki Kato © Naoki Kato シェルの種類

    CUI(Command User Interface) GUI(Graphical User Interface) オペレーティングシステム
  54. by Naoki Kato © Naoki Kato © Naoki Kato オペレーティングシステムの役割

    タスク・プロセス管理 メモリ管理 ファイル管理 ネットワーク管理 デバイス管理 オペレーティングシステム
  55. by Naoki Kato © Naoki Kato © Naoki Kato タスク・プロセス管理

    同時に行えることは中央演算処理装置の数だけ 時分割で順番にタスクを実行して,同時に動いてい るように見せる(マルチタスク) オペレーティングシステム オペレーティングシステム (ソフトウェア) ワープロソフト 時計ソフト 表⽰ ⼊⼒ 表⽰ 校正
  56. by Naoki Kato © Naoki Kato © Naoki Kato メモリ管理

    プログラム(タスク・プロセスなど)へのメモリ割 り当て,終了時の解放 不連続なメモリ領域を連続に見せかける(仮想記 憶) オペレーティングシステム ワープロソフト 時計ソフト 表計算ソフト
  57. by Naoki Kato © Naoki Kato © Naoki Kato メモリ管理

    メモリスワッピング(仮想記憶の一機能) 実行しているタスク・プロセスが利用しているメモリ領域は, 一時記憶装置へ移す オペレーティングシステム ワープロソフト 時計ソフト 表計算ソフト ワープロソフト 時計ソフト 表計算ソフト
  58. by Naoki Kato © Naoki Kato © Naoki Kato ファイル管理(ファイルシステム)

    コンピュータの資源を 狭義(二次記憶装置内のデータ) 広義(デバイス,プロセス,様々なデータ) 階層構造化,アクセス/検索するための機能 オペレーティングシステム
  59. by Naoki Kato © Naoki Kato © Naoki Kato ファイル管理(ファイルシステム)

    オペレーティングシステム (広義) (1)開く (2)書く (3)閉じる パラレル ポート (狭義) (1)開く (2)書く (3)閉じる テキストファイル
  60. by Naoki Kato © Naoki Kato © Naoki Kato ファイル管理(ファイルシステム)

    (狭義)二次記憶装置内のデータ オペレーティングシステム naoki 2006 IP1.txt 資料.doc 名簿.xsl フォルダ ファイル
  61. by Naoki Kato © Naoki Kato © Naoki Kato ハードウェア

    ネットワーク管理 通信するにはその仕方を決める必要(プロトコル) オペレーティングシステム アプリケーション層 プレゼンテーション層 セッション層 トランスポート層 ネットワーク層 データリンク層 物理層 電気的信号を交換するための決まり データ列を交換するための決まり (通信異常が起きた時などの対処など) 意味あるデータを交換するための決まり (データ形式など)
  62. by Naoki Kato © Naoki Kato © Naoki Kato デバイス管理(デバイスドライバ)

    オペレーティングシステム EPSONインクジェット⽤ CANONレーザ⽤ アプリケーションソフトウェア 統⼀された⽅法で どんなプリンタからでも印刷ができる
  63. by Naoki Kato © Naoki Kato © Naoki Kato ブール代数と論理回路

    情報の論理数学入門 近代科学社 4-7649-0180-3 コンピュータ回路 森北出版 4-627-82460-2 CPUの創りかた 毎日コミュニケーションズ 4-839-90986-4 参考文献
  64. by Naoki Kato © Naoki Kato © Naoki Kato オペレーティングシステム

    情報とコンピューティング オーム社 4274133095 オペレーティングシステム オーム社 4274132501 参考文献
  65. by Naoki Kato © Naoki Kato © Naoki Kato お

    おし しま まい い コンピュータの仕組み(2)