そのとき1bitあたりの時間はどのように管理されているのでしょうか。
CPUで処理されているとき、PCの内部バス上でやりとりされているとき、イーサネットやインターネットのパケットとしてやりとりされているとき、CD-ROMやハードディスクに保存されているとき、それぞれbitデータは時間概念とどのような関係をもつのでしょうか。
たとえば、長期保存されているときには時間概念がなくなり、CPUでは数百~数百Kbitが一括処理され、イーサネットやインターネット上では高速シリアル伝送になっている。そういったことがわかりやすく説明されているHPをご紹介ください。
1 bitは、電圧変移(0/1を0v/5v, 0v/1.2vなど)として物理的に存在していると考えてよいでしょうか。
「物理的に存在している」という言葉が正しいかどうかは分かりませんが、電圧の波形としてあらわれます。
そのとき1bitあたりの時間はどのように管理されているのでしょうか。
クロックによって管理されています。
概念としては、下図のように、電圧が縦軸(0または1)に、時間が横軸(1クロックが1目盛)になります。
http://ja.wikipedia.org/wiki/%E3%83%87%E3%82%B8%E3%82%BF%E3%83%A...
>そのとき1bitあたりの時間はどのように管理されているのでしょうか。
クロックで管理されています。
PCのスペックで3GHzとかかかれていることがありますが、外部クロックそのままか、それを元に作られたシステムクロックがCPU内の最小時間になります。
>CPUで処理されているとき、
PCのシステムクロック毎に命令を処理しています。
>PCの内部バス上でやりとりされているとき、
内部バス(CPU内)はマシンクロックそのままのことが多いですね。
外部バスの場合は、アクセス速度に応じてバスに遅延を持たせることが多いです。
>イーサネットやインターネットのパケットとしてやりとりされているとき、
この場合は物理層ではシリアルデータとして扱われているので、1ビット毎に伝送されています。
>CD-ROMやハードディスクに保存されているとき、それぞれbitデータは時間概念とどのような関係をもつのでしょうか。
アクセスタイムで規定されているでしょう。
1バイト読み出すのに必要な時間の平均がスペックとして書いてあるはずです。
時間はクロックで管理されるということは、デジタル・データには絶対的なものは存在せず、つねに回路におけるクロックに順じて存在しているということになりますか。
言い換えるならば、デジタル回路なくしてデジタルデータは存在しえないということかな。
質問が不明瞭ですみませんが、デジタルという概念がどうにも理解しづらくて、なおかつ人に説明しづらくて、伺っています。
上の「アー」というデータでも、あのデータも、回路によって読み取り方が違うというふうに考えるしかないということでしょうか。
A Happy Birthday to you !
デジタル回路がないとデジタルデータを解釈できない。と言うことだと思いますよ。暗号が解けないというか。
>上の「アー」というデータでも、あのデータも、回路によって読み取り方が違うというふうに考えるしかないということでしょうか。
その通りだと思います。パソコンとかで使われる二値のデジタルデータはただの凸凹です。
凸凹そのものに意味があるのではなくて、凸凹をどのように解釈するかの取り決めに沿って扱わないと人間にとって意味のあるものになりません。
クロックが無いと絶対にデジタルデータを扱えないわけではないでしょう。高速のデータ送信にクロックを使ったほうが都合がいいだけです。
クロックはどこで0/1の値を取り出せばいいか合図をしているのです。
太鼓をどんどんと打ち続けて、そのタイミングにあわせてみんなで縄跳びをするようなものです。
「アー」の話は、アナログデータをある周期でサンプリングして、それをビット列で表した話で、デジタルデータの一例にすぎません。
例えば、音楽 CD に納められている音声データは、44.1KHz の周期でサンプリングし、サンプリングした結果を 16 bit の数値(0 ~ 65535)として表しています。
これは、CD に納められている音声データの場合で、同じ「アー」でも違う規格であれば、サンプリング周期などは違ってきます。つまり、同じ音声でも「どういう条件でサンプリングしたか」によって、デジタルデータの中身は変わります。逆に、単にデジタルデータだけあっても、どんな条件でサンプリングし、どんなルールでビット列を並べたのかが分からなければ、元の「アー」という音声も再現出きませんし、そもそも、音声のデータかどうかも分かりません。
上の「アー」というデータでも、あのデータも、回路によって読み取り方が違うというふうに考えるしかないということでしょうか。
今は、何らかのコンピュータ処理を行って音を再現するので、例え回路が同じでも、プログラムが正しく処理出きなければ、同じ音は再現出来ない、ということになりますが、コンピュータのプログラムも含めて「回路」と考えれば、同じデジタルデータでも違ってきます。
逆に言うと、先に「こういうふうにデジタル化する」というルールを先に決めて、そのルールに従った回路、プログラムを作ることになります。
デジタルデータとは、一般的に存在している事象を数値等の符号にしたものです。
ですから、早いとか遅いとか関係ありません。
分かりやすいのは数字ですが、文章もある意味デジタルデータです。
一つ一つの文字そのものは特定された符号であり、抽象的な意味は別にして文字という符号で表現しているのでデジタルです。
「あ」なら「あ」だけの事ですから、、、
ただ、通常のコンピューターでは2進法にします。
現状の技術ではそれしか扱えません。
電圧のoff、onだけで処理しています。
中間電圧などでもっと数字を区別できれば良いのですが、現状の技術では無理みたいです。
だから0と1、と表現されますが、現実にコンピューターを動かす場合は電圧の変化等をもって符号に当てはめます。
もちろん、回路によって電圧も時間も変わります。
電圧が低い方が省エネだし、現実的に早く動かせます。
時間が早さになる訳ですが、0と1が0vと1vだったとして、その電圧を変化させる早さを早くすれば、それだけ計算も速くできるという事になります。
0+0+0+1+1+1=
という計算をする場合に、
0v、0v、0v、1v、1v、1v、と来る訳ですが、
この間隔が短い方が早く計算できますよね?
この間隔を決めるのがクロックで、周波数、単位時間当たりの回数で表現します。
1MHzは1秒間に百万回繰り返す早さです。
1回の時間で表す事もできますが、数字が非常に細かく分かりにくいので、一応便宜的な意味でも(本来は電気の波形?の意味ですが、)周波数を用います。
電圧とクロックは個別の回路で異なりますが、各メーカーが好きに作ると部品の互換性が無くなるために一定の規格が設けられており、物やその世代等によって電圧や周波数が厳密に決まっています。
それがいわゆるAT互換機とかマッキントッシュ(アップル社は独自規格できました、最近AT互換機に限りなく近づいてますが、、)
もちろん、他にもマイナーな規格は沢山存在します。
でも、今の世の中、pc、パーソナルコンピューター、つまり個人用途のコンピューターではAT互換機が最有力でシェアのほとんどを占めています。
データを保存する場合は、電気信号だと色々と不都合があるので磁気信号にしたりします。
磁気を使うのはHDとフロッピーなど、、、これはs極とn極の向きで0と1だったりします。
他にCDやdvdは光の反射具合でデータにします。
紙テープなんてのもありましたね。
紙テープにパンチで穴を空けてそれでデジタルデータを表します。
もちろん他の方式も研究されています。
磁気データなどはその場所の磁気の向きであり、固定されていますので速度の違いなどを吸収でき、互換性が広くなります。
もちろん、これらにも国際規格が定められており、先の東芝がHDで破れたのはご存じの通り。
(HD規格が普及しなかったという意)
例えば、フロッピーディスクはwindows機ならほとんどどの機械に入れても読めますが、これもフロッピーの円盤上にどのようにどの位置にデータを記録するか厳密に決まっているので他の機械でも読めるのです。
従って、以前のnecの9800シリーズとか、普及しなかった2MBフロッピー(あれ?1.6MBだっけ?)ワープロ専用機などで記録されたFDは、他機種ではデータを読み取る事ができない場合が多いです。
これらの規格は百万通りぐらいはあり、電気信号一つにしても波形の具合とか色々なのでそれらを全部網羅するページというのは難しいです。
昔は機械式のコンピューターなんてのもありました。
レバーの位置で0と1にし、そのレバーの状態によって単純な四則演算だけはできました。
機械リレー式なんてのもありました。
http://ja.wikipedia.org/wiki/%E3%82%B3%E3%83%B3%E3%83%94%E3%83%A...
磁気、光、紙テープの穿孔、、、なるほど、なんでもデジタルに使えるわけですね。
>デジタル・データの時間について考えています。1 bitは、電圧変移(0/1を0v/5v,
>0v/1.2vなど)として物理的に存在していると考えてよいでしょうか。
>
>そのとき1bitあたりの時間はどのように管理されているのでしょうか。
デジタルデータとは一定の定義に基いて観測値をサンプリングして保存した数値のことです。逆に定義に基いて数値を吐き出してもそれはデジタルデータになります。
時間の管理も一定の定義に定義されていてその定義は個々に定めるものなのでこれと言ってきまったものはありません。1秒ごとにサンプリングする定義であれば1秒ごとのデータですし、何かイベント(例えばスイッチがオンになる)ごとが定義であればそのようなデータです。
したがって、そこに何かのデジタルデータが存在しているならそのデータと共にそのデータの定義が必要です。
多くの場合、データの定義が標準化された定義でありあたかもデータの存在だけでデータが利用されているように感じますが、データの定義無しにはデジタルデータは単なる数字の羅列にしか過ぎません。
http://ja.wikipedia.org/wiki/%E3%82%B5%E3%83%B3%E3%83%97%E3%83%A...
サンプリングというのは、アナログ情報をデジタル化するときの話ですよね。
ここでの私の関心は、どちらかというと、デジタルネットワーク、デジタルな情報をデジタルにやりとりする世界です。
標本化の問題とごっちゃにしたくないのです。
bit は、情報量の単位ですが、
物理的には、情報量とは、エントロピー であり、
エントロピーは、エネルギー÷温度の次元を持ちます。
ご存じのように、エネルギーと質量は等価ですから、
(温度の取り扱いは、実は厄介ですが)荒っぽく言えば
bit とは、質量やエネルギーといった物理量に近い存在
だと思えば馴染みやすいのではないでしょうか。
エネルギーには、質量や、光子や、コンデンサに蓄えら
れた電位差や、ダムに蓄えられた水の位置エネルギーや、
弾丸の運動エネルギーやら、水蒸気の潜熱やら、まだまだ
色々な形態が存在しますが、どれも、エネルギーです。
エネルギーの存在形態の質とでも言うべき情報量(bit)も
白い紙の上の黒い点の有無であったり、
フローティングゲートに蓄えられた電荷の有無であったり
磁性体の着磁のパターンの並びであったり
空気の分子の粗密波のパターンであっても、
いずれも情報量です。
エネルギーを、蓄えたり、流したりできるように、
情報量も、蓄えたり、流したりできます。
蓄えるとは、時間が対して、位置がずれないよう、頑張る
ことで、流すとは、時間に応じて、位置が変化してゆくよう、
工夫することです。
しかし、エネルギーや質量、それに情報量は、時間や空間と
は独立した次元を持っているので、距離を掛けたり、時間で
割ったりしても、消えることはありません。
Wikipediaのエントロピーの記事
http://ja.wikipedia.org/wiki/%E3%82%A8%E3%83%B3%E3%83%88%E3%83%A...
Wikipediaの情報量の記事
貴重なお話をありがとうございます。
エントロピーという概念もまた難しい概念ですよね。
でも、わかりやすくご説明いただき感謝申し上げます。
>エントロピーは、エネルギー÷温度の次元を持ちます。
ふむふむ、だから温度が上がると雑音が増えるのでしょうか。
赤外線センサーに冷却装置がついているのも、このため?
http://q.hatena.ne.jp/1266974209#a996054
サンプリングというのは、アナログ情報をデジタル化するときの話ですよね。
ここでの私の関心は、どちらかというと、デジタルネットワーク、デジタルな情報をデジタルにやりとりする世界です。
標本化の問題とごっちゃにしたくないのです。
ご質問が、
>1 bitは、電圧変移(0/1を0v/5v, 0v/1.2vなど)として物理的に存在していると考えてよいでしょうか。
>そのとき1bitあたりの時間はどのように管理されているのでしょうか。
ということでしたのでサンプリングのお話をしました。
1bitは物理的な特定の状態を0または1に定義してその定義に従ってデータを生成し伝え読んでいるということでそれにはサンプリングが必ず必要です。アナログとデジタルの界面を定義してその定義の基ではサンプリング以下の物理的な状態は隠蔽されそういったことを気にしなくて済むシンプルな0/1で表現されるビットが存在します。つまりbitは定義の上でのみ意味を持つ架空の存在であり、デジタル通信に必要な各レイヤーの中で最底辺のレイヤーを定義しているということになります。
数学の数の定義のようなものです。
>ここでの私の関心は、どちらかというと、デジタルネットワーク、デジタルな情報をデジタルにやりとりする世界です。
デジタルの世界ではアナログの世界のひとつ上のレイヤーと考えられ、ビットが最小単位で処理されます。定義されたビットが処理される単位は定義によって色々ですがイベント毎に処理されます。イベントは何かというとクロックだったり前処理の結果であったり外部からの割り込みだったりしますが、いづれも定義されたイベントによって順次処理されます。つまりデジタルの世界での時間概念はイベントの定義内容によって異なることになります。
例えば長期保存されているデータは次回読み出すまでイベントが無い状態であり、イベントが生じた時に下位レイヤーでサンプリングされ上位レイヤーでビットとして処理されます。
ありがとうございました。
>bitは定義の上でのみ意味を持つ架空の存在
>デジタルの世界での時間概念はイベントの定義内容によって異なる
このコトバの意味を考えてみます。
まずはOSI参照モデルを理解するのが良いかと思います。
http://ja.wikipedia.org/wiki/OSI%E5%8F%82%E7%85%A7%E3%83%A2%E3%8...
通信に限らずデジタルデータを扱う場合、OSI7階層プロトコル(規約)に分割して考えます。
これにより別の層で処理される内容を意識せずに自分の階層の処理が出来るわけです。
ここでポイントになるのは最下層である物理層です。
ネットワークを通じて、あるいはメディアから読み取って得られる波形データがあります。
これにどのような処理を行ってデジタルデータにするか、という取り決めを行っているのが
OSIの物理層およびデータリンク層です。
ネットワークであればその規約の回線速度(1000BASE-T、10GBASE-Tなど)のクロック数で
受信した信号の電位を測定、基準の電位に達しているかどうかで0か1かの判断を行います。
物理メディアであれば1ビット相当のデータセルの磁気・光の反射率などを測定、その測位で。
メモリであればコンデンサ容量の測位で。
各種メディア(伝送経路)ごとに決められた規約に従い、0か1かの判断を行います。
結果得られた01のデータは、元の信号の電位や測位、クロック数などとは無関係に
論理値として渡されます。
なので、そのデジタルデータに電位だのクロック数だのと関連はありません。
デジタルデータに時間概念は無いんです。
>デジタルデータに時間概念は無いんです。
明快な回答をありがとうございました
イーサネットの場合は
http://www.atmarkit.co.jp/fnetwork/rensai/eth02/01.html
を見ていただくのが良いかと思います。要するに頻繁に0と1を切り替えることで自分自身の最小時間を伝えるわけです。
ハードディスクやCD-ROMは一周あたりの情報量が決まっているようですから、どちらも回転数が決まれば、トラック位置から1周の長さがわかり、1bitの時間は決定できます。
ただし、実際に1bitの時間を得ている方法はわかりません。
推測ですが、CDの場合ピット(pit)長が9種類あるのでその事を使って、より正確に1bitの時間を算出しているのではないでしょうか。
ハードディスクはおそらく最小の変化時間を1bitとしているでしょう。トラック1周の中にbit測定用の磁気変化が書かれていると思います。(推測)
「長期保存されているときは時間概念がなくなり」というより「静止しているときは時間概念がなくなり」と言った方が適切だと思います。
ハードディスクは
http://www.way-on.com.tw/PCbasal/kiso/harddisk4.htm
CD-ROMは
http://www.way-on.com.tw/PCbasal/kiso/hikari2.htm
http://www.y-adagio.com/public/standards/jis_cdrom_yel/cd-rom.ht...
を参照してください。
またwikipediaにもコンパクトディスクの項目で解説があります。
「アー」はどのようなデータになってるのでしょうか。
01010001010000100010001010000010100000100000001010001010000010000000
それとも
110110010101100011001000011011001
(非常に細かい)時間は、常に一定なのでしょうか。