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
Q

branch-and-link instruction

A

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
Q

return address

A

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
Q

caller

A

The program that instigates a procedure and provides the necessary parameter values.

28
Q

callee

A

A procedure that executes a series of stored instructions based on parameters provided by the caller and then returns control to the caller.

29
Q

stack

A

A data structure for spilling registers organized as a last-in-first-out queue.

30
Q

stack pointer

A

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
Q

program counter (PC)

A

The register containing the address of the instruction in the program being executed.

32
Q

push/pop (stack)

A
push = Add element to stack.
pop = Remove element from stack.
33
Q

global pointer

A

The register that is reserved to point to the static area.

34
Q

procedure frame. Also called activation record.

A

The segment of the stack containing a procedure’s saved registers and local variables.

35
Q

frame pointer

A

A value denoting the location of the saved registers and local variables for a given procedure.

36
Q

text segment

A

The segment of a UNIX object file that contains the machine language code for routines in the source file.

37
Q

PC-relative addressing

A

An addressing regime in which the address is the sum of the program counter (PC) and a constant in the instruction.

38
Q

addressing mode

A

One of several addressing regimes delimited by their varied use of operands and/or addresses.

39
Q

data race

A

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
Q

assembly language

A

A symbolic language that can be translated into binary machine language.

41
Q

pseudoinstruction

A

A common variation of assembly language instructions often treated as if it were an instruction in its own right.

42
Q

symbol table

A

A table that matches names of labels to the addresses of the memory words that instructions occupy.

43
Q

linker. Also called link editor.

A

A systems program that combines independently assembled machine language programs and resolves all undefined labels into an executable file.

44
Q

executable file

A

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
Q

loader

A

A systems program that places an object program in main memory so that it is ready to execute.

46
Q

dynamically linked libraries (DLLs)

A

Library routines that are linked to a program during execution.

47
Q

Java bytecode

A

Instruction from an instruction set designed to interpret Java programs.

48
Q

Java Virtual Machine (JVM)

A

The program that interprets Java bytecodes.

49
Q

Just In Time compiler (JIT)

A

The name commonly given to a compiler that operates at runtime, translating the interpreted code segments into the native code of the computer.

50
Q

object-oriented language

A

A programming language that is oriented around objects rather than actions, or data versus logic.

51
Q

loop-unrolling

A

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
Q

public (Java)

A

A Java keyword that allows a method to be invoked by any other method.

53
Q

protected (Java)

A

A Java keyword that restricts invocation of a method to other methods in that package.

54
Q

package (Java)

A

Basically a directory that contains a group of related classes

55
Q

static method (Java)

A

A method that applies to the whole class rather than to an individual object. It is unrelated to static in C.

56
Q

general-purpose register (GPR)

A

A register that can be used for addresses or for data with virtually any instruction.

57
Q

accumulator

A

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
Q

load-store architecture. Also called register-register architecture.

A

An instruction set architecture in which all operations are between registers and data memory may only be accessed via loads or stores.