16917029-13541341-real-time-systems

  • May 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View 16917029-13541341-real-time-systems as PDF for free.

More details

  • Words: 12,095
  • Pages: 37
REAL-TIME SYSTEMS GLOSSARY Compiled by: Janusz Zalewski Dept. of Computer Science The University of Texas of the Permian Basin 4901 E.University Blvd Odessa, TX 79762-0001 [email protected] Updated: 1-December-1993

Note. This glossary is composed of two parts. General terms and their definitions, contained in Part 1, have been taken "as is" from the best available sources mentioned below. No attempts have been made, so far, to edit respective definitions. The objective of compiling this part of the glossary was just to collect an initial set of terms to form a basis for further work, perhaps by a committee. For some terms in this group, no appropriate definitions have been found, so they are left undefined. Part 2 contains a self-contained set of terms for multiprocessor buses, which has been compiled and edited by the author, and prepared for a separate publication. Any kind of reader input (corrections, additions, deletions, comments) is very welcome. [610] Glossary of Software Engineering Terminology, IEEE Std 610.12, IEEE, New York, 1990 [AND] Andrews G., Concurrent Programming. Principles and Practice, Benjamin/Cummings, Redwood City (CA), 1991 [FB+] Futurebus+ Recommended Practices, IEEE Project P896.3, Draft 4.1, IEEE, New York, October 1992 [GON] Gonzalez D., Ada Programmer’s Handbook, Benjamin/Cummings, Redwood City (CA), 1991 [LAP] Laplante P., Real-Time Systems Design and Analysis. An Engineer’s Handbook, IEEE Press, New York, 1993 [LAW] Lawson H.W., Parallel Processing in Industrial Real-Time Applications, Prentice-Hall, Englewood Cliffs (NJ), 1992 [LRM] Reference Manual for the Ada Programming Language. ANSI/MIL-STD 1815A, January 1983 [POSIX] Portable Operating System Interface. Part 1: Systems Application Program Interface - Ammendment 1: Real-Time Extension. IEEE Project P1003.4, Draft 13, September 1992 [SP] Schiebe M., S. Pferrer (Eds.), Real-Time Systems Engineering and Applications, Kluwer Academic Publishers, Boston, 1992 [WIL] Wilson G.V., A Glossary for Parallel Computing Terminology. IEEE Parallel and Distributed Technology, Vol. 1, No. 1, pp. 52-67, February 1993

2

Part 1. General Terms abnormal The state of a task that is entered upon execution of an abort statement naming that task. An abnormal task continues execution normally but cannot engage in a rendezvous and will cp,mplete when it reaches a synchronization point. If the abnormal task is suspended at an accept statement, a select statement, or a delay statement, it becomes comleted immediately. An abnormal task that has not yet started activation becomes completed immediately also. For an abnormal task that has issued an entry call statement: if the task is in rendezvous it completes after the rendezvous completes; if it is not yet in rendezvous it completes immediately and the entry call is canceled. [GON] abort To terminate a process prior to completion. [610] abort statement The statement used to terminate the execution of a task and all tasks dependent on it. The task or tasks named in the statement first become abnormal, and then when execution reaches an entry call, accept, select, or delay statement, the tasks become completed. After the tasks that have the completed task as master become terminated, the completed task then also becomes terminated. This statement should only be used in extreme circumstances (e.g., in an exception handler) since we may not want to affect tasks that are attempting to or will attempt to rendezvous with the aborted task. Care is also required since an abnormal task may never complete or terminate, for example if the task enters an infinite loop before reaching a synchronization point. [GON] accept operation Operation on a mailbox that is similar to the pend operation, except that if no data is available, the task returns immediately from the call with a condition code rather than suspending. [LAP] accept statement A tasking statement executed by a task known as the called, calee, or server task. The server executes this statement and waits for another task (or the main program) to execute an entry call statement using the server task name and the same entry name. The accept statement may contain a parameter list and a sequence of statements that is executed during the rendezvous. Parameters are passed between the accept statement and the corresponding entry call statement in the same way that parameters are passed between a subprogram and a subprogram call. During execution of a sequence of statements in the accept statement, the caller task waits. [GON] activation The initial state of a task: composed of only the elaboration of the declarative part of the task body. The activation of a task that is not created by an allocator ("new") takes place after the "begin" of the unit (but

3

before the first statement) in which the task object is declared. Activation of a task that is created by an allocator occurs as part of the evaluation of the allocator. Please note that the activation of a task is always automatic, not under explicit user control. [GON] actor task A task whose primary purpose is to direct the actions of a system. This kind of task is useful as a "driver" process in a system. For example, a task that generates data as an initial task in a pipeline is an actor and would not have entries that are called by any task. However, a task that has only one entry, which is used for initialization of its state, is probably also an actor task. [GON] actuators The means of controlling behavior in the external environment. Can involve digital to analog conversion when required. [LAW] address space The memory locations that can be referenced by a process. [POSIX] agent task A task created to act on behalf of an "owner", that is dynamically created, that is provided with information from the owner, and that acts autonomously. Agent tasks are not restricted in what kind of actions they can perform (e.g., issue entry calls to other tasks, accept entry calls from other tasks). [GON] analog-to-digital conversion The process of converting continuous (analog) signals into discrete (digital) ones. [LAP] aperiodic process/tasks A process that can be initiated at any arbotrary point in time. [LAW] Tasks that arrive at irregular intervals but have only soft deadlines. In other words, the deadlines are not rigid, but a good response time is typically desirable. [FB+] arm (a timer) To start a timer measuring the passage of time, enabling the notification of a process when the specified time or time interval has passed. [POSIX] assertion

4

A predicate that characterizes a program state. When an assertion is placed before a statement in a program, it specifies that the predicate must be true every time the statement starts to execute. [AND] A logical expression specifying a program state that must exist or a set of conditions that program variables must satisfy at a particular point during program execution. [610] asynchronous I/O operation An I/O operation that does not of itself cause the process requesting the I/O to be blocked from further use of the processor. [POSIX] at-most-one property An expression or assignment statement satisfies this property if it contains atmost one reference to a variable changed by another process. If this is the case, the expression or statement will execute as an atomic action. [AND] atomic action A sequence of one or more statements that appears to be indivisible; i.e., no other process can see an intermediate state. A fine-grained atomic action is one that can be implemented directly by an indivisible machine instruction. A coarse-grained atomic action is a sequence of fine-grained actions that appear to be indivisible. [AND] Indivisible program part. In reality: amallest uninterruptible programming module used to implement semaphore or bolts. Unfortunately, uninterruptability cannot be guaranteed if it is not a feature of the real-time operating system. [SP] background processing The execution of a low-priority process while higher-priority processes are not using computer resources, of the execution of processes that do not require user interaction. [610] barrier A point in a program at which barrier synchronization occurs. [WIL] A parallel programming sychronization mechanism that forces a number of processes to wait until all have reached some common point. [LAW] barrier synchronization An event in which two or more processes belonging to some implicit or explicit group block until all members of the group have blocked. No process in the group may pass until all processes in the group have reached it.

