The initrd contain the modules required to understand the root filesystem, and thus be able to access the normal store of kernel modules.
If your kernel is compiled with all that code built-in, rather than as modules, then an initrd shouldn't be required.