Presentation is loading. Please wait.

Presentation is loading. Please wait.

PSU CS 106 Computing Fundamentals II Terms and Definitions HM 1/3/2009.

Similar presentations


Presentation on theme: "PSU CS 106 Computing Fundamentals II Terms and Definitions HM 1/3/2009."— Presentation transcript:

1 PSU CS 106 Computing Fundamentals II Terms and Definitions HM 1/3/2009

2 2 © Dr. Herbert G. Mayer Definitions Address: –Unique numeric identifier of a unit of memory. Such units are often bytes or words, depending on the architecture. Address Space, AKA Logical Address Space: –Total number of distinct memory addresses available on an architecture. –Physically, there may be less memory; but no more. Alignment: –Attribute of an address a, requiring that a must lie on a specified boundary; for example, the address a must be even, or must be evenly divisible by 512. The former case is also called modulo-2 alignment, the latter modulo-512 alignment. Note that aligned addresses have some (of their lower address) bits set to 0. Hence, if these addresses are stored in hardware, the low-order 0s can be omitted, i.e. can be implied, whenever complete address is needed. Assembler: –Software program that maps an incoming ASCII stream of individual, human readable instructions into executable, binary machine instructions. Generally, the mapping is one-to-one, except for so called pseudo- instructions, which are meant as added hints for the assembler.

3 3 © Dr. Herbert G. Mayer Definitions, Cont'd Binary Object: –These are strings of bits which, when interpreted by the target machine, are legal machine operations plus associated memory references. Jointly, these represent executable programs. Bus: –HW connection between the computer’s CPU and memory. Typically, information on a bus includes a memory address, control information such as load- or store request, and actual data that are moved between memory and the CPU. Byte: –Contiguous group of 8 bits in memory addressable as one unit. Note that the individual bits are not separately addressable. If their values need to be known, other computational steps (such as shifts left- or right) are needed to extract them from a byte.

4 4 © Dr. Herbert G. Mayer Definitions, Cont'd Call: –Transfer of control (a.k.a. context switch) to the operand of the call instruction. A call expects that after completion, the program resumes execution at the place after the call instruction. Code Segment: –Subsection of an architecture’s memory which holds executable instructions with possibly embedded, immediate operands. Compiler: –Software program that maps an incoming ASCII stream of high- level source program statements and declarations into executable, binary machine instructions. This can be a two-step process, when assembler source is generated, generally hidden from the programmer.

5 5 © Dr. Herbert G. Mayer Definitions, Cont’d Data Segment: –Subsection of an architecture’s memory holding data being referenced or manipulated. Data segment is identified by a segment register, holding its start address. x86 family-specific. processors. Deadlock: –A condition involving two processes pi and pj, in which both processes need resources to continue, both processes hold a resource needed by the other, neither releases the resources already allocated. Goto, AKA Go To: –Source program construct that transfers execution to another place, identified by a label. Inside the object code, a Goto Statement maps into a jump (or branch) instruction. Interpreter: –SW program that executes incoming, high-level source program directly.

6 6 © Dr. Herbert G. Mayer Definitions, Cont’d Interrupt: –Change in flow of control, invisible in the sequence of instructions. Such a change of control --AKA context switch-- is similar to a call, but in call and its associated return, one sees the context switch in code stream, e.g. a call instruction. An interrupt is a context switch that is unexpected and unknown. Its effect is transparent to the interrupted process. Linker, AKA Binder: –Systems program that reads one or more pieces of binary code, binds them into one executable binary object code, and has other needed object code bound. For example, additional functions to read input, generate output, or to compute trigonometric functions may be linked into the object that generated directly from the user’s source program. Load (Load Operation, Load Instruction): –Transfer of bits of information from memory to the CPU (to a register). Loop – in source program: –Portion of a computer source program that is executed repeatedly. Some loops are executed as long as a condition is true, others are executed a given number of times.

7 7 © Dr. Herbert G. Mayer Definitions, Cont’d Memory, AKA Main Memory: –Part of a computer’s hardware able to store large amounts of data. These data are accessible by the processor (CPU), and are brought into the CPU by a load operation. A CPU can also set values in memory by storing. Memory is slow in relation to the processor’s clock rate, and fast in relation to a mass storage device. Pipelined Processor: –Type of processor architecture that separates into distinct physical hardware modules those machine functions that must be executed in sequence. These modules then process different stages of the same instruction at different moments of time. Typical stages include instruction fetch, operation decode, operand fetch, operand computation, even delays, result computation, and result storing. Object (Object Program): –The compiled, linked, executable binary code, ready to be loaded and executed. Overflow (integer): –Event occurring when computing an excessively large integer value on a binary computer with a fixed number of bits; detectable by the bit carried into the sign (carry-in) differing from the bit carried out of sign bit (carry-out). Physical Memory: –Computer memory (AKA main memory) that is actually available physically for a processor. Antonym: Logical memory. Often, physical memory is smaller than logical address space.

