The first upgrade was a move from the BCM2835 (single core ARMv6) to BCM2836 (quad-core ARMv7). It's latest big upgrade is from the BCM2836 to BCM2837 (ARM Cortex-A53). The upgrade in processor types means you will see ~2x performance increase just on processor-upgrade only. For software that can take advantage of multiple-core processors, you can expect 4x performance on average and for really multi-thread-friendly code, up to 7.5x increase in speed!
Please note: The processor has completely changed on the new RaspberryPi 2 v1.2, instead of an ARM v6 core chip (arm6l) or ARM v7, the BCM2836 has been upgraded to a BCM2837 (ARM Cortex-A53) core. However, your existing Raspberry Pi SD card images may not work because the firmware and kernel must be recompiled/adapted for the new processor. If you have a Raspberry Pi 2, and you are trying to upgrade your existing SD card, you will need to upgrade your installation. To do that, log into your Pi 1 and at a console or terminal type in sudo apt-get upgrade to perform the upgrade procedure. You'll need your Pi to be on the Internet to do this. Once upgraded, the card will work on both Pi 1 and Pi 2 computers. If you have any pre-compiled binaries that you are downloading, those may need updating too, in order to take advantage of the speed increase. Anything where you have access to source code can be recompiled and ought to work just fine.
The V1 boards are fitted with the Broadcom BCM2835 (ARM1176) and the V2 board uses the BCM2836 (ARM Cortex A7). The RPI3 uses a Cortex-A53. Because of the processor differences, we use different build commands to build for the various RPI models.
If you read the two peripheral datasheets carefully you'll see a subtle difference in them, notably , the Raspberry-Pi 2 has the ARM IO base set to 0x3F000000 instead of the original 0x20000000 of the original Raspberry-Pi. Unfortunately for us software engineers the Raspberry-Pi foundation don't appear to be good at securing the documentation we need, in fact, their attitude suggests they think we're magicians and don't actually need any. What a shame! Please if you're a member of the forum, campaign for more documentation. As engineers, especially in industry we wouldn't accept this from a manufacturer, we'd go elsewhere! In fact, we did at my work and use the TI Cortex A8 from the Beaglebone Black, a very good and well documented SoC!
Anyway, the base address can be gleaned from searching for uboot patches. The Raspberry Pi 2 uses a BCM2836 so we can search for that and u-boot and we come along a patch for supporting the Raspberry-Pi 2. 1e1e36bf2d