5

[WIL] benchmark A standard against which measurements or comparisons can be made. [610] binary semaphore A semaphore that can take on one of two values. [LAP] block To suspend one’s own operation, or the operation of another. A process may block itself, or be blocked by the system, untilsome event occurs; if all processes are simultaneously blocked, an no external event can cause any to be unblocked, then deadlock has occured. [WIL] blocked/blocked process The condition experienced by tasks that are waiting for the occurence of an event. [LAP] A process that is waiting for some condition (other that the availability of a processor) to be satisfied before it cancontinue execution. [POSIX] blocking An operation that causes the process executing it to block. Usually applied to communication operations, where it implies that the communicationg process cannot perform any other operations until the communication nas completed. [WIL] bolts A generalized semaphore used to synchronize the access to resources which allow (exclusive) writing access as well as (shared) reading access. [SP] broadcast To send a message to all possible recipients. Broadcast can be implemented as a repeated send, but is more efficiently implemented by using spanning trees and having each node in the tree propagate the the message to its descendents. [WIL] busy waiting A process is busy waiting (spinning) if it is executing a loop waiting for a condition to be true, e.g., do B -> skip

6

od. [AND] In polled loop systems, the process of testing the flag without success. [LAP] callable A predifined attribute giving a value of a predifined type "Boolean" indicating the state of a task. If the task is completed, terminated, or abnormal, this value is "False"; otherwise, it is "True". [GON] clock Device that adds the dimension time to the otherwise only logically arranged computer programs. The clock is used to measure time intervals and/or to synchronize processes. In distributed systems, a global clock is used for these purposes. Unfortunately, global clocks can only be synchronized within certain limits, typically a few microseconds. [SP] An object that measures the passage of time. The current value of time measured by a clock can be queried and, possibly, set to a value within the legal range of the clock. [POSIX] collision Condition in which a device already has control of the bus and another obtains access. Also simultaneous use of a critical resource. [LAP] completed The state of a task that is entered when the execution of the task body’s sequence of statements is completed, when an exception is raised and not handled in the task body, and when the activation of the task raises an exception. [GON] concurrency The apparently simultaneous execution of more than one program or program unit. This is the mechanism that computers use to service multiple users simultaneously. [GON] concurrent Pertaining to the occurence of two or more activities within the same interval of time, achieved either by interleaving the activities or by simultaneous execution. [610] concurrent execution The execution of multiple processes that have started but not completed and thus are active at the same point in

7

time. The processes may be executed by a single or multiple processing elements. [LAW] concurrent programming Programming required to deal with competition between processes for resources inresource-limited environments and interprocess communication among cooperating processes. [LAW] conditional entry call statement A select statement executed by a calling task that contains an entry call statement and an alternative sequence of statements. If the entry call cannot be accepted immediately, the alternative sequence of statements is executed. [GON] condition synchronization A synchronization technique trhat involves delaying a pprocess until the state satisfies some boolean condition B. [AND] condition variable A synchronization object which allows a thread to suspend execution, repeatedly, until some associated predicate becomes true. [POSIX] conditional critical regions A method of implemeting controlled P and V synchronization primities in which a condition is evaluated and, if true, a request for the resource (P) is made. [LAW] context The minimum information that is needed in order to save a currently executing task so that it can be resumed. [LAP] context switching/context switch The switching of the processor from one activity to another. Context switching occurs as different processes are scheduled for execution. [SP] The process of saving and restoring sufficient information for a real-time task so that it can be resumed after being interrupted. [LAP] Saving the state of one process and replacing it with that of another that is time sharing the same processor. If little time is required to switch contexts, processor overloading can be an effective way to hide latency in a

8

message-passing system. [WIL] Saving of the state of a currently executing process and restoring the state of another process enabling a processing element to switch among processes. [LAW] contiguous file allocation The process of forcing all allocated file sectors to follow one another on disk. [LAP] control flow diagram A diagram that depicsts the set of all possible sequences in which operations may be performed during the execution of a system or program. [610] A real-time extension to data flow diagrams that shows the flow of control signal through the system. [LAP] control specifications In data flow diagrams, a finite state automaton in diagrammatic and tabular representation. [LAP] count A predefined attribute giving the number of entry calls currently queued for a particular task entry. A value of type universal_integer, this attribute can only be used in the task owning the entry of interest. If the attribute is used within an accept statement for the same entry, the returned value does not include the call that is currently in rendezvous. Use this entry with care because of the timeout effect of timed entry calls. [GON] counting semaphore A semaphore that can take on two or more values. [LAP] critical assertions The critical assertions in a process are the preconditions of each statement in the process and the postcondition. [AND] critical processes Processes that must meet their deadlines; otherwise, the results can be catastrophic. [LAW] critical section/critical region

9

A sequence of statements that must be executed with mutual exclusion with respect to critical sections in other processes that reference the same shared variables. [AND] Code that interacts with a serially reusable resource. [LAP] A portion of program code under which mutually exclusive use of a resource is guaranteed. [LAW] critical software Software whose failure could have an impact on safety, or could cause large financial or social losses. [610] criticality The degree of impact that a requirement, module, error, fault, failure, or other item has on the development or operation of a system. [610] cyclic executive cyclic systems A paradigm for organizing the execution of processes in repetitive loops. [LAW] daemon A device server that does not run explicitly but rather lies dormant waiting for dome condition(s) to occur. [LAP] data flow diagram A diagram that depicts data sources, data sinks, data storage, and processes performed on data as nodes, and logical flow of data as links between the nodes. [610] A structured analysis tool for modeling software systems. [LAP] deadlock A process is in a deadlock state if it is blocked waiting for a condition that will never become true. [AND] A catastrophic situation that can arise when tasks are competing for the same set of two or more serially reusable resources. [LAP] A situation in which each possible activity is blocked, waiting on some other activity that is also blocked. If a

10

directed graph represents how activities depend on others, then deadlock arises if and only if there is a cycle in this graph. [WIL] The state in which two or more processes are deferred indefinitely because they are mutually holding resources required for each others progress. [LAW] Situation in which computer processing is suspended because two or more devices or processes are each awaiting resources assigned to the others. [610, FB+] death spiral Stack overflow caused by repeated spurious interrupts. [LAP] delay statement The statement that causes suspension of execution for at least the specified number of seconds. [GON] determinism The action of a computer system that is completely forseeable and reproducible, a task that can only be accomplished fully in theory. [SP] digital signal processing (DSP) The use of discrete time digital techniques for the reduction of information content in signals in order to facilitate decisions and/or to condition the signals for further processing, including storage and transmission. [LAW] digital-to-analog conversion The process of converting discrete (digital) signals into continuous (analog) ones. [LAP] direct blocking A scheduling formulation that permits the scheduling of processes (operations) over multiple sample interval boundaries without regard to artificial boundaries. [LAW] direct I/O An operation that attempts to circumvent a system performance optimization for the optimization of the individual I/O operation. [POSIX] disarm (a timer)

11

