32-bit ARM здесь будет massive overkill ведь
Вспомнил одну из главных причин. Даже для самых простейших современных однокристаллок часто 16-битного адресного пространства (64 килобайта) недостаточно. Удобно, когда есть единое адресное пространство для доступа и к данным в оперативной памяти, и к памяти программ. Иначе приходится выдумывать нестандартные вещи вроде LPM в AVR, просто, для доступа к каким-нибудь таблицам и строкам в памяти программ. И, даже, если младшие модели чипов в семействе имеют не очень большую память программ, то для старших моделей 64 килобайта адресного пространства уже давно очень жесткое ограничение. А когда ещё и все регистры периферии сидят в общем адресном пространстве процессора с доступом к ним стандартными командами работы с памятью, это вдвойне удобно.