cs-14. プロセッサ,メモリ,文字コード,論理演算と足し算

239 Views

December 17, 21

スライド概要

コンピューターサイエンス
URL: https://www.kkaneko.jp/cc/cs/index.html

profile-image

金子邦彦(かねこくにひこ) 福山大学・工学部・教授 ホームページ: https://www.kkaneko.jp/index.html 金子邦彦 YouTube チャンネル: https://youtube.com/user/kunihikokaneko

シェア

埋め込む »CMSなどでJSが使えない場合

各ページのテキスト
1.

cs-14. プロセッサ,メモリ,文 字コード,論理演算と足し算 (コンピューターサイエンス) URL: https://www.kkaneko.jp/cc/cs/index.html 金子邦彦 謝辞:この資料では「いらすとや」のイラストを使用しています 1

2.

第14回の内容 14-2 プロセッサ 14-3 コンピュータの構成 14-4 メモリとアドレス 14-5 メモリの仕組み 14-6 文字コード 14-7 論理積と論理和 14-8 論理演算と足し算 14-92の補数 2

3.

14-2 プロセッサ 3

4.

14-2 プロセッサ プロセッサは,コンピュータの中で, 計算,制御を担う 4

5.

プロセッサ(CPU)は,精密なデジタル 電子回路である インテル Core i7 プロセッサ 精密なデジタル電子回路 5

6.

14-3 コンピュータの構成 6

7.

コンピュータの入力と出力 人間や 他のコンピュータ 入力 出力 コンピュータ 7

8.

ハードウエアとソフトウエア ソフトウエア アプリケーション オペレーティングシステム ハードウエア プロセッサ,メモリ その他,入力装置,出力装置など 8

9.

なぜコンピュータ • 人間の知的能力を,コンピュータが増幅する 記憶,判断,計算 • コンピュータの特性 自動,作業の質にばらつきがない • 情報化と情報ネットワーク データの保管,発信,共有,流通に高い能力を発揮 社会はより便利になる.情報を集め配布する産業,コン ピュータのアプリを作る産業など,種々の産業が盛り上がる 9

10.

コンピュータのハードウエア構成 プロセッサ 入 力 装 置 メモリ 出 力 装 置 補助記憶装置 10

11.

プロセッサ 出 入 力 力 装 装 コンピュータの中で,計 置 置 算,制御を担う メモリ 補助記憶装置 11

12.

データの記憶を行うチップ CPU データの書き込み,データの読 (プロセッサ) み出し機能がある 入 力 装 置 メモリ 出 力 装 置 補助記憶装置 12

13.

14-4 メモリとアドレス 13

14.

プロセッサ 入 力 装 置 プロセッサ,メモリ 出 間でデータが 力 装 やり取りされる メモリ 置 補助記憶装置 14

15.

プロセッサ 入 アドレス 力 装 置 メモリ 出 データ 力 装 置 メモリからプロセッサへの読み出し 補助記憶装置 15

16.

プロセッサ 入 アドレス 力 装 置 メモリ 出 データ 力 装 置 プロセッサからメモリへの書き込み 補助記憶装置 16

17.

メモリとは • メモリは,データの記憶を行うチップ • データを覚えさせたり(書き込み),取り 出したり(読み出し)の機能がある 17

18.

14-4 メモリとアドレス • メモリはバイト(8ビット)単位に区切ら れている • 各バイトには0から始まる通し番号が付け られている。これをアドレスという(番地 ともいう) メモリ内のデータは 01 00 00 00 02 00 00 00 03 00 0 1 2 3 4 5 6 アドレス 7 8 9 18

19.

メモリアドレス • メモリアドレスは,読み書きすべきデータの「場 所」を示す (例) 0065FDF0 (16進) → メモリの先頭から0065FDF0 (16進数)番目 という意味 • メモリ内のデジタルデータは,8ビットずつ区切 られて,メモリアドレスが付けられている 00101110100101001010010101001 8ビット 8ビット 8ビット

