Tomas Berdych beat world number three Rafael Nadal in straight sets to secure his place in the Australian Open semi-finals.