読み方 : はんようレジスタ
汎用レジスタ【general register】ジェネラルレジスタ

CPUが処理を行う際、メインメモリからデータを毎回読み書きしていては時間がかかりすぎる。そこで、CPUの内部には「レジスタ」(register)と呼ばれる極めて高速な記憶領域が設けられており、処理中のデータや計算途中の値を一時的に保持することができるようになっている。
レジスタにはいくつかの種類があり、次に実行する命令のアドレスを保持する「プログラムカウンタ」や、メモリのスタック領域を指し示す「スタックポインタ」など、あらかじめ役割が決まっているものが多い。一方、汎用レジスタは、プログラマやコンパイラが自由に使い道を決められるレジスタとして設計され、様々な用途に使い回すことができる。
搭載される個数はCPUアーキテクチャによって異なり、パソコンで一般的なx86系CPUの古い32ビット環境では汎用レジスタが8本程度だったが、64ビットに移行したx86-64では16本に拡張された。RISCアーキテクチャのARMやMIPSでは32本が一般的であり、レジスタ数が多いほどコンパイラが効率よく処理を最適化しやすくなる。ただし、レジスタはCPUのダイ面積を消費するため、数を増やせばよいという単純な話にもならない。
アセンブリ言語でプログラムを書く場合、開発者は汎用レジスタを直接指定して操作する。C言語などの高水準言語では、コンパイラがレジスタの割り当てを自動的に行う。どの変数をどのレジスタに割り当てるかを決める処理は「レジスタ割り付け」(register allocation)と呼ばれ、コンパイラ最適化の中でも処理速度に直結する工程の一つである。