Computer science 1000
Download
1 / 39

Computer Science 1000 - PowerPoint PPT Presentation


  • 103 Views
  • Uploaded on

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

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Computer Science 1000' - preston-kline


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  • 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

      • 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

    • Component Organization

      • computers sold as separate pieces

      • e.g. desktop (tower, keyboard, display)

    • 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

Memory

CPU

1

17

2

29

3

46

4

56

5

2576

Computer Program

place value "17" in memory location 1

0000100100010001

0000101000011101

0001001100101000

0000110000111000

0010010101110000

0000100100010001

0000101000011101

0001001100101000

0000110000111000

0010010101110000

0000100100010001

0000101000011101

0001001100101000

0000110000111000

0010010101110000

0000100100010001

0000101000011101

0001001100101000

0000110000111000

0010010101110000

0000100100010001

0000101000011101

0001001100101000

0000110000111000

0010010101110000

0000100100010001

0000101000011101

0001001100101000

0000110000111000

0010010101110000

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 well-known 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

      • 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/


Bigger Cache, 6 cores

Faster Clock, 4 cores


9633

12105

Bigger Cache, 6 cores

Faster Clock, 4 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


ad