What are the key differences between pipeline and non-pipeline computer architectures in terms of design, performance, and efficiency? Discuss the advantages and challenges associated with each approach. Additionally, propose potential solutions to overcome the problems specific to pipeline or non- pipeline architectures while optimizing their performance