8 8 © Dr. Herbert G. Mayer Definitions, Cont’d Present Bit: –Single-bit data structure that tells, whether the associated page is resident or swapped out onto disk or perhaps has never existed. Process: –Program in execution, performing one integral task. Process has resources, such as CPU, memory, stack, machine registers, files. Redundant Array of Independent Disks (RAID): –Physical and logical arrangement of multiple disks in a way that they jointly perform IO Operations for one single, logical file. Thus it becomes possible that multiple disks with a maximum transfer rate of 10 MB/s each can write a complete file of 500 MB in, say, 10 seconds. Resident: –Attribute of a page (or of any memory object) referenced by executing code: Object is physically in memory, then it is resident, or is not in memory, then it is non-resident.

9 9 © Dr. Herbert G. Mayer Definitions, Cont'd Return: –Transfer of control after completion of a call. Usually, this is accomplished through a return instruction. The return instruction assumes the return address to be saved in a fixed part of the stack frame, called the Stack Marker. Return Address: –The code address to which execution will switch once the call completes that activated the current procedure. Usually, the return address sits in a defined location of the Stack Marker. Return Value: –The value returned by a function call. If the return value is a composite data structure, then the location set aside for the function return value is generally a pointer to the actual data. Source (Source Program): –ASCII text file, constituting the program (e.g. Basic program). This file is read by a compiler (or interpreter) and will be mapped to object code (or executed directly). Stack: –Run time data structure that grows and shrinks during program execution. It generally holds data (parameters, locals, temps) and control information (return addresses, links). Operations that change the stack include push, pop, call, return.

10 10 © Dr. Herbert G. Mayer Definitions, Cont'd Storage: –AKA Mass Storage. Device that holds large amounts of data. Generally, storage is non-volatile, large, and slow, as opposed to main memory, which is volatile, small, and fast. Small means generally several GB. For example, main memory is usually configured with less than 4 GB, while a large mass storage device can hold many TB. Cheap means that the cost per byte is < 1/25 th of the more expensive technology Store (Store Instruction): –Transfer of bits of information from the CPU (from register) to memory. Superscalar: –Type of architecture that replicates certain HW modules more than once. This allows the simultaneous execution of certain –but not all— instructions to be executed, provided safe conditions are satisfied. The replicated machine resources are the ones most commonly run during dynamic execution. Note that input operands for these parallel instructions may not be outputs expected from one of the other parallel instructions.

11 11 © Dr. Herbert G. Mayer Definitions, Cont'd Swap-in: –Transfer of a page of information from secondary storage to primary storage (into a page frame in memory); from disk to physical memory. Antonym: Swap-out. Swap-out: –Transfer of a page of information from primary to secondary storage; from physical memory to disk. Antonym: Swap-in. Synchronization: –Set of rules that accomplish a safe execution order for processes. For example, multiple processes p i each with a critical section (CS), are synchronized such that never more than a single CS at one time is scheduled for execution.

12 12 © Dr. Herbert G. Mayer Definitions, Cont'd Thread: –Thread is short for thread of execution. Thus, thread is similar to process in that it has an associated program counter and its registers, a stack and a stack frame. The registers hold local objects, while the frame holds information about not yet returned functions. A thread is part of a process, possibly the only part. But a process may contain multiple threads. In a UP architecture (w/o hyper-threading), only 1 thread at a time actually runs, but the advantage of the thread concept is that some threads can progress –one at a time in a UP system— while others are blocked, waiting for certain events to happen. Thus not the whole process is blocked. All threads in one process share the address space, files, and other external resources. Thrashing: –Excessive amount of swapping. When this happens, performance is severely degraded. This is an indicator for the working set being too small.

13 13 © Dr. Herbert G. Mayer Definitions, Cont'd Virtual Contiguity: –Memory management policy, which separates physical from logical locations of memory. In particular, virtual contiguity creates the impression that two addresses n and n+1 are adjacent to one another in main memory, while in reality they may be arbitrarily far apart from one another physically. Virtual Memory (VM): –Memory management policy that separates physical from logical size of memory. In particular, virtual memory can create the impression that a larger amount of memory is addressable than is really available on the target. Word: –Addressable unit of a computer’s memory. Some computer architectures have no notion of bytes; in such cases the word is the smallest addressable unit. Other architectures with words also have bytes, in which case a word is a fixed sequence of bytes (on old Intel architecture 2 contiguous bytes, on other architectures 4 contiguous bytes).


Download ppt "PSU CS 106 Computing Fundamentals II Terms and Definitions HM 1/3/2009."

Similar presentations


Ads by Google