コンピュータのことを思い出す

この記事はシリーズの一部であり、シリーズインデックスにアクセスします。 ( シリーズインデックス )

コンピュータメモリ

そこで、論理ゲートと一緒にバイナリとブール演算について学びました。 これらのどれも、特に論理ゲートは、計算に必要な2番目に重要なことを行うことができません。

それは覚えておく能力です。

これは、バイナリの ‘on’と ‘off’が有効になる場所です。 何らかの形の記憶が存在するためには、複数の種類の「状態」を占有して伝達できる何らかの種類のメカニズムが必要です。 状態は、他のものと区別できるいくつかの特徴または側面です。 例えば、電球はオン(点灯)、オフ(暗)、および壊れた3つの「状態」を有する。 もちろん、我々は壊れた計算をすることはできませんので、私たちはオンとオフに留まります。

バイナリについて考えてみましょう。 この類推は、バイナリとコンピュータのハードウェア間の接続を明らかにするはずです。 前述したように、論理ゲートは、計算機ハードウェアのビルディングブロックであり、「電球」の束に作用します。この「電球」の海は、私たちが「記憶」と呼ぶものです。

現代のコンピュータで見られるメモリコンテナの電気工学用語は「リレー」です。リレーは、電気を制御する目的で電気によって反転されるスイッチ(電球のようなもの)です。 では、これらのスイッチは何ですか? 現代のコンピュータは、シリコントランジスタで作られたリレーを使用しています。 「電界効果トランジスタ」がどのようにそれを利用するのかを正確に知る必要はありません。 しかし、完全性のために、入力と出力を備えた小さなブラックボックスとしてメモリセル(トランジスタとそのすべてのサポートコンポーネント)の図を示しました。

blackbox

入力ピンとセレクト・ピンに電圧(電気)を入れると、電圧が現れ、出力ピンに残ります。 出力ピンは、選択ピンによって調整された入力ピンに電圧が存在する限り、このように維持されます。

思い出にアクセスする

さまざまな「状態」を使用して情報を保存するように設計された無数のデバイスがあります。たとえば、コンパクトディスクの場合、反射材料、歴史的なディスケット、電気を保存する最新のハードドライブにシリーズ/ストリングスビットを保存することができます 「針」によって読み取られるべきディスクの種類に電荷を与える。 これらの例は、データを格納するための「シリアルデバイス」の例です。 上記のメカニズムは、その性質上、電気回路の文脈で適用され、長期保存のためのものではありません。

‘yes’と ‘no’以外の値を格納するには、複数のメモリセルを持つ必要があります。 メモリセルのグループに1つのメモリセルを追加すると、自動的に異なる全状態の数、したがって記憶スペースが倍増する。 これは、バイナリ10をバイナリ100と比較することによって説明することができます。各バイナリディジットは、トランジスタ/メモリセルを表します。 第1の2進シーケンスは2ビット(最大4つの異なる状態)を有し、10進数2である。第2の2進シーケンスは3ビット(最大8つの異なる状態)を有し、10進数4である。1ビットのみを追加した場合、1と0の個々の組み合わせの最大数がどのように倍になるかを確認してください。

どのようにして複数のメモリセルにアクセスして、100または10などの状態を得ることができますか? これは、「メモリアドレス」の概念が作用するところです。 コンピュータの各ビットには特定のアドレスがあります。どのチップを指定するか、一緒にチップのアドレスセットを設定するか、ディスクの電荷を得るか、またはバイトの数をバイトで指定する必要があります。 アドレス)を入力します。 2ビット以上のメモリを保持する単純化されたメモリチップを調べることで、これがどのように機能するかを見ることができます。

26_ram_chip

上の図はメモリチップを表しています。 このチップは1キロビット、すなわち1メガビットを保持する可能性があります。 それが保持しているものが何であれ、それに振り回されたアドレスに数値的な最大値があります。 実際には、アドレスピン自体が、チップ内で使用可能な最大メモリの指標となることがあります。上のように8ピンは、このメモリチップが256ビットを保持することを意味する可能性があります。 その仕組みは複雑であるにもかかわらず、簡単です。 さまざまなアドレスピンに電圧を送ります。 このブール値の組み合わせ(数値アドレス)は、メモリチップの内部回路によって計算され、特定のリレーに供給され、データピンに対する電荷(またはその不足)を処理します。

この性質の何かは、一時的ではあるが、シリアルデータ記憶装置ではなく、ランダムアクセスメモリとしての使用に適している。 すべてのランダムアクセス手段は、その機会がいつ、どこであっても、任意の機会にいつでも使用できる状態になっていることです。 ランダムアクセスは頭字語のRAM(男性の羊の言葉のように聞こえる)として広く知られています。

