CS 4348 Professor Greg Ozbirn Exam 1 Review

0.0(0)
studied byStudied by 3 people
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
Card Sorting

1/176

encourage image

There's no tags or description

Looks like no tags are added yet.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

177 Terms

1
New cards

I/O modules

allow data to be moved to and from the computer and I/O devices

2
New cards

each core might be able to support ___ logical processors by sharing an execution unit

2

3
New cards

Processor

brain of the system

-fetches instructions from memory and executes them

4
New cards

main memory

volatile storage for programs and data

5
New cards

System bus

the pathway for data and instructions to move between the processor, memory, and I/O modules

6
New cards

•The invention of the ____ enabled desktop and handheld computing.

microprocessor

7
New cards

microprocessor

a processor contained on a single chip.

8
New cards

What was originally slower but now faster than multichip processors?

microprocessor

9
New cards

Modern microprocessors may have multiple processors on a single chip, called processor ______

cores

10
New cards

A modern microprocessor chip might contain 2 or 4 ___, enabling a view of 4 to 8 logical _______.

cores; processors

11
New cards

GPU

Graphical Processing Unit

-provides efficient computation on arrays of data using SIMD (Single-Instruction Multiple Data) techniques.

-Originally for graphics, now used in general numeric processing, including physics simulations, games, and large spreadsheets.

12
New cards

DSP

Digital Signal Processor

-can process a stream of data such as audio or video

13
New cards

SoC

System on a Chip

-For handheld devices where many of the components (CPU, DSP, GPU, Memory, etc.) are on a single chip.

14
New cards

Other supporting chips co-exist with the ____ to provide such things as encoding/decoding video (codecs), or for encryption and security.

CPU

15
New cards

Program

set of instructions to be executed in memory

16
New cards

A simplified view of the processor consists of two phases, ____ and _____.

Fetch; execute

17
New cards

fetch step

retrieves an instruction from memory

18
New cards

execute step

carries out the instruction

19
New cards

After each fetch, the _______ ________ is normally incremented so that it is ready to fetch the next instruction

program counter

20
New cards

What does a fetched instruction do?

loads into the IR

21
New cards

•The instruction in the ___ is then decoded to determine what the processor should do.

IR

22
New cards

What are the possible Instruction Actions categories

Processor-memory

Processor-I/O

Data processing

Control

23
New cards

Processor-memory

-transfer data between processor and memory

24
New cards

Processor I/O

data transferred to or from a peripheral device

25
New cards

Instruction Actions - Data processing

-arithmetic or logic operation on data

26
New cards

Control

-alter sequence of execution (branch instruction)

27
New cards

•Notice that a machine will have a size for instructions like 16-bit or 32-bit based on its _______.

architecture

28
New cards

Instruction Format - This limits the ____ of an instruction.

size

29
New cards

•If part of the instruction is an opcode and part an address, then the portion set aside for the opcode determines how many ____ there can be, and the portion set aside for the address determines how much _____ is directly addressable.

opcodes; memory

30
New cards

AC

"Accumulator" register. It is a register commonly used for loading and storing values to memory and doing arithmetic

31
New cards

interrupts

•mechanism for interrupting the processor's execution in order to do something else.

32
New cards

Common types of interrupts

-Program - instruction exceptions

-Timer - system timer

-I/O - completion of I/O or I/O error

-Hardware failure - power failure or memory parity error

33
New cards

Program interrupts example

-Arithmetic overflow

-division by zero

-execute illegal instruction

-reference outside user's memory space

34
New cards

•Interrupts improve processor utilization by notifying the processor of an ____ versus making the processor wait.

event

35
New cards

•Without interrupts, the processor would have to keep _____to see if an event has occurred.

checking

36
New cards

•After instruction execution, the processor checks to see if an _____ has occurred.

interrupt

37
New cards

•If so, it executes an "____ ______", which is code that processes the interrupt.

interrupt handler

38
New cards