20.

メモリへの操作 • 読み出し 読み出したい データのアドレス データ メモリ • 書き込み 書き込みたい データのアドレス とデータそのもの メモリ 20

21.

読み出し アドレス アドレス アドレス アドレス アドレス アドレス アドレス アドレス アドレス 0 1 2 3 4 5 6 7 8 ?? ?? ?? ?? ?? ?? ?? ?? ?? アドレス4番地,5番地 から2バイト分 読み出すとき メモリの値は変化 しない メモリの各区画は1バイト (16進数で2桁) 21

22.

書き込み アドレス アドレス アドレス アドレス アドレス アドレス アドレス アドレス アドレス 0 1 2 3 4 5 6 7 8 ?? ?? ?? ?? ?? ?? ?? ?? ?? アドレス6番地, 7番地に 「0400」を 書き込むと メモリの各区画は1バイト (16進数で2桁) ?? ?? ?? ?? ?? ?? 0 4 0 0 ?? 前の値は消える 22

23.

14-5 メモリの仕組み 23

24.

14-5 メモリの仕組み ア ド レ ス ア ド レ ス デ アドレス信号が コ 通る信号線 (アドレスバス) ー ダ アドレス アドレス アドレス アドレス アドレス アドレス アドレス アドレス アドレス 0 1 2 3 4 5 6 7 8 デ ー タ データ信号が 通る信号線 (データバス) メモリ 24

25.

アドレス4,5番地から,2バイト分読み出す ア ド レ ス 「 4 」 アドレス4,5 のメモリをオンに アドレスが 入る 必要なメモリを オンに ( 2 2 バ バ イ イ ト ト の 分 デ を ー 一 タ 括 読 み 出 し ) データが 出る 25

26.

アドレス6,7番地に,2バイト分書き込む ア ド レ ス 「 6 」 アドレス6,7 のメモリをオンに アドレスが 入る 必要なメモリを オンに ( 2 2 バ バ イ イ ト ト の 分 デ を ー 一 タ 括 書 き 込 み ) データが 入る 26

27.

14-6 文字コード 27

28.

ASCIIコード表 「文字1文字」は, 数字(16進数2桁)にコード化 0 1 2 3 4 5 6 7 0 NULL DEL SP 0 @ P 1 SOH DC1 ! 1 A Q a q 2 STX DC2 “ 2 B R b r 3 ETX DC3 # 3 C S c s 4 EOT DC4 $ 4 D T d t 5 ENQ NAK % 5 E U e u 6 ACK SYN & 6 F V f v 7 BEL ETB ’ 7 G W g w 8 (BS) CAN ( 8 H X h x 9 (HT) EM ) 9 I Y i y A (LF) SUB * : J Z j z B (VT) ESC + ; K [ k { C (FF) (FS) , < L ¥ l | D (CR) (GS) - = M ] m } E SO (RS) . > N ^ n ~ F SI (US) / ? O _ o DEL p 太字は特別用途

29.

14-7 論理積と論理和 29

30.

二進数は 0 または 1 右手が下がっている 右手が上がっている 二通り 30

31.

二進数は 0 または 1 右手が下がっている 0 右手が上がっている 1 ※ 0 と 1 が逆になる場合もある 31

32.

変数が2つ 右手と左手の 両方を考えると 4通り 32

33.

変数が2つ 0と0 1 と0 0と1 1と1 33

34.

論理積 0と0 0と1 1 と0 1と1 論理積は 両方とも1 34

35.

論理和 0と0 0と1 1 と0 1と1 論理和は 少なくとも 片方には 1がある 35

36.

論理和と「選択」は違う ・焼き芋大会があるんだけど、 ・土曜日と日曜日、どっちが良い? 両方、申し込んでよ ♡ 日曜日 落選:0 当選:1 土曜日 落選:0 当選:1 両方参加しても OK! 土曜日と日曜日の選択では無 い 36

37.

