I checked uname manual (man uname) and it says the following for the "-a" option:
 print all information, in the following order, except omit -p and -i if unknown
In Ubuntu, I gessguess, options "-m", "-p" and "-i" (machine, processor and hardware-platform) are returning the machine architecture. For example, if you use the command
uname -mpi 
You will see:
x86_64 x86_64 x86_64
On the other hand, if you choose all the option:
uname -snrvmpio 
You will get the same result as:
uname -a
Output:
Linux <hostname> 3.13.0-29-generic #53-Ubuntu SMP Wed Jun 4 21:00:20 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
I also executed "uname" with options "-m", "-p" and "-i" on an ARCHLINUX distro and I got a different answer:
x86_64 unknown unknown
In fact, when I asked for "uname -a" on the ARCHLINUX distro the answer was:
Linux <hostname> xxxxxx-ARCH #1 SMP PREEMPT Mon Feb 14 20:40:47 CEST 2015 x86_64 GNU/Linux
While when executed "uname -snrvmpio" on the ARCHLINUX distro I got:
Linux <hostname> xxxxxx-ARCH #1 SMP PREEMPT Mon Feb 14 20:40:47 CEST 2015 x86_64 unknown unknown GNU/Linux