Skip to Main Content

CSC342

Module 1 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:

From the previous course, we learned that machine instructions consist of operational codes (opcodes) which can work on operands. The opcodes specify the operations to be executed; the operands specify the register or memory locations of data.

In the view that we have languages such as C++, Java, and Ada available why should we be concerned with machine instructions? When programming in a high-level language, we frequently have little awareness of machine code instructions because high-level languages hide the details of the architecture from the programmer, and low-level machine languages are tedious to program. Employers now frequently prefer to hire people with assembly language backgrounds not because they need an assembly language programmer, but because they need someone who can understand computer architecture to write more efficient and more effective programs.

In Chapter 5, we expand on the topics presented in the last chapter, the objective being to provide you with a more detailed look at machine instruction sets. We look at different instruction types and operand types, as well as how instructions access data in memory. You will see that the variations in instruction sets are integral in distinguishing different computer architectures. Understanding how instruction sets are designed and how they function can help you understand the more intricate details of the architecture of the machine itself.

Read:

  • Chapter 5.1 Introduction
  • Chapter 5.2 Instruction Formats
  • Chapter 5.3 Instruction Types
  • Chapter 5.4 Addressing
  • Chapter 5.5 Instruction Pipelining
  • Chapter 5.6 Real World ISA Examples