私は1月からxbox用の架空のレトロ仮想マシンに取り組んでいます(私は0x10cをまったくコピーしていません。実際、私のプロジェクトは古いです。ノッチファンがこれを読んだ場合に備えて、これを公開するだけです)。6つの汎用レジスタがあります。これらは8ビットですが、すべてを組み合わせて3つの16ビットレジスタを作成できます。メモリアドレスは16ビットであり、プログラムカウンタも同様です。これはばかげた質問だと知っていますが、私はこれを理解できませんでした、それは16ビットですか8ビットですか???? z80は16ビットアドレスを使用し、8ビットです
3 に答える
私が知っていて知っているように、すべての計算はクロック速度に依存し、汎用レジスタの量しか処理できないため、汎用レジスタのプロセッサのビット幅がそれを決定します。
たとえば、32ビットプロセッサでは、レジスタの連結によって64ビットの計算を実行できますが、64ビットプロセッサとして呼び出すことはできません。もちろん、32ビットプロセッサには64ビットの広範な命令がいくつかありますが、それらは2つのステップの2つのクロックを消費します。
あなたのプロセッサの設計者は、より大きなメモリをサポートするためにメモリアドレス空間を拡張したいと思っていると思います。
だから、私の結論は8ビットプロセッサです。
プロセッサは一度に16ビットのデータを処理できますか、それとも舞台裏で2つの別々の8ビット演算を使用しますか?前者の場合、16ビットです。後者の場合、8ビットです。
あなたの説明から、それはデータアドレス指定に16ビットを使用するので、16ビットのように聞こえます。
16ビットプロセッサを構成するものの最も一般的な定義は、ネイティブ命令を使用してプロセッサで処理できる最長の整数型のサイズです。仮想マシンに16ビットレジスタで動作し、16ビット入力を提供する算術命令がある場合、仮想マシンは16ビットマシンと見なされます。
もう1つの一般的な定義は、アドレス空間のサイズです。仮想マシンには16ビットアドレスがあるため、16ビットとしても認定されます。