1

「マルチコア」プロセッサの概念と混同しています。

一部のマルチコア プロセッサは、ARM A9/x86 をリンクし、Linux/Windows などのユニ OS を実行します。すべてのコアがうまく機能します。

しかし、他のものは、TI の C6678 をリンクし、コア pac0 で Linux を実行し、他のすべてのコア pac で sys/bios を実行し、syslink を介して通信します。

これらのマルチコア プロセッサのアーキテクチャの違いは何ですか?

4

1 に答える 1

7

ここに表示されているのは、AMPシステムとSMPシステムの主な違いです。

X86 は通常、SMP システムであり、すべてのコアが同等であり、同じ周辺機器にアクセスでき、互いのメモリとキャッシュにアクセスできます。キャッシュはコア間で一貫性が保たれているため、すべてのコアが常にメモリの同じビューを持っています。コア (これらのコアで実行されているプロセス) 間の通信は、通常、セマフォやミューテックスなどのメモリ構造によって行われます。それを機能させるために、チップ設計者は多くのロジックを組み込む必要があります。

AMP はまったく別の獣です。通常、コアにはメモリの独自の「ビュー」があります。つまり、キャッシュはコア間で同期されません。これにより、チップの設計が大幅に簡素化されますが、メモリを介した通信が問題になります。したがって、通常、すべてのコアが独自のプロセスを実行し、OS 全体を実行するものもあれば、ベアメタル システムのみを実行するものもあり、システムの一部が Linux を実行し、他の部分が VXWorks などを実行する構成も見つかります。

AMP は通常、タスクをうまく分割できる場合に使用されます。たとえば、小さな PBX と iptv セットトップ ボックスを機能させるルーターを考えてみましょう。1 つのコアでファイアウォールを使用して Linux を実行し、1 日中ルーティングするだけです。次のコアは vxworks と PBX アプリケーションを実行し、3 番目のコアは TV ストリームをデコードして送信します。ルーティング コアは、他の 2 つのコアと LAN の間で着信データを分散する必要がありますが、それはそこにあるすべての相互作用に関するものです。

一般に、SMP が提供する機能は無料ではありません。まず、彼らは製品の価格を引き上げます。第 2 に、キャッシュの同期は、サイクルに関して非常にコストがかかります。

したがって、最終的には、ニーズに合ったアーキテクチャを使用する必要があります。

于 2013-05-15T06:09:12.280 に答える