よく聞くSoC(System-on-a-chip)とは?
すっかり定着したSoCという言葉。System-on-a-chipの略なのだが、どんなものかよく知らない人もいるのでは? この記事ではCPUやGPU、最近話題のFPGAとの違いを整理してみた。CPUやGPUはSoCの一部
超ざっくり言ってしまうと、SoCはチップ一枚でシステムが完結しているデバイスのことを指す。どういうことかというと、CPU、GPU、DRAM、外部IOなどを1枚のチップに搭載している。なお、SoC上にどのようなデバイスが載っているかは、当然実現するシステム構成によって変わる。GPUがなくCPUだけ搭載されているケースもある。
SoCチップのイメージ図
つまり、CPUやGPUはSoCを形成する一部だと考えてよい。ちなみに、CPUとGPUの違いはこちらの記事でまとめているので参照。
FPGAはSoCか?
最近はFPGAにARMなどのCPUを内蔵したFPGAが出てきている。FPGAの大手ベンダーといえばIntel(旧Altera)とXilinxの2社だが、Intelはこのようなデバイスを「SoC FPGA」と呼んでいるし、Xilinxは同社のARM内蔵FPGA Zynqを「Programmable SoC」などと呼んでいる。これらのFPGAは、まぎれもないSoCだといえる。
SoC FPGAのイメージ図
ちなみに、一般的にはCPUを内蔵していないFPGAを指して「SoC」と呼ぶことはあまり無い。ただし、IntelのFPGAは「Nios II」、XilinxのFPGAは「MicroBlaze」という、FPGA内部のProgrammable logicを使って形成するCPUをFPGA内に実装することができる。
これらのCPUはソフトコアCPUなどと呼ばれるが、ソフトコアCPUを内蔵したFPGAも、広義的にはSoCと呼べるのではないかと思う。
参考文献
インテル® SoC FPGA プログラマブル・デバイスhttps://www.intel.co.jp/content/www/jp/ja/products/programmable/soc.html
SoC、MPSoC、RFSoC
https://japan.xilinx.com/products/silicon-devices/soc.html
0 件のコメント :
コメントを投稿