“8080は8ビットCPUであり、一度に8ビットの情報を処理していました。ただし、16本のアドレスラインが出力されていました。 .CPUの「ビット数」(汎用レジスタのビット幅)は重要ですが、私の見解では、CPUの有効性のはるかに重要な尺度は、1回の操作で集めることができるアドレスラインの数です。 1974年には、メモリが非常に高価で、ほとんどのマシンが最大で4Kまたは8Kバイト(つまり、4,000または8,000)であり、一部のマシンはそれよりはるかに少ないため、16のアドレスラインが積極的でした。16のアドレスラインは64Kバイトをアドレス指定します。バイナリでカウントし(コンピュータは常に実行します)、16バイナリ列に制限すると、0から65,535までカウントできます(俗称「64K」は66,536という数字の省略形です)。これは、65,536のすべてが65,536であることを意味します。個別のメモリ位置には、0から65,535までの独自の一意のアドレスを設定できます。 “
私の質問は、16ビットのアドレスラインで64KBをアドレス指定する方法です。 ce16ビットは64kbpsしかアドレス指定できません。
セグメントとは何ですか?
事前に感謝します
回答
1つのアドレスが1バイトをアドレス指定します。 16ビットを使用すると、65536アドレス(0〜65535、つまり65536の異なるアドレス)とアドレス65536バイトを書き込むことができます。65536バイトは64kBです。コンピュータサイエンスでは、bはビット、Bはバイトです。バイトは最小です。対処できるメモリの量。「kとは何ですか?」という質問。kはキロです。国際的な単位体系では、キロ単位は1000単位ですが、メモリを扱う場合、キロ単位は2 ^ 10 = 1024単位です。 、(マーケティング上の理由から、ハードドライブを扱う場合を除く)。
64kbpsは64キロビット/秒です。これは転送速度であり、メモリの量ではありません。
「何セグメントですか? “正確な質問ではありません。セグメントは、多くのコンテキストで使用される非常に一般的な単語です。 8086セグメントは、16ビットアドレスではなく16ビットCPUを使用する24ビットアドレスであっても、コンテキストで正確であると期待しています。 8ビットCPU。
回答
1つのアドレスが1つの何かに対応します。したがって、16ビットのアドレスで$ 2 ^ {16} $ 何かをアドレス指定できます。 s。
バイト単位で編成されたメモリの場合、これは64KB(キロバイト)です。メモリがビット単位で編成された場合、これは64Kb(キロビット)になります。メモリが16ビットまたは20で編成された場合。 -ビットまたは32ビットワード(時々行われているように)、アドレス指定可能なスペースはそれらのワードの64Kになります(その方法でより多くのメモリを取得しますが、バイトアドレス指定可能性を失います:場合によっては、合理的なトレードオフ)。
コメント
- メモリが64KBであると言えば、各メモリセルのサイズが64KBであるのか、それとも64KBのネットサイズであるのかを意味します。すべての私moryセルをまとめますか?
回答
ここでは、データワードに65,536のアドレス位置が提供されていますが、それぞれデータワードは8ビットまたは1バイトで構成されているため、実質的に65,536バイトの合計は2 ^ 16バイト= 2 ^ 6 * 2 ^ 10バイト= 64KB