•The processor must save system state (the registers) on the ____ before executing the interrupt handler, or the interrupt handler may be written to preserve _____ ________

stack; system state

39
New cards

•The _____ may have to determine which interrupt handler to run for this interrupt.

processor

40
New cards

•Most ______ ______ are much slower than the processor.

I/O devices

41
New cards

When an interrupt occurs, the CPU

switches from executing the program to executing the _____ _____

interrupt handler

42
New cards

Solutions for interrupt occurring while another interrupt is being processed:

-Disable interrupts while processing an interrupt. high-priority interrupt may wait too long and lose data while waiting for a low-priority interrupt to finish.

-Interrupt Priorities: lets high-priority interrupt execute when processing low-priority interrupt. Interrupts low-priority interrupt just like interrupting a program.

43
New cards

-Faster access time, _____ cost per bit

-Greater capacity, ____ cost per bit

Greater capacity, _____ access time

greater; smaller; slower

44
New cards

Locality of reference

program execution of instructions and data occurs in clusters.

45
New cards

•Therefore, as long as a cluster is loaded high up in the _____ ______, execution is fast until that cluster is finished and the next cluster is loaded.

memory hierarchy

46
New cards

•Today most processors can execute instructions faster than they can be retrieved from ____ _____

main memory

47
New cards

_____ ____ sits between the processor and main memory and exploits the principle of "locality of reference" by keeping a "working set" of instructions and data in its small but high-speed memory.

cache memory

48
New cards

•A cache consists of slots (or lines) of K words.

•Main memory is divided into blocks of K words.

•If main memory is size 2N words, then there are M=_____ blocks of memory.

2^N/K

49
New cards

•Cache lines are addressed by a _____, which is some number of high-order bits of the address.

tag

50
New cards

•When the processor fetches an instruction, a _____ is read into the cache.

block

51
New cards

hit ratio

•the fraction of memory accesses that are found in the cache.

52
New cards

cache size

the size of the cache

53
New cards

how big is the block size?

Around the size of a cluster

54
New cards

mapping function

where to put a new block

55
New cards

replacement algorithm

how to replace a block

56
New cards

write policy

when to write a block back to main memory

57
New cards

Programmed I/O

-Processor moves data between I/O module and memory.

-Processor must wait for I/O to complete.

58
New cards

Interrupt-driven I/O

-Processor issues I/O command and then goes on to other processing.

-An interrupt lets the processor know when the I/O is complete, at which time the processor moves the data.

59
New cards

Direct Memory Access (DMA)

-Processor delegates the I/O transfer to the DMA module.

-When processor is notified of completion (by interrupt), the data has already been moved.

60
New cards

Symmetric Multiprocessors(SMP)

Single computer system having characteristics:

-2+ processors of comparable capability

-processors share same memory and I/O facilities and are interconnected by a bus such that memory access is about the same for each

-processors share the I/O devices

-system is controlled by an OS that manages the interaction between programs and processors

61
New cards

SMP Performance advantage

Performance can be enhanced by adding additional processors.

62
New cards

SMP availability advantage

Since all processors have equal capability, a failing processor does not halt the system, but only reduces its performance.

63
New cards

SMP incremental growth advantage

Performance can be enhanced by adding additional processors.

64
New cards

SMP scaling advantage

-Scaling: vendors can offer a range of products with different price and performance characteristics based on the number of processors in the system.

65
New cards

multicore computers

-Combines two or more processors on a single chip (a piece of silicon called a die).

-Each core typically has all of the components of an independent processor, such as registers, ALU, pipeline hardware, control unit, and caches.

66
New cards

•Controls the execution of application programs and acts as an interface between the user and the system hardware.?

operating system

67
New cards

3 main objectives of OS

-Convenience: provide a user/computer interface.

-Efficiency: act as a resource manager for the system.

-Ability to evolve: adaptable to new features, updates and changes.

68
New cards

•The OS acts to ___ the user or programmer from hardware details, making it easier to access and use the system.

