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
コンピュータの仕組み(2)
Search
Naoki Kato
PRO
May 08, 2019
Education
3
600
コンピュータの仕組み(2)
Naoki Kato
PRO
May 08, 2019
Tweet
Share
More Decks by Naoki Kato
See All by Naoki Kato
高校におけるプログラミング教育を考える
naokikato
PRO
0
160
デジタル教科書研究の今
naokikato
PRO
0
23
デジタル教科書の現在地と今後の展望
naokikato
PRO
0
61
複数カメラ活用による授業の遠隔参観や収録コンテンツ開発の促進
naokikato
PRO
0
47
教育DXの推進に向けて
naokikato
PRO
0
25
個別最適な学びと協働的な学びから児童の学びを深めさせるICT機器の活用
naokikato
PRO
1
43
なぜDXが必要なのか 〜教育の情報化の現状と展望〜
naokikato
PRO
0
45
教科書の捉えの変化
naokikato
PRO
0
48
教育現場における生成AIの活用とこれからの学校
naokikato
PRO
0
140
Other Decks in Education
See All in Education
フィードバックの伝え方、受け身のココロ / The Way of Feedback: Words and the Receiving Heart
spring_aki
1
160
みんなのコードD&I推進レポート2025 テクノロジー分野のジェンダーギャップとその取り組みについて
codeforeveryone
0
260
【品女100周年企画】Pitch Deck
shinagawajoshigakuin_100th
0
7.2k
バケットポリシーの記述を誤りマネコンからS3バケットを操作できなくなりそうになった話
amarelo_n24
1
110
附属科学技術高等学校の概要|Science Tokyo(東京科学大学)
sciencetokyo
PRO
0
950
Test-NUTMEG紹介スライド
mugiiicha
0
230
大学院進学について(2025年度版)
imash
0
130
今までのやり方でやってみよう!?~今までのやり方でやってみよう!?~
kanamitsu
0
180
生態系ウォーズ - ルールブック
yui_itoshima
1
270
Introduction - Lecture 1 - Human-Computer Interaction (1023841ANR)
signer
PRO
0
2.5k
2026 g0v 零時政府年會啟動提案 / g0v Summit 2026 Kickstart
rschiang
0
320
Transición del Management al Neuromanagement
jvpcubias
0
240
Featured
See All Featured
RailsConf 2023
tenderlove
30
1.2k
What's in a price? How to price your products and services
michaelherold
246
12k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
Thoughts on Productivity
jonyablonski
70
4.9k
Become a Pro
speakerdeck
PRO
29
5.5k
Building Better People: How to give real-time feedback that sticks.
wjessup
368
20k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
657
61k
GraphQLとの向き合い方2022年版
quramy
49
14k
Visualization
eitanlees
148
16k
Facilitating Awesome Meetings
lara
56
6.6k
Faster Mobile Websites
deanohume
310
31k
Transcript
by Naoki Kato ©Naoki Kato ©Naoki Kato コンピュータの仕組み(2) Computer Science,
Engineering and Literacy
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 ブール代数と論理回路
by Naoki Kato © Naoki Kato © Naoki Kato 二元ブール代数と論理代数
二元ブール代数 元が 1 と 0 のみ 真(T)を 1,偽(F)を 0 に対応させた論理代数 ブール代数と論理回路 ・ ・ + + ¬ ¬ T T ⊥ ⊥ ∧(AND) 論理積 ∨(OR) 論理和 (NOT) 否定 1 0
by Naoki Kato © Naoki Kato © Naoki Kato 論理演算(論理代数における演算)
二変数(0と1)の演算の組合せは 4 通り ブール代数と論理回路 𝑥𝑥 𝑥𝑥 y y 0 0 0 1 1 0 1 1
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 演算の結果は
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 ∧ ∨ ⊕
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 ( )
by Naoki Kato © Naoki Kato © Naoki Kato 論理演算(論理代数における演算)
三変数演算 二変数の演算結果 と 残りの変数との演算 N変数演算も二変数演算に帰着可能 すべての論理演算は,基本論理演算で表現可能 ブール代数と論理回路
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 𝑥𝑥 ⊕ 𝑦𝑦= ̅ 𝑥𝑥 ∧ 𝑦𝑦 ∨ 𝑥𝑥 ∧ ' 𝑦𝑦 𝑥𝑥 ∧ 𝑦𝑦
by Naoki Kato © Naoki Kato © Naoki Kato 論理回路
論理演算はスイッチの組み合わせで表現できる 1937年,クロード・シャノン ブール代数と論理回路 電流を流す 電流を流さない
by Naoki Kato © Naoki Kato © Naoki Kato 論理ゲート
スイッチで構成した基本論理演算を実現する回路 ブール代数と論理回路 X1 Y1 X2 Y2 X1 Y1 X2 Y2 X1 Y1 論理積(AND)ゲート 論理和(OR)ゲート 否定(NOT)ゲート
by Naoki Kato © Naoki Kato © Naoki Kato 論理回路
論理演算はスイッチの組み合わせで表現できる 1937年,クロード・シャノン 基本論理演算がスイッチで表現できる すべての論理演算がスイッチで表現できる 二進法の数の算術演算が, スイッチの組み合わせで表現できる 二進法で計算を行うコンピュータの開発へ! ブール代数と論理回路 それまでは⼗進法 の計算機を作ろう とがんばっていた
by Naoki Kato © Naoki Kato © Naoki Kato スイッチの変貌とコンピュータの大きさ
リレー 真空管 トランジスタ 集積回路(IC:Integrated circuit) 大規模集積回路(LSI:Large Scale IC) ブール代数と論理回路
by Naoki Kato © Naoki Kato © Naoki Kato 論理ゲート(MIL)記号
論理ゲートを表現する記号 論理回路 論理積(AND)ゲート 論理和(OR)ゲート 否定(NOT)ゲート 否定的論理積 (NAND)ゲート 否定的論理和 (NOR)ゲート 排他的論理和 (XOR)ゲート
by Naoki Kato © Naoki Kato © Naoki Kato 論理回路
組合せ回路 出力値が,その時点での入力値で決まる回路 順序回路 出力値が,現在の状態と入力の値に応じて決まる 論理回路
by Naoki Kato © Naoki Kato © Naoki Kato 組合せ回路:10進エンコーダ
10進法(ボタン)を2進法に変換 論理回路
by Naoki Kato © Naoki Kato © Naoki Kato 組合せ回路:2進デコーダ
2進法の数を10進法に変換するデコーダ 論理回路
by Naoki Kato © Naoki Kato © Naoki Kato 組合せ回路:数字表示
論理回路
by Naoki Kato © Naoki Kato © Naoki Kato 組合せ回路:セレクタ
論理回路
by Naoki Kato © Naoki Kato © Naoki Kato 論理回路で作る二進法の数の算術演算
半加算器 二進一桁の加算 論理回路 a b C S 0 0 0 0 0 1 0 1 1 0 0 1 1 1 1 0 𝑥𝑥 ⊕ 𝑦𝑦= ̅ 𝑥𝑥 ∧ 𝑦𝑦 ∨ 𝑥𝑥 ∧ ( 𝑦𝑦 𝑥𝑥 ∧ 𝑦𝑦
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 C0 S 0 0 0 1 0 1 1 0 0 1 1 0 1 0 1 1
by Naoki Kato © Naoki Kato © Naoki Kato 論理回路で作る二進法の数の算術演算
二進二桁の加算 論理回路
by Naoki Kato © Naoki Kato © Naoki Kato 順序回路:RS-FF回路
S R=1 0で 1 を,S R=0 1 で 0 を設定 その後,同じものを出力し続ける 論理回路 S R 内 内部 部状 状態 態 0 0 保持 0 1 0 1 0 1 1 1 不定
by Naoki Kato © Naoki Kato © Naoki Kato 順序回路:データフリップフロップ
D-FF クロック信号が入った時の入力信号がセットされる その後,ずっとそれが出力される 論理回路 RS-FF
by Naoki Kato © Naoki Kato © Naoki Kato D-FFを使った記憶回路
論理回路
by Naoki Kato © Naoki Kato © Naoki Kato 加算をする回路(加算電卓)
論理回路で計算機を作る
by Naoki Kato © Naoki Kato © Naoki Kato (a+b)-(c+d)
を計算する回路 論理回路で計算機を作る 加算器 加算器 減算器 2ビット記憶回路 2ビット記憶回路 2ビット記憶回路 2ビット記憶回路 ⼆ 進 ⼗ 進 デ コ & ダ
by Naoki Kato © Naoki Kato © Naoki Kato プログラマブルコンピュータもどき
論理回路で計算機を作る 4ビットメモリ カウンタ CK 上位2ビット 2ビット記憶回路 2ビット記憶回路 2ビット記憶回路 下位2ビット 加算回路 減算回路 2ビット記憶回路 セレクタ 01 10 11 ⼆ 進 ⼗ 進 変 換 LD 出⼒⽤ ⼊⼒⽤ D0 D1 D2 D3 LD
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 出⼒
by Naoki Kato © Naoki Kato © Naoki Kato ノイマン型コンピュータとは
現代のほとんどのコンピュータの型 最大の特徴 命令(たとえば足し算をしろ)と データ(3+5における3と5)を 区別なく主記憶装置(メモリ)に格納 EDVAC以前は,違った計算をするためには, 配線の入れ替えなど物理的な操作が必要 プログラム(命令とデータの集合) を書き換えるだけになった ノイマン型コンピュータ
by Naoki Kato © Naoki Kato © Naoki Kato ノイマン型コンピュータの基本構成
ノイマン型コンピュータ 主記憶装置 出⼒装置 制御装置 演算論理装置 ⼊⼒装置 制御の流れ データの流れ
by Naoki Kato © Naoki Kato © Naoki Kato より具体的な構成
ノイマン型コンピュータ 中央処理装置 主記憶装置 出⼒装置 演算論理装置 ⼊⼒装置 制御装置 伝送装置 プログラムカウンタ 命令レジスタ アキュムレータ
by Naoki Kato © Naoki Kato © Naoki Kato ハードウェアとソフトウェア
ノイマン型コンピュータ 中央処理装置 主記憶装置 出⼒装置 演算論理装置 ⼊⼒装置 制御装置 伝送装置 プログラムカウンタ 命令レジスタ アキュムレータ 基本的な処理や演算を⾏うための機構が スイッチの集合(論理回路)で作られている 基本的な処理や演算を組合せて 複雑な処理をする⼿順 ハ " ド ウ % ア ソ フ ト ウ % ア
by Naoki Kato © Naoki Kato © Naoki Kato オペレーティングシステムとは
ハードウェアとのやりとりを仲介するソフトウェア オペレーティングシステム オペレーティングシステム (ソフトウェア) ハードウェア アプリケーションソフトウェア
by Naoki Kato © Naoki Kato © Naoki Kato オペレーティングシステムとは
ユーザとのやりとりをする部分(シェル)も含む オペレーティングシステム オペレーティングシステム (ソフトウェア) ハードウェア アプリケーションソフトウェア シェル
by Naoki Kato © Naoki Kato © Naoki Kato オペレーティングシステムの種類
Unix(BSD,Linux,…) TRON Microsoft Windows Mac OS などなど他にもいっぱい オペレーティングシステム
by Naoki Kato © Naoki Kato © Naoki Kato シェルの種類
CUI(Command User Interface) GUI(Graphical User Interface) オペレーティングシステム
by Naoki Kato © Naoki Kato © Naoki Kato オペレーティングシステムの役割
タスク・プロセス管理 メモリ管理 ファイル管理 ネットワーク管理 デバイス管理 オペレーティングシステム
by Naoki Kato © Naoki Kato © Naoki Kato タスク・プロセス管理
同時に行えることは中央演算処理装置の数だけ 時分割で順番にタスクを実行して,同時に動いてい るように見せる(マルチタスク) オペレーティングシステム オペレーティングシステム (ソフトウェア) ワープロソフト 時計ソフト 表⽰ ⼊⼒ 表⽰ 校正
by Naoki Kato © Naoki Kato © Naoki Kato メモリ管理
プログラム(タスク・プロセスなど)へのメモリ割 り当て,終了時の解放 不連続なメモリ領域を連続に見せかける(仮想記 憶) オペレーティングシステム ワープロソフト 時計ソフト 表計算ソフト
by Naoki Kato © Naoki Kato © Naoki Kato メモリ管理
メモリスワッピング(仮想記憶の一機能) 実行しているタスク・プロセスが利用しているメモリ領域は, 一時記憶装置へ移す オペレーティングシステム ワープロソフト 時計ソフト 表計算ソフト ワープロソフト 時計ソフト 表計算ソフト
by Naoki Kato © Naoki Kato © Naoki Kato ファイル管理(ファイルシステム)
コンピュータの資源を 狭義(二次記憶装置内のデータ) 広義(デバイス,プロセス,様々なデータ) 階層構造化,アクセス/検索するための機能 オペレーティングシステム
by Naoki Kato © Naoki Kato © Naoki Kato ファイル管理(ファイルシステム)
オペレーティングシステム (広義) (1)開く (2)書く (3)閉じる パラレル ポート (狭義) (1)開く (2)書く (3)閉じる テキストファイル
by Naoki Kato © Naoki Kato © Naoki Kato ファイル管理(ファイルシステム)
(狭義)二次記憶装置内のデータ オペレーティングシステム naoki 2006 IP1.txt 資料.doc 名簿.xsl フォルダ ファイル
by Naoki Kato © Naoki Kato © Naoki Kato ハードウェア
ネットワーク管理 通信するにはその仕方を決める必要(プロトコル) オペレーティングシステム アプリケーション層 プレゼンテーション層 セッション層 トランスポート層 ネットワーク層 データリンク層 物理層 電気的信号を交換するための決まり データ列を交換するための決まり (通信異常が起きた時などの対処など) 意味あるデータを交換するための決まり (データ形式など)
by Naoki Kato © Naoki Kato © Naoki Kato デバイス管理(デバイスドライバ)
オペレーティングシステム EPSONインクジェット⽤ CANONレーザ⽤ アプリケーションソフトウェア 統⼀された⽅法で どんなプリンタからでも印刷ができる
by Naoki Kato © Naoki Kato © Naoki Kato ブール代数と論理回路
情報の論理数学入門 近代科学社 4-7649-0180-3 コンピュータ回路 森北出版 4-627-82460-2 CPUの創りかた 毎日コミュニケーションズ 4-839-90986-4 参考文献
by Naoki Kato © Naoki Kato © Naoki Kato オペレーティングシステム
情報とコンピューティング オーム社 4274133095 オペレーティングシステム オーム社 4274132501 参考文献
by Naoki Kato © Naoki Kato © Naoki Kato お
おし しま まい い コンピュータの仕組み(2)