As you appear to be extremely eager to learn, the reasons as to why there is a separation of an application processor and a baseband processor is due to several technical reasons.
The baseband processor runs the radio interface and actually does the raw signalling necessary to talk to the cell towers and the rest of the network. This means that it has very tight requirements for timing. You can't stop the process handling the radio for a few milliseconds to do something else like decode your MP3s as you could be missing a transmission for yourself.
The programming requirements to be able to guarantee the timing of the baseband processor software means that you need something called a realtime OS. This will guarantee that your software will get a defined minimum amount of CPU time and that it will be reliable in scheduling. It will happen every 0.1 seconds precisely or whatever you set it to be.
The system of having two processors thus allows you to run whatever you want on the applications processor without worrying about affecting the radio whilst keeping the baseband processor dedicated to solely handling the radio and other important interfaces. The processing requirements for the two types of processor will be different as well. You want good general purpose computation abilities on the application processor so something like the Freescale iMX whilst you want very good number crunching abilities on the baseband processor so they tend to be DSPs or be a CPU with a DSP core.
There are some low end budget cell phones out there now which have combined the roles of the application and baseband processors. This means the realtime OS is significantly more complicated as it has more to deal with but the barriers they needed to overcome that is something you'll have to look up yourself as that is out of the scope of a post to this forum.
That concludes the rough guide to everything you didn't actually need to know about radio hardware :P
|