$30 off During Our Annual Pro Sale. View Details »

Lecture 2: CSCI E-1 Spring 2013

Lecture 2: CSCI E-1 Spring 2013

Caching. CPUs. Hard disk drives. Parallelism. Pipelining. RAM. Registers. Solid-state drives

Tommy MacWilliam

February 05, 2013
Tweet

More Decks by Tommy MacWilliam

Other Decks in Education

Transcript

  1. Computer Science E-1
    Lecture 2: Hardware

    View Slide

  2. From last time...

    View Slide

  3. Pre-requisites

    View Slide

  4. Pre-requisites

    View Slide

  5. Math

    View Slide

  6. Math

    View Slide

  7. View Slide

  8. CPU RAM Hard Drive

    View Slide

  9. CPU

    View Slide

  10. View Slide

  11. View Slide

  12. View Slide

  13. View Slide

  14. Instruction Set

    View Slide

  15. Instruction Set
    • data: read/write data from RAM

    View Slide

  16. Instruction Set
    • data: read/write data from RAM
    • arithmetic: add two numbers

    View Slide

  17. Instruction Set
    • data: read/write data from RAM
    • arithmetic: add two numbers
    • control flow: where do we go next?

    View Slide

  18. Pipeline

    View Slide

  19. View Slide

  20. Pipeline
    • fetch: get the next instruction

    View Slide

  21. Pipeline
    • fetch: get the next instruction
    • decode: determine which instruction was fetched

    View Slide

  22. Pipeline
    • fetch: get the next instruction
    • decode: determine which instruction was fetched
    • execute: run the instruction

    View Slide

  23. Pipeline
    • fetch: get the next instruction
    • decode: determine which instruction was fetched
    • execute: run the instruction
    • writeback: store the result (if necessary)

    View Slide

  24. Fetch
    0000001001010011

    View Slide

  25. Decode
    0000001001010011
    Add 5 3

    View Slide

  26. Decode
    Add 5 + 3

    View Slide

  27. Execute
    5 + 3 = 8

    View Slide

  28. Writeback

    View Slide

  29. View Slide

  30. Parallelism

    View Slide

  31. View Slide

  32. View Slide

  33. Superscalar

    View Slide

  34. Multi-core

    View Slide

  35. Counting Candy

    View Slide

  36. 1. Start with a total of 0
    2. For each piece in the pile, add 1
    to total
    3. Remember that piece was counted

    View Slide

  37. 1. Find 4 friends
    2. Divide candy among friends
    3. Friends count at same time

    View Slide

  38. Four times as fast!

    View Slide

  39. Four times as fast!

    View Slide

  40. 1. Find 4 friends
    2. Divide candy among friends
    3. Friends count at same time
    4. Add up friends’ totals

    View Slide

  41. More friends!

    View Slide

  42. Not faster :(

    View Slide

  43. 1. Pair up, add totals together
    2. One friend goes home, other
    remembers total
    3. Repeat until counted

    View Slide

  44. Much faster!

    View Slide

  45. CPU Performance

    View Slide

  46. View Slide

  47. “Megahertz Myth”

    View Slide

  48. http://www.youtube.com/watch?
    v=PKF9GOE2q38

    View Slide

  49. CPU RAM Hard Drive

    View Slide

  50. Memory

    View Slide

  51. Byte B 8 bits
    Kilobyte KB 1000 bytes
    Megabyte MB 1000000 bytes
    (1000 KB)
    Gigabyte GB 1000000000 bytes
    (1000 MB)
    Terabyte TB
    1000000000000 bytes
    (1000 GB)

    View Slide

  52. Byte B
    Kilobyte KB
    Megabyte MB
    Gigabyte GB
    Terabyte TB

    View Slide

  53. Byte B Character of text
    Kilobyte KB
    Megabyte MB
    Gigabyte GB
    Terabyte TB

    View Slide

  54. Byte B Character of text
    Kilobyte KB Word document
    Megabyte MB
    Gigabyte GB
    Terabyte TB

    View Slide

  55. Byte B Character of text
    Kilobyte KB Word document
    Megabyte MB MP3 song
    Gigabyte GB
    Terabyte TB

    View Slide

  56. Byte B Character of text
    Kilobyte KB Word document
    Megabyte MB MP3 song
    Gigabyte GB Movie
    Terabyte TB

    View Slide

  57. Byte B Character of text
    Kilobyte KB Word document
    Megabyte MB MP3 song
    Gigabyte GB Movie
    Terabyte TB 250,000 songs

    View Slide

  58. Registers

    View Slide

  59. RAM

    View Slide

  60. View Slide

  61. View Slide

  62. View Slide

  63. View Slide

  64. 00000000000000000000010100111001
    101 102 103 104

    View Slide

  65. Big-Endian

    View Slide

  66. 00111001000001010000000000000000
    104 103 102 101

    View Slide

  67. Little-Endian

    View Slide

  68. Cache

    View Slide

  69. View Slide

  70. CPU RAM Hard Drive

    View Slide

  71. Hard Disk Drive

    View Slide

  72. View Slide

  73. View Slide

  74. View Slide

  75. http://www.youtube.com/watch?
    v=kdmLvl1n82U

    View Slide

  76. Filesystems

    View Slide

  77. HDD Performance
    • seek time: position platters and read-write head
    • data rate: transfer data to motherboard

    View Slide

  78. View Slide

  79. Solid State Drive

    View Slide

  80. View Slide

  81. http://www.youtube.com/watch?
    v=j84eEjP-RL4

    View Slide

  82. Flash Memory

    View Slide

  83. Virtual Memory

    View Slide

  84. View Slide

  85. View Slide

  86. Capacity

    View Slide

  87. L1 cache 64 kilobytes
    L2 cache 8 megabytes
    1 MB from RAM 4 gigabytes
    1 MB from SSD 256 gigabytes
    1 MB from HDD 1 terabyte

    View Slide

  88. Performance

    View Slide

  89. L1 cache 0.5 nanoseconds
    L2 cache 7 nanoseconds
    1 MB from RAM 0.25 milliseconds
    1 MB from SSD 1 millisecond
    1 MB from HDD 20 milliseconds

    View Slide

  90. L1 cache 0.5 nanoseconds blink of an eye
    L2 cache 7 nanoseconds
    1 MB from RAM 0.25 milliseconds
    1 MB from SSD 1 millisecond
    1 MB from HDD 20 milliseconds

    View Slide

  91. L1 cache 0.5 nanoseconds blink of an eye
    L2 cache 7 nanoseconds 4 seconds
    1 MB from RAM 0.25 milliseconds
    1 MB from SSD 1 millisecond
    1 MB from HDD 20 milliseconds

    View Slide

  92. L1 cache 0.5 nanoseconds blink of an eye
    L2 cache 7 nanoseconds 4 seconds
    1 MB from RAM 0.25 milliseconds 2 days
    1 MB from SSD 1 millisecond
    1 MB from HDD 20 milliseconds

    View Slide

  93. L1 cache 0.5 nanoseconds blink of an eye
    L2 cache 7 nanoseconds 4 seconds
    1 MB from RAM 0.25 milliseconds 2 days
    1 MB from SSD 1 millisecond 1 week
    1 MB from HDD 20 milliseconds

    View Slide

  94. L1 cache 0.5 nanoseconds blink of an eye
    L2 cache 7 nanoseconds 4 seconds
    1 MB from RAM 0.25 milliseconds 2 days
    1 MB from SSD 1 millisecond 1 week
    1 MB from HDD 20 milliseconds 4.5 months

    View Slide

  95. Shopping!

    View Slide

  96. Factors to Consider
    • display
    • weight
    • resolution
    • CPU cores
    • CPU cache size
    • RAM size
    • storage capacity
    • HDD / SSD
    • peripherals
    • keyboard

    View Slide

  97. Summary

    View Slide

  98. CPU
    • instruction set
    • pipeline
    • parallelism
    • superscalar
    • multi-core
    • clock speed
    • Moore’s Law
    • Megahertz Myth

    View Slide

  99. Memory
    • byte, kilobyte, megabyte
    • registers
    • RAM
    • addressing
    • big-endian, little-endian
    • caching
    • L1 cache, L2 cache, L3 cache
    • hard disk drive
    • platters, tracks, sectors
    • read-write heads
    • file allocation table
    • seek time, data rate
    • solid state drive
    • flash memory

    View Slide

  100. Computer Science E-1
    Lecture 2: Hardware

    View Slide