web-dev-qa-db-ja.com

「ビット」あたり2つの状態ではなく4つの状態があると、記憶域が2倍になりますか?

素朴ではありますが、かなり単純な基本的な質問:

「ビット」あたり2つの状態ではなく4つの状態があると、記憶域が2倍になりますか?それが明確でない場合、つまり、2つの値(base 2:0、1)だけを表すのではなく、すべての「ストレージ構造」が4つの値(base 4:0、1、2、3)を表すことができるかのように)。

35
Viziionary

あなたが探している言葉は「ビット」ではなく「シンボル」です。 「シンボル」は、ハードウェア信号(電圧や磁気パターンなど)を論理ビットにマッピングするプロセスを説明するために使用される単語です。シンボルに4つの状態がある場合、2ビットの情報をエンコードできます。

もちろん、その引数でのシンボルのリソース使用については何も言っていません。シンボルを電圧としてワイヤに沿って送信する場合、シンボルごとの状態数を増やすと、さまざまなシンボルがますます似たものになります。 0〜5Vのワイヤと、シンボルごとに2つの状態(1ビット)がある場合、2つの状態は0Vと5Vで、各シンボル間に5Vがあります。同じワイヤを使用しているが、シンボルごとに4つの状態(2ビット)をエンコードする場合、私の状態は0V、1.66V、3.33Vおよび5Vです。これは、各シンボル間の1.66Vです。ノイズが信号を壊しやすくなりました。

シャノンの法則 として知られるこれらに関連する法則があります。これは、帯域幅(ビット単位)を回線上のノイズが原因で発生するエラーのレートに関連付けます。ワイヤーを介して詰め込めるビット数には制限があることがわかりました。より多くのシンボルを使用すると、より多くのエラーにつながり、より多くのエラー修正が必要になります。

私たちは実際にこのテクニックを使用しています。デジタルテレビはQAM-64を使用し、64の状態(つまり、シンボルあたり6ビット)を使用します。イーサネットは4つの電圧レベルを使用するため、シンボルごとに2ビットです。

編集:ストレージではなくビット伝送レートを使用しました。伝送される状態がより多いシンボルを表示することが一般的であるため、ストーリーをより明確にすることができるからです。ストレージとストレージのみを具体的に確認したい場合は、コメントに記載されている Someone Somewhere のように、フラッシュメモリ内の Multi-Level Cells を確認できます。そのようなメモリはまったく同じアプローチを使用して、コンデンサの16の異なる充電レベルとして3ビットを格納します。 (以上!)

105
Cort Ammon

1つの4分の1メモリーセルは、2つの2進数のメモリーセルとまったく同じくらい多くの情報を格納できます。

Quaternary Binary
0          00
1          01
2          10
3          11

したがって、メモリセルの数は同じでも4分の1である場合、メモリは2倍になります。しかし、このクワッドセルがチップ上で2倍のスペースを取る場合、メリットはありません。

または、1ギガクアッドの4進ストレージがある場合、各クワッドは2ビットで表現できるため、2ギガビットの通常のバイナリメモリと同じくらい多くの情報を格納できます。


ある意味で、この全体の行は、単に学問的な興味があるだけです。たとえば、メモリチップには2 ^ 32状態のセルが格納されていると考えることができます。それらから1ビットをフェッチできないため、常に完全なWordを取得できます。そして、将来誰かがその2状態のセルよりも4状態の物理セルにそのWordをより効率的に格納する方法を考え出した場合、それが使用されますが、それはメモリチップの外側には表示されませんが、それでも処理されます完全なメモリワードのみ。たとえば、2 ^ 32の異なる状態を持つことができます。

21
hyde

基本的な理論では、はい。実際には、いいえ-とにかく(HDDで)実際にデータをビット単位で保存するわけではないためです。 Cort Ammonはデータ転送の問題を非常によくカバーしています。 RAM、キャッシュ、SSDはデータをビットとして格納しますが、HDDは物理的素材の性質と、より多くのデータをそれらにパックするための取り組みにより異なります。ほとんどのデータはまだHDDに保存されているので、私はそれらに焦点を当てます。ほとんどの情報源から見つかる説明をはるかに超えて説明しますが、可能な場合は情報源を引用します。これらの情報源は、インターネットの大部分が本当に忘れられた知識であるため、インターネットの古代の深さから掘り起こさなければなりません。

