マイクロアーキテクチャにおける実行ユニット(じっこうゆにっと、: Execution unit)は micro ops を実行するユニットである[1]。すなわちプロセッサ内部において各サイクルごとの実演算を担うユニットである。

概要

編集

プロセッサの役割はプログラムから与えられた命令を実行し正しい結果を得ることである。一方で処理の実装方法は命令で規定されておらず、それぞれのプロセッサに実装方法が委ねられている。多くのプロセッサでは各プロセッサ命令に1:1対応する回路を持つのではなく、1つのプロセッサ命令をよりシンプルな micro ops の集まりへと分解する。この micro ops を実行する主体が実行ユニットである。

micro ops には加算・乗算・論理演算・浮動小数点計算など様々な種類があるため、それに対応して実行ユニットにも様々なタイプがある。大きな括りとしてはALU(int演算・論理演算担当)[2]FPU(浮動小数点演算担当)、Address Generation Unit; AGU[3] などがある。

各マイクロアーキテクチャによって実行ユニットの数や能力は大きく異なる。例えば AMD EPYC™ 7003 Processors は整数演算に関してALU1~4と区別される4つの実行ユニットをもち、ALU1は更に Parallel Bits Extract; PEXT 命令の処理能力を持っている[4]

独立して動く実行ユニットが複数ある様式をスーパースカラーという。複数の実行ユニットが並列に動作するため micro ops の並列処理が可能になる。

古く[いつ?]は、プロセッサの構成は、単に制御装置と演算装置に分けられていた。しかし、機能と性能の向上のため、パイプライン化され、また、複数のパイプラインを並列動作させるようなものもあらわれた。このため、制御装置を「命令をディスパッチするもの」とし、それに対し「命令をディスパッチされるもの」である「実行ユニット」という分類が使われるようになった[5]

編集
  1. ^ "micro ops (the primitive operations executed in the processor's execution units)." AMD. (2020). Software Optimization Guide for AMD EPYC™ 7003 Processors. rev. 3.00.
  2. ^ "an ALU capable of general purpose integer operations." AMD. (2020). Software Optimization Guide for AMD EPYC™ 7003 Processors. rev. 3.00.
  3. ^ "There are three Address Generation Units (AGUs) for all load and store address generation." AMD. (2020). Software Optimization Guide for AMD EPYC™ 7003 Processors. rev. 3.00.
  4. ^ "The processor contains 4 general purpose integer execution pipes. ... ALU1 additionally has multiply/CRC/PDEP/PEXT capability" AMD. (2020). Software Optimization Guide for AMD EPYC™ 7003 Processors. rev. 3.00.
  5. ^ ここで使っている用語の「ディスパッチ」は「発行」という意味であるが、OSなどでコンテキストをスイッチするという意味で使われるそれとは無関係。en:Superscalar processorを見ればわかるがプロセッサ設計の用語として一般に使われるもの。

📚 Artikel Terkait di Wikipedia

Zen 3

ALU capable of general purpose integer operations." AMD (2020). Software Optimization Guide for AMD Family 19h. ^ "Many simple ALU operations, including

SIAM (学会)

Mathematics (数理ファイナンスを扱う) MOS-SIAM Series on Optimization (最適化問題を扱う) Proceedings SIAM Spotlights Software, Environments, and Tools (ソフトウェアなどを扱う) Studies

スーパースカラー

execution units operate essentially independently." AMD. (2020). Software Optimization Guide for AMD EPYC™ 7003 Processors. rev. 3.00. アウト・オブ・オーダー実行 投機的実行/積極的実行

ダッソー・システムズ

GmbH ^ Dassault Systèmes Acquires SFE, a Technology Leader in Design Optimization and Automation ^ Safe Technology Limited ^ ダッソー・システムズ、Safe Technology

最適化 (情報工学)

Programming Optimization C,C++ optimization C optimization tutorial Software Optimization at Link-time And Run-time "A Plea for Lean Software" by Niklaus

Puma (マイクロアーキテクチャ)

Performance Preview”. AnandTech. 2014年4月29日閲覧。 Jaguar (マイクロアーキテクチャ) Software Optimization Guide for Family 16h Processors 2014 AMD Low-Power Mobile APUs Jaguar

共役勾配法

convergence properties of conjugate gradient methods for optimization. SIAM Journal on optimization, 2(1), 21-42. ^ Steihaug, T. (1983). The conjugate gradient

Intel Math Kernel Library

できるようにした物をインテルは配布している。Apache MXNet、Intel Optimized Caffee、Intel Software Optimization for Theano、Intel neon Framework、Intel Data Analytics Acceleration