Vocab Flashcards

1
Q

abstraction

A

Hiding details when they are not important.

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

Abstraction Level: Physics

A

Electrons

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

Abstraction Level: Devices

A

Transistors

Diodes

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

Abstraction Level: Analog Circuits

A

Amplifiers

Filters

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

Abstraction Level: Digital Circuits

A

AND Gates

NOT Gates

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

Abstraction Level: Logic

A

Adders

Memories

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

Abstraction Level: Micro-architecture

A

Datapaths

Controllers

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

Abstraction Level: Architecture

A

Instructions

Registers

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

Abstraction Level: Operating Systems

A

Device Drivers

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

Abstraction Level: Application Software

A

Programs

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

Discipline

A

The act of intentionally restricting your design choices so that you can work more productively at a higher level of abstraction.

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

The Three “-y’s”

A

Hierarchy

Modularity

Regularity

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

Hierarchy

A

Involves dividing a system into modules, then further subdividing each of these modules until the pieces are easy to understand.

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

Modularity

A

States that the modules have well-defined functions and interfaces, so that they connect together easily without unanticipated side effects.

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

Regularity

A

Seeks uniformity among the modules. Common modules are reused many times, reducing the number of distinct modules that must be designed.

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

byte

A

A group of eight bits. It represents one of 28= 256 possibilities.

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

nibble

A

A group of four bits, or half a byte. Represents 24 = 16 possibilities.

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

microprocessor

A

A processor built on a single chip.

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

architecture of a computer

A

The programer’s view of a computer. It is defined by the instruction set (language) and operand locations (registers and memory).

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

instructions

A

The words in a computer’s language.

Commands that the processors understand.

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

instruction set

A

computer vocabulary

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

microarchitecture

A

The specific arrangement of registers, memories, ALUs, and other building blocks to form a microprocessor.

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

Four MIPS architecture principles

A
  1. simplicity favors regularity
  2. make the common case fast
  3. smaller is faster
  4. good design demands good compromises
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

stored program concept

A

The idea that programs written in machine language are a series of 32-bit (or 64-bit) numbers representing instructions that are stored in memory before execution.

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

MIPS memory - byte-addressable

A

32-bit (4-byte) instruction addresses that advance by 4 bytes.

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

execute a program

A

The processor fetches the instructions from memory sequentially.

27
Q

program counter (PC)

A

A 32-bit register that keeps the address of the current instruction.

28
Q

architectural state of a microprocessor

A

holds the state of a program

29
Q

MIPS memory map

A

Defines where code, data, and stack memory are located.

30
Q

MIPS address space

A

With 32-bit addresses, spans 232 bytes = 4 gigabyte (GB)

31
Q

segments (MIPS)

A

The four parts that the MIPS architecture divides the address space into:

  1. text segment
  2. global data segment
  3. dynamic data segment
  4. reserved segments
32
Q

Text Segment (MIPS)

A

Stores the machine language program. It is large enough to accommodate almost 256 MB of code.

33
Q

Global Data Segment (MIPS)

A
  1. Stores global variables that, in contrast to local variables, can be seen by all functions in a program.
  2. They are defined at starup. Large enough to store 64 KB of global variables.
  3. They are accessed using the global pointer ($gp).
34
Q

Dynamic Data Segment

A
  1. Holds the stack and heap.
  2. Data in this segment are dynamically allocated and deallocated throughout execution of the program.
  3. The largest segment of memory used in a program, it spans almost 2 GB.
  4. The stack is used to save and restore registers use by functions and to hold variables such as arrays. The stack grows downward from the top of the dynamic data segment and each stack frame is accessed in a last-in-first-out order.
35
Q

malloc

A

Used to make memory allocations.

36
Q

heap

A

Stores data that is allocated by the program during runtime. Heap data can be used and discarded in any order. The heap grows upward from the bottom of the dynamic data segment.

37
Q

reserved segments

A

Used by the operating system and cannot directly be used by the program.

38
Q

Step in translating a program from a high-level language into machine language and start executing the program

A
  1. Compiler translates the High-Level Code into Assembly Code.
  2. Assembler translates the assembly code into an object file.
  3. Linker links the program to Object Files and Library Files to make the program Executable.
  4. Loader loads the program into memory.
39
Q

compiler

A

A program that translates statements in high-level language to assembly language.

40
Q

assembler

A
  1. Turns the assembly language code into an object file containing machine language code.
  2. Program that translates symbolic instructions to binary instructions.
41
Q

linker

A

Combines all of the object files into one machine language file called the executable.

42
Q

kilobyte

A

103 or 210 bytes

43
Q

gigabyte

A

109 or 230 bytes

44
Q

megabyte

A

106 or 220 bytes

45
Q

terabyte

A

1012 or 240 bytes

46
Q

VHDL

A

(VHSIC Hardware Description Language) - special language used to describe hardware components

47
Q

RAM

A

a kind of memory called random-access memory

48
Q

Grace Murray Hopper

A

originator of compiling

49
Q

CPU

A

part of a computer called central processor unit

50
Q

operating system

A

interface between user’s program and hardware providing a variety of services and supervision functions

51
Q

bit

A

binary digit (value 0 or 1)

52
Q

hexadecimal

A

representation of numbers in base 16

53
Q

binary

A

representation of numbers in base 2

54
Q

decimal

A

representation of numbers in base 10

55
Q

George Boole

A

first developer of a system of logic which operates on values that are TRUE and FALSE

56
Q

Ada Lovelace

A

first computer programmer

57
Q

Charles Babbage

A

inventor of the first mechanical computer

58
Q

assembly language

A

symbolic representation of machine instructions

59
Q

machine language

A

binary language that the processor can understand

60
Q

C

A

high-level language used to write application and system software

61
Q

high-level language

A

Portable language composed of words and algebraic expressions that must be translated into assembly language before run in a computer.

62
Q

system software

A

Software layer between the application software and the hardware that includes the operating system and the compilers.

63
Q
A