14-7 論理積と論理和 0 1 0 0 0 1 0 1 論理積 AND 0 1 0 0 1 1 1 1 論理和 OR 37

38.

複数のビットを一括して論理積、論理和を 求める場合があります x y 0011 クイズ 0101 x と y の論理積は? 論理和は? 全部で4ビット 38

39.

複数のビットを一括して論理積、論理和を 求める場合があります x 0011 0011 y 0101 0101 0001 0111 論理積 AND 論理和 OR 39

40.

多数決 Aさん,Bさん,Cさんは 「0」か「1」に投票 A 0 1 0 1 0 1 0 1 B 0 0 1 1 0 0 1 1 C 0 0 0 0 1 1 1 1 多数決 0 0 0 1 0 1 1 1 40

41.

多数決は,論理積(AND)と論理和(OR)の 組み合わせでできる A 0 1 0 1 0 1 0 1 A AND B 0 0 0 1 0 0 0 1 ① B AND C 0 0 0 0 0 0 1 1 ② B 0 0 1 1 0 0 1 1 C 0 0 0 0 1 1 1 1 C AND A 0 0 0 0 0 1 0 1 ③ ① OR ② 0 0 0 1 0 0 1 1 ④ 多数決 0 0 0 1 0 1 1 1 ③ OR ④ 0 0 0 1 0 1 1 1 41

42.

14-8 論理演算と足し算 42

43.

論理積と論理和 0 1 0 0 0 1 0 1 論理積 AND 0 1 0 0 1 1 1 1 論理和 OR 43

44.

否定(NOT) NOT(0) = 1 NOT(1) = 0 否定 NOT 44

45.

足し算 0 + 0 = 00 0 + 1 = 01 1 + 0 = 01 1 + 1 = 10 2つのビットから 2ビットができる 45

46.

足し算 0 + 上位ビット 下位ビット 0 = 00 0 + 1 = 01 1 + 0 = 01 1 + 1 = 10 0 0 0 1 0 1 0 1 上位ビット x AND y 足し算は AND, OR, NOT の組み合わせで可能 0 1 0 0 1 1 1 0 下位ビット AND((x OR y), NOT(x AND y)) 46

47.

14-92の補数 47

48.

2の補数 • 2の補数は,負の整数も扱いたいときに便利 • 2の補数では,最上位ビットが符号ビット 0 → 正の整数または0 1 → 負の整数 10進数の1 0 0 0 0 0 0 0 1 10進数の0 0 0 0 0 0 0 0 0 10進数の-1 1 1 1 1 1 1 1 1 48

49.

符号付き整数 8ビットの整数データの場合 8 7 6 5 4 3 2 1 最上ビットは符号ビット 0 → 正の数,0 1 → 負の数 正なのか負なのかの区別に使う 49

50.

2の補数 8ビットの整数データの場合 8 7 6 5 4 3 2 1 10進数の2 0 0 0 0 0 0 1 0 10進数の1 0 0 0 0 0 0 0 1 10進数の0 0 0 0 0 0 0 0 0 10進数の-1 1 1 1 1 1 1 1 1 10進数の-2 1 1 1 1 1 1 1 0 50

51.

パソコン演習 ① ウェブブラウザを起動する ② python tutor を使いたいので,次の URL を開く http://www.pythontutor.com/ ※ Internet Explorer でうまく動かない場合があります → うまく動かないときは Google Chrome を試してください ※ 日本語モードはないので,英語で使う 51

52.

① 次のように書く print( format( -2 & 0xff, 'b' ) ) print( format( -1 & 0xff, 'b' ) ) print( format( 0 & 0xff, 'b' ) ) print( format( 1 & 0xff, 'b' ) ) print( format( 2 & 0xff, 'b' ) ) print( format( 3 & 0xff, 'b' ) ) 52

53.

②「Visualize Execution」をクリック 53

54.

③「Last」ボタンをクリック 54

55.

④ 結果を確認 -2 -1 0 1 2 3 10進数 55