Vocab Flashcards

(63 cards)

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
MIPS memory - byte-addressable
32-bit (4-byte) instruction addresses that advance by 4 bytes.
26
**execute** a program
The processor fetches the instructions from memory *sequentially*.
27
program counter (PC)
A 32-bit register that keeps the address of the current instruction.
28
architectural state of a microprocessor
holds the state of a program
29
MIPS memory map
Defines where code, data, and stack memory are located.
30
MIPS address space
With 32-bit addresses, spans 232 bytes = 4 gigabyte (GB)
31
segments (MIPS)
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
Text Segment (MIPS)
Stores the machine language program. It is large enough to accommodate almost 256 MB of code.
33
Global Data Segment (MIPS)
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
Dynamic Data Segment
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
malloc
Used to make memory allocations.
36
heap
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
reserved segments
Used by the operating system and cannot directly be used by the program.
38
Step in translating a program from a high-level language into machine language and start executing the program
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
compiler
A program that translates statements in high-level language to assembly language.
40
assembler
1. Turns the assembly language code into an *object file* containing machine language code. 2. Program that translates symbolic instructions to binary instructions.
41
linker
Combines all of the object files into one machine language file called the *executable.*
42
kilobyte
103 or 210 bytes
43
gigabyte
109 or 230 bytes
44
megabyte
106 or 220 bytes
45
terabyte
1012 or 240 bytes
46
VHDL
(VHSIC Hardware Description Language) - special language used to describe hardware components
47
RAM
a kind of memory called random-access memory
48
Grace Murray Hopper
originator of compiling
49
CPU
part of a computer called central processor unit
50
operating system
interface between user's program and hardware providing a variety of services and supervision functions
51
bit
binary digit (value 0 or 1)
52
hexadecimal
representation of numbers in base 16
53
binary
representation of numbers in base 2
54
decimal
representation of numbers in base 10
55
George Boole
first developer of a system of logic which operates on values that are TRUE and FALSE
56
Ada Lovelace
first computer programmer
57
Charles Babbage
inventor of the first mechanical computer
58
assembly language
symbolic representation of machine instructions
59
machine language
binary language that the processor can understand
60
C
high-level language used to write application and system software
61
high-level language
Portable language composed of words and algebraic expressions that must be translated into assembly language before run in a computer.
62
system software
Software layer between the application software and the hardware that includes the operating system and the compilers.
63