To stop a timer from measuring the passage of time, disabling any future process notification (until the trimer is armed again). [POSIX] dispatcher The part of the kernel that performs the necessary bookkeeping to start a task. [LAP] distributed real-time system A collection of interconnected self-contained processors. [LAP] dormant state In the task control block model, a state that is best described as a TCB belonging to a task that is unavailable to the operating system. [LAP] driver A computer program that controls a peripheral device and, sometimes, reformats data for transfer to and from the device. [610] dynamic priority system A system in which the priorities of tasks can change. [LAP] dynamic processes Processes that are created during the system operation as required and removed when no longer needed. [LAW] dynamic schedule A scheduling strategy that is dictated by the fact that process execution characteristics are not completely known in advance, for example, asynchronous event-driven systems. [LAW] earliest deadline scheduling A scheduling method where at every time step the process whose deadline is closest is scheduled. [LAW] embedded (computer) systems/system A computer system that is part of a larger system and performs some of the requirements of that system; for example, a computer system used in an aircraft or rapi transit system. [610]

12

An electronic system within a plant or an external process. The external process may comprise both a physical/chemical/technical system (usually consisting of sunsystems) and also humans performing some supervising or parameter setting tasks. Essential to the external system is that it obeys its own dynamics and does not allow complete restoration of a previous state in case of failure. Coupled with this property is the requirement that the embedded system has to respond to the external process within prescribed time constraints (real-time requirement). [SP] Systems that are incorporated into other noncomputer systems, for example, machines, tools, or automobiles. [LAW] Computer systems that are part of larger systems, where the larger system’s purpose is not computing. [GON] Software used to control specialized hardware attached to the computer system. [LAP] entry An entry is used for communication between tasks. Externally, and entry is called just as a subprogram is called; its internal behavior is specified by one or more accept statements specifying the actions to be performed when the entry is called. [LRM] Each entry implicitly defines a first-in-first-out (FIFO) queue for accepting entry calls. The calls for a particular entry will always be accepted in the order in which they exist in the queue. The only mechanism of shortcircuiting the strict FIFO ordering of entry queues is through the timed entry call statement. This statement allows a calling task to leave the queue if the call is not accepted within a predetermined amount of time. [GON] entry call statement The tasking statement that allows a task to request a rendezvous with another task. The entry call statement must name the task and the entry being called and looks much like a procedure call statement. If the task named in the entry call statement is not ready to accept the call, the calling task becomes blocked. If the called task is completed or becomes abnormal, the entry call statement will raise the predefined exception "Tasking_Error." Entry calls to a task are queued in FIFO (first-in-first-out) order. [GON] entry family The Ada tasking construct that creates multiple entries with the same name. Each entry in the family owns a separate queue for accepting entry calls. Entry families can be used to implement a priority rendezvous mechanism. [GON] event Any occurence that results in a change in the state of a system. [LAP] A parallel programming synchronization mechanism that allows a group of cooperating processes to wait for a

13

common flag to be set (typically by another process) and the to proceed simultaneously. The rem event is also used to indicate an occurence of a situation in the external environment. [LAW] event driven Refers to systems where the occurence of events is used to control processing. [LAW] event flag Synchronization mechanism provided by certain languages. [LAP] exception An event that causes suspension of normal program execution. [610] An exception is an error situation which may arise during program execution. To raise an exception is to abandon normal program execution so as to signal that the error has taken place. An exception handler is a portion of program text specifying a response to the exception. Execution of such a program text is called handling the exception. [LRM] An error situation which may arise during program execution (e.g. division by zero, memory protection violation, etc.). An exception may be raised in several programming languages so as to signal that the error has taken place. An exception handler is a portion of program text specifying the response to the exception. [SP] Error or other special condition that arises during program execution. [LAP] exception handler The segment of code that executes when an exception occurs. Exception handlers may be placed at the end of subprogram bodies, package bodies, task bodies, and block statements. Exception handlers allow the ability to recover from abnormal conditions and can be useful in the development of a reconfigurable, fault-tolerant system. [GON] Code used to process exceptions. [LAP] executing state In the task control block model, a task that is currently running. [LAP] executive A computer program, usually part of an operating system, that controls execution of other computer programs and regulates the flow of work in a computer system. [610]

14

failure The inability of a system or component to perform its required functions within specified performance requirements. [610] fairness Guaranteeing that every delayed process gets a chance to proceed. [AND] A property of a concurrent system. If a system is fair, then in the long run all processes are served equally. No process has preferential access to semaphores, etc., and in particular no process can livelock. [WIL] fault tolerance A method to ensure continued system operation in the presence of faults. Since it is not possible to write non-trivial programs fault-free and, since hardware components will have faults, it is crucial for the reliability of a system to be fault tolerance. It should be remembered that with the advent of very large scale integrated circuits (VLSI) and by using microprogramming techniques, the faults may already have been incorporated into the microprocessor hardware proper. Countermeasures are: introduction of redundant components both in software and hardware; ensuring graceful degradation or exception handling. [SP] The ability of the system to continue to function in the presence of hardware or software failures. [LAP] Ability of a system or component to continue normal operation despite the presence of hardawre or software faults. [610, FB+] firm real-time system A system with hard deadlines where some low probability of missing a deadline can be tolerated. [LAP] flag A variable that is set to a prescribed state, often "true" or "false", based on the results of a process or the occurence of a specified condition. [610] foreground A collection of interrupt-driven or real-time processes. [LAP] foreground processing The execution of a high-priority process while lower-priority processes await the availability of computer resources, or the execution of processes that require user interaction. [610]

15

fork To create a new process that is a copy of its immediate parent. [WIL] forward progress Situation in which a module is not blocked from performing the tasks necessary to achieve its goal. Forward progress is guaranteed only in the absence of deadlock or starvation. [FB+] graceful degradation To ensure fault tolerance, failing system components (both in software and hardware) must be handled in such a way that the effect on the remaining system is only a partial degradation of system performance, not a total system crach. [SP] guard The conditional expression used to determine the open or closed nature of an alternative in a selctive wait statement. If the guard evaluates to false, the alternative is closed and cannot be chosen for execution. A guard that evaluates to true indicates an open alternative, as does an alternative with no guard. All guards are evaluated before any decision is made for the selection of an alternative in the selective waut statement. They are not reevaluated while the selective wait statement waits for a decision among the alternatives. [GON] A guard is a boolean condition that ina statement such as if, do, or await. [AND] The introduction of a predicate that guards the execution of a program unit (a statement, block, process, and so on); provides a highly useful programming style. [LAW] A logical condition that controls whether a communication operation can take place. Guards are usually defined as parts of the syntax and semantics of CSP-based languages. [WIL] hard real-time systems/system Systems designed to meet given deadlines under any circumstances. Late results are useless and tardiness may result in danger and high cost. TRypical examples are fly-by-wire systems used to control all important elements of an aircraft. [SP] Systems where failure to meet response time constraints leads to system failure. [LAP] A real-time system in which stringent timing requirements are placed. The missing of a deadline can have catastrophic results. [LAW] hibernation

16

