素朴ではありますが、かなり簡単な基本的な質問:
2ではなく「ビット」ごとに4つの状態があると、ストレージ容量が2倍になりますか?明確でない場合は、2つの値(ベース2:0、1)だけを表すのではなく、すべての「ストレージ構造」が4つの値(ベース4:0、1、2、3 )。
素朴ではありますが、かなり簡単な基本的な質問:
2ではなく「ビット」ごとに4つの状態があると、ストレージ容量が2倍になりますか?明確でない場合は、2つの値(ベース2:0、1)だけを表すのではなく、すべての「ストレージ構造」が4つの値(ベース4:0、1、2、3 )。
回答:
あなたが探している言葉は「ビット」ではなく「シンボル」です。「シンボル」は、ハードウェア信号(電圧や磁気パターンなど)を論理ビットにマッピングするプロセスを説明するために使用される単語です。シンボルに4つの状態がある場合、2ビットの情報をエンコードできます。
もちろん、その引数内のシンボルのリソース使用量については何も言っていません。シンボルをワイヤに沿って電圧として送信する場合、シンボルごとの状態の数を増やすと、さまざまなシンボルがより似たように見えます。0〜5Vのワイヤと、シンボルごとに2つの状態(1ビット)がある場合、2つの状態は0Vと5Vで、各シンボル間に5Vがあります。同じワイヤを持っているが、シンボルごとに4つの状態(2ビット)をエンコードする場合、状態は0V、1.66V、3.33V、および5Vです。それは各シンボル間で1.66Vです。ノイズが信号を破損しやすくなりました。
これらに関連する法則があります。これはシャノンの法則として知られ、帯域幅(ビット単位)を回線上のノイズが原因で発生するエラー率に関連付けます。ワイヤを介して詰め込むことができるビット数には制限があることがわかります。より多くのシンボルを使用すると、より多くのエラーが発生し、より多くのエラー修正が必要になります。
この手法は実際に使用します。デジタルテレビは、64状態のQAM-64を使用します(したがって、シンボルあたり6ビット)。イーサネットは4つの電圧レベルを使用するため、シンボルごとに2ビットです。
編集:私は、ストレージよりもビット伝送レートを使用しました。これは、伝送中により多くの状態のシンボルが表示されるのが一般的であるため、ストーリーをより明確にするためです。特にストレージとストレージのみを確認したい場合は、誰かがコメントで言及したように、フラッシュメモリ内のマルチレベルセルを確認できます。このようなメモリはまったく同じアプローチを使用し、3ビットをコンデンサの16の異なる充電レベルとして保存します。(以上!)
1つのクォータナリーメモリセルは、2つのバイナリメモリセルとまったく同じ情報を格納できます。
Quaternary Binary
0 00
1 01
2 10
3 11
したがって、メモリセルの数が同じでも、それらが4進数の場合、2倍のメモリがあります。しかし、このクワッドセルがチップ上で2倍のスペースを取る場合、メリットはありません。
または、1ギガクワッドの4次ストレージがある場合、各クワッドは2ビットで表現できるため、2ギガビットの通常のバイナリメモリと同じくらいの情報を格納できます。
ある意味では、このすべての行は学術的な関心だけです。メモリチップは、たとえば2 ^ 32状態のセルを格納すると考えることができます。これらのセルから1ビットをフェッチすることはできず、常に完全な単語を取得できます。そして、将来、誰かがその状態を2状態セルよりも4状態の物理セルに効率的に保存する方法を考え出した場合、それは使用されますが、メモリチップの外側からは見えず、それでも処理されますフルメモリワードのみ。たとえば、2 ^ 32の異なる状態を持つことができます。
基本的な理論では、はい。実際には、いや-実際にはデータをビット単位で(HDDに)保存しないためです。Cort Ammonは、データ送信の問題を非常によくカバーしています。RAM、キャッシュ、SSDはデータをビットとして保存しますが、HDDは物理的な素材の性質と、より多くのデータを詰めようとする取り組みにより異なります。ほとんどのデータはまだHDDに保存されているので、それらに注目します。私はあなたがほとんどの情報源から見つける説明をはるかに超えて行きますが、できる限り情報源を引用しようとします。これらの情報源は、インターネットの古代の深さから掘り出さなければなりません。なぜなら、それは-かなりの範囲で-本当に忘れられた知識だからです。
まず、ハードドライブは、ドライブプラッタの表面に磁場を使用して情報を保存します。ドライブヘッドは、磁場の変化から磁束を感知することでこれらを読み取ります。これは、磁場の実際の方向と強さよりも測定がはるかに簡単です。しかし、フィールドが同じセグメントの行の50である場合、実際には50があったとはカウントできません-最初のセグメントを読み取るときにフラックススパイクを読み取り、その後しばらくフラックスがなく、時間を追跡できませんフィールドが50セグメントで変更されていないことを確認するのに十分な精度。
そのため、基本的な(単純化された)モデルは、ビットを一対の磁場として保存することです。最初は常に前のセグメントからのスイッチであり、2番目は1を表すフリップ、または0を表すフリップなしです。したがって、0はFN(フリップヌル)であり、1はFF(フリップフリップ)です。ドライブのタイミングは、セグメント内の1つの磁束スパイクと2つの磁束スパイクの違いを認識するのに十分正確です。この形式は周波数変調と呼ばれます。したがって、これは明確な信号を提供しますが、それはメモリのすべてのビットがドライブ上に2つのスペースを必要とすることを意味します-それは非常に非効率的です。したがって、実際にはこの最も基本的な形式のエンコーディングを備えたハードドライブはありません。代わりに、単純な圧縮トリックを使用しました。最も単純なのは修正された周波数変調です。これは、0の前に別の0が追加されている場合にのみ追加の磁気フリップが使用されるようにパターンを変更します。これにより、エンジニアはほぼ2倍のデータを同じスペースに詰め込むことができるため、最初のHDDで使用され、フロッピーディスクのフォーマットになります。その後、ランレングスリミテッドと呼ばれるより高度なシステムが同様の一般的なアイデアで開発されましたが、はるかに複雑になり、複数の実装があるため、ここでは説明しません。
しかし、今日ではそのようなシステムは使用していません。代わりに、部分応答、最尤法(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などの形式でデータを保存しません。代わりに、複雑な信号処理を使用して、信号を可能な限り最小のスペースに詰め込み、読み取り時にデコードします。したがって、それらは本当に基本に依存しません。
ある時点で、ベース4ストレージがSSDまたはRAMで試行されたとしても驚かないでしょう。それはすべて、材料の物理学と化学に依存します。エンジニアと科学者は、これらの材料を可能な限りプッシュし、最良の結果が得られるあらゆるルートを追求します。
はい、より多くの状態があると、ストレージの各「セル」またはデータ伝送ライン上の各シンボルがより多くの情報を運ぶことができます。
しかし、無料のランチはありません。これらの州を実際に区別できる必要があります。バイナリロジックゲートを構築するのは簡単であり、3つ以上のロジックレベルを区別、処理、および再生成するゲートの構築ははるかに困難であることがわかりました。
そして、減衰信号の問題があります。2レベルのシステムでは、最悪の場合の減衰で動作するようにしきい値を単純に設計できます。大幅な減衰が予想される4ステートシステムでは、最悪の場合だけでなく、システムの特定の減衰にしきい値を適応させる必要があります-ケース減衰。そのため、実際には、通信システムに減衰測定システムを追加する必要があります。
すべての余分な複雑さは状況があると述べたことDOESメイク感覚で。現在、多くのSSDはフラッシュセルごとに2レベル以上(MLCまたはTLCとして知られています)を使用しています。最新の高速通信プロトコルもほぼ常にマルチレベルエンコーディングを使用しています。
ロシア人がバイナリではなく、三元のチップを開発したことを知りたいかもしれません。各記号はの値を持つことができることを意味し-1
、0
または1
。したがって、各物理ゲートは「2」ではなく「3」の値を格納できます。
潜在的な将来のアプリケーション
コンピュータ用の大量生産バイナリコンポーネントの出現により、3進コンピュータの重要性は低下しました。ただし、Donald Knuthは、3進論理の優雅さと効率性を活用するために、将来的に開発に戻されると主張しています。
疑わしい場合は、基本的な番号付けシステムを実装するより効率的な方法があるかもしれません。(この能力は、これは、より効率的、物理的材料で製造する当社の能力に依存して表現するが。)それが判明定数があることe
2、その後、3、続いて、自然対数のベース(〜2.71828)は、最高の基数経済を持っています、その後4。
Radixエコノミーとは、表現できる数と、そのために必要なシンボルの数です。
たとえば、数学的な3は3
10を基数として表されますが、11
2を基数(バイナリ)として表されます。基数10は、バイナリよりも少ないシンボルでより大きな数値を表現できますが、基数10のシンボルテーブルは基数2のシンボルテーブル(0、1)より5倍(0 ... 9)大きくなります。表現力をシンボルセットのサイズと比較することは、「基数エコノミー」と呼ばれます(基数は、たとえば、バイナリの2、または「基数2」の基数です)。次の自然な質問は、このトレードオフの観点からどこに行きたいですか?基数としてどの数値を採用すればよいですか?表現力とシンボルセットのサイズのトレードオフを最適化できますか?
ウィキペディアの基数経済の記事のチャートを見ると、さまざまなベースの経済を比較できます。この例では、基数2の基数エコノミーは1.0615であり、基数10のエコノミーは1.5977です。数値が小さいほど良いため、ベース2はベース10よりも効率的です。
ベース4の質問の効率は1.0615で、これはベース2(またはバイナリ)と同じサイズであるため、ベース2で採用すると、平均して数字あたりのストレージのサイズはまったく同じになります。
あなたが疑問に思っているなら、ベースとして採用する理想的な数字はありますか?このチャートは、それが整数ではなく、数学的な定数e
(〜2.71828)であり、1.0の経済を持っていることを示しています。これは、可能な限り効率的であることを意味します。任意の数のセットについて、平均して、base e
はシンボルテーブルが与えられると、その表現サイズが最適になります。それは最高の「あなたのお金のための強打」です。
したがって、あなたの質問はおそらく簡単で基本的なものだと思いますが、実際には微妙に複雑であり、コンピューターを設計する際に考慮すべき非常に価値のある問題です。理想的なディスクリートコンピューターを設計できる場合、ベース4を使用すると、バイナリ(ベース2)と同じ取引、つまり同じコストのスペースが得られます。ベース3(3進法)を使用すると、バイナリーよりも優れた取引を提供します(ロシア人はトランジスターでベース3を表示する物理的な作業コンピューターを構築しました)。しかし、理想的には、ベースeを使用します。誰かがベースeで動作する物理コンピューターを構築したかどうかはわかりませんが、数学的には、バイナリおよび3進数よりも優れたスペースを提供します。実際、すべての実数の中で最良の取引です。
人間の知識の合計を1回の一致でエンコードできると思いますか?
単一の一致でビットをエンコードすると、シンボルは次のようになります。
十分なマッチがあれば、何でも言うことができます。しかし、さらに2つのシンボルを追加すると、同じ一致で2倍になります。次のようになります。
同じ試合で2倍の情報を!まあなぜですか?なぜ停止するのですか?すべてのシンボルを45度回転すると、再びダブルになります。30、15、オン。すぐに私は十分なシンボルを持っているので、1つだけのマッチで何でもすべてを言うことができます!一度それをやると問題が発生します。この試合は何と言っていますか?
現在どのシンボルを正確に確認できますか?どれくらいの時間を確認する必要がありますか?それはこすりです。シンボルを追加するほど、それらを区別するのに手間がかかります。
「2」ではなく「ビット」ごとに4つの状態があると、ストレージ容量が2倍になりますか
試合ごとに話をしているなら、確かに。しかし、それでも試合の読み取り速度が低下しなかったとしても、今ではキッチンカウンタースペースをより多く使用しています。それは常に何かです。
シンボル(ビット)に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で送信します。
ちょっと待ってください 250 MBit / sしか出力されませんか?
いいえ、5-PAMコーディングも使用します。これはケーブルペアごとにパルスごとに2.32ビットをエンコードでき、そのうち2ビットは実際の情報として使用され、残りはノイズに対する信号の耐性を高めます。これらの小数ビットのおかげで、1000BASE-Tは8B10Bコーディングもドロップできます。
したがって、ワイヤの数を2倍にし、周波数をわずかに増やしましたが、スループットは10倍になります!
これがまったくの魔法だと思ったら、デジタルケーブルテレビの仕組みを見てください。まだ納得できない場合は、32768-QAMを使用して15ビットを1つのシンボルにエンコードするADSLを調べてください。
同じ古い銅線、同じ周波数帯域、15倍以上のものが通過します。
編集:
あなたが毎日あなたの目の前に持っていることを私が完全に忘れていたもう1つの非常に明白な現実の例は(明らかにあまりにも明白だからです!)USBペンドライブです。
これらは一般にMLCフラッシュメモリを使用します。あれは何でしょう?これは、4つの異なる電荷レベルの1つを保存するメモリセルの一種です。これは、ハードウェアレベルでアクセスできる最小単位です。したがって、「ビット」には実際に4つの状態があると言うことができます(そうではなく、実際には1つではなく2つのビットを取得します。とにかくデバイスから完全なセクターのみを読み取ることができますが...そのように)。
セルの数は同じですが、メモリが2倍になります。安く、小さく、信頼性はやや劣りますが、何よりもまず安いです。
2桁ではなく4桁のシンボルを持つことは、1桁で2倍の情報を保存できることを意味します。ただし、桁数を増やすと、指数関数的に多くの情報を保存できます。
ベース2のn桁は2 ^ n状態をエンコードできますが、ベース4は4 ^ nをエンコードできます。
(4^n) / (2^n) = 2^n
つまり、指数関数的に(2^n
倍)より多くの状態を表すことができますが、それは2回(log2(4^n) / log2(2^n) = 2n / n = 2
)だけ多くのストレージを表すことができます。覚えておいてくださいstorage capacity in bits = log2(number of states)