Memory and Cache
- This is a combination of chapter 5 and B.9
- I will skip around a bit to accommodate the activity for 12/3
- Latency is the time between when a memory element receives a data request and when that data is available.
- This is the minimal time to access data.
- This is not a constant in all forms of memory
- For electronic devices yes (ram, cache, ...)
- For mechanical devices no (spinning hard disk drives)
- In general, this is the MINIMUM time to get data
- Larger chunks will take longer (transfer rates)
- And other parts of the machine may reduce the speed.
- Bus configuration
- Bus contention
- Load
- A block is a chunk of memory.
- We will define this better later, but this will do for now.
- BUT NOT as an answer on a test.
- To start
- Registers operate (in fact partially determine) at the speed of the processor.
- Cache is somewhat equivalent to a larger set of registers.
- Built at different levels and different speeds.
- For now, assume one layer.
- And assume that it is at the speed of the memory portion of the pipeline (~200 ps)
- Memory is much slower and much larger.
- Again, many different technologies.
- Assume that a block of memory can be transferred in 10ns
- More on this later, but for now assume 10ns range.
- Hard Drives are MUCH LARGER and MUCH MUCH slower
- I am having some trouble finding real detail, but this page suggests in the 10-50μs range for personal SSD drives.
- For HDD assume 2-10ms
- You should read section 5.2, you really should.