inline code A sequence of computer instructions that is physically contiguous with the instructions that logically precede and follo them. [610] interference freedom Given proofs for a collection of processes, the proofs are interference-free if no assignment action interferes with a critical assertion in another process. [AND] interrupt The suspension of a process to handle an event external to the process. [610] Devices may want to interrupt normal program flow intermittently, e.g., to send data. This is done by requesting an interrupt. When the interrupt is acknowledged, the processor suspends the process currently executed (context switching) and calls in interrupt handler that services the requesting device. Upon completiuon of the interrupt handler, normal program execution continues, i.e., the processor is switched back to the process that was interrupted. [SP] A hardware signal that initiates an event. [LAP] Event that arises in the external or internal environment and that can cause interruption of ongoing processing in order to direct attention to a condition that has arisen. [LAW] Any event external to a thread which, if delivered to the thread, would cause the thread to execute a function asynchronously. [POSIX] interrupt handler/service routine Special code used to respond to interrupts. [LAP] A routine that responds to interrupt requests by storing the contents of critical registers, performing the processing required by the interrupt request, restoring the register contents, and restarting the interrupted process. [610] interrupt latency The delay between a computer system’s receipt of an interrupt request and its handling of the request. [610] The time between the occurence of an external interupt and the beginning of the execution of the interrupt handler. The interrupt latency is a measure for real-time preformance of a system. [SP]

17

The delay between when an interrupt occurs and when the CPU begins reacting to it. [LAP] interrupt request A signal or other input requesting that the currently executing process be suspended to permit performance of another process. [610] kernel That portion of an operating system that is kept in main memory at all times. [610] The smallest portion of the operating system that provides for task scheduling, dispatching, and intertask communication. [LAP] A process providing basic services. A "service" kernel can run on every processor to support minimal operating system services, while a "routing" kernel can handle or forward incoming messages. kernel preemption A method used in real-time Unix that provides preemption points in calls to kernel functions to allow them to be interrupted. [LAP] latency The time interval between the instant at which an instruction control unit issues a call for data and the instant at which the transfer of data is started. [610] The time taken to service a request, deliver a message, and so on, which is independent of the size or nature of the operation. The latency of a message-passing system is the minimum time to deliver a message, even one of zero length that does not have to leave the source processor; the latency of a file system is the time required to decode and execute a null operation. [WIL] The delay between a request and the time the request is satisfied. [LAW] leveling In data flow diagrams, the process of redrawing a diagram at a finer level of detail. [LAP] lightweight processes A set of processes that shares a memory area and that can be threaded together into varying dynamic execution structures. The processes are scheduled by their own local scheduler. [LAW]

18

livelock A process is livelocked if it is spinning while waiting for a condition that will never become true. This is the busy-waiting analog of deadlock. [AND] A situation in which a process A is forever blocked because a process B has preferential access to a resource needed by both. [WIL] Metastable situation in which some modules acquire and release resources in a way that none of them make progress. [FB+] liveness/liveness property The fact that a process(es) is (are) making progress. That is, it is behaving correctly, has not erroneously entered an infinite loop, or by its incorrect operation singularly or collectively has bound resource. [LAW] A program satisfies a liveness property is every execution of the program eventually reaches a good state. Termination and eventual entry into a critical section are examples of liveness properties. [AND] lock To acquire exclusive permission to perform an action or use a resource. [WIL] mailbox An intertask communication device consisting of a memory location and two operations -- post and pend -- that can be performed on it. [LAP] memory locking In a real-time system, the process of locking all or certain parts of a process into memory to reduce the overhead involved in paging, and thus make the execution times more predictable. [LAP] message Information that can be transferred between processes by being added to and removed from a message queue. A message consists of a fixed-size message buffer [POSIX] message passing A style of interprocess communcation in which processes send discrete messages to one another. Some computer architectures as called "message-passing" architectures because they support this model in hardware, although message passing has often been used to construct operating systems and network software for

19

uniprocessors and distributed computers. [WIL] A explicit form of communication between process where information is transmitted in the form of a message; can be contrasted with communication via shared memory. [LAW] message queue An object to which messages can be added and removed. Messages may be removed in the order in which they were added or in priority order. [POSIX] microcontroller A computer system that is programmable via microcode. [LAP] monitor A programmed process that provides for the orderly control of access to shared resources in the system. [LAW] multitasking A mode of operation in which two or more tasks are executed in an interleaved manner. [610] Executing many processes on a single processor. This is usually done by time-slicing the execution of individual processes and performing a context switch each time a process is swapped in ot out, but is supported by special-purpose hardware in some computers. [WIL] Identifies tactics that permit multiplexing several simultaneous processes whose activity must be synchronized at certain points. [LAW] More than one execution path is active in a single program at one time. If there is only one physical processor, it can be shared among the executiuon paths by time-slicing or by running a task until it becomes blocked or preempted. Preemption causes a task to relinquish the processor upon the expiration of a delay by a higher priority task. This can occur in implementations that allow more than one priority level for tasks or that allow interrupts (whwther time-slicing is provided or not). [GON] multicast To send a message to many, but not necessaily all, possible recipient processes. [WIL] mutex A synchronization object used to allow multiple threads to serialize their access to shared data. The name derives from the capability it provides, namely, mutual exclusion. The thread that has locked a mutex becomes

20

its owner and remains the owner until that same thread unlocks the mutex. [POSIX] mutual exclusion Two statements in different processes execute with mutual exclusion if the cannot both execute at the same time. [AND] A situation in which at most one process can be engaged in a specified activity at any time. Semaphores are often used to implement this. [WIL] The guarantee that a process will be given sole access to a resource without any outside interference. [LAW] nonblocking An operation that does not block the execution of the process using it. Usually applied to communication operations, where it implies that the communicationg process may perform other operations before the communication has completed. [WIL] non-interference AN atomic action "a" in one process does not interfere witha critical assertion C in another process if the following triple is a theorem: {pre(a)^C}a{C}. In words, this says that if "a" is about to execute, hence pre(a) is true, and if C is true, then executing a will leave C true. [AND] P and V synchronization Primitive operations that are used for requesting and releasing a shared resource. [LAW] partial corectness In proof of correctness, a designation indicating that a program’s output assertions follow logically from its input assertions and processing steps. [610] A program is partially correct if it computes the desired result, assuming it terminates. [AND] pend operation Operation of removing data from a mailbox. If data is not available, the process performing the pend suspends itself until the data becomes available. [LAP] periodic process Process that is to be executed at regular intervals and that typically has a specific deadline. [LAW]

21

periodic scheduling Refers to a scheduling formulation that takes account of periodicity via the connection of k networks into a closed loop. It is the most general formulation and can be used to achieve resource optimal schedules. [LAW] polled loop system A real-time system in which a single and repetitive test instruction is used to test a flag that indicates that some event has occured. [LAP] polling Cyclick checking of an external flag within a program. The program stalls until the flag is set. [SP] port In a physical hardware process, it represents the actual wired connections to the physical device. As an abstract software object, it is used as a means indicating communication, perhaps permitting the development of queues of data to be communicated. [LAW] post operation Operation that places data ina mailbox. [LAP] predictability The ability to predict how a system willbehave under all circumstances that can arise. [LAW] preempt When a higher-priority task interrupts a lower-priority task. [LAP] preempted process A running process whose execution is suspended due to anothe rprocess becoming runnable at a highe rpriority. [POSIX] preemptive priority system A system that uses preemption schemes instead of round-robin or first-come/first-serve scheduling. [LAP] preemption

