Computer Architecture Flashcards

1
Q

Digital computer

A

Computer system that uses digital signals to perform calculations

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

Logical gates

A

Abstract binary operators that can be applied to one or multiple bits to generate a new bit

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

Basic logic gates

A
  • AND
  • NAND
  • OR
  • NOR
  • XOR
  • OR
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Elements of digital circuits

A
  • 1+ input terminals
  • 1+ output terminals
  • Functional specification to describe relationship between input and output
  • Timing specification to describe delay between any change in input and response in output
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Combinational circuits

A

(system does not have memory) = outputs of the circuit depend only on current input values

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

Sequential circuits

A

(system has memory) = outputs of the circuit depend on the current AND previous values (ex. NOR)

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

The number of unique values that can be represented with n bits

A

2^n

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

Data type

A

particular representation that can be used by computer to encode information

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

Convert BIN => HEX

A
  1. Divide number in 4bits nibbles
  2. Convert each nibble to decimal
  3. Represent values as hex
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Transistor

A

electrical switch that can be controlled and put in ON or OFF state by applying different voltages on input terminals

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

Doping

A

the process of adding impurities to the silicon crystal to make it an electrical conductor.

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

Hole

A

the lack of the electron in the impurity atom.

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

nMOS transistors

A

when gate voltage is low, then transistor is OFF

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

pMOS transistors

A

when gate voltage is low, then transistor is ON

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

Programmable logic array

A

array of AND gates followed by an array of OR gates. The number of AND gates corresponds to number of input combinations in truth table (rows). The number of OR gates corresponds to number of columns in truth table.

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

Logical completeness

A

a set of gates {AND, OR, NOT} is logically complete if it possible to build any truth table without using any other kind of gate

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

Integrated circuit

A

a set of electronic circuits on a small flat piece of semiconductor

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

Netlist

A

list of circuit components and their connections

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

Logic synthesis

A

verified HDL code is used by CAD tool to generate a detailed design including all components, such as logic gates, transistors and their interconnections

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

Computer system organization

A

physical aspects of a system (implementation), its functional elements and their connections

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

Computer system architecture

A

abstract description of internal organization; logical aspects of the system

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

Instruction set

A

set of instructions that should be executed by the hardware

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

Main goal of computer system architecture

A

balancing performance, reliability, efficiency, cost

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

Von Neumann architecture components

A
  1. Processor
  2. Memory
  3. I/O devices
  4. Bus system to transfer data and instructions between processor and memory
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Q

Control unit

A

A part of CPU which controls CPU operations, manages data flow between CPU and memory, decodes instructions

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

ALU

A

A part of CPU which perform logical and mathematical operations

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

Registers

A

high speed memory blocks used to store data fetched from main memory before it is processed

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

Program counter

A

memory address of next instruction to be executed

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

Stack pointer

A

memory address of the top of the stack

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

Memory addressability

A

number of bits of information stored in each location

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

Memory address space

A

total number of uniquely identifiable locations

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

Memory address

A

reference to a specific location in a memory, expressed by a fixed length sequence of digits

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

MAR

A

Memory address register (=location)

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

MDR

A

Memory data register (=content)

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

Fetch-decode process

A
  1. Fetch instruction
  2. Decode instruction
  3. Evaluate address of memory location needed to complete the instruction
  4. Fetch operands
  5. Execute operation
  6. Store result
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
36
Q

Von Neumann bottleneck

A

data and instructions are stored on a shared memory and can only be accessed through the data bus; when the data are transmitted via the data bus, the CPU cannot do anything

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

Harvard architecture

A

two separate memories (for data and instructions) that can be accessed via two separate buses (data bus, instruction bus)

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

State of the system

A

snapshot of all the relevant elements of the system at the moment the snapshot is taken

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

Instruction set architecture

A

interface between hardware and software that specifies memory organization, register set, instruction set, addressing modes, opcodes, data types

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

Instruction

A

smallest piece of work specified in a computer program

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

ISA types

A
  • RISC = reduced instruction set computer (ARM, MIPS)
  • CISC = complex instruction set computer (Pentium)
42
Q

Clock cycle

A

each of repeated sequence of identical intervals

43
Q

Byte addressable approach

A

each byte (8 bits) has a unique address in a memory

44
Q

Addressing mode

A

mechanism for specifying where the operand is located.

45
Q

TRAP instruction

A

changes the PC to a memory address that is part of the OS so the OS perform some task on behalf of program (e.g. I/O)

46
Q

Load operation

A

Move information from memory to register

47
Q

Store operation

A

Move information from register to memory

48
Q

Microarchitecture

A

specific ordering of components (registers, memory, ALU) to implement ISA

49
Q

Abstraction

A

presenting information while hiding the unnecessary information

50
Q

Execution time of a program in seconds

A

time = (number of instructions) * (cycles / instruction) * (seconds / cycle)

51
Q

Number of cycles per instruction

A

number of processor clock cycles needed to execute an instruction

52
Q

Challenge of microarchitecture

A

to design processor with minimized execution time by considering other factors (technology, costs)

53
Q

Personal computer

A

digital computer that will be used by a single person at a time

54
Q

Single board computer

A

computer where all necessary functional components, such as CPU and memory are mounted on a single board

55
Q

GUI

A

collection of visual interactive elements which enables the user to start and to stop programs, select commands, perform other routine tasks using mouse

56
Q

Mainframe

A

high-performance computer system equipped with a very large memory that is designed to perform billions of simple tasks in real time

57
Q

Server

A

