Hardware-software trade-offs - Reasons and directions