22

Process in which the current bus master relinquishes the bus because anothe rmodule has requested it. In some systems any module may cause preemption, in some systems only a module with a higher priority request may cause preemption. [FB+] priority The level of importance assigned to an item. [610] The degree of importance associated with a process. It is used to effect its scheduling in relationship to other processe. [LAW] A non-negative integer, associated with each process whose values are constrained to a range defined by the applicable scheduling policy. [POSIX] priority-based scheduling Scheduling in which the selection of a running process is determined by the priority of the runnable processes. [POSIX] priority inheritance A means to prevent trhe blocking of process execution by processes having a lower priority; for example, P2 inherits the priority of P1 when P1 has requested a result of P2 and is waiting for the result. [LAW] Occurs when a lower priority message at the head of the queue uses the priority of a higher priority message that is blocked. [FB+] priority interrupt An interrupt performed to permit execution of a process that has a higher priority than the process currently executing. [610] priority inversion A condition that occurs because a noncritical task with high execution rate will have a higher priority than a critical task with a low execution rate. [LAP] Refers to the situation where a process of lower priority can block the execution of a higher priority process; for example, P1 is waiting for P3 to return a result; meanwhile P2, which has a higher priority than P3 but lower that P1, is executed; thus P1 is blocked by a lower-priority process. [LAW] If a higher priority activity arrives while a lower priority activity is using the shared resource, the higher priority activity should immediately preempt the lower priority activity. If preemption is not immediate, the higher priority activity has to wait for the lower priority activity to complete. [FB+]

23

process In a programming context, a process is a major schedulable control thread in an address space, able to share memory and run inparallel with other control threads. [LAW] An addres space with one or more threads executing within that address space and their required system resources. [POSIX] push-through blocking raise statement The statement that causes an exception to occur or to incur. [GON] rate monotonic system A fixed-rate, preemptive, prioritized real-time system where the priorities are assigned so that the higher execution frequency, the higher the priority. [LAP] reactive system A system that has some ongoing interaction with its environment. [LAP] read/write lock A specialized form of a semaphore that provides access to data structures for a single writer or multiple readers. Read/write locks prohibit write access until all pending reads are complete and prohibit read access while any write is in progress. [LAW] ready state In the task control block model, the state of those tasks that are ready to run, but not running. [LAP] real-time Pertaining to a system or mode of operation un which computation is performed during the actual time that an external process occurs, in order that the computation results can be used to control, monitor, or respond in a timely manner to the external process. [610] In operating systems, the ability of the operating system to provide a required level of service in a bounded response time. [POSIX] real-time file

24

A file on which real-time I/O operations may be performed. [POSIX] real-time I/O operation An I/O operation that is subject to application-specific transfer rate and/or transfer frequency and/or elapsed time requirements. [POSIX] real-time system/systems A system that must satisfy explicit (bounded) response time constraints or it will fail. [LAP] A system in which the correctness of computation depends not only upon the results of computations but also upon the time at which the outputs are generated. [FB+] Systems whose effectiveness or correctness is measured by their output and by the point in time when the output is produced. Discrimination is made between hard and soft real-time systems. Hard real-time systems are those in which violation of a timing requirement causes system failure. Violation of a timing requirement in soft real-time systems is only a specification violation and does not cause system failure. [GON] reentrant (procedure/function/code) Pertaining to a software module that can be entered as part of one process while also in execution as part of another process and still achieve the desired results. [610] A procedure that can be used by several concurrently running tasks in a multitasking system. [LAP] A function whose effect, when called by two or more threads, is guaranteed to be as if the threads each executed the function one after another in an undefined order, even if the actual execution is interleaved. [POSIX] A code sequence that contains no data storage and whose instructions never change. [GON] rendezvous A rendezvous is the interaction that occurs between two parallel tasks when one task has called an entry of the other task, and a corresponding accept statement is being executed by the other task on behalf of the calling task. [LRM] A synchronization method in which two processes agree to synchronize at a particular point (the rendezvous); the rendezvous may be symmetric, in which case the two processes have mutual knowledge of each other (by name), or asymmetric, in which a server process does not know the identity of those processes to which it provides service. [LAW] The Ada mechanism for controlled interaction between concurrent processes (tasks). Only two tasks may participate in any rendezvous, the task which requests the rendezvous (caller) and the task which accepts the

25

rendezvous (callee). The rendezvous is used to synchronize tasks and to transfer data between tasks. Three waiting mechanisms exist for coding each side of the rendezvous: wait indefinitely, wait for a specific duration, and no wait. These mechanisms correspond to how long the caller or callee will wait for the rendezvous to begin. The caller may be programmed to wait indefinitely by using anentry call statement, wait for a specific duration by usingthe timed entry call statement, or not to wait at all for the rendezvous to begin by using the conditional entry statement. The calee may also be programmed to wait indefinitely by using an accept statement or a selective wait statement that contains only accept statement alternatives, to wait for a specific duration by using the selective wait statement with a delay alternative, or to not wait at all for the rendezvous to begin by using the selective wait statement with an else part. [GON] response time The elapsed time between the end of an inquiry or command to an interactive computer system and the beginning of the system’s response. [610] The time between the presentation of a set of inputs to a software system and the appearence of all the associated outputs. [LAP] responsiveness round-robin system A system in which several processes are executed sequentially to completion, often in conjunction with a cyclic executive. [LAP] round-robin/round-robin system with time-slicing Bus allocation rule where, after a module acquires and uses the bus, it will not be granted use of the bus again until all other modules requesting the bus at the same priority level have had control of the bus. [FB+] A system in which each executable task is assigned a fixed time quantum called a time slice in whcih to execute. A clock is used to initiate an interrupt at a rate corresponding to a time slice. [LAP] runnable process A process that is capable of being a running process, but for which no processor is available. [POSIX] safety property A program satisfies a safety property if it never enters a bad state. Partial correctness, mutual exclusion, and absence of deadlock are examples of safety properties. [AND] sampling rate

26

