1/55
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai |
|---|
No analytics yet
Send a link to your students to track their progress
What type of RAM is used for cache memory and is faster and more expensive?
SRAM
What type of RAM is used for main memory and is slower and less expensive?
DRAM
How many transistors make up an SRAM cell?
6 transistors
What component stores each bit in DRAM?
A capacitor and one transistor
Does SRAM need to be refreshed while powered?
No - it holds its value without refreshing
Is DRAM sensitive to voltage disturbances?
Yes - very sensitive and cannot recover if power is lost
What does RAS stand for and what does it do?
Row Access Strobe - selects the row in DRAM
What does CAS stand for and what does it do?
Column Access Strobe - selects the column from the row buffered by RAS
What trick does DDR DRAM use to increase speed?
It uses both edges of the clock signal to transfer data
How many bits does DDR5 transfer per cycle?
16 bits
What is the difference between volatile and nonvolatile memory?
Volatile memory loses data when powered off; nonvolatile memory retains data without power
How many times can a PROM be written?
Exactly once
How many times can an EPROM be reprogrammed?
About 1000 times - requires a special programmer device
How many times can an EEPROM be reprogrammed?
About 100000 times - no special programmer needed
What type of memory are SSDs and flash drives based on?
EEPROM
What is firmware?
Programs stored on ROM that run at power-up such as BIOS and bootloaders
What is the unit of reading and writing in an SSD?
Pages
What must happen before a page can be written in an SSD?
The entire block containing that page must be erased first
What is wear leveling in SSDs?
Distributing writes evenly across blocks to extend the SSD's lifespan
What is temporal locality?
A recently accessed memory location is likely to be accessed again soon
What is spatial locality?
A recently accessed memory location means nearby addresses will likely be accessed soon
What is a stride-1 reference pattern?
Accessing every consecutive element in memory - best possible spatial locality
What happens to spatial locality as stride length increases?
Spatial locality decreases
How does C store 2D arrays in memory?
In row-major order - row by row
For a 2D array a[M][N] which loop order gives better locality and why?
Looping a[i][j] row by row gives stride-1 and better spatial locality; looping a[j][i] column by column gives stride-N and poor spatial locality
In the sumvec function what kind of locality does the variable sum have?
Good temporal locality - it is reused every iteration
In the sumvec function what kind of locality does the array v have?
Good spatial locality - elements are accessed sequentially in memory
Why does good locality improve program performance?
Data with good locality is more likely to be stored higher in the memory hierarchy in cache which has faster access times