Skip to Main Content

CSC342

Module 4 Required Resources

Textbook

Your course textbook can be accessed via the DART eBook link in the Getting Started module.

Text:

Null, L. & Lobur, J. (2018). Essentials of Computer Organization and Architecture (5th ed.). Cengage Learning.

Context:

We will be finishing up our software topics with methods for security and protected local environment provisions and learning about programming tools and languages (with the example of Java) to help accomplish those goals.

The last chapter 9 of this course discusses RISC machines, architectures that exploit instruction-level parallelism, and multiprocessing architectures (with a brief introduction to parallel processing). We begin with the notorious RISC-versus-CISC debate to give you an idea of the differences between these two ISAs and their relative advantages and disadvantages. We then provide a taxonomy by which the various architectures may be classified, with a view as to how the parallel architectures fit into the classification. Next, we consider topics relevant to instruction-level parallel architectures, emphasizing superscalar architectures and reintroducing EPIC (explicitly parallel instruction computers). We then look at alternatives to RISC and CISC by revisiting VLIW (which uses instruction-level parallelism) and introducing vector processors. Finally, we provide a brief introduction to multiprocessor systems and some alternative approaches to parallelism, including systolic arrays, dataflow computing, neural networks, and quantum computing.

The subject of alternative architectures also includes multiprocessor systems. For these architectures, we return to the lesson we learned from our ancestors and the friendly ox. If we are using an ox to pull out a tree, and the tree is too large, we don’t try to grow a bigger ox. Instead, we use two oxen. Multiprocessing architectures are analogous to the oxen. We need them if we are to budge the stumps of intractable problems. However, multiprocessor systems present us with unique challenges, particularly with respect to cache coherence and memory consistency. It should be noted that although some of these alternative architectures are taking hold, their real advancement is dependent on their incremental cost. Currently, the relationship between the performance delivered by advanced systems and their cost is nonlinear, with the cost far exceeding performance gains in most situations. This makes it cost-prohibitive to integrate these architectures into mainstream applications. Alternative architectures do have their place in the market, however. Highly numerical science and engineering applications demand machines that outperform standard uniprocessor systems. For computers in this league, cost is usually not an issue.

Read:

  • Chapter 8.3 Protected Environments
  • Chapter 8.4 Programming Tools
  • Chapter 8.5 Introduction to Java
  • Chapter 9.1 Introduction
  • Chapter 9.2 RISC machines
  • Chapter 9.3 Flynn’s Taxonomy
  • Chapter 9.4 Parallel and Multiprocessor Architectures
  • Chapter 9.5 Alternative Parallel Processing Approaches
  • Chapter 9.6 Quantum Computing