The rate at which an analog signal is converted to digital form. [LAP] schedulability scheduler A computer program, usually part of an operating system, that schedules, initiates, and terminates jobs. [610] The part of the kernel that determines which task will run. [LAP] scheduling Deciding the order in which the calculations in a program are to be executed, and by which processes. Allocationg processes to processors is usually called mapping. [WIL] scheduling policy A scheduling policy determines which eligible action gets to execute next, i.e., the order in which processes execute. A scheduling policy is unconditionally fair if unconditional atomic actions eventually get to execute. It is weakly fair if conditional atomic actions eventually get to execute if the delay condition becomes true and remains true. It is strongly fair if conditional atomic actions eventually get to execute if the delay condition is infinitely often true. [AND] A set of rules that is used to determine the order of execution of processes to achieve some goal. In the context of this standard, a scheduling policy affects process ordering: (1) When a process is a running process and it becomes a blocked process (2) When a process is a running process and it becomes a preempted process (3) When a process is a running process and it becomes a runnable process (4) When a running process calls a function that can change a process’ priority or scheduling policy (5) In other scheduling policy defined circumstances. [POSIX] select statement The statement that allows two-way selection of alternatives for entry call statements and a multiway selection of accept statements. The select statement is used for programming the different rendezvous waiting mechanisms (i.e., wait indefinitely, wait for a specific duration, no wait) of the calling task and the callee task. The selective wait statement of a callee task is allowed to have one or more accept alternatives, thereb waiting for an entry call to any number of entries, corresponding to the ability to provide a variety of services. Select statements for calling tasks, however, can have only one entry call statement alternative, because a calling task can only be waiting for a rendezvous at a single entry at any one time. [GON] semaphore A shared variable used to synchronize concurrent processes by indicating whether an action has been completed or an event has occured. [610]

27

A simple mechanism to ensure mutual exclusion or synchronization of saparate processes. A semaphore is an integer variable on which two operations ("P" and "V") are defined. Prior to accessing a device, a process must issue a call to the procedure implementing the P operation. If the value of the semaphore is 0, the process has to wait until the value is greater than 0. If it is greater than 0, P decrements the value of the semaphore and the process contnue to eecute. After releasing the device, the process must call the procedure V which increments the semaphore, thereby freeing the device from access by other processes. [SP] A special variable type used for protecting critical regions. [LAP] A data type for controlling concurrency. A semaphore s can be initialized to any nonnegative integer value. After that, only two operations may be applied to it: signal(s), which increments the semaphore’s value by one, and wait(s), which blocks its calle until the semaphore’s value is greater than zero, then decrements the semaphore. The value of a semaphore typically represents the amount of some resource that is currently available, while waiting on a semaphore forces processes to block until some of that resource can be claimed. A "binary semaphore" is one that can only take on the values 0 and 1. [WIL] A mechanism for synchronizing program execution by putting requesting processes to sleep until the requested resource(s) is available. [LAW] A shareable resource that has a non-negative integral value. When the value is zero, there is a (possibly empty) set of processes awaiting the availability of the semaphore. [POSIX] semaphore lock operation An operation that is applied to a semaphore. If, prior to the operation, the semaphore’s value is zero, the semaphore lock operation shall cause the calling process to be blocked and added to the set of processes awaiting the semaphore. Otherwise, the value is decremeted. [POSIX] semaphore primitives The two operations that can be performed on a semaphore, namely wait and signal. [LAP] semaphore unlock operation An operation that is applied to a semaphore. If, prior to the operation, there are any processes in the set of processes awaiting the semaphore, then some process form that set shall be removed from the set and become unblocked. Otherwise, the semaphore value is incremented. [POSIX] sensor Provides a view of the process behaviors in the external system. [LAW] serialize

28

To put potentially concurrent operations in a strictly sequential order. If concurrent processes must claim a lock before doing some operation, for example, then their operations will be serialized. [WIL] serially reusable resource A resource that can only be used by one task at a time, and which must be used to completion. [LAP] server task A task whose entries are called by other tasks but that does not call other tasks. A server task provides services on behalf of other parts of the system when its entries are called, but requests nothing for itself. Server tasks have a variety of entries that correspond to the different services that they provide, one or more selective wait statements for a multiway selection to respond to entry calls, and a terminate alternative in the selective wait statement. The server task willwait for its entries to be called; if no caller is active in the system (e.g., all tasks have terminated, and the server task’s master is completed), the terminate alternative allows it to terminate. Without the terminate alternative the part of the system containing the server would never finish. Device drivers and data buffers are typical kinds of server tasks. [GON] signal Exception handling mechanism provided by certain languages, such as C. [LAP] A mechanism by which a process or thread may be notified of, or affected by, an event occuring in the system. [POSIX] signal operation Operation on a semaphore that essentially releases the resource protected by the semaphore. [LAP] simulated annealing The use of a combinatorial optimization method that is analogous with the slow cooling of a solid until it reaches thermal equilibrium; has a major advantage in that it will avoid becoming stuch in local optima. [LAW] slack time A scheduling approach that selects processes (operations) based upon those having least slack time (that is, the time interval from the present time to the deadline minus the remaining processing time). [LAW] soft real-time system A system where performance is degraded but not destroyed by failure tro meet response time constraints. [LAP]

29

A system where service is to be supplied in real time; however, the missing of a deadline will not result in a catastrophe. [LAW] spawn To create a new process withg arbitrary initial memory contents and instructions. [WIL] spin lock/spinlock A spin lock is a boolean variable that is used in conjunction with busy waiting; in particular, a process spins until the lock is set. [AND] A parallel program synchronization mechanism that allows a memory location serving as a lock to be set by any acquiring process and forces other processes wiching to acquire the lock to loop continuously until the lock is released by the current holder. [LAW] sporadic system A system with all interrupts occuring sporadically. [LAP] sporadic task/tasks A task driven by an interrupt that occurs aperiodically. [LAP] Asynchronous tasks that may have "hard" deadlines which must be met, but have a minimum inter-arrival duration between instances (typically by enforcement). [FB+] spurious interrupts Extraneous and unwanted interrupts not due to time-loading. [LAP] starvation When a task is not being serviced frequently enough. [LAP] Condition which occurs when one or more modules perform no useful work for an indefinite period of time due to lack of access to the bus or the other system resources. [FB+] static process Process that is a permanent part of a real-time system during its execution. [LAW]

30

static scheduling A scheduling strategy that can be applied when the execution properties of all processes (operations) are known in advance. [LAW] structure chart A diagram that identifies modules, activities, or other entities in a system or computer program and shows how larger or more general entities break down into smaller, more specific entities. [610] Graphical design tool used to partition system functionality. [LAP] suspended state In the task control block model, those tasks that are waiting on a particular resource, and thus are not ready. Also called the blocked state. [LAP] synchronization The act of bringing to or more process to known points in their execution at the same clock time. Explicit synchronization is not needed in SIMD programs (in which every processor either executes the same operation as every other or does nothing), but if often necessary in SPMD and MIMD programs. The time wasted by processes waiting for other processes to synchronize with them can be a major source of inefficiency in parallel programs. [WIL] An operation in which two or more processes exchange information to coordinate their activity. ALternatively, a point intime at which the activity of one or more processes are synchronized. [LAW] synchronization point Part of a task’s execution during which one task is coincident in time with another task. Two tasks are synchronized when one activates the other, at the beginning and at the end of their rendezvous, and when one of the tasks has completed. Particular parts of task’s execution are also defined to be synchronization points ro effect the completion of a task that is in the abnormal state (because of an abort statement). These parts are: (1) the end of the task’s activation (2) the attempt to activate another task (3) an entry call statement (4) the start of the end of an accept statement (5) a select statement (6) a delay statement (7) and exception handler (8) an abort statement. At each of theese parts, a check is made to determine whether the task is abnormal. If so, the task is completer. [GON]