まず、ハードドライブは、ドライブプラッターの表面に磁場を使って情報を保存します。ドライブヘッドは、そのフィールドの変化からの磁束を感知してこれらを読み取ります。これは、磁場の実際の方向と強度よりもはるかに簡単に測定できます。しかし、フィールドが同じ行の50の場合、実際には50があったことを数えることはできません。最初のセグメントを読み取るときに磁束スパイクを読み取り、その後しばらくの間磁束がないため、時間を追跡できません。 50セグメントでフィールドが変更されていないことを確認するのに十分正確です。

したがって、基本的な(単純化された)モデルは、ビットを磁場のペアとして格納することです。 1つ目は常に前のセグメントからのスイッチで、2つ目は1を表すフリップ、または0を表すフリップなしです。したがって、0はFN(フリップヌル)、1はFF(フリップフリップ)です。ドライブのタイミングは、セグメント内の1つの磁束スパイクと2つの磁束スパイクの違いを認識するのに十分正確です。このフォーマットは周波数変調と呼ばれます。したがって、これは明確な信号を提供しますが、メモリのすべてのビットがドライブに2つのスペースを必要とすることを意味します。これは非常に非効率的です。そのため、実際にこの最も基本的な形式のエンコーディングを備えたハードドライブはありません。代わりに単純な圧縮トリックを使用しました。最も単純なのはModified Frequency Modulationです。これは、0の前に別の0が続く場合にのみ追加の磁気フリップが使用されるようにパターンを変更します。これにより、エンジニアは同じスペースにほぼ2倍の量のデータを詰め込むことができるため、最初のHDD、フロッピーディスク上のフォーマットです。その後、Run Length Limitedと呼ばれるより高度なシステムが同様の一般的なアイデアで開発されましたが、はるかに複雑になり、複数の実装があるため、ここでは説明しません。

しかし、今日はそのようなシステムは使用していません。代わりに、パーシャルレスポンス、最尤(PRML)と呼ばれるシステムを使用します。 PRMLでは、ヘッドが長さを読み取り、磁性サンプルを収集する必要があります。次に、それを格納されたサンプルの参照セットと比較して、どれが最も一致するかを決定します。フラックススパイクの概念全体を無視し、代わりにパターンマッチングを使用します(私は単純化しすぎますが、単純化は価値があります)。パターンはビットのセットに対応します。ノイズフィルターやその他の技術を使用して、潜在的なエラーを削除します。それを複雑な波形と考えるのが最善であり、HDDは各波形をビットのセットに変換する方法を知っています。この意味で、物理的な素材はデジタルの急激なジャンプよりもアナログの緩やかな変化に対応できるため、データは実際にはデジタルよりもアナログ形式で保存されます。

これに関する最良のガイドは http://www.pcguide.com/ref/hdd/geom/data.htm (次へボタンを数回押してすべてを読む)にあります。他のいくつかのソース-主に、誰も知る必要のないコンピュータ知識の大規模なリポジトリを作成した人々からのもの。まともな追加ソース(これは良いですが、私の知る限り100%完全ではありません)は http://www.tomshardware.com/reviews/hard-drive-magnetic-storage-hdd,3005 -6.html

TL; DR:ハードドライブディスクは、1や0などの形式でデータを保存しません。代わりに、複雑な信号処理を使用して可能な限り最小のスペースに信号を詰め込み、読み取り時にそれをデコードします。したがって、それらは本当に基本的な不可知論です

SSDでbase-4ストレージが試行されたのに私は驚かないでしょうまたはRAMある時点で。それはすべて材料の物理学と化学に依存します。エンジニアと科学者はそれらの材料をプッシュします可能な限り、そして最良の結果が得られるルートを追求します。

