Вычислительное ядро микроконтроллера имеет разрядность 8 бит. Поэтому все регистры, которыми микроконтроллер оперирует, либо 8-битные, либо 16-битные.
8-разрядное АЛУ, чтобы, например. сложить два числа использует 1 операцию для чисел типа uint8_t, либо две
операции для чисел типа unit16_t. Для чисел типа uint32_t потребуется 4 операции.
То же самое с операциями чтения-записи из памяти в регистры и в память.
То есть чтобы просто узнать, равна ли переменная int нулю, потребуется 4 операции? Это было бы странно.
Тип int - это главный тип в языке C. А в данном его стали бы использовать только в исключительных случаях.
Так что на 8- и 16-битных платформах размерность int 16 бит, на 32-битных - 32 бита, на 64-битных - 64 и т.д.
С типом char всё ещё запутаннее.