Hi,
What you're looking at here is really, really hard. However, don't let that discourage you. My advice would be to go look at the code for the Open Source Radeon driver, including the kernel mode components and the Mesa back end. Look here xorg/driver/xf86-video-ati - ATI video driver. The team is always looking for contributions. Writing an entire driver from scratch would be a massive undertaking. If you just want to learn about GPU architecture, contributing to the Open Source drivers would be a great way to do that. Go add a feature, tune performance or otherwise improve things. Feel free to ask questions.
Cheers,
Graham