プロセッサが8ビットかどうかを判断するにはどうすればよいですか。 16ビットまたは32ビット
質問
アドレスバスのサイズによって決まりますか。はいの場合、8086は20ビットプロセッサでしたか?いいえの場合、8ビット、16ビット、32ビットなどのビット番号をプロセッサに割り当てるための基準は何ですか?
解決
明確に定義されていません。概して、xtoflが指摘しているように、それは計算の原子単位のサイズです(初期のコンピューターでは、これは常に「レジスタ」と同義ではありませんでした)。そのため、PDP-10は36ビットマシン、8080は8ビット、IBM 360またはIntel 80386は「32ビット」です。
ただし、例外があります。 Motorola 68000および68010 CPUは32ビットのレジスタセットを実装していましたが、ほとんど16ビットの内部アーキテクチャの上にマイクロコードを介して実装していました。通常、「16ビット」として販売されていました。当時のCPU。
アドレスバスのサイズが定義要因になることはほとんどありません。すべての成功した「8ビット」たとえば、CPUは16ビットのアドレス指定を実装しました(多くの場合、単一のアドレスレジスタの不足を補うための奇妙なハック、cf。6502の間接アドレス指定モード、またはZ80のH / Lレジスタを介して)。そして、あなたが言うように、8086はそのセグメントレジスタアドレス指定を使用して、20行のアドレス行を機能させました(80286はこのトリックを24ビットの物理アドレスに拡張しました)。そして、他の方向では、多くの「32ビット」 CPUには、数メガバイト以上のメモリを搭載しないマシンで使用されないロジックを保存するための小さなアドレスバスがありました。一般的に64ビット未満の物理アドレスを実装します。
他のヒント
通常、アキュムレータ/レジスタのサイズでラベルを付けます。
私が知る限り、プロセッサのビット幅は、内部データ処理回路が一度に受け入れるビット数によって決まります。 ALUの加算器、乗算器などが16ビットのオペランドを受け入れる場合、CPUは16ビットであり、32ビットを受け入れる場合、32ビットです。データバスまたはアドレスバスの幅は問題ではありません。一般に、アキュムレータのビット長がプロセッサのビット長を決定します。
マイクロプロセッサのビットサイズ(8ビット、16ビット、32ビット)は、ハードウェア、特にデータバスの幅によって決まります。 Intel 8086は、データバス上で一度に16ビットを移動できるため、16ビットプロセッサです。 Intel 8088は、同じ命令セットを持っているにもかかわらず、8ビットプロセッサです。これは、Motorola 68000および68008プロセッサに似ています。ビットサイズは、プログラマーの視点(レジスタ幅とアドレス範囲)によって決定されません。
Integrated chipの最初の数字はプロセッサのタイプを指していると思います。 IC 8085の場合、8ビットプロセッサであることを意味します。
任意のプロセッサは、その2つの属性で指定できます
- 命令セットのアーキテクチャ&
- いいえ。 1クロックサイクルで処理できるビット数。
たとえばx86-32とも呼ばれるIntelのIA-32アーキテクチャを使用します。ここで、x86はアーキテクチャを示し、32は32ビットプロセッサを示します
Xアーキテクチャ
多くのアーキテクチャがあります
x86以前のx86
-IntelのIA-32アーキテクチャ、x86-32 -x86-64とも呼ばれます --AMDのAMD64およびIntelのIntel 64バージョン -Motorolaの6800および68000 a
rchitectures ARM7
Yビットプロセッサ
:単純に、単一のクロックサイクルでのCPU /プロセッサのデータ処理機能。 単一のクロックサイクルで8ビットプロセッサであると仮定すると、ALUは8ビットデータのみで操作を実行できます(この操作は、add / subなどの他のIOデバイスへのデータ転送と同様の内部操作であることに注意してください)
classification Based on Registers-
ALUおよびCUに加えてプロセッサには、レジスタと呼ばれるいくつかのメモリロケーションも含まれています。プロセッサに応じて、レジスタには通常8、16、32、または64ビットが格納されます。特定のプロセッサのレジスタサイズにより、プロセッサを分類できます。 nビットのレジスタサイズを持つプロセッサはnビットプロセッサと呼ばれるため、8ビットレジスタを持つプロセッサは8ビットプロセッサと呼ばれます。
classification Based on databus width-
aluは1クロックサイクルで8ビットデータしか処理できないため、データバス幅をそれ以上にすると意味がありません。 8ビットプロセッサには8ビット幅のデータバスがあるため、データバス幅は、プロセッサのビット処理能力を調べるための代替方法でもあります。nビットデータバスを持つプロセッサの場合、CPUはnビットを別のデバイスに転送できます。単一操作。
質問:
" 32ビットのALUがあると仮定します。つまり、一度に32ビットを取ることができ、 データバスサイズは16ビットです。つまり、一度に16ビットのデータを保持できます。 thn whtがansになります。この場合...?"
このようなプロセッサの例は、Intel 8088& Moto 68000
Intel 8088マイクロプロセッサは、バス幅分類を使用すると、8ビットデータバスを使用するため、8ビットプロセッサです。ただし、CPUレジスタは実際には16ビットレジスタです。 同様に、Motorola 68000は、CPUレジスタが32ビットレジスタであるにもかかわらず、16ビットプロセッサとして分類されます。 8088が8/16ビットプロセッサとして、Motorola 68000が16/32ビットプロセッサとして記述される場合、2つの分類の組み合わせが使用されることがあります。
マイクロプロセッサのワードサイズ(8ビット、16ビット、または32ビット)は、実行ユニット内のデータパスのサイズです。通常、これはアキュムレーターのサイズです。 これは実行ユニットのサイズです。これが重要な例は8088で、これは8ビットバスで実行される16ビットコンピューターです。 8085は8ビットです。 8086/8088は16ビットです。 80386は32ビットです。 Mordern Intelプロセッサは64ビットです。