2006年4月18日 コンピュータリテラシ 筑波大学 電子・情報工学系 コンピュータサイエンス専攻 新城 靖 <yas@is.tsukuba.ac.jp>
このページは、次の URL にあります。
http://www.coins.tsukuba.ac.jp/~yas/coins/literacy-2006/2006-04-21
あるいは、次のページから手繰っていくこともできます。
http://www.coins.tsukuba.ac.jp/~yas/
http://www.cs.tsukuba.ac.jp/~yas/
新城の定義。情報とは、コピーしても同じものと思えるもの。物は、コピーす ると別のものになる。お金は、情報だがコピーしてはいけない。
新城の定義(その2)。情報とは、情報処理の対象となるもの。情報処理とは、 次の3つ。
外から見える人間の情報処理
人間の対話では、実は、non-verbal 的な情報(文字にならない情報)のやり取り が多い。非言語的な情報は、コンピュータで扱うことは苦手。
図? ハードウェアの構成要素
メインメモリは、IC(Integrated Circuit、シリコンという元素による半導 体で作られた電気回路)でできている。その他に、ハードディスクやフロッピ・ ディスクも重要な記憶のための部品である。
保存する==書く、取り出す==読む
1ビットの情報で表現できること
1バイトあるとできること
1ブロックは、512バイト〜8192バイトが多い。 記憶媒体によって違う。
情報量の単位、ビットやバイトには、次のような係数とともに使われる。
CPU (Central Processing Unit、中央処理装置、中央演算装置)は、コンピュー タの計算を行う部品である。MPU (Micro Processing Unit) と言われることも ある。
CPU は、内部に 数が少ないが、計算の中間結果を置くための高速な 小容量の記憶のための部品(レジスタ)と 計算のための部品(ALU、Arithmetic Logic Unit)を持つ。
CPU は、次の動作を、ひたすら繰り返す
CPU は、メモリ(主記憶)に入っいているプログラムに従って、やはりメモリ (主記憶)に入っいているデータを操作する。CPU が実行できるプログラムは、 機械語と呼ばれる。
CPU の種類によって、プログラム(機械語)が違う。 プログラム(ソフトウェア)を買う時には、CPU の種類に気をつける。
CPUが速いほど、計算は速い。CPUの速さは、クロックの周波数(単位は、Hz)を 目安にできる。たとえば、1GHz の CPU は、2GHz の CPU の2倍の速度が 出ると期待できる。ただし、CPU の種類が違うと直接的な比較はできない。
1つの機械語は、単純なことしかできない。
コンピュータの処理には、CPU による加工だけでなく、加工を伴わな いコピーもかなり多い。コンピュータの性能を決めるのは、CPU の計算だけで はない。特にハードディスクからメインメモリに対するコピーの速度や、ネッ トワークを経由したコピーの速度も大きな影響を与える。
メインメモリをたくさん積むと、ハードディスクからメインメモリへのコピー の回数が減らせる。前にメインメモリにコピーしたデータを、それだけたくさ ん残しておけるからである(ディスク・キャッシュ)。
クロックとは、コンピュータの内部でタイミングをとるために使われている、 一定時間ごとに0と1が交代するようになっている電気信号。
クロックの速度は、時間で図る(小さい方がよい)よりも、その逆数の動作周 波数(大きい方がよい)で図ることが多い。
iMac は、2,100,000,000 Hz。
1 clock [s] == 1/(2,100,000,000 [Hz]) == 0.476 ナノ秒
ハードウェア | 時間 |
---|---|
レジスタ | 1クロック |
L1キャッシュ | 数クロック |
L2キャッシュ | 10クロック |
メインメモリ | 数十クロック |
ハードディスク | 数百万クロック |
もっと大きい数を扱う時には、複数ビットをまとめてあつかう。 ビットごとに、 20 21 22 23 ... と 重みを変える(2進法)。 たとえば、
101 (2進法)
だと22+20== 4 + 1 == 5 (10進法)
を意味する。---------------------------------------------------------------------- 2進 16進 10進 ---------------------------------------------------------------------- 0 0 0 1 1 1 10 2 2 11 3 3 100 4 4 101 5 5 110 6 6 111 6 7 1000 8 8 1001 9 9 1010 A 10 1011 B 11 1100 C 12 1101 D 13 1110 E 14 1111 F 15 10000 10 16 ----------------------------------------------------------------------16進数(16進法)では、10進で 10 から 15 の代わりに、アルファベッ トのA から F を使う。16進数の計算ができる必要はないが、 転記する必要がでてくることがある。
2の補数は、算盤で負の数を扱う時と同じ方法。 −nを、nを加えると、0(桁溢れ)になるよう。
m × R e
指数部 e と小数部 m の組で、小数を表す。e, m は整数。R は、2 が使われ ることが多い。(10 が使われることも、16 が使われることもある。)
コンピュータとは関係ない文字セット
A 1 B 2 C 3 ... Z 26モールス符合。
あ 11 い 12 う 13 え 14 お 15 か 21 ... さ 31 ...
英語のアルファベット(大文字、小文字)や数字や記号などの文字を符号化す るために、現在もっともよく使われている対応表は、ASCII(American Standard Code for Information Interchange)。
英文の電子メール、C言語のプログラミングなどで使われている。
ASCII というと、符号化の方法だが、文字セットを意味することもある。 文字セットでは、ASCIIのうち印刷可能な94文字を意味する。ASCII では、 印刷可能な文字以外に、印刷できない制御文字も定義している。
ASCII では、7ビットで文字を表現している。10進では0から128, 16進では 0 から 7F までである。
ASCII コード表 +---------------------------------------------------------------+ | 00 NUL| 01 SOH| 02 STX| 03 ETX| 04 EOT| 05 ENQ| 06 ACK| 07 BEL| | 08 BS | 09 HT | 0A NL | 0B VT | 0C NP | 0D CR | 0E SO | 0F SI | | 10 DLE| 11 DC1| 12 DC2| 13 DC3| 14 DC4| 15 NAK| 16 SYN| 17 ETB| | 18 CAN| 19 EM | 1A SUB| 1B ESC| 1C FS | 1D GS | 1E RS | 1F US | | 20 SP | 21 ! | 22 " | 23 # | 24 $ | 25 % | 26 & | 27 ' | | 28 ( | 29 ) | 2A * | 2B + | 2C , | 2D - | 2E . | 2F / | | 30 0 | 31 1 | 32 2 | 33 3 | 34 4 | 35 5 | 36 6 | 37 7 | | 38 8 | 39 9 | 3A : | 3B ; | 3C < | 3D = | 3E > | 3F ? | | 40 @ | 41 A | 42 B | 43 C | 44 D | 45 E | 46 F | 47 G | | 48 H | 49 I | 4A J | 4B K | 4C L | 4D M | 4E N | 4F O | | 50 P | 51 Q | 52 R | 53 S | 54 T | 55 U | 56 V | 57 W | | 58 X | 59 Y | 5A Z | 5B [ | 5C \ | 5D ] | 5E ^ | 5F _ | | 60 ` | 61 a | 62 b | 63 c | 64 d | 65 e | 66 f | 67 g | | 68 h | 69 i | 6A j | 6B k | 6C l | 6D m | 6E n | 6F o | | 70 p | 71 q | 72 r | 73 s | 74 t | 75 u | 76 v | 77 w | | 78 x | 79 y | 7A z | 7B { | 7C | | 7D } | 7E ~ | 7F DEL| +---------------------------------------------------------------+
たとえば、「ABC」という3文字は、コンピュータの内部では、41 42 43 (16 進)と表現されている。「123」という3文字は、31 32 33 (16進)と表現さ れている。このように、文字と数字は違う。「1」という文字が数値と しは16進で 31 (10進では48) と表現される。
ASCII コード表で、16進で 00 から 1F と 7F は、普通の文字ではない。 これらは、制御文字(control character,制御コード)と呼ばれている。 制御文字は、通信速度の制御に使ったり、行末を表わしたり文字を 消したりするのに使われる。キーボードで、Control-A と打つと、制御文字 を打ったことになる。
重要な制御文字
0D (CR, Carriage Return)
0A (NL, New Line)
09 (HT, Horizontal Tab)
08 (BS, Back Space)
1B (ESC, Escape)
7F (DEL, Delete)
ASCII のバックスラッシュ 「\ (16進数で5C)」は、日本語のJISローマ字文字 集合で円記号「¥ (16進数で5C)」と同じ値になっている。
8ビット符号。 20(16進)から7F(16進)までは、ASCII と同じ。 西ヨーロッパでよく使われている。
漢字1文字を、16ビットで表す。16進で2121から747Eまでの範囲にある。た だし、ただし、半分は空いている。16ビットを、8ビットずつに分ける時に、 それぞれ 21〜7E に入るようになっている。
参考:
http://www.hlla.is.tsukuba.ac.jp/~yas/classes/ipe/nitiniti2-enshu-1996/1996-11-18/kanji-code.html
旺文社漢和辞典より。1986年。ISBN 4-01-077522-X。
残念ながら、漢字コードから漢字が引けない。
MacOSX では、「文字パレット」も使える。
逆に文字を符号化してしまうと、個人の性質を出したい時には、問題がある。 たとえば、署名やラブレター。
日本語の符号化には次の4つがよく使われる。
文字化けを起こした時には、これらを切り替えてみると直ることがある。