insulate

69
New cards

•The OS provides services like _____ _____ and control of _____ _____ that an end user or an application programmer needs but would not want to write each time a new program is written.

file management; I/O devices

70
New cards

OS services

-Program development

-Program execution

-Access I/O devices

-Controlled access to files

-System access

-Error detection and response

-Accounting

71
New cards

Instruction Set Architecture (ISA)

Defines the set of machine language instructions that a computer can follow. This is the interface between the hardware and the software.

72
New cards

Application Binary Interface (ABI)

A standard for binary portability across programs, defining the system call interface to the operating system and the hardware resources and services available in a system.

73
New cards

Application Programming Interface (API)

Gives a program access to the hardware resources and services available in a system through the user ISA supplemented with high-level language library calls. Any system calls are usually performed through libraries.

74
New cards

Reason's OS's evolve

-Hardware upgrades plus new kinds of hardware

-New services. This can be in the form of new capabilities the OS needs to provide (for a new application, for example).

-Fixes. OS's have bugs, too.

75
New cards

serial processing

users had access to the system one at a time

76
New cards

JCL (job control language)

specifies setup steps for the monitor to reduce setup time

77
New cards

Desirable hardware features to support a batch OS

Memory protection

timer

privileged instructions

interrupts

78
New cards

processor modes of operation

-user mode: for user programs, has limitations

-kernel mode: for the OS, has no limitations

79
New cards

uniprogramming

•running one program at a time.

80
New cards

multiprogramming(multitasking)

running more than one program at a time.

81
New cards

______ is also important to determine which of the jobs to run next.

scheduling

82
New cards

_____ _____ is also more important for multiprogramming since several different jobs may be in memory.

memory management

83
New cards

Batch Operating System

•A "monitor" program accepts a batch of jobs from the operator and runs each one in turn.

•The monitor (or most of it) remains in memory, called the "resident monitor".

84
New cards

Time sharing systems

•multiple users interact with the computer system through computer terminals.

-Processor time is split among the set of users

-works well since users are slower than CPU

85
New cards

Major advances in the development of OS's:

•Processes

•Memory management

•Information protection and security

•Scheduling and resource management

86
New cards

3 major lines of development created timing and synchronization problems that led to the development of a process:

1. Multiprogrammed batch systems

2. Time-sharing systems

3. Real-time transaction systems

87
New cards

Real-time transaction systems

Supports applications written to perform a query or update against a database by a user, such as an airline reservation system.

88
New cards

Time-sharing systems

Processor time is shared among a number of active users by giving each user a slice of time

89
New cards

Multiprogrammed batch systems

Processor is kept busy by switching between programs in response to events such as I/O activity

90
New cards

•Running multiple programs at the same time presents a variety of problems, such as:

•Improper synchronization

•Failed mutual exclusion

•Nondeterminate program operation

•Deadlocks

91
New cards

System Problems - Improper synchronization

Need a reliable way for one program to wait on another

92
New cards

•mutual exclusion

-Need to prevent multiple programs from accessing a resource such as a file at the same time.

93
New cards

System problems - Nondeterminate program operation

-Need program results to be independent of other programs running at the same time.

94
New cards

•Deadlocks

Need to avoid situations in which programs are waiting on each other

95
New cards

process list

•keep track of processes.

contains an entry for each process

•Each entry contains a pointer to the process in memory and perhaps process context information as well.

•Other context information may be stored with the process in memory.

96
New cards

•Requirements for multiple processes in memory:

•Isolation

•Automatic allocation and management

•Support of modular programming

•Protection and access control

•Long-term storage

97
New cards

•Isolation

-Keep process from accessing or overwriting the memory of another.

98
New cards

•Automatic allocation and management

-Programmer should not worry about memory mgmt.

99
New cards

Modular Programming

-Create, destroy, alter size of modules dynamically

100
New cards

•Protection and access control

-Restrict or grant access as needed