Design a machine that multiplies two 1024 × 1024 FP16 matrices through an external-memory interface.
The machine has access to external memory containing two matrices of 16-bit elements. It can read four elements (64 bits) and write four elements (64 bits) every clock cycle.
Matrix A is located at address 0 and above.
Matrix B is located at address 256K and above.
Write the result to address 512K and above.