A company in one of the application areas listed below needs to replace their computing infrastructure. The company requires a high-performance comput
A company in one of the application areas listed below needs to replace their computing infrastructure. The company requires a high-performance computer system to cater for their business needs.
• Weather forecasting
• Natural Language Processing
• Image Processing
• Data centre
• Modelling and Simulation
• Materials and Manufacturing Industries
Propose a complete and working computer system for the company. This proposal should include a breakdown of the main components of the system.
Justify the main components of the proposed system considering their performance, cost, and availability. You should provide parts identification for all components used. Discuss the parallel processing techniques used in enhancing the performance of these components, including any instruction-level parallelism, data-level parallelism and thread-level parallelism concepts used. Indicate details of the Instruction Set Architecture used in this system.
Choose one of the components (or, sub-components) of the system proposed e.g. memory, interconnection, processor, etc. Conduct a literature review of the state-of the-art performance of this component (or, sub-component). This should include a discussion of its functionalities, features used to enhance its performance, any trade-offs, and the effect of the enhancement of its performance on the performance of the entire system.
Discuss the benchmark suite that would be suitable for measuring the performance of the system, compared to similar systems.
Using the x86, ARM or MIPS Instruction Set, write an assembly language programme to implement an algorithm (you should agree on the algorithm to implement with the module leader). The algorithm should include input and output operations, selection, loop, a subroutine call and some arithmetic/logic operations. Provide corresponding machine code for the instructions used in this program. Use comments to demonstrate an understanding of the instructions, registers and stacks used in the program.