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
470
コンピュータの仕組み(2)
Naoki Kato
PRO
May 08, 2019
Tweet
Share
More Decks by Naoki Kato
See All by Naoki Kato
教育現場における生成AIの活用とこれからの学校
naokikato
PRO
0
39
学校や家庭における効果的なICTの活用
naokikato
PRO
0
29
学校や家庭における効果的なICTの活用
naokikato
PRO
0
5
大学で学ぶ色のはなし
naokikato
PRO
0
12
GIGAスクール時代の情報教育とICT活用
naokikato
PRO
1
22
GIGAスクール構想実現に向けた学校の取組
naokikato
PRO
0
84
イントロダクション
naokikato
PRO
0
72
情報処理学オリエンテーション
naokikato
PRO
2
260
GIGAスクール構想定着期に向けて
naokikato
PRO
0
130
Other Decks in Education
See All in Education
H5P-työkalut
matleenalaakso
4
36k
AWS All Certが伝える 新AWS認定試験取得のコツ (Machine Learning Engineer - Associate)
nnydtmg
1
590
Library Prefects 2024-2025
cbtlibrary
0
110
20240810_ワンオペ社内勉強会のノウハウ
ponponmikankan
2
880
Introduction - Lecture 1 - Web Technologies (1019888BNR)
signer
PRO
0
4.9k
Flip-videochat
matleenalaakso
0
14k
HP用_松尾研紹介資料.pdf
matsuolab
0
180
Chapitre_1_-__L_atmosphère_et_la_vie_-_Partie_1.pdf
bernhardsvt
0
220
Master of Applied Science & Engineering: Computer Science & Master of Science in Applied Informatics
signer
PRO
0
430
ヘイトスピーチがある世界のコミュニケーション
ktanishima
0
140
The Gender Gap in the Technology Field and Efforts to Address It
codeforeveryone
0
210
Zoom-ohjeet
matleenalaakso
7
7.2k
Featured
See All Featured
Agile that works and the tools we love
rasmusluckow
327
21k
Designing on Purpose - Digital PM Summit 2013
jponch
115
7k
Adopting Sorbet at Scale
ufuk
73
9.1k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
26
2.1k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.3k
A better future with KSS
kneath
238
17k
Java REST API Framework Comparison - PWX 2021
mraible
PRO
28
8.2k
Designing for Performance
lara
604
68k
Unsuck your backbone
ammeep
668
57k
Designing the Hi-DPI Web
ddemaree
280
34k
Fontdeck: Realign not Redesign
paulrobertlloyd
82
5.2k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
6
430
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進法(ボタン)を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
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
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
by Naoki Kato © Naoki Kato © Naoki Kato 組合せ回路:数字表示
論理回路 C1 C0 Z0 Z1 Z2 Z3 0 1 2 3 4 6 7
by Naoki Kato © Naoki Kato © Naoki Kato 組合せ回路:セレクタ
論理回路 00 01 Z0 Z1 2進→10進デコーダ
by Naoki Kato © Naoki Kato © Naoki Kato 組合せ回路:セレクタ
論理回路 Z0 Z1 2進→10進デコーダ 0 1
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
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
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
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
by Naoki Kato © Naoki Kato © Naoki Kato 順序回路:トリガフリップフロップ
(T-FF) 信号が入ると状態が変わる 論理回路 S R Q Q ⼊⼒T Q Q ⼊⼒T 出⼒Q
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
by Naoki Kato © Naoki Kato © Naoki Kato 順序回路:データフリップフロップ
(D-FF) クロック信号が入った時の入力信号がセットされる 論理回路 S R Q Q Q ⼊⼒D クロック クロック ⼊⼒D 出⼒Q D-FF回路 Q
by Naoki Kato © Naoki Kato © Naoki Kato D-FFを使った記憶回路
論理回路 CLK LD 2ビットの記憶回路 D D D LD CK D LD CK D0 D1 CK LD
by Naoki Kato © Naoki Kato © Naoki Kato D-FFを使った記憶回路
論理回路 CLK LD D D
by Naoki Kato © Naoki Kato © Naoki Kato D-FFを使った記憶回路
論理回路 CLK LD D D
by Naoki Kato © Naoki Kato © Naoki Kato D-FFを使った記憶回路
論理回路 CLK LD 2ビットの記憶回路 D D D LD CK D LD CK D0 D1 CK LD
by Naoki Kato © Naoki Kato © Naoki Kato 加算電卓
論理回路で計算機を作る 0 1 2 3 0 1 2 3 ⼗ 進 ⼆ 進 デ コ & ダ ⼗ 進 ⼆ 進 デ コ & ダ ⼆ 進 ⼆ 桁 加 算 器 ⼆ ビ - ト 記 憶 回 路 ⼆ ビ - ト 記 憶 回 路 ⼆ 進 ⼗ 進 デ コ & ダ
by Naoki Kato © Naoki Kato © Naoki Kato (a+b)-(c+d)
を計算する回路 論理回路で計算機を作る 加算器 加算器 減算器 2ビット記憶回路 2ビット記憶回路 2ビット記憶回路 2ビット記憶回路 ⼆ 進 ⼗ 進 デ コ & ダ
by Naoki Kato © Naoki Kato © Naoki Kato メモリの実現(出力側)
論理回路で計算機を作る ⼆進⼗進変換デコーダ 00 2ビット記憶回路 2ビット記憶回路 2ビット記憶回路 2ビット記憶回路 01 CK 出⼒⽤(取り出したい場所を指定) 取 り 出 し た デ ' タ 00 01
by Naoki Kato © Naoki Kato © Naoki Kato メモリの実現(入力側)
論理回路で計算機を作る ⼆進⼗進変換デコーダ 00 2ビット記憶回路 01 CK 2ビット記憶回路 LD 2ビット記憶回路 2ビット記憶回路 ⼊⼒⽤(⼊れたい場所を指定) ⼊ ⼒ し た い デ ' タ 00 01
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 プ
プロ ログ グラ ラミ ミン ング グと とは は コンピュータの仕組み(2)
by Naoki Kato © Naoki Kato © Naoki Kato フォンノイマン型コンピュータのしくみ
プログラミングとは Photo by Computer Laboratory, University of Cambridge. データ 0と1の集合 プログラム 0と1の集合 データ 0と1の集合 基本的な処理や演算を組合せて 複雑な処理をする⼿順 ソフトウェア
by Naoki Kato © Naoki Kato © Naoki Kato プログラミングとは
これを作ること プログラミングとは プログラム 0と1の集合 基本的な処理や演算を組合せて 複雑な処理をする⼿順 ソフトウェア 0 0000100000000100 1 0011000000000101 2 0001100000000110 3 0000000000000000 4 0000000000000010 5 0000000000000011
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 コンパイラ インタプリタ
by Naoki Kato © Naoki Kato © Naoki Kato 一般的なプログラミング
プログラミングとは テキストエディタ 10 INPUT A 20 INPUT B 30 PRINT A+B コンパイラ EXE
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
by Naoki Kato © Naoki Kato © Naoki Kato プ
プロ ログ グラ ラミ ミン ング グ体 体験 験 コンピュータの仕組み(2)
by Naoki Kato © Naoki Kato © Naoki Kato 昔話:初期のパーソナルコンピュータ
プログラミング体験 左写真引用:http://itoi.jp/pc-8001.html 右写真引用: http://itoi.jp/time31.html#MZ-2000 電源を入れると BASIC
by Naoki Kato © Naoki Kato © Naoki Kato 昔話w
プログラミング体験 元秋田大学教授 中学1年生の私 母 私にパソコンを教えてしまった 担任
by Naoki Kato © Naoki Kato © Naoki Kato IchigoJam
プログラミング体験
by Naoki Kato © Naoki Kato © Naoki Kato IchigoJam
プログラミング体験
by Naoki Kato © Naoki Kato © Naoki Kato IchigoDake+スクールキット
プログラミング体験
by Naoki Kato © Naoki Kato © Naoki Kato Ichigo
Jam で体験 IchigoJam web http://fukuno.jig.jp/app/IchigoJam/ プログラミング体験
by Naoki Kato © Naoki Kato © Naoki Kato お
おし しま まい い コンピュータの仕組み(2)
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)