RTC Website

Summary

This chapter has introduced key fundamental concepts of computing and real-time computing, while framing the target system for the lab exercises as a feedback control system design problem. In addition, we have extended our understanding of the C programming language and the UI to be designed in chapter 1, chapter 2, chapter 3. The following points summarize the chapter:

  • Computer architectures are models of the structure of a computer system, ignoring details of the implementation. The most common computer architecture includes five components: a processor control unit, a processor datapath, memory, input, and output.
  • Computers are realized and packaged in many ways. The T1 target computer, the NI myRIO 1900, is a single-board computer with an ARM instruction set architecture.
  • An operating system manages resources for multiple running programs called processes, each of which contains one or more threads or tasks.
  • Positional numeral systems encode numbers in symbols called numerals, combined with their relative positions. The base of a system is its number of numerals. The most common numeral systems for computing are the base-10 Hindu-Arabic, the base-2 binary, and the base-16 hexadecimal.
  • For computational efficiency, a negative base-\(b\) number is usually encoded as a \(b\)’s complement of its absolute value.
  • Memory is not content-specific. Its contents are indexed by corresponding addresses. For a multibyte number, in the little-endian convention, the least-significant byte, which represents the lower powers of \(2\), is at a lower address than the most significant byte, which represents the higher powers of \(2\). The big-endian convention is just the opposite.
  • A noninteger decimal number is usually encoded in memory as a floating-point number, which represents it with a sign, significand, and exponent.
  • Characters and symbols are encoded in memory with character codes; the most common is ASCII.
  • A paper computer can be used to trace the execution of a program at the level of the processor and memory. Our ARM emulator is a virtual paper computer, available in the “Online Resources” section of this page: https://rtcbook.org/yp.
  • Real-time computing is computing that must interact with its environment—an environment with time-dependent dynamics.
  • Scheduling real-time tasks requires consideration of both precedences and deadlines. Deadlines can be hard, firm, or soft, depending on the consequences of failure to meet them.
  • Tasks that occur at regular intervals are periodic; other tasks are aperiodic.
  • For mechanical engineers, real-time computing is especially important for applications in feedback control and measurement.
  • We will design and implement a feedback control target system for the motion control of a mechanical load. We begin with the UI and will return to feedback control in later chapters.
  • The pointer is a key concept in the C programming language.

Online Resources for Section 1.12

No online resources.