Computer science 1000
This presentation is the property of its rightful owner.
Sponsored Links
1 / 39

Computer Science 1000 PowerPoint PPT Presentation


  • 75 Views
  • Uploaded on
  • Presentation posted in: General

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

Download Presentation

Computer Science 1000

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


Computer science 1000

Computer Science 1000

Terminology


Computer science 1000

  • 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


Computer science 1000

  • 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


Computer science 1000

  • 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 science 1000

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


Computer science 1000

  • 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 science 1000

  • 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 science 1000

  • 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 science 1000

  • 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


Computer science 1000

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


Computer science 1000

  • 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


Computer science 1000

  • 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


Computer science 1000

  • 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


Computer science 1000

  • Common Computer Types

    • Laptop

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

      • typically more expensive than equivalent desktop

      • variants:

        • notebooks

        • netbooks


Computer science 1000

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


Computer science 1000

  • Laptop – Term

    • unless specified, we will use laptop to refer to all variants (notebooks, netbooks)

    • this includes all manufacturers, including Apple (MacBook)


Computer science 1000

  • 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


Computer science 1000

  • Typical Components

    • some components are optional, but all computers will have some type of:

      • CPU

      • RAM

      • Persistant Storage

      • Motherboard


Computer science 1000

  • 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


Computer science 1000

  • 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


Computer science 1000

  • 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


Computer science 1000

  • CPU

    • processors have characteristics that define them

    • we will consider some of the more well-known characteristics

      • clock rate

      • number of cores

      • cache


Computer science 1000

  • 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


Computer science 1000

  • 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


Computer science 1000

  • 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


Computer science 1000

  • 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


Computer science 1000

  • CPU – Cores

    • typical core count: 2-8

      • note: some may not be physical cores


Computer science 1000

  • 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


Computer science 1000

  • 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


Computer science 1000

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


Computer science 1000

  • 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


Computer science 1000

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


Computer science 1000

  • Using Benchmarks – Example

    • suppose you wish to compare these two processors

Bigger Cache, 6 cores

Faster Clock, 4 cores


Computer science 1000

  • Using Benchmarks – Example

    • hence, the bigger cache and more cores made up for slower clock speed

9633

12105

Bigger Cache, 6 cores

Faster Clock, 4 cores


Computer science 1000

  • 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


  • Login