How many bits are needed? Advantages/disatvantages of this configuration?
for each instruction, we were trusting one particular component of the kernel to handle it


This seems to represent a misunderstanding of how code is executed.  That's not how CPUs work.  Instructions are executed by the CPU -- not handled by the kernel.  So, the question seems to be based on a faulty premise.



(OK, there are sometimes occasional exceptions to this in real-world architectures -- e.g., in old x86 platforms, some floating-point instructions might be emulated by the kernel when running on a CPU that didn't have floating-point support -- but that's a detail.  Treat what I've described above as the basic rule.)