9
user3685427

はい、より多くの状態があると、ストレージの各「セル」またはデータ伝送ライン上の各シンボルがより多くの情報を運ぶことができます。

しかし、無料の昼食はありません。実際にそれらの州を区別できる必要があります。バイナリロジックゲートを構築するのは簡単で、3つ以上のロジックレベルを区別、処理、および再生成するゲートを構築するのははるかに難しいことがわかります。

そして、減衰した信号の問題があります。 2レベルのシステムでは、ワーストケースの減衰で動作するようにしきい値を設計できます。大幅な減衰が予想される4つの状態のシステムでは、しきい値を最悪のシステムだけでなく、システムの特定の減衰に適合させる必要があります。 -ケース減衰。実際には、通信システムに減衰測定システムを追加する必要があります。

そうは言っても、余分な複雑さ[〜#〜] does [〜#〜]が意味をなす状況があると言っています。現在、多くのSSDはフラッシュセル(MLCまたはTLCと呼ばれる)ごとに2レベル以上を使用しています。最新の高速通信プロトコルでも、ほとんど常にマルチレベルエンコーディングが使用されています。

6
Peter Green

シンボル(ビット)のビットが2つの状態ではなく4つの状態を持っている場合、はい、メモリ量は2倍になります。使用するテクノロジーに応じて、これは2倍のスペースを必要とする場合としない場合があります。

毎日目の前にある現実の例があります。イーサネット(メモリではありませんが、データを送信する限りは同じです)には、100 MBit 100BASEの通常の「高速イーサネット」があります。 -TX、および1GbEイーサネットがあります。

明らかに、1GbEには100 MBitの10倍の周波数が必要です(100 MBitは10 MBitの10倍の周波数を必要とするため)。そのため、より高価なケーブルも必要です。明らかに。

おっと...それはまったく真実ではない

100 MBitイーサネットは100 MHzで2つのケーブルペアを介して送信しますが、GbEは4つのケーブルペアを介して125 MHzで送信します。

待ってください、それでGbEは本当に100 Mbitイーサネットよりも2 1/2倍速いだけですか? 250 MBit/sしか出ませんか?

いいえ、また、5-PAMコーディングを使用します。これは、ケーブルペアごとにパルスあたり2.32ビットをエンコードできます。そのうち2ビットは実際の情報として使用され、残りは信号のノイズに対する耐性を高めます。これらの小数ビットのおかげで、1000BASE-Tは8B10Bコーディングも削除できます。

ワイヤの数が2倍になり、周波数がわずかに増加しましたが、スループットは10倍になります。

これがまったくの魔法だと思った場合は、デジタルケーブルテレビがどのように動作するかを確認してください 機能する と確信できない場合は、ADSLを調べてください。
同じ古い銅線、同じ周波数帯域、15倍以上のものを通過します。

編集:
私が完全に忘れていたもう1つの非常に明白な実際の例(それはあまりにも明白であるため、どうやら明らかに!)は、毎日目の前にあります:USBペンドライブ。
これらは一般的に [〜#〜] mlc [〜#〜] フラッシュメモリを使用します。あれは何でしょう?これは、4つの異なる電荷レベルの1つを保存するタイプのメモリセルです。これは、ハードウェアレベルでアクセスできる最小単位です。つまり、「ビット」には実際に4つの状態があると言えます(それらはない、実際には1ビットではなく2ビットしか取り出せず、完全なセクターのみを読み取ることができます)。とにかくデバイス...しかし、あなたは間違いなくそれをそのように見ることができます)。
セルの数は同じですが、メモリが2倍になります。安く、小さく、やや信頼性は低くなりますが、何よりもまず、安い

2
Damon

ロシア人がバイナリではなく ternary であるチップを開発したことを知りたいと思うかもしれません。つまり、各シンボルは-10、または1の値を持つことができます。したがって、各物理ゲートは「2」ではなく「3」の値を格納できます。

潜在的な将来のアプリケーション

コンピューター用の大量生産されたバイナリコンポーネントの出現により、3元コンピューターの重要性は減少しています。ただし、Donald Knuthは、3値論理の優雅さと効率を利用するために、将来的に開発に戻されると主張しています。

疑い始めたら、ベースナンバリングシステムを実装するためのより効率的な方法があるかもしれません。 (これをより効率的に表現するこの能力は、材料を物理的に製造する能力に依存します。)それは 判明 定数 e 、自然対数(〜2.71828)は、基数経済が最も高く、3、2、4と続きます。

基数エコノミーは、表現できる数とそれを実行するために必要なシンボルの数です。

たとえば、数3は、基数10では3として表されますが、基数2(バイナリ)では11として表されます。基数10は、バイナリよりも少ないシンボルでより大きな数を表現できますが、基数10のシンボルテーブルは、基数2のシンボルテーブル(0、1)の5倍(0 ... 9)です。表現力をシンボルセットのサイズと比較することは、「基数エコノミー」と呼ばれます(基数は、2進数の2、または「基数2」など、基数の数です)。次の自然な問題は、このトレードオフに関してどこになりたいのかということです。基数として何を採用すればよいですか?表現力とシンボルセットのサイズのトレードオフを最適化できますか?

ウィキペディアの 基数経済 の記事のグラフを見ると、さまざまな拠点の経済を比較できます。この例では、基数2の基数経済は1.0615、基数10は1.5977です。数値が小さいほど良いので、base 2はbase 10よりも効率的です。

基数4の質問の効率は1.0615であり、基数2(またはバイナリ)と同じサイズであるため、基数2よりもそれを採用すると、正確に同じサイズしか得られません数値あたりのストレージの平均。

あなたが疑問に思っているなら、ベースとして採用するのに理想的な数があります、このチャートはそれが整数ではなく、数学定数e(〜2.71828)であることを示しています。 1.0の経済。つまり、可能な限り効率的です。数値のセットについては、平均して、base eは、そのシンボルテーブルが与えられた場合に、その最も適切な表現サイズを提供します。それは最高の「あなたのための強打」です。

ですから、あなたの質問はおそらく単純で基本的なものだと思いますが、実際には微妙に複雑であり、コンピューターを設計するときに考慮すべき非常に価値のある問題です。理想的なディスクリートコンピューターを設計できる場合、base 4を使用すると、バイナリ(base 2)と同じ取引(コストと同じスペース)が得られます。 3進法または3進法を使用すると、2進法よりも優れた処理が提供されます(ロシア人は、トランジスターで3進法を表現した物理的で機能するコンピューターを構築しました)。しかし、理想的には、ベースeを使用します。誰かがbase eで動作する物理コンピューターを構築したかどうかはわかりませんが、数学的には、2進数や3進数よりも多くのスペースを提供します-実際には、すべての実数の中で最良の取引です。

2
user1936

人間の知識の合計を1回の一致でエンコードできると思いますか?

単一の一致でビットをエンコードすると、シンボルは次のようになります。

enter image description hereenter image description here

十分な試合があれば、何でも言える。しかし、さらに2つの記号を追加すると、同じ一致で2倍多く言うことができます。これは次のようになります。

enter image description hereenter image description here

同じ試合で2倍の情報を!さて、なぜですか?さて、なぜ停止しますか?すべてのシンボルを45度回転させると、再び2倍になります。 30、15、そしてずっと。すぐに私は十分なシンボルを手に入れることができます。一度それを行うと、問題が発生します。この試合の意味は何ですか?

enter image description here

現在のシンボルがどのようになっているかを正確に確認するにはどうすればよいですかどのくらいの時間を確認する必要がありますか?それは摩擦です。記号を追加するほど、それらを区別するための労力が増えます。

「ビット」あたり2つの状態ではなく4つの状態があるということは、記憶域が2倍になることを意味しますか?

試合ごとに話している場合は、確認してください。しかし、それでもマッチの読み取り速度が遅くならなかったとしても、今ではキッチンのカウンタースペースをより多く使用しています。それは常に何かです。

2
candied_orange