Computer Science 1000 Terminology

advertisement
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 Science
our discussions this semester may contain
new or unfamiliar terms
 building 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


Computer
a programmable device
 typically consists of a set of hardware
components


Component

a piece of hardware that forms part of a
machine

CPU, RAM, hard drive, etc ...

Component Types

Internal




External




devices that exist in the computer "box"
e.g. RAM, CPU
typically plugged directly into motherboard
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


today, that definition has changed




box, monitor, keyboard, mouse, etc ...
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 Organization

computers sold as separate pieces
 e.g. desktop (tower, keyboard, display)

2.
Monolithic Organization


entire system is sold as a single unit
e.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 Types

Desktop
small
 inexpensive
 marketed 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


Desktop
some 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 Types

Laptop
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 – Term
unless specified, we will use laptop to refer
to all variants (notebooks, netbooks)
 this includes all manufacturers, including
Apple (MacBook)


Components

consider the selection of computers at a
large retailer
dozens of different models
 what makes them unique?


answer: the components
different machines have different components
 affect power and price


Typical Components

some components are optional, but all
computers will have some type of:
CPU
 RAM
 Persistant Storage
 Motherboard


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 memory
 controls 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 instruction
 execute that instruction
 repeat for next instruction

CPU
Memory
1
17
2
29
3
46
4
56
5
2576
Computer Program
0000100100010001
0000101000011101
0001001100101000
0000110000111000
0010010101110000
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

CPU
processors have characteristics that define
them
 we will consider some of the more wellknown characteristics

clock rate
 number of cores
 cache


CPU – Clock rate
a 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 Rate

measured in Hertz (Hz)

cycles per second
clock 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 Rate

note that clock rate does not necessarily
indicate how many instructions can be
executed in a second
instructions have varying cycle requirements
 pipelining allows an instruction to start before
another instruction has terminated


however, it is likely that your processors are
executing billions of instructions per second

CPU – Cores
a recent trend is to pack several CPUs onto
a single chip
 each one of these CPUs is called a "core"
 each core can execute instructions
independently
 hence, 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



frequently accessed data is often stored in cache


much smaller than RAM (MB vs GB)
much faster than RAM
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 – Example

suppose you wish to compare these two
processors
Faster Clock, 4 cores
Bigger Cache, 6 cores

Using Benchmarks – Example

hence, the bigger cache and more cores
made up for slower clock speed
9633
Faster Clock, 4 cores
12105
Bigger Cache, 6 cores

Benchmarks
benchmarks provide a nice tool for
comparing processor performance
 however, benchmarks are not a perfect tool,
and should only be used as a general
guideline


depends on your application
Download