通信用語の基礎知識 全国のICカードこれひとつ 戻る

syscall
辞書:科学用語の基礎知識 中央演算処理装置用語x86編 (IYCP86)
読み:シス-コール
外語:syscall
品詞:固有名詞

AMDx86系プロセッサーの命令の一つで、システムコール用に用意された命令。

目次
概要

AMD K6以降で利用できる。また、AMD64 ISA互換機能として搭載されたIntel 64でも利用できる。

オペコードは「0fh 05h」の2バイトである。

元の処理に戻る場合の命令はsysretで、こちらのオペコードは「0fh 07h」の2バイトである。

特徴
由来

従来、システムコールの実装にはソフトウェア割り込み機能が使われていた(Windows NT系ならint 2eh、Linuxならint 80h)が、ソフトウェア割り込みは処理が煩雑であるため遅かった。

そこで、高速なシステムコールを実現するために、この命令が追加された。

対応判定

未対応のCPUで利用すると無効命令例外が発生するので、CPUがこの命令に対応しているかどうかは、CPUID命令で判定する。

EAX=80000000HでCPUID命令を実行し、返却値EAXの最上位ビットが1となる拡張CPUID対応環境で、かつEAX=80000001HでCPUIDを実行した結果得られたEDXレジスターのビット11が1のとき、命令に対応している。

挙動

syscall命令は、次のような動作をする。

リンク
関連するリンク
SYSCALL and SYSRET Instruction Specification
用語の所属
x86
関連する用語
システムコール
sysenter

[再検索] [戻る]


通信用語の基礎知識検索システム WDIC Explorer Ver 7.04a (27-May-2022)
Search System : Copyright © Mirai corporation
Dictionary : Copyright © WDIC Creators club
KisoDic