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.