| ア | イ | ウ | エ | オ |
| カ | キ | ク | ケ | コ |
| サ | シ | ス | セ | ソ |
| タ | チ | ツ | テ | ト |
| ナ | ニ | ヌ | ネ | ノ |
| ハ | ヒ | フ | ヘ | ホ |
| マ | ミ | ム | メ | モ |
| ヤ | ユ | ヨ | ||
| ラ | リ | ル | レ | ロ |
| ワ | ヰ | ヴ | ヱ | ヲ |
| ン |
| A | B | C | D | E |
| F | G | H | I | J |
| K | L | M | N | O |
| P | Q | R | S | T |
| U | V | W | X | Y |
| Z | 数字 | 記号 | ||
AMD Fusion APUのKaveriから採用された、CPUとGPUで同じメモリー空間を共有する技術。
CPUとGPUが、完全に一貫性を維持した状態で、同じメモリーアドレス空間を共存する技術である。
これにより、CPUコアとGPUコアが、互いに同じアドレス空間に自由にアクセスすることができる。
この技術の利点としては、GPUコアから、ページフォールトが扱えるようになり、CPUコアと同様にメモリー空間の全域へのアクセスが可能となることが挙げられる。
hUMAは、3世代目のAPUであるKaveriの特徴となる技術である。
1世代目のAPUであるLlanoは、CPUコアとGPUコアを同じダイに統合し、同じ物理メモリーアドレス空間を共有できるようにした。但し、物理的なメモリーは単一ながら、CPUコアとGPUコアとで各々分離したメモリー空間を用いており(NUMAという)相互のアクセスが限定されていたため、データを共有する場合はメモリー間でのコピーが必要であった。
2世代目のAPUであるTrinityは、IOMMU v2(I/O Memory Management Unit v2)とし、仮想メモリーを使用した場合のページフォールトをハードウェアでハンドリング可能とした。しかし、メモリーアドレス空間は分断したままである。
3世代目のAPUであるKaveriは、遂に同じメモリーアドレス空間を共有可能とした。
hUMAでは、CPUコアとGPUコアとの間での、メモリーの一貫性をハードウェアで取る。
こうすることで、メモリーアクセスについてはCPUコアとGPUコアは同格となり、GPUコアはあたかもCPUコアであるかのようにメモリーにアクセスすることができる。
hUMAでは、CPUとGPUが同じメモリー空間を共有し、それぞれのコアが用いるメモリーは、動的に割り当てられるようになる。
CPUとGPUの各メモリー管理ユニット(MMU)が連携することで、同じメモリー空間にアクセスできるようにアドレス変換を行なうことができる。また、GPUのMMUでもページフォールトに対応できるため、GPUからも仮想メモリー空間全体にアクセスできる。
もしGPUがページフォールトに対応していない場合、GPUが使うメモリーのページはロックされていないとならない。さもないと、物理メモリーにマップされていないページにアクセスしようとした時点でエラーとなってしまう。
hUMAではページフォールトがGPU側MMUでも対応するため、使用するページが物理メモリーに存在しなくても、CPUと同様にストレージからのページインが可能となり、仮想メモリー空間へのアクセスが可能となる。
コメントなどを投稿するフォームは、日本語対応時のみ表示されます