ЦП имеет шину данных и адресную шину. Они могут иметь одинаковую ширину, но часто это не так.
Указатель стека - это указатель на память, поэтому он часто столь же широк, как адресная шина, если только внутри не используется какое-то (странное / неясное) преобразование. Указатель инструкций (указывает на текущую инструкцию) также является указателем на память и таким же широким, как указатель стека.
Другие регистры в основном имеют дело с данными, и поэтому имеют те же измерения, что и шина данных. Но, как обычно, есть исключения.
Взять старый пример. 6502. 8-битный процессор (8-битная шина данных, 16-битная адресная шина). Он имеет (более или менее) регистры общего назначения X и Y и «аккумулятор», называемый A. Все 8-битные регистры. Существует указатель стека и указатель инструкций, указатель стека имеет 8 явных и 8 неявных битов (стек всегда находится в одной и той же 256-байтовой области) и, следовательно, регистр указателя стека имеет 8 битов, указатель инструкций имеет 16 битов 1007 *
8086, имеет 16-битную шину данных и 20-битную адресную шину. Общие регистры где 8 (и 16 бит). Указатель инструкции и указатель стека где 16 бит, но используются регистры сегмента (также 16 бит) для получения полного 20 битного адреса.