2. Definitions Flashcards

1
Q

instruction set

A

The vocabulary of commands understood by a given architecture.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

stored-program concept

A

The idea that instructions and data of many types can be stored in memory as numbers and thus be easy to change, leading to the stored-program computer.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

doubleword

A

Another natural unit of access in a computer, usually a group of 64 bits; corresponds to the size of a register in the LEGv8 architecture.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

word

A

A natural unit of access in a computer, usually a group of 32 bits.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

data transfer instruction

A

A command that moves data between memory and registers.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

address

A

A value used to delineate the location of a specific data element within a memory array.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

alignment restriction

A

A requirement that data be aligned in memory on natural boundaries.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

binary digit. Also called binary bit.

A

One of the two numbers in base 2, 0 or 1, that are the components of information.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

least significant bit

A

The rightmost bit in an LEGv8 doubleword.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

most significant bit

A

The leftmost bit in an LEGv8 doubleword.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

one’s complement

A

A notation that represents the most negative value by 10 … 000(two)* and the most positive value by 01 … 11(two), leaving an equal number of negatives and positives but ending up with two zeros, one positive (00 … 00(two)) and one negative (11 … 11(two)). The term is also used to mean the inversion of every bit in a pattern: 0 to 1 and 1 to 0.
* As in, base 2.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

biased notation

A

A notation that represents the most negative value by 00 … 000(two) and the most positive value by 11 … 11 , with 0 typically having the value 10 … 00(two), thereby biasing the number such that the number plus the bias has a non-negative representation.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

instruction format

A

A form of representation of an instruction composed of fields of binary numbers.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

machine language

A

Binary representation used for communication within a computer system.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

hexadecimal

A

Numbers in base 16.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

opcode

A

The field that denotes the operation and format of an instruction.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

AND

A

A logical bit-by-bit operation with two operands that calculates a 1 only if there is a 1 in both operands.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

OR

A

A logical bit-by-bit operation with two operands that calculates a 1 if there is a 1 in either operand.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

NOT

A

A logical bit-by-bit operation with one operand that inverts the bits; that is, it replaces every 1 with a 0, and every 0 with a 1.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

EOR

A

A logical bit-by-bit operation with two operands that calculates the Exclusive OR of the two operands. That is, it calculates a 1 only if the values are different in the two operands.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

conditional branch

A

An instruction that tests a value and that allows for a subsequent transfer of control to a new address in the program based on the outcome of the test.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

basic block

A

A sequence of instructions without branches (except possibly at the end) and without branch targets or branch labels (except possibly at the beginning).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

branch address table. Also called branch table.

A

A table of addresses of alternative instruction sequences.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

procedure

A

A stored subroutine that performs a specific task based

on the parameters with which it is provided.

25
branch-and-link instruction
An instruction that branches to an address and simultaneously saves the address of the following instruction in a register (LR or X30 in LEGv8).
26
return address
A link to the calling site that allows a procedure to return to the proper address; in LEGv8 it is stored in register LR (X30).
27
caller
The program that instigates a procedure and provides the necessary parameter values.
28
callee
A procedure that executes a series of stored instructions based on parameters provided by the caller and then returns control to the caller.
29
stack
A data structure for spilling registers organized as a last-in-first-out queue.
30
stack pointer
A value denoting the most recently allocated address in a stack that shows where registers should be spilled or where old register values can be found. In LEGv8, it is register SP.
31
program counter (PC)
The register containing the address of the instruction in the program being executed.
32
push/pop (stack)
``` push = Add element to stack. pop = Remove element from stack. ```
33
global pointer
The register that is reserved to point to the static area.
34
procedure frame. Also called activation record.
The segment of the stack containing a procedure’s saved registers and local variables.
35
frame pointer
A value denoting the location of the saved registers and local variables for a given procedure.
36
text segment
The segment of a UNIX object file that contains the machine language code for routines in the source file.
37
PC-relative addressing
An addressing regime in which the address is the sum of the program counter (PC) and a constant in the instruction.
38
addressing mode
One of several addressing regimes delimited by their varied use of operands and/or addresses.
39
data race
Two memory accesses form a data race if they are from different threads to the same location, at least one is a write, and they occur one after another.
40
assembly language
A symbolic language that can be translated into binary machine language.
41
pseudoinstruction
A common variation of assembly language instructions often treated as if it were an instruction in its own right.
42
symbol table
A table that matches names of labels to the addresses of the memory words that instructions occupy.
43
linker. Also called link editor.
A systems program that combines independently assembled machine language programs and resolves all undefined labels into an executable file.
44
executable file
A functional program in the format of an object file that contains no unresolved references. It can contain symbol tables and debugging information. A “stripped executable” does not contain that information. Relocation information may be included for the loader.
45
loader
A systems program that places an object program in main memory so that it is ready to execute.
46
dynamically linked libraries (DLLs)
Library routines that are linked to a program during execution.
47
Java bytecode
Instruction from an instruction set designed to interpret Java programs.
48
Java Virtual Machine (JVM)
The program that interprets Java bytecodes.
49
Just In Time compiler (JIT)
The name commonly given to a compiler that operates at runtime, translating the interpreted code segments into the native code of the computer.
50
object-oriented language
A programming language that is oriented around objects rather than actions, or data versus logic.
51
loop-unrolling
A technique to get more performance from loops that access arrays, in which multiple copies of the loop body are made and instructions from different iterations are scheduled together.
52
public (Java)
A Java keyword that allows a method to be invoked by any other method.
53
protected (Java)
A Java keyword that restricts invocation of a method to other methods in that package.
54
package (Java)
Basically a directory that contains a group of related classes
55
static method (Java)
A method that applies to the whole class rather than to an individual object. It is unrelated to static in C.
56
general-purpose register (GPR)
A register that can be used for addresses or for data with virtually any instruction.
57
accumulator
Archaic term for register. On-line use of it as a synonym for “register” is a fairly reliable indication that the user has been around quite a while.
58
load-store architecture. Also called register-register architecture.
An instruction set architecture in which all operations are between registers and data memory may only be accessed via loads or stores.