31

synchronous I/O operation An I/O operation that causes the process requesting the I/O to be blocked from further use of the processor until that I/O operation completes. [POSIX] task A sequence of instructions treated as a basic unit of work by the supervisory program of an operating system. [610] A task operates in parallel with other parts of the program. It is written as a task specification (which specifies the name of the task and the names and formal parameters of its entries), and a task body which defines its execution. A task unit is one of the kinds of program unit. A task type is a type that permits the subsequent declaration of any number of similar tasks of the type. A value of a task type is said to designate a task. [LRM] task control block A collection of data associated with a task including context, process code (or a pointer to it), and other information. [LAP] terminate alternative The optional part of a selective wait statement that allows a task to terminate. The selective wait statement provides a set of alternatives for execution; if the statement contains a terminate alternative then all the other alternatives are accept statements. The terminate alternative is only chosen when: (1) all other tasks that could call the task containing the terminate alternative are (a) terminated, or (b) simiularly waiting on the terminate alternative, and (2) the master of the task containing the terminate alternative is completed. [GON] terminated A predefined attribute giving a value of the predefined type Boolean indicating the state of a task. If the task’s state is "termination", this values is "True"; otherwise, it is "False." termination The state of a task that is entered after the task has completed and all tasks that have the task as master are terminated. A program unit that is the master of one or more tasks is not finished (although its sequence of statements may have completed execution) until all the tasks of which it is master are terminated. [GON] thread Generically, a control sequence of connected processes developed during program execution. Often referred to in association with connected ligtweight processe. [LAW]

32

A single flow of control within process. [POSIX] timed entry call statement A select statement that contains an entry call statement, a delay statement, and an alternative sequence of statements. If the entry call cannot be accepted within the number of seconds specified following the reserved word "delay", the alternative sequence of statement is executed. [GON] time out A condition that occurs when a predetrmined amount of time elapses without the occurence of an expected event. For example, the condition that causes termination of an on-line process if no user input is received within a specified period of time. [610] timer AN object that can notify a process when the time as measured by a particular clock has reached or passed a specified value, or when a specified amount of time, as measured by a particular clock has passed. [POSIX] timer overrun A condition that occurs each time a timer, for which there is already an expiration signal queued to the process, expires. [POSIX] time slice/slicing A fixed time quantum used to limit execution time in round-robin systems. [LAP] A mode of operation in which two or more processes are each assigned a small, fixed amount of continuous processing time on the same processor, and the processes execute in a round-robin manner, each for its alloted time, until all are completed. [610] total correctness In proof of correctness, a designation indicating that a program’s output assertions follow logically from its input assertions and processing steps, and that, in addition, the program terminates under all specified input conditions. [610] A program is totally correct if it computes the desired result and it terminates. [AND] transient overload The arrival of more events to be processesd that a real-time system is dimensioned to treat. [LAW]

33

trap A conditional jump to an exception or interrupt handling routine, often automatically activated by hardware, with the location from which the jump occured recorded. [610] Internal interrupt caused by the execution of a certain instruction. [LAP] wait operation Operation on a semaphore that essentially locks the rsource protected by the semaphore, or prevents the requesting task from proceeding if the resource is already locked. [LAP] watchdog timer A device that must be reset periodically or a discrete signal is issued. [LAP]

34

Part 2. Multiprocessor Bus Systems Glossary Compiled and edited by Janusz Zalewski acknowledge. To generate a confirmation signal. action. Logic operation on a bus, which cannot be divided further into simpler operations. activate. To apply signals to one or more bus lines. active high. Pertaining to a signal that must go to a high voltage value to produce an effect. active low. Pertaining to a signal that must go to a low voltage value to produce an effect. addressing. In a bus environment, the process of selecting one responder out of many slaves. alignment. Property of a data object, such that its memory address starts on a word boundary. arbiter. A module that accepts bus requests from other modules and grants control of the bus to one module at a time. arbitration. The process of selecting the next bus owner. assert. To apply a logic one signal to a bus line. asynchronous. Pertaining to a circuit in which a change of state may take effect at any arbitrary instant, not related to a clock. atomic transaction. A transaction that is indivisible with respect to other transactions. autoconfiguration. A process by which the system uses its own resources to determine, analyze, and configure the components present. backplane. The circuitry and mechanical elements used to connect the circuit boards within a computer system. beat. Interval that begins with the transition on a synchronization line by the master and ends with the release of an acknowledge line by one or more slaves. bidirectional bus. Bus supporting signal transmission in two directions on the same lines. big addressan. Bus which multiplexes the most significant byte of the address with the data byte that has the lowest address. big endian. An architecture in which the most significant byte of a data item has the lowest relative memory address and correspondingly less significant bytes have higher relative memory addresses. block transfer. A sequence of data transfers, in the same direction, which occur during a single bus transaction. board. Physical component which is inserted into one of the backplane slots. boot device. A device used for either input or output while the host’s operating system is being loaded and configured. broadcall. An operation of collecting information from multiple sources in a single transaction. broadcast. An operation which transfers data to all units during a single transaction. burst transfer --> block transfer bus. One or more conductors to which more than two devices can be connected at a time, used for the transmission of signals and power. bus acquisition. Total of all bus activity associated with acquiring exclusive control of the bus by a module. bus bridge. Interconnect between two or more buses which provides signal and protocol translation from one bus to the others. bus cycle. A complete sequence of elementary actions that transfer an item of information from the same unit to the destination. bus driver. A device capable of providing sufficient current to drive all loads connected to a bus bus grant. Confirmation of a right to own the bus during the next transaction. bus lane --> byte lane bus line. Signal transmission line, which may be driven by several modules simultaneously. bus operation. Change of signal states on the bus, being a part of the bus protocol. bus owner. Module which has control of the bus at a given time. bus tenure. Duration of master’s control of the bus. bus transaction. An information exchange consisting of transfer of commands (and possibly data) by a requester and returning status (and possibly data) by a responder, during a single bus tenure. busy. State or signal indicating that the device is not ready to accept commands.

35

