Vortex86

Vortex86は、x86互換のコアを用いたSoC(System-on-a-Chip)です。元々はRise Technologyから基本設計を入手したSiSによって開発されましたが、その後、台湾のDM&P Electronicsに売却されました。DM&Pは、このチップをXcore86とリブランドする権利をXcoreに与えています。

Vortex86のバージョン



オリジナルVortex86 (SiS55x/Rise mP6):SiSによって開発された初期モデルで、3つの整数パイプライン、MMX命令、分岐予測機能を備えています。
Vortex86SX:300MHzで動作し、16KBのデータキャッシュと16KBの命令キャッシュを搭載しています。FPU(浮動小数点演算ユニット)とL2キャッシュは搭載されていません。SDRAMDDR2 SDRAMの両方に対応しています。
Vortex86DX:600MHzから1GHzで動作し(800MHz動作時の消費電力は2.02W)、16KBのデータキャッシュ、16KBの命令キャッシュ、FPU、256KBのL2キャッシュ、6段パイプラインを搭載しています。最大1GBのDDR2 RAMを使用可能です。
PDX-600:Vortex86DXの派生モデルで、RS-232ポートが5ポートから3ポートに削減され、I2Cとサーボコントローラが非搭載となっています。産業分野よりも組み込みシステム向けの製品で、ネットブックへの採用事例があります。
Vortex86MX:1GHzで動作し、CPUコア自体はVortex86DXからほとんど変化していません。ISAの廃止、GPU、HDオーディオコントローラ、UDMA/100 IDEコントローラの統合が行われています。コンシューマグレード製品はPMX-1000としても知られています。Gecko Edubookの現行モデルには、Vortex86MXをリブランドしたXcore86が搭載されています。

DM&Pは、Vortex86シリーズの機能を最大限に活用できるように、カスタマイズされた組み込みLinuxディストリビューションを提供しています。

また、Vortex86シリーズ以前には、Intel 80386SX互換で25~40MHzで動作するSoCであるM6117Dを製造していました。

CPU



CPUにはi486アーキテクチャが実装されていますが、オリジナルのVortex86初期モデルとVortex86SXはFPUを搭載していません。i486SX上で動作するあらゆるコード、およびi586上で動作する浮動小数点演算命令を使用しないコードは、ほぼ全てVortex86上で動作します。Vortex86DX以降ではi586用のコードは全て動作するとされていますが、実際には一部のあまり使われないコードが動作しないことがあります。

Linuxカーネルは、オプション設定によってFPUのないCPU上でFPUをエミュレートできます。これにより、Linux上で動作するプログラムであれば、浮動小数点演算命令を使用するものであっても全てのVortex86上で動作させることができます。ただし、エミュレーションによる実行速度は遅くなります。

i686用のコードは、CMOV命令が実装されていないため動作しない可能性があります。CMOV命令は条件分岐とMOV命令を組み合わせたもので、新しいCPUに最適化されたコードを出力するためにコンパイラに指示することで使用されることがあります。例えば、GNU Cコンパイラには`-march=i686`オプションがあります。i686用にビルドされたGNU Cライブラリは`strcmp`命令内でCMOV命令を使用しており、この`strcmp`命令はLinuxの動的ローダ(ld.so)で使用されるため、i686用のLinuxシステムはVortex86上では基本的に動作しません。そのため、共有ライブラリを用いたプログラムは起動することができません。

CMOV命令はi686アーキテクチャではオプションですが、Intelのi686製品であるPentium ProにはCMOV命令が搭載されていたため、i686用のコードを生成するように指定すると、CMOV命令が利用可能であると解釈するプログラムが多いのです。

以下はオリジナルのVortex86についてLinuxカーネルが`/proc/cpuinfo`経由でどのように報告するかを示したものです。CPUにはFPUが搭載されていないにもかかわらず、FPUが利用可能となっている点に注意が必要です。これは、LinuxカーネルがFPUのエミュレートを行っていることを反映しています。


processor : 0
vendor_id : SiS SiS SiS
cpu family : 5
model : 0
model name : 05/00
stepping : 5
cpu MHz : 199.978
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 1
wp : yes
flags : fpu tsc cx8 mmx up
bogomips : 399.95
clflush size : 32
cache_alignment: 32
address sizes : 32 bits physical, 32 bits virtual
power management:



脚注





外部リンク


DM&P Electronics 公式サイト
Vortex86 シリーズ概要
DOS、Linux、Windows上でのCPU速度変更方法

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。