What would help speed up synchronization?
I'm not sure if it's a bandwidth issue or a CPU issue?
If I were to upgrade my processor would that help make it move faster or do I need to upgrade my download/up speed?
Typically the bottleneck in synchronization is your I/O: your hard drive. I believe it's for example no longer possible to get fully synchronized with a HDD when using a full node - you have to use SSD. So it's not a bandwidth or a CPU issue.
Otherwise you can use the different (lighter) synchronization methods. Geth supports the following modes:
1) full: synchronize everything
2) fast: synchronize only essential parts of blocks
3) light (experimental): only latest state
You can read about their differences for example here: https://ethereum.stackexchange.com/a/11300/31933