piece of hardware and software that provides required data or resources to the clients; it works as a hub to connect different clients.

58
Q

Request-response model

A

client requests a service from the server and the server sends the response with a result

59
Q

Parallelism

A

several computations in the same time

60
Q

Unit FLOPS

A

number of floating point computations that a process can perform per second

61
Q

Embedded system

A

set of hardware and software with extra mechanical or electrical parts which is designed for a specific function

62
Q

Internet of Things

A

embedded systems that interact directly with surrounding environment, and they process and send information to a remote, more powerful computer system

63
Q

Device driver

A

software module that includes functionality required to operate the hardware device

64
Q

Assembly language

A

programming language that can be translated into a machine language in only 1 step

65
Q

Machine language

A

set of instructions and programs in 0 and 1

66
Q

Extended assembly language

A

assembly language that uses single statements that include several machine instructions, ex. MIPS

67
Q

Assembler directive

A

statement that tells the assembler about the program, but that is not translated into the machine language

68
Q

Steps to compile source code in C

A
  1. Preprocessor: remove comments, include headers. Produces file with .i extension
  2. Compiler: generates assembly code. Produces file with .s extension
  3. Assembler: translate assembly into machine code (.o extension)
  4. Linker = link all source files together (.out extension)
69
Q

Reverse engineering

A

process that generates the source code from the machine code

70
Q

OS functions

A
  1. Run applications
  2. Manages software and hardware (IO, network, storage)
  3. Abstraction for apps
  4. Allocation of resources
  5. File system management
71
Q

Main components of computer system

A
  • Software
    • User mode
      • User apps
      • User interface
    • Kernel mode
      • OS
  • Hardware (processor, memory, IO devices)
72
Q

Kernel mode

A

when software runs in a kernel mode, it has access to all hardware and can run any instruction

73
Q

User mode

A

when software runs in a user mode it has only limted access to instructions

74
Q

Monolithic OS

A

the whole OS runs as a single program in the kernel mode

75
Q

Microkernel OS

A

OS is divided into small, well defined modules; only microkernel runs in kernel mode, rest of programs run in user mode

76
Q

Structure of monolithic OS

A
  1. Main procedure
  2. Set of service procedure that execute system calls
  3. Utility procedures
77
Q

Structure of microkernel OS

A
  • User mode
    • File system
    • Device driver
    • Apps
  • Kernel mode
    • CPU schedules
    • Memory management
    • Interprocess communucation
  • Hardware
78
Q

Problems of monolithic OS

A

large size of kernel and the fact that the failure of one service results in the failure of the whole system

79
Q

File

A

Logical unit of information

80
Q

File system

A

Part of OS that is responsible for managing files

81
Q

MBR

A

Master Boot Record; part of hard disk that contains information used to boot the OS using BIOS

82
Q

Partition table

A

part of hard disk that contains addresses of beginning and ending partitions and the location of active partition

83
Q

Linked list allocation

A

approach where each file is stored as a linked list of disk blocks. 1 word of block is reserved as a pointer to the next block, rest of the block is used to store data

84
Q

Memory management

A

dynamic allocation of main memory according to existing processes

85
Q

Relocation problem

A

2 processes refer to the absolute physical memory address

86
Q

Process

A

Instance of running program

87
Q

Process parts

A
  1. Stack: temporary data about the process
  2. Heap: used for dynamic memory allocation during runtime
  3. Data: global and static variables
  4. Executable section: program code from non-volatile storage
88
Q

Process states

A
  • Ready: waiting CPU allocation after creation
  • Running: being executed in the CPU
  • Blocked: unable to run until a certain external event occurs
89
Q

Thread

A

sub process

90
Q

Reasons to use threads

A
  • Several threads can run in same time and do not block execution
  • Creating and stopping threads is simpler that the processes
  • Threads can run in parallel and it can improve performance
91
Q

Round robin algorithm

A

each process is assigned a time period in which process is permitted to execute. By the end of this period, if the process is not done, it is interrupted and another process is assigned

92
Q

Components of the security of computer system

A
  1. Confidentiality = secret data should stay secret
  2. Integrity = unauthorized user cannot modify data without owner’s permission
  3. Availability = prevents access to unauthorized users
93
Q

Minimal trusting computing base (TCB)

A

hardware and software which are tested against some security rules (kernel, superuser apps)

94
Q

Reference monitor

A

part of OS that decides if a service call can be executed or should be rejected. Runs in kernel mode

95
Q

Principle of least authority

A

minimum possible number of objects and rights to a domain

96
Q

Access control list

A

ordered list associated with each object which contains all domains that are authorized to access the object

97
Q

Windows NT structure

A
  • User mode
    • System library kernel
  • Kernel mode
    • NTOS kernel
      • CPU scheduling
      • Interruption and trap dispatch
    • NTOS executive layer
      • IO manager
      • Security monitor
      • Virtual memory
      • Cache manager
    • Drivers
    • Hardware abstraction layer
  • Hardware
98
Q

Linux layers

A
  • User
  • User mode
    • Standard utils
    • Standard libraries
  • Kernel mode
    • Process management
    • Memory management
    • File system
  • Hardware
99
Q

Linux utility programs categories

A
  1. File and directory manipulation commands (cp)
  2. Filters (sort)
  3. Dev tools (gcc)
  4. Text processing commands (vim)
  5. System administration (chmod)
100
Q

Linux kernel components

A
  • IO component: file system, network
  • Memory management
  • Process management
101
Q

Mobile OS

A

OS that is designed for mobile devices, such as smartphones, smartwatches, tablets, smart speakers