Programming for GCSE Topic 5.1: Memory and Storage
description
Transcript of Programming for GCSE Topic 5.1: Memory and Storage
![Page 1: Programming for GCSE Topic 5.1: Memory and Storage](https://reader036.fdocuments.us/reader036/viewer/2022062810/56815c5f550346895dca65b9/html5/thumbnails/1.jpg)
Programming for GCSE
Topic 5.1: Memory and Storage
Teaching London Computing
William MarshSchool of Electronic Engineering and Computer Science
Queen Mary University of London
![Page 2: Programming for GCSE Topic 5.1: Memory and Storage](https://reader036.fdocuments.us/reader036/viewer/2022062810/56815c5f550346895dca65b9/html5/thumbnails/2.jpg)
Outline
• Types of memory• Characteristics
• Why multiples types?
• Latency versus Bandwidth
![Page 3: Programming for GCSE Topic 5.1: Memory and Storage](https://reader036.fdocuments.us/reader036/viewer/2022062810/56815c5f550346895dca65b9/html5/thumbnails/3.jpg)
Teaching Issue• Why multiple types of memory?• Multiple reasons• Easy: volatile v non-volatile• Easy: capacity (& cost)• Harder: performance characteristics
![Page 4: Programming for GCSE Topic 5.1: Memory and Storage](https://reader036.fdocuments.us/reader036/viewer/2022062810/56815c5f550346895dca65b9/html5/thumbnails/4.jpg)
From the specification• OCR GCSE Computing • Explain how common
characteristics of CPUs such as clock speed, cache size and number of cores affect their performance.
• AQA GCSE Computer Science
• Understand how different components link to a processor (ROM, RAM, I/O, Storage, etc)
• Be able to explain the effect of common CPU characteristics on the performance of the processor. These should include clock speed, number of cores and cache size/types
• AQA GCSE Computer Science
• Be able to categorise devices as input or output depending on their function
![Page 5: Programming for GCSE Topic 5.1: Memory and Storage](https://reader036.fdocuments.us/reader036/viewer/2022062810/56815c5f550346895dca65b9/html5/thumbnails/5.jpg)
TYPES OF MEMORY
![Page 6: Programming for GCSE Topic 5.1: Memory and Storage](https://reader036.fdocuments.us/reader036/viewer/2022062810/56815c5f550346895dca65b9/html5/thumbnails/6.jpg)
Semiconductor
• RAM• Volatile• Dynamic or static
• ROM• Non-volatile• Maybe eraseable
• Flash• Non-volatile• Limited life
What is ROM used for?
![Page 7: Programming for GCSE Topic 5.1: Memory and Storage](https://reader036.fdocuments.us/reader036/viewer/2022062810/56815c5f550346895dca65b9/html5/thumbnails/7.jpg)
Disk
• Capacity: GBytes• RPM: how fast it spins (RPM)• Size (diameter – in): how big? • Interface: will it work in my PC?• Buffer size (it's a cache): MBytes• Bandwidth (peak, sustained):
MByte/second• Performance: next presentation
![Page 8: Programming for GCSE Topic 5.1: Memory and Storage](https://reader036.fdocuments.us/reader036/viewer/2022062810/56815c5f550346895dca65b9/html5/thumbnails/8.jpg)
Optical and Tape• Tape• Magnetic• Re-writeable• Serial access
• CD-ROM• DVD• Distribution• Backup• Read-only or
read/write
![Page 9: Programming for GCSE Topic 5.1: Memory and Storage](https://reader036.fdocuments.us/reader036/viewer/2022062810/56815c5f550346895dca65b9/html5/thumbnails/9.jpg)
Trends
• Tape is on the way out• Capacity no longer exceeds disk• Price / byte no longer less than
disk
• Disk being replaced by Flash• Flash only devices:
e.g. iPad, RPi, most phones• Solid state – 'faster'
![Page 10: Programming for GCSE Topic 5.1: Memory and Storage](https://reader036.fdocuments.us/reader036/viewer/2022062810/56815c5f550346895dca65b9/html5/thumbnails/10.jpg)
Storage Over a Network
• Shared storage• Local network – e.g. around office• Internet – e.g. dropbox
• Bandwidth: network must be • ~ as fast as disk • Not too far away
![Page 11: Programming for GCSE Topic 5.1: Memory and Storage](https://reader036.fdocuments.us/reader036/viewer/2022062810/56815c5f550346895dca65b9/html5/thumbnails/11.jpg)
Computer Bus & Motherboard• Communication pathway
connecting devices • Address: which device• Control: whose turn?
• Standards for inter-operability• e.g. USB, PCI
![Page 12: Programming for GCSE Topic 5.1: Memory and Storage](https://reader036.fdocuments.us/reader036/viewer/2022062810/56815c5f550346895dca65b9/html5/thumbnails/12.jpg)
STORAGE CHARACTERISTICS &
PERFORMANCE• How does a cache work?• Latency versus bandwidth
![Page 13: Programming for GCSE Topic 5.1: Memory and Storage](https://reader036.fdocuments.us/reader036/viewer/2022062810/56815c5f550346895dca65b9/html5/thumbnails/13.jpg)
Storage Characteristics
• Capacity – Bytes• Cost per byte (disk is cheapest)
• Volatile / non-volatile (permanent)• RAM is volatile
• Access• Random – anywhere (RAM)• Sequential – only in sequence (tape)• Block – hard disk
• Speed – latency and/or bandwidth
![Page 14: Programming for GCSE Topic 5.1: Memory and Storage](https://reader036.fdocuments.us/reader036/viewer/2022062810/56815c5f550346895dca65b9/html5/thumbnails/14.jpg)
Memory Hierarchy• Trade-off cost, capacity and speed
![Page 15: Programming for GCSE Topic 5.1: Memory and Storage](https://reader036.fdocuments.us/reader036/viewer/2022062810/56815c5f550346895dca65b9/html5/thumbnails/15.jpg)
Latency versus Bandwidth• Wait for the bus versus how quickly it
goes• Bandwidth: Bytes per second• Can be increased
• Latency: seconds• Speed of light (c) – 3 x 108 m/s• Fibre-optic / electrical signals go at ~1/2-1/3
cDistance Time Example30cm 1ns 1 tick of the CPU clock30m-300m
100ns-1μs
Distance to school file server
6000Km 20ms Distance to USA30,000Km 100ms Distance to a
geostationary satellite
![Page 16: Programming for GCSE Topic 5.1: Memory and Storage](https://reader036.fdocuments.us/reader036/viewer/2022062810/56815c5f550346895dca65b9/html5/thumbnails/16.jpg)
How Does a Disk Work?• Disk spins e.g. 100 times/sec (6000rpm)• Reading head moves• Track: ring around the disk surface
![Page 17: Programming for GCSE Topic 5.1: Memory and Storage](https://reader036.fdocuments.us/reader036/viewer/2022062810/56815c5f550346895dca65b9/html5/thumbnails/17.jpg)
Disk and Memory Latency
• Latency of the disk• 1 rotation every 10ms (100x a second)• Average wait 5ms (= 5,000,000 cpu
instructions)• … also arm movement
Memory Type
Delay (CPU cycles)
RAM 10 or moreSSD (Flash) 1,000s
Disk 1,000,0000s
![Page 18: Programming for GCSE Topic 5.1: Memory and Storage](https://reader036.fdocuments.us/reader036/viewer/2022062810/56815c5f550346895dca65b9/html5/thumbnails/18.jpg)
What's a Cache?
• Small fast memory• Copy of part of a larger slower memory
CPU Cache
MainMemory
chip
Block transferWord transfer
Can keep up with
CPU
10-20x slower than
CPU
![Page 19: Programming for GCSE Topic 5.1: Memory and Storage](https://reader036.fdocuments.us/reader036/viewer/2022062810/56815c5f550346895dca65b9/html5/thumbnails/19.jpg)
Lots of Caches in a Computer• Main memory cache• Hierarchy: L1 (small & fast), L2, L3 (larger &
less fast)• Disk cache• RAM in the disk drive
• File buffer• Read block of file into memory• Buffer writes too
![Page 20: Programming for GCSE Topic 5.1: Memory and Storage](https://reader036.fdocuments.us/reader036/viewer/2022062810/56815c5f550346895dca65b9/html5/thumbnails/20.jpg)
Summary• Multiple forms of storage• Characteristics• Capacity and cost• Volatile / permanent• Access
• IO: standardised buses• Performance• Bandwidth – rate of data• Latency – delay for data
• Caches reduce (effective) latency