コンピュータの仕組みとディジタルデータ プログラミングの予備知識 T G M K : テラ (1012=1兆) : ギガ(109 =10億) : メガ (106 =100万) : キロ(103=1000) Hz : ヘルツ(周波数の単位) B : バイト (データ量の単位) 1 コンピュータとはどのような機械か? 「あらかじめ指示されたことを正確に高速に行う機械」 = プログラム(program:ある物事の進行状態についての 順序・組み合わせ・筋などのこと。及び、それを書いたもの。 ) コンピュータプログラム= コンピュータに一定の仕事を行わせるための コンピュータ固有の命令(instruction)の集まり 「命令」とは ? コンピュータの内部状態を変更するための指示 z データを持ってこい z データを保存しろ z 足算しろ,引算しろ,掛算しろ,... z 二つの数が等しいかどうか判断しろ z どっちの数が大きいか判断しろ z ... 電卓とコンピュータ : 何が違うか z 電卓(calculator) – データ入力と計算手順を人間が操作する → 計算速度の限界 z コンピュータ(computer) あらかじめデータと計算の手順(命令)を記憶装置(メモリ) に格納しておき,命令を順番に一つずつ取り出して,命令 を実行する。 プログラム内蔵(stored program)方式 / Von Neumann方式 世界最初のプログラム内蔵方式コンピュータ : EDSAC(ケンブリッジ大学,1949年) 2 ビデオ : コンピュータ誕生の歴史 身の回りのコンピュータ カーナビ パソコン 洗濯機 ゲーム機 デジタルカメラ DVDプレーヤ 冷蔵庫 携帯電話 テレビ ロボット 3 パソコンの中身 マザーボード プロセッサ(CPU) 主記憶(メモリ) コンピュータの構成要素 プロセッサ (CPU) メモリバス 主記憶 (メモリ) 入出力バス 入力装置 キーボード マウス 出力装置 ディスプレイ プリンタ 補助記憶装置 ハードディスク フロッピーディスク CD、DVD z プロセッサ : CPU(Central Processing Unit,中央処理装置)とも呼ぶ z 主記憶 : メインメモリあるいは単にメモリとも呼ぶ z バス : 信号線の束 4 プロセッサ(processor:処理装置) z 演算や実行制御(条件判断,繰返しなど)を行う z プロセッサには命令(演算命令,条件判断命令など)が定義されている – プログラムは命令を組み合わせて作られる – 命令は0と1の組合せによって表現される(機械語) プロセッサLSI Large Scale Integrated circuit メモリ(memory) ¾ 2進数(0と1)で表現されたプログラムやデータを記憶する素子 記憶場所の指定 番地 パッケージ 端子 メモリチップ メモリIC 0 01001010 1 11010111 2 10001111 3 00110110 コネクタ (メモリスロットに接続) … … PSD メモリ(1Gbyte) 999999998 10011001 999999999 01101010 命令 / データがメモリに 格納される 5 コンピュータの構成要素 演算データを保持 実行する命令の 番地を保持 プロセッサ メモリ(1GByte) 0番地 R0 R1 R2 R3 1番地 レジスタ プログラムカウンタ(PC) 命令,データ 2番地 命令レジスタ(IR) 命令解読器(ID) ALU PCの指す番地から 読み出した命令を 保持 計算を実行 命令レジスタの 内容を解読 999999999 番地 プログラムの命令と データを格納 PC : Program Counter IR : Instruction Register ALU : Arithmetic Logical Unit ID : Instruction Decoder コンピュータの動作 z プロセッサはメモリに格納された「命令」を順番に実行していく ① メモリから命令を読み出してくる。 【命令読出し(Fetch)】 ● 何番地から命令を読み出すか? ⇒ プロセッサ内部の「プログラムカウンタ(PC)」により指定する 次の命令の実行に備えてPCの値を増やす。 ● ② 読み出した命令を解読する。 【命令解読(Decode)】 ③ 命令を実行する(計算を行う)。【命令実行(Execute)】 ④ 計算結果を格納する。【結果格納(Store)】 命令とデータ データ (計算結果) 6 プロセッサの時間動作を決めるもの =動作周波数(クロック周波数) 周波数:1秒間の繰返し回数(単位: Hz(ヘルツ)) 時間 クロック信号 (コンピュータの メトロノーム) サイクル時間 1秒間に10億回の繰返し → 10億Hz=109Hz=1GHz サイクル時間= → 1 動作周波数 サイクル時間 1 =10-9=1ns(ナノセカンド) 109 1秒間に 5億回の繰返し 1 → 5億Hz=500×106Hz=500MHz → 500×106 =0.002×10-6=2×10-9 =2ns(ナノセカンド) 1ns という時間 : 光が約33cm進む距離(光の速度30万km/秒) 量と単位の表し方 接頭語 (補助単位) 単位例 記号 フェムト f 1兆分の1 ピコ p 10-9 10億分の1 ナノ n 10-6 100万分の1 マイクロ μ μs 10-3 1000分の1 ミリ m ms 10-15 10-12 100 =1 ps ns bit Byte Hz 103 1000 (210) キロ k kbit kByte kHz 106 100万 (220) メガ M Mbit MByte MHz 109 10億 (230) ギガ G Gbit GByte GHz 1兆 (240) テラ T Tbit TByte THz 1000兆 (250) ペタ P 1012 1015 7 s プロセッサの時間動作を決めるもの =動作周波数(クロック周波数) 1命令の実行サイクル 時刻 1 時刻 2 時刻 3 時刻 4 命令実行 結果格納 クロック信号 (コンピュータの メトロノーム) 命令読出し 命令解読 500MHz動作 の場合 2ns 2ns 1GHz動作 の場合 1ns 2ns 2ns 8ns(=8×10-9 秒) = 1命令が8nsで実行できる 1ns 1ns 1ns 4ns(=4×10-9 秒) = 1命令が4nsで実行できる コンピュータの何が凄いのか コンピュータの命令はきわめて単純な動作しか実行できない。 しかし,個々の動作はもの凄く高速に実行できる。 ex. 動作周波数1GHzのコンピュータ:4nsに1命令=1sに2.5億命令 (秒) 単純な動作でも何千,何万,何十万,何百万… と組み合わせれば, 「たくさんの便利なこと」ができる。 「たくさんの便利なこと」:文書処理,表計算,コンピュータ通信, 機器(家電品,自動車など)の制御,… 8 情報の量を表す単位 z bit(binary digit) : 2進数1桁で表すことのできる情報量 (電子回路では,電圧/電流の有無,スイッチのON/OFF に対応させる) z 1byte(B) = 8bit ¾ 1kbyte = 1000 byte (正確には210=1024 byte) ¾ 1Mbyte = 1,000,000 byte (正確には220=1048576 byte) ¾ 1Gbyte = 1,000,000,000 byte (正確には230 byte) 記憶メディアの容量 • フロッピーディスク : 1.4MB ・ USBメモリ : 1GB ~ 128GB • CD 700MB ・ DVD 4.7~17GB • Blu-ray Disc 25/50GB (地デジ録画時間:3h / 6h) ・ HDD 40 ~ 1000GB(1TB) 文字データ 文字のデータ ABC... 012... !@#$%... 英字 数字 記号 アイウ... あいう... 亜唖娃… カタカナ ひらがな 漢字 1文字ずつ,固有のビット列を割り当てて,文字を表現する =文字コード z 英数字,記号文字(半角文字): 8 bit (1byte)で表現(ASCII) ‘A’: 01000001 ‘a’:01100001 ‘1’:00110001 z 日本語文字(全角文字):16 bit (2byte)で表現(JIS,SJIS,EUCコード) ‘一’: 10001000 11101010 ‘橋’: 10001011 10110100 9 画像データ(カラー画像) 画素(pixel) カラー画像の表現 • 光の三原色(赤、緑、青)の3色の 重ね合わせですべての色を表現する。 • 各色はそれぞれ 1byte=8 bit で表現 する。(28=256 通りの明度) 0 255 R(赤) G(緑) B(青) • 全体として 3(色)×8( bit) = 24 bit で色を表現する。 • 表現できる色数は,224 ≒ 1600 万色 10 画像データ 赤 11111110 (1byte) 緑 11101001 (1byte) 青 10100110 (1byte) 1画素あたり 24bit(3 byte)のデータ 256×256画素のデータ量: 256×256×3byte=196608byte ≒196Kbyte 最近のディジタルカメラ 1400万(4320×3240)画素 パナソニック LUMIX ZX3 1画素3byteの色情報をもつとすると: 全体の情報量 4320×3240×3byte≒4200万byte=42Mbyte 512MbyteのSDカードに何枚記録できる ? 512Mbyte÷42Mbyte=512Mbyte÷42Mbyte≒12枚 カタログでは... → 『約83枚』 JPEG : 圧縮技術(画素レベルでは隣接する画素の色は それほど違わないという性質を利用) 圧縮率83÷12=6.9 11 動画データ • 1秒間に30枚(30フレーム)の静止画を連続して表示 動画データ • 1画面720×480画素のディジタルビデオカメラの映像では, 1画面 : 720×480×3byte=1036800byte≒1MB 1秒間で約30MB 1分間で約1800MB(=1.8GB)程度 • CD(700MB)で23秒(700MB÷30MB≒23秒) DVD(4.7GB)で156秒(4.7GB÷30MB≒156秒) 実際には, MPEG:圧縮技術(画像の中の動く部分だけを検出し保存) → 1枚のDVDに133分録画可能 12 電圧 時間 電圧 時間 一定時間ごとにアナログ信号をサンプ リングする。 データ 65536 音楽CDの場合,1秒間に44100回 のデータをサンプリングする (サンプリング周波数:44.1kHz) 32768 各点の信号の電圧を16ビットの ディジタル値に変換する。 時間 音楽データのデータ量 1秒間に44100個のディジタルデータ(2byte): 88200byte ステレオの場合(右と左)は2倍:176400byte = 176.4kbyte 1枚のCD(700Mbyte) には, 700Mbyte ÷ 176.4kbyte ≒ 3968秒=66分 の楽曲を記録できる。 13
© Copyright 2024 Paperzz