メモリへのアクセスには時間がかかりますが、時間はかかりませんが、時間がかかります。 例えば、メモリチップは、そのアドレスピンに電圧が印加されてからその出力データピンに電圧が現れるまでに20ナノ秒かかることがある。 ナノ秒は10億分の1秒です。 それほど多くのように見えませんか? コンピュータは、あなたが考えるであろう光速で動作するはずです。 しかし、彼らはそうではありません、どうしてですか? 現代のコンピュータは、非常に短い期間に何十億回もRAMに簡単にアクセスできることが判明しました。 消費の習慣が小さいが販売時点で多量になる人は誰もが、最終的な配当は非常に大きくなる可能性がある。 だから、あなたが将来プログラムしていくうちに、アセンブリー(最初に学ぶ)、C ++、またはPHPのいずれであれ、メモリーへのアクセスのたびにプログラムのスピードが遅くなることに注意してください。 ほとんどの場合、あなたが強烈な計算をしていない限り、速度の極端な欠如に気付かないでしょうが、そこにあります。

一般的なケースでは、メモリは複数のメモリチップに格納されており、1つのアドレスがデータピン上に設定された数の出力ビットを生成し、それを意味のあるものに組み立てます。 以下の図を参照してください。

27_memory_chips

これらの図は、コンピュータのメモリチップが1ビットのデータしか保持していないことを示しています。 これは一部のコンピュータでは当てはまるかもしれませんが、現代のコンピュータの多くは、アドレスあたり4,8、またはそれ以上のビットを提供しています。 しかし、コンベンションでは、8ビット、16ビット、32ビット、または64ビットのいずれに対応していても、すべてのバイトにコンピュータ内のアドレスがあります。

ビットを測定する

メモリチップ上のデータピンは、いくつかの「数」または「情報」を表す一連の電圧に組み立てられる。 2の勢力のパターンに沿って、これらのメモリチップのアレイから様々なサイズの情報が生成されることがわかります。 4ビットのナイブル、2ニブルのバイト、2バイトのワード、ダブルワードは2ワード、クワッドワードは2ダブルワードです。 私は以下のリストを組み立てました:

Nybble
4 bits
Byte
2 Nybbles – 8 Bits
Word
2 Bytes – 16 Bits
Double Word
2 Words – 32 Bits
Quad Word
2 Double Words – 64 Bits

コンピューティングデバイスがナイブルのようなバイトより小さいものにアクセスするのはめったにありません。 私たちが知っているように、この用語は曖昧になり続けているので、あなたはここでそれを見ました。 これは現代のコンピュータが今日バイト単位で動作しているのではなく、メモリチップが8データピン(全バイト)の情報を返す可能性があり、プロセッサが4ワードまたはそれ以上(ダブルクワッドワードまたは128ビット) )をプレイステーション3などのセルプロセッサで使用することができます。

これがあなたを圧倒し始めたら、それは私には分かりますが、私は読書をやめようと思うので、希望があります。 最新のオペレーティングシステムとコンピュータの内部回路を組み合わせることで、システム内のポイントを直接扱うことはめったにありません。 あなたはプログラムのためにあなたが思っているメモリ内のどのアドレスを ‘コンピュータ’に「知らせる」ことになり、「コンピュータ」(オペレーティングシステムなど)はハードウェアの正確な場所を特定し、その値を返します。 これは、アクセスする独自のメモリ空間を持つプログラムの場合に重要です。 1つのプログラムのアドレスと別のプログラムのアドレスは同じでもかまいませんが、物理コンピュータ内の2つの異なる場所を指しています。 それは美しい部分です:コンピュータ(オペレーティングシステム)が私たちのためにそれを世話します。

ストーリーの道徳(要点)

この記事のすべてのポイントは、シリアルデバイスであろうとRAMの一部であろうと、コンピュータ内の「格納されている」すべてのバイトが独自の固有のアドレスを持っていることです。

これらのアドレスを直接書くか話すときには、通常は0x000Fのように16進数で書き出されます。 これはバイト15にアクセスします。

この記事を読んで楽しく読んでいて、役に立つものを学んだことを願っています。

あなたが私の執筆を感謝するなら、私のパトロンを通して私を支えてください。( パトロン )

photo credit: Sheep feeding via photopin (license)

Liked it? Take a second to support kadar on Patreon!

あわせて読みたい

コメントを残す

%d人のブロガーが「いいね」をつけました。