2016-03-24 6 views
2

私はコンピュータアーキテクチャを習得していません。私が間違っていれば、私を修正してください。バイトアドレス指定の仕組みは?

メモリモジュールが8個のメモリチップで構成され、各チップがアドレスごとに4bitsを格納している場合、モジュールのアドレスピンにアドレスを適用すると、そのモジュールのそのアドレスから(8 x 4 =)32ビットを得ることができます。しかし、バイトアドレス指定はすべてのバイトにアドレスがあることを示します。しかしここで私はアドレスを使って32ビットにアクセスしています。だからどうすれば可能ですか?

アドレスごとに1ビットの各チップ店は、モジュールにアドレスを適用することによって、私は8ビットまたは1つのバイトにアクセスできる場合、私は思います。

+1

どの実在のチップについてお話していますか? – Michael

+0

[すべてのプログラマーがメモリについて知っておくべきこと](http://www.akkadia.org/drepper/cpumemory.pdf)をお読みください。これは主に、コーディング時にキャッシュを気にすることが重要である理由を説明するために書かれていますが、DDR DIMMのレベルとDIMMにアドレスを送信するシグナリングメカニズムまで、メモリがCPUにどのように配置され、接続されているか同一バス上のデータの書き込みまたは読み出しを行う。私は言い換えてタイプするよりも、この質問に対するより完全な答えがあります。 http://stackoverflow.com/tags/x86/infoにはx86用の他の良いリンクがいくつかあります。 –

+0

@Michael私は彼がDIMMについて話していると思っていました。だから私の答えはおそらく最も現実的な解決策であるキャッシュを無視しました。 – John

答えて

0

あなたはアドレスごとに、各チップは、店舗4ビットと言うと、あなたは同じアドレスバス上の8を持っています。それは制限要因であるアドレスバスです。アドレスバスは、32ビットアーキテクチャ内の各バイトがアドレス可能であるためには32本のラインを持たなければならない。同じアドレスに応答してそれぞれ4ビットを生成する8つのチップがある場合は、アドレスごとに32ビットがあります。このような構成の利点は、アドレス可能な範囲(解像度のみ)を減少させることなくアドレスバスラインを2だけ減らすことができることである。

あなたは、各チップはバイトアドレッシングできるようにするアドレスごとに1ビットを生成する必要があるだろうと考えで正しいです。 4ビットがそれぞれ個別にアクセスを行う時分割多重化することができどこ私は解決策を疑うだろう実際には理論だ

は、アーキテクチャすることができます。

私は、最小単位のアドレス可能であってもよいように、一度に32ビット未満に対処するためではない長い時間のために聞いたことがあります。確かに、2Gb-4Gbが32ビットバイトアドレッシングの物理的限界であった場合には意味をなさないでしょう。

+0

その32ビットまたは4バイトからの各バイトは、どのようにバイトアドレス指定方式で個別にアドレス指定できるのですか? – Kaustav

+0

ビットマスキング、および/またはビットシフト。ビットが必要な場合は、通常、言語固有のブール値コンテナがあります。要点は、標準の32ビットアーキテクチャではないが、組み込みシステムではこれが必ずしも珍しいとは限りません。チップとは何ですか? – John

+0

私の質問は言語に固有のものではありません。それは組織に関するものです。個々のチップ内のアドレスが1ビット以上を含む場合、アドレスは1バイト以上を指す。バイトアドレッシングはここでどのように適用されますか? – Kaustav