byte lane. Data path formed by eight data lines and one or more parity lines, used to carry a single byte between modules. byte steering. The process by which data are multiplexed onto or off the proper bus lanes. cache. High-speed memory used for temporary storage of frequently used data, instructions or operands. cache coherence. Property of a system in which each cache line and main memory in the coherence domain observe all modifications of that same cache line. cache line. The block of memory that is managed as a unit for coherence purposes. card --> board card cage. A chasis in which a printed circuit board can be mounted. centralized arbitration. Arbitration performed by a unique bus arbiter. clock. A device that measures and indicates time. clock cycle. One period of a clock pulse, from rising edge to the next rising edge. clock skew. The difference in time at which a clock signal arrives at any two parts of a circuit. cold start. A sequence of events performed on the application of power that ensures a uniform initialization period for all modules, giving them the ability to begin operation from a known state. compelled protocol. A data transfer protocol in which the slave is compelled to provide a response before the master proceeds to the next transfer. controller. A functional unit in a computer system that controls one or more units of the peripheral equipment. crosstalk. Distortion of bus signals due to distributive coupling (capacitive and inductive) along bus lines. CSR space. A region of memory visible to all modules throughout the entire system, providing special and stable information, such as basic module functions and other characteristics. cycle. An interval in which one set of operations is completed. daisy chain. A method of signal propagation such that signal emanates from a board placed in one slot and moves through each of the other boards connected to slots accorded a higher priority by virtue of their positions. data phase. Period within a transaction used to transfer data. dead state. Module’s state entered when a fatal error has been detected and the module is connected but no longer operational. deassert --> release distributed arbitration. Arbitration performed themselves by modules requesting access to a bus. edge sensitive. Pertaining to a circuit that responds to a transition, usually in one direction, of an input signal. emperor. The processor that has the responsibility for initialization of an entire multiprocessor system. entrant. A live inserted module in the process of aligning itself with the arbitration protocol. exception. Any error or status condition that cannot be resolved by a typical recovery method. exception cycle. Bus cycle during which exceptions are caught. fairness. Guaranteeing that the module currently controlling a resource can get subsequent access only after all other modules, if requesting a resource, have been serviced. fall time. The time required for a voltage or current pulse to decrease from 90% to 10% of its maximum value. form factor. A measure of the degree of packaging circuits on a board. geographical addressing. Bus addressing technique which selects units according to their specific positions on the backplane. ground. Return path for the signal, of potential 0. ground bounce. A sudden change in ground potential which results from a sudden change in current flowing through the ground path’s finite impedance. handshaking. The exchange of signals between two systems or system components, with mutual acknowledgement of elementary operations. high state. The more positive of the two voltage levels used to represent binary logic states. initialize. To set a variable, register, or other storage location to a starting value. interface. A shared boundary between two devices, accross which information is passed. interrupt. The suspension of a process to handle an event external to the process. isochronous. Pertaining to a data transfer without explicit addressing, in which a data source is identified by a form of time division multiplexing.

36

justified bus. A bus on which byte addressable devices are accessible via all addresses within a certain word. latch. A circuit that can be used to hold data in a ready state until required. latency. The time which elapses between the point at which an operation is initiated, and the point at which the operation completes. least-significant. Pertaining to a data item on a position with the lowest weight. level sensitive. Pertaining to a circuit that can be held in one state as long as an input signal maintains a certain value. little addressan. Bus which multiplexes the least significant byte of the address with the data byte that has the lowest address. little endian. An architecture in which the least significant byte of a data item has the lowest relative address and correspondingly more significant bytes have higher relative memory addresses. live insertion. Process of inserting boards into or withdrawing boards from a backplane when power is on. locking. A facility whereby a module is requesting to guarantee exclusive access to a resource. low state. The more negative of the two voltage levels used to represent the binary logic states. master. A bus device that initiates a transaction. metastability. Property of a digital circuit leading to an unpredictable future state, resulting from input signals not being sufficiently stable immediately after a clock change. module. A collection of electronic circuitry which resides on a board in a bus system and which works together to accomplish a task. monarch. Processor selected to manage the configuration and initialization of all modules on one logical bus. most-significant. Pertaining to a data item on a position with the highest weight. motherboard. The main circuit board within a computer, bearing the primary componenets of a computer system. multicast. An operation which transfers data to multiple units during a single transaction. multiple transfer. Data transfer involving multiple words. multiplex. To interleave or simultaneously transmit two or more signals on a single line. non-compelled protocol. Protocol in which data are sent at a predetermined rate without handshake. open-collector circuit. A binary device which has an active low state and a high impedance state that also corresponds to the active high state. packet. Data of some finite size that is transmitted as a unit. parity. Adding bus line(s) to detect or correct errors on other address or data lines. parking. The process whereby the master retains control of the bus without actively using it. phase. A part of an operation. port. An addressable circuitry used to convey data between an external device and a processor. preemption. Gaining control of the resource before the current transaction is completed. propagation delay. The time delay between when a signal is input to a device and a resultant action occurs on its output. protocol. A set of well-defined rules to perform information exchange. read cycle. A cycle in which data are transferred from some storage location to the device that requested the read. read-modify-write. A cycle in which an item is read, its contents are modified, and it is written back to storage in a single indivisible operation. release. To apply a logic zero signal to a bus line. requester. Module that initiates a transaction by sending a request (containing address, command, and sometimes data). reset. To set a variable, register, or other storage location back to a prescribed state. responder. Module which completes a transaction by sending a response (containing the completion status and sometimes data). ringlet. The closed path formed by the connection which provides feedback from the output link of a node to its input link. rise time. The time required for a voltage or current pulse to inclrease from 10% to 90% of its maximum value. sequential transfer --> block transfer set. To place a binary cell in the true or one state.

37

settling time. The time taken for a signal line to settle to a defined logical state when making a transition from one state to another. signal. A variation of a physical quantity, used to convey data. signal level. The relative magnitude of a signal when considered in relation to an arbitrary reference (usually expressed in volts). single transfer. Data transfer involving a single word. skew. In a bus environment, the difference between the propagation delays of two or more bus signals. slave. A device that can respond to a data transfer (request) on a bus, but cannot initiate one. slot. A backplane location that accepts a module. snarf. To take a copy of data passing by on the bus by a module which did not request it. snoop. To monitor the transaction by a module which is not the master that originated the transaction or the repository of last resort of the data. source-synchronous protocol. Pertaining to a data transfer in which the source of data provides a clock signal used to sample the data at the destination. split transaction. An operation in which the request is transmitted in one bus transaction and the response is transmitted in a separate subsequent bus transaction. stable. Pertaining to a state of a circuit in which the circuit will remain until the input signal causes a chgange to another state. status. The condition at a particular time of a system or system component. straight bus. A bus on which byte-addressable devices can be addressable only through these bus lanes to which they are connected. strobe. A pulse used as an input to a trigger circuit or to cause a register to assume and retain the state indicated by its data inputs. synchronous. Pertaining to a circuit in which states may change only at instants determined by clock pulses. terminator. A wave absorbing resistance to reduce signal reflections on a transmission line. time-out. A condition that occurs when a predetermined amount of time elapses without the occurence of an expected event. timing. The description of a sequence of signal occurences and their dependences on the bus. transaction --> bus transaction transceiver. Adevice providin and receiving bus signals. tri-state circuit --> three-state circuit uncompelled protocol --> non-compelled protocol unidirectional bus. Bus supporting communication path in one direction for each line. unified transaction. A transaction in which the request and response are completed as indivisible sequence. warm start. A sequence of events performed to reset a running system. wired-or glitch. A spurious pulse on a bus line which is asserted by several open-collector circuits, when one of them releases the line. Can occur during active to high impedance transition. write cycle. A cycle in which data are transferred to some storage location from the device that requested the write.