Architecture 07 Flashcards
What is memory hierarchy?
The levels of computer storage, ranging from small, fast and expensive storage (i.e registers) to large, slow and cheap storage (i.e disk)
How is memory hierarchy utilised?
- Processing happens near top
- Bring data up levels where needed
- Bring new data down to non-volatile levels for safety/sharing
Why are fast processors small?
The larger the distance the electric signals need to travel the greater the delay in transmission
Why is there a memory hierarchy?
• Processors need to be small and fast, but you can store large amounts of data here
What are the properties of storage mechanisms?
- Access paradigm (serial vs random)
- Volatility (keeping data without power)
- Write-ability (write-once vs re-writable)
- Latency vs bandwidth
- Density (space requirements)
- Energy usage (idle as well as in operation)
- Dependability and error correction
What is the guiding principle of managing different memory technologies?
- Keep currently/frequently used data in faster, more expensive memory
- Keep other data in larger, slower memory
What is a Virtual Machine?
A VM is a mechanism that hides the details of the underlying physical memory to provide a more convenient memory evnironment
What is a virtual address space?
These are addresses that a processor uses, where the MMU translates each address into an underlying physical memory.
Past Paper Question: What is a memory cache and why are caches so important in modern computer architecture?
- A cache is placed on the path between a mechanism that makes requests and a mechanism that answers requests, and the cache is configured to intercept and handle all requests
- It acts as high speed, temporary storage: it keeps a local copy of selected data, and answers requests from the local copy whenever possible
Past Paper Question: What do the terms spatial locality and temporal locality mean in reference to memory accesses, and why are they important?
- Spacial locality is where memory being accessed is often near memory accessed recently
- Temporal locality is when accesses to the same area of memory tend to be grouped in time
- These are important when a decent proportion of data we want is in fast memory already
What is meant by Direct Mapped?
This is a cache optimisation technique, where each chunk of data has just one place where it can be
• Cache is smaller than slower memory, so multiple chunks can be in that place
What is meant by Fully Associative?
This is a cache optimisation technique, where any chunk of data can be anywhere
• More complex data structure/hardware to look up whether a chunk is in cache