Architecture versus Implementation
Where architecture tells
what happens, implementation tellshow it is made to happen.G A Blaauw
The reason your semester projects will all implement exactly the same external architecture is simple: That external architecture was designed by one person (me, after taking advice from all of you), and you are required to implement that external architecture.
That smacks of aristocracy, not democracy. Are you being deprived of your human rights? No. Are you being deprived of your rights as citizen-programmers? No. Are you being deprived of any chance to be creative? No.
You will have ample opportunity for creativity as you design the internal architecture your team will use. For most well-designed semester projects, designing the internal architecture provides a lot more scope for creativity than what your instructor did to design the external architecture/specification.
In like manner, the designers of those Intel microprocessors had plenty of scope for creativity. In some ways, the complexity and arbitrariness of the IA32 architecture spurred greater creativity on the part of its implementors. These days, most microprocessor implementations of the IA32 and its successors operate via dynamic translation of IA32 machine code into an internal microcode. Designing that internal microcode and an efficient implementation of it, along with efficient dynamic translation, is a challenge.
Designing your team's internal architecture and implementation of the semester project won't be quite as challenging as designing a modern microprocessor, but it will give you plenty of room for creativity.