39
Computer Science 1000 Terminology

Computer Science 1000 Terminology. The Language of Computer Science field is notorious for cryptic terms WYSIWYG GPU flops even recognizable terms may

Embed Size (px)

Citation preview

Computer Science 1000

Terminology

The Language of Computer Science field is notorious for cryptic terms

WYSIWYG GPU flops

even recognizable terms may mean something different than you are used to

monitor boot resolution window

The Language of Computer Scienceour discussions this semester may contain

new or unfamiliar termsbuilding your fluency with these terms will

help your comprehension as we progress through our topics

we will divide this discussion by topic today, we will consider hardware terms

Hardware The machines, wiring, and other physical

components of a computer or other electronic system.

- Google Dictionary

in other words, the components that make up your computer

contrast this with software, which are the programs that are stored on your device

Computera programmable device typically consists of a set of hardware

componentsComponent

a piece of hardware that forms part of a machine

CPU, RAM, hard drive, etc ...

Component Types Internal

devices that exist in the computer "box" e.g. RAM, CPU typically plugged directly into motherboard

External devices outside of the box e.g. display, keyboard, mouse typically connected via external ports

some component types (e.g. hard drives) have both internal and external versions

Computer historically, when someone said computer, it was

clear what was being referenced box, monitor, keyboard, mouse, etc ...

today, that definition has changed laptops handheld devices (e.g. smartphones) embedded chips

when we refer to a computer in this class, we'll typically be referring to desktops and laptops, unless otherwise specified

Computer Organization two types of computer organization

1. Component Organizationcomputers sold as separate piecese.g. desktop (tower, keyboard, display)

2. Monolithic Organizationentire system is sold as a single unite.g. laptop, smartphone, all-in-one/iMac

Computer – Disambiguiting when referring to a computer, many people will include the

display and input devices as part of the definition technically speaking, more accurate to define it as the "box"

that the components are connected to, and all components within

however, a perfect definition is not clear: laptops/iMacs have displays and inputs integrated into the

system some components (e.g. hard drives) that have traditionally been

internal are now external

we will use it in both contexts, and explicity disambiguate when it's not clear

Common Computer TypesDesktop

small inexpensivemarketed for individual user

also referred to as personal computers, PCs, etc

once dominated the market, due to low cost laptops have outsold desktops for almost a decade*

*http://www.engadget.com/2005/06/04/laptops-outsell-desktops-for-the-first-time-again/

Desktop some consider the term

desktop as a specific model of personal computer

a flat box that typically sits under the monitor

this is differentiated from tower models

Desktopsome consider desktops to

refer specifically to personal computers running Microsoft Windows

this excludes machines running other operating systems (e.g. Linux), as well as any Apple products

Desktop for our purposes, we will ignore the

previous two distinctions in other words, a desktop will refer to a

personal computer that's not a laptop or mobile device, regardless of operating system or box placement

Common Computer TypesLaptop

similar to desktop, but monolithic (self-contained) design

typically more expensive than equivalent desktop

variants: notebooks netbooks

Laptop Variants notebook

refers to laptops that are smaller and lighter fewer components (e.g. no integrated DVD)

typically more expensive and less powerful than laptops note: some people use the term interchangeably

netbook a smaller, inexpensive, very basic machine designed for simple tasks (document processing, internet

access)

Laptop – Termunless specified, we will use laptop to refer

to all variants (notebooks, netbooks) this includes all manufacturers, including

Apple (MacBook)

Componentsconsider the selection of computers at a

large retailerdozens of different modelswhat makes them unique?

answer: the componentsdifferent machines have different componentsaffect power and price

Typical Componentssome components are optional, but all

computers will have some type of:CPURAMPersistant StorageMotherboard

Central Processing Unit (CPU)also referred to as microprocessor,

or just processor the brain of the computer, it

executes the instructions that it is given

performs arithmetic loads and moves data in memorycontrols I/O devices

CPU – Basic Operation read an instruction execute that instruction repeat for next instruction

the above is a bit of a simplification branches and jumps affect the sequence pipelining allows multiple instructions to execute

simultaneously

CPU – Basic Operation read an instructionexecute that instruction repeat for next instruction

00001001000100010000101000011101000100110010100000001100001110000010010101110000

place value "17" in memory location 1

place value "29" in memory location 2

add values in loc. 1 and 2, place in loc. 3

place value "56" in memory location 4

multiply values in loc. 3 and 4, place in loc. 5

1

2

3

4

5

MemoryCPU

17

29

46

56

2576

00001001000100010000101000011101000100110010100000001100001110000010010101110000

00001001000100010000101000011101000100110010100000001100001110000010010101110000

00001001000100010000101000011101000100110010100000001100001110000010010101110000

00001001000100010000101000011101000100110010100000001100001110000010010101110000

00001001000100010000101000011101000100110010100000001100001110000010010101110000

Computer Program

CPUprocessors have characteristics that define

themwe will consider some of the more well-

known characteristicsclock ratenumber of corescache

CPU – Clock ratea CPU has an internal clock that cycles

("ticks") at a certain rate the rate of the clock cycle determines how

many instructions can be executed in a second

hence, the faster the clock rate, the faster a program can execute

CPU – Clock Ratemeasured in Hertz (Hz)

cycles per secondclock rates for current processors: 2.0 – 4.0

GHz in other words, current processors cycle

between 2 billion and 4 billion times per second

CPU – Clock Ratenote that clock rate does not necessarily

indicate how many instructions can be executed in a second

instructions have varying cycle requirementspipelining allows an instruction to start before

another instruction has terminatedhowever, it is likely that your processors are

executing billions of instructions per second

CPU – Coresa recent trend is to pack several CPUs onto

a single chipeach one of these CPUs is called a "core"each core can execute instructions

independentlyhence, more cores = better performance

although, may not make individual program run faster

CPU – Cores typical core count: 2-8

note: some may not be physical cores

CPU – Cache Size one of the most frequent tasks of a CPU is to read

data from memory (described soon) reading from memory can be slow (by CPU

standards) delay referred to as latency

the CPU must wait until data is received before it can process

hence, lower latency = faster processing

CPU – Cache Size most data for a program is stored in main memory,

or RAM however, modern processors have a small amount

of memory, referred to as cache much smaller than RAM (MB vs GB) much faster than RAM

frequently accessed data is often stored in cache instructions are often stored in cache

hence, more CPU cache = better performance

CPU Performance to summarize:

higher clock speeds improve performance more cores improve performance more cache improves performance

there are other factors that affect performance different instruction sets processor design applications (e.g. gaming)

CPU Performance while factors discussed can affect performance,

they are not perfect indicators e.g. CPU 1 may have a faster clock rate than CPU 2, but

less cache

how can we compare the performance of two processors, given these potentially conflicting specs?

Answer: benchmarks

Benchmark a program, or set of programs, designed to assess

the performance of hardware different benchmarks exist

CPU graphics

groups exist that perform benchmarks and post their scores online

e.g. CPU Benchmark by Passmark http://www.cpubenchmark.net/

Using Benchmarks – Examplesuppose you wish to compare these two

processors

Faster Clock, 4 cores Bigger Cache, 6 cores

Using Benchmarks – Examplehence, the bigger cache and more cores

made up for slower clock speed

Faster Clock, 4 cores Bigger Cache, 6 cores

9633 12105

Benchmarksbenchmarks provide a nice tool for

comparing processor performancehowever, benchmarks are not a perfect tool,

and should only be used as a general guideline

depends on your application