

The CPUID supports several "functions" (denoted by the value of RAX, in some cases also RCX), and returns the data through the general purpose registers, which is why you see mention of RAX, RBX. Some compilers use this technique to generate optimized code that adjust to the machine it runs on. More often you can use it to determine if your program supports certain optimizations (for example vector instructions of a certain width), and invoke optimized code accordingly.

You can use this instruction directly in your own program or through a existing wrapper program to learn about your CPU (most operating systems provide such functionalities, or 3rd party programs that tell you info about your CPU like CPU-Z). What you probably mean is a generic capability of the x86 family (not just Intel), to provide information on the specific processor and the functionality it supports, using a machine instruction called CPUID.
