コプロセッサ【co-processor】
概要

コンピュータの中核であるCPUは多様な処理をこなせる汎用装置だが、あらゆる処理が集中するため性能上のボトルネックになりやすい。そこで、特定分野の処理のみを高速・効率的にこなす専用回路をCPUと並列に動作させる設計が考案された。このようなCPUの指示下で特定処理を分担するプロセッサをコプロセッサと呼ぶ。
初期の実装例としてよく知られるのが、浮動小数点演算に特化した「FPU」(Floating-point Processing Unit)である。IntelのCPU「8086」に対する「8087」のように、かつてはマザーボード上に別チップとして実装されていた。その後、CPUの高集積化が進み、FPUの機能はCPUコア内部に取り込まれたため、単体のFPUチップはほぼ姿を消した。
現在も広く使われるコプロセッサの代表がGPU(Graphics Processing Unit)である。もともと画面描画および3Dグラフィックス演算の負荷をCPUから肩代わりする目的で発展したが、並列演算能力の高さから機械学習や科学技術計算、暗号通貨マイニングなどに幅広く転用されている。また、信号処理に特化した「DSP」(Digital Signal Processor)はスマートフォンの音声処理やノイズキャンセリングに用いられ、セキュリティ処理を担う「TPM」(Trusted Platform Module)は暗号鍵の管理や安全な起動検証を受け持つ。
AI処理需要の高まりを背景に、ニューラルネットワークの推論・学習に特化した「NPU」(Neural Processing Unit)を搭載するSoCも増えており、米アップル(Apple)のMシリーズやAシリーズに内蔵される「Neural Engine」や米クアルコム(Qualcomm)社の「Hexagon NPU」などがよく知られる。サーバ向けNICに組み込まれたオフロードエンジンもコプロセッサの一形態で、TCP/IP処理や暗号化をCPUに代わって処理する。