DMA has proposed, and is succeeding at, using software against essentially a single chip to perform the same function. This has real benefits not only now (smaller form factor, somewhat less power consumption by the controller itself, functional flexibility, cheaper to produce, etc...), but certainly in the future since software by its nature is extensible. It's a big deal... if it works!!!
It's not software. It's still good old hardware, just conveniently pre-packaged and with programmable switches inside, so you can connect practically any component to practically any pin (which makes PCB routing SO MUCH EASIER).
Keep in mind going in, you will learn a lot, but this is a topic that isn't for the faint of heart
Don't go there, I'll prepare a human-readable version soon, in a different post. Probably in deskthority wiki even if allowed to - external websites are just too likely to die. And if deskthority does - well, there will be no one interested in preserving this knowledge if that is allowed happen.