html5-img
1 / 39

Computer Science 1000

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

Télécharger la présentation

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Computer Science 1000 Terminology

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

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

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

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

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

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

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

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

  10. 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/

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

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

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

  14. Common Computer Types • Laptop • similar to desktop, but monolithic (self-contained) design • typically more expensive than equivalent desktop • variants: • notebooks • netbooks

  15. 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)

  16. Laptop – Term • unless specified, we will use laptop to refer to all variants (notebooks, netbooks) • this includes all manufacturers, including Apple (MacBook)

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

  18. Typical Components • some components are optional, but all computers will have some type of: • CPU • RAM • Persistant Storage • Motherboard

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

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

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

  22. CPU • processors have characteristics that define them • we will consider some of the more well-known characteristics • clock rate • number of cores • cache

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

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

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

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

  27. CPU – Cores • typical core count: 2-8 • note: some may not be physical cores

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

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

  30. 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)

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

  32. 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/

  33. Using Benchmarks – Example • suppose you wish to compare these two processors Bigger Cache, 6 cores Faster Clock, 4 cores

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

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

More Related