0

MCU を 32 ビットまたは 64 ビットとしてブランド化する理由は何だろうと考えていました。ハーバードやノイマン アーキテクチャのような単純化されたアーキテクチャでは、以前はデータ バスの幅でした。しかし、市場では、64 ビットのデータ ラインを持ち、32 ビット MCU として販売されている MCU を見てきました。誰か説明できますか?

4

1 に答える 1

3

プロセッサのビット幅がデータ バス幅によって定義されたというのは事実ではありません。Intel 8088 (元の IBM PC で使用) は 8 ビット データ バスを備えた 16 ビット デバイスであり、Motorola 68008 (Sinclair QL) は 8 ビット バスを備えた 32 ビット デバイスでした。

これは主に、命令セットの性質 (オペランドの幅) とレジスタ幅 (必然的に同じ) によって定義されます。

ほとんどのデバイスが一致するバス幅と命令/レジスタ幅を持っていたとき (つまり、約 1980 年より前)、区別する必要はなく、狭いバス幅の場合、バスまたはレジスタ/命令幅のどちらを指すかはほとんど重要ではありませんでした。幅の広い命令/レジスタ デバイスのバス バージョンが導入されたことが、マーケティングのジレンマを表していました。QL は 8 ビット バスにもかかわらず 32 ビット プロセッサを搭載していると広く宣伝されましたが、8088 は 8/16 ビット パーツと呼ばれることもありました。68008 は 1 つの命令で 32 ビット操作を自明に実行できました。オペランドを取得するのに 4 バス サイクルを要したという事実はソフトウェアには透過的であり、命令とデータのフェッチ サイクルの合計数は 8 ビットよりもはるかに少ないものでした。プロセッサが同じ 32 ビット操作を実行します。

このコンテキストでのもう 1 つの興味深いアーキテクチャは、32 ビット ARM モードに加えて「Thumb」と呼ばれる 16 ビット モードをサポートするARM アーキテクチャ v4です。Thumb モードでは、命令セットとレジスタ セットの両方が 16 ビットです。これは、ARM モードよりもコード密度が高くなります。外部メモリ インターフェイスが使用されている場合、ほとんどの ARM v4 パーツは 16 ビットまたは 32 ビットの外部バスの両方をサポートします。ARM または Thumb はどちらでも使用できますが、16 ビット バスが実装されている場合、Thumb モードは一般に 32 ビットよりも効率的に実行されます。命令またはオペランド フェッチごとに 1 つのバス サイクルがあるため、

アーキテクチャの命令/レジスタ セットとバス幅がますます多様になっていることを考えると、命令/レジスタ セットによってアーキテクチャを特徴付けることが理にかなっています。

于 2014-01-08T20:58:14.150 に答える