Ubuntu does not use microcode (in the sense you are talking about) at all. Your CPU, however, does use microcode -- that is the code it needs to function.
Ubuntu provides amd- and intel-microcode packages, which provide updated firmware for that hardware. These packages are fully updated with all Spectre/Meltdown patches in all supported releases of Ubuntu.
Ongoing patches for vulnerabilities are handled by the Ubuntu Security Team. It's a normal part of support in a supported release of Ubuntu. You receive those patches routinely when you upgrade from Ubuntu's -security repository.
If you have questions about specific vulnerabilities, feel free to search the database of vulnerabilities and patches.
Determine which version of firmware your CPU is using with grep microcode /proc/cpuinfo
Finally, be aware that version numbers can misleading when checking for vulnerabilities: A patched package may not have a higher upstream version number (since it's not a new upstream version), but is still fixed and tested and no longer vulnerable. In these cases, Debian and Ubuntu add their own supplementary version numbers so you can tell the difference.