SlideShare uma empresa Scribd logo
1 de 43
ECE 4100/6100
Advanced Computer Architecture
Lecture 10 Memory Hierarchy Design (II)
Prof. Hsien-Hsin Sean Lee
School of Electrical and Computer Engineering
Georgia Institute of Technology
Topics to be covered
• Cache Penalty Reduction Techniques
– Victim cache
– Assist cache
– Non-blocking cache
– Data Prefetch mechanism
• Virtual Memory
3Cs Absolute Miss Rate (SPEC92)
Cache Size (KB)
MissRateperType
0
0.02
0.04
0.06
0.08
0.1
0.12
0.14
1
2
4
8
16
32
64
128
1-way
2-way
4-way
8-way
Capacity
Compulsory
Conflict
•Compulsory misses are a tiny fraction of the overall misses
•Capacity misses reduce with increasing sizes
•Conflict misses reduce with increasing associativity
2:1 Cache Rule
Cache Size (KB)
MissRateperType
0
0.02
0.04
0.06
0.08
0.1
0.12
0.14
1
2
4
8
16
32
64
128
1-way
2-way
4-way
8-way
Capacity
Compulsory
Conflict
Miss rate DM cache size X
~= Miss rate 2-way SA cache size X/2
3Cs Relative Miss Rate
Cache Size (KB)
MissRateperType
0%
20%
40%
60%
80%
100%
1
2
4
8
16
32
64
128
1-way
2-way
4-way
8-way
Capacity
Compulsory
Conflict
Caveat: fixed block size
Victim Caching [Jouppi’90]
• Victim cache (VC)
– A small, fully associative structure
– Effective in direct-mapped caches
• Whenever a line is displaced from L1 cache,
it is loaded into VC
• Processor checks both L1 and VC
simultaneously
• SwapSwap data between VC and L1 if  L1
misses and VC hits
• When data has to be evicted from VC, it is
written back to memory
ProcessorProcessor
L1L1 VCVC
MemoryMemory
Victim CacheVictim Cache
OrganizationOrganization
% of Conflict Misses Removed
Icache
Dcache
Assist Cache [Chan et al. ‘96]
• Assist Cache (on-chip) avoids
thrashing in main (off-chip) L1
cache (both run at full speed)
– 64 x 32-byte fully associative CAM
• Data enters Assist Cache when
miss (FIFO replacement policy in
Assist Cache)
• Data conditionally moved to L1 or
back to memory during eviction
– Flush back to memory when brought
in by “Spatial locality hint”
instructions
– Reduce pollution
ProcessorProcessor
L1L1 ACAC
MemoryMemory
Assist CacheAssist Cache
OrganizationOrganization
Multi-lateral Cache Architecture
• A Fully Connected Multi-Lateral Cache Architecture
• Most of the cache architectures be generalized into this form
Processor CoreProcessor Core
AA BB
MemoryMemory
Cache Architecture Taxonomy
ProcessorProcessor
AA
MemoryMemory
ProcessorProcessor
AA BB
MemoryMemory
Single-level cacheSingle-level cache Two-level cacheTwo-level cache
ProcessorProcessor
AA BB
MemoryMemory
Assist cacheAssist cache
ProcessorProcessor
AA BB
MemoryMemory
Victim cacheVictim cache
ProcessorProcessor
AA BB
MemoryMemory
NTS, and PCS cachesNTS, and PCS caches
ProcessorProcessor
AA BB
MemoryMemory
General DescriptionGeneral Description
Non-blocking (Lockup-Free) Cache [Kroft ‘81]
• Prevent pipeline from stalling due to cache misses
(continue to provide hits to other lines while
servicing a miss on one/more lines)
• Uses Miss Status Handler Register (MSHR)
– Tracks cache misses, allocate one entry per
cache miss (called fill buffer in Intel P6
proliferation)
– New cache miss checks against MSHR
– Pipeline stalls at a cache miss only when MSHR
is full
– Carefully choose number of MSHR entries to
match the sustainable bus bandwidth
Bus Utilization (MSHR = 2)
m1m1
Lead-off latency 4 data chunk
Initiation
interval
m2m2
Stall due to
insufficient MSHR
m3m3
m4m4
Time
m5m5
Bus Idle
BUSBUS
Data
Transfer
Memory bus utilizationMemory bus utilization
Bus Utilization (MSHR = 4)
Stall
Time
Bus Idle
BUSBUS
Data
Transfer
Memory bus utilizationMemory bus utilization
Prefetch (Data/Instruction)
• Predict what data will be needed in future
• Pollution vs. Latency reduction
– If you correctly predict the data that will be required in the
future, you reduce latencyreduce latency. If you mispredict, you bring
in unwanted data and pollute the cachepollute the cache
• To determine the effectiveness
– When to initiate prefetch? (Timeliness)
– Which lines to prefetch?
– How big a line to prefetch? (note that cache mechanism
already performs prefetching.)
– What to replace?
• Software (data) prefetching vs. hardware
prefetching
Software-controlled Prefetching
• Use instructions
– Existing instruction
•Alpha’s load to r31 (hardwired to 0)
– Specialized instructions and hints
•Intel’s SSE: prefetchnta, prefetcht0/t1/t2
•MIPS32: PREF
•PowerPC: dcbt (data cache block touch), dcbtst (data
cache block touch for store)
• Compiler or hand inserted prefetch
instructions
Software-controlled Prefetching
for (i=0; i < N; i++) {
prefetch (&a[i+1]);
prefetch (&b[i+1]);
sop = sop + a[i]*b[i];
}
/* unroll loop 4 times */
for (i=0; i < N-4; i+=4) {
prefetch (&a[i+4]);
prefetch (&b[i+4]);
sop = sop + a[i]*b[i];
sop = sop + a[i+1]*b[i+1];
sop = sop + a[i+2]*b[i+2];
sop = sop + a[i+3]*b[i+3];
}
sop = sop + a[N-4]*b[N-4];
sop = sop + a[N-3]*b[N-3];
sop = sop + a[N-2]*b[N-2];
sop = sop + a[N-1]*b[N-1];
• Prefetch latency <= computational time
Hardware-based Prefetching
• Sequential prefetching
– Prefetch on miss
– Tagged prefetch
– Both techniques are based on “One Block
Lookahead (OBL)” prefetch: Prefetch line (L+1)
when line L is accessed based on some criteria
Sequential Prefetching
• Prefetch on miss
– Initiate prefetch (L+1) whenever an access to L results in a miss
– Alpha 21064 does this for instructions (prefetched instructions are
stored in a separate structure called stream buffer)
• Tagged prefetch
– Idea: Whenever there is a “first use” of a line (demand fetched or
previously prefetched line), prefetch the next one
– One additional “Tag bit” for each cache line
– Tag the prefetched, not-yet-used line (Tag = 1)
– Tag bit = 0 : the line is demand fetched, or a prefetched line is
referenced for the first time
– Prefetch (L+1) only if Tag bit = 1 on L
Sequential Prefetching
Demand fetched
Prefetched
miss
Demand fetched
Prefetched
hit
Demand fetched
Prefetched
Demand fetched
Prefetched
miss
Prefetch-on-miss when accessing contiguous lines
Tagged Prefetch when accessing contiguous lines
Demand fetched
Prefetched
0
1
miss
Demand fetched
Prefetched
Prefetched
0
0
1
hit
Demand fetched
Prefetched
Prefetched
Prefetched
0
0
0
1
hit
Virtual Memory
• Virtual memory – separation of
logical memory from physical memory.
– Only a part of the program needs to
be in memory for execution. Hence,
logical address space can be much
larger than physical address space.
– Allows address spaces to be shared
by several processes (or threads).
– Allows for more efficient process
creation.
• Virtual memory can be implemented via:
– Demand paging
– Demand segmentation
Main memory
is like a cache
to the hard
disc!
Virtual Address
• The concept of a virtual (or logical) address space that is
bound to a separate physical address space is central to
memory management
– Virtual address – generated by the CPU
– Physical address – seen by the memory
• Virtual and physical addresses are the same in compile-time
and load-time address-binding schemes; virtual and physical
addresses differ in execution-time address-binding schemes
Advantages of Virtual Memory
• Translation:
– Program can be given consistent view of memory, even though physical
memory is scrambled
– Only the most important part of program (“Working Set”) must be in physical
memory.
– Contiguous structures (like stacks) use only as much physical memory as
necessary yet grow later.
• Protection:
– Different threads (or processes) protected from each other.
– Different pages can be given special behavior
• (Read Only, Invisible to user programs, etc).
– Kernel data protected from User programs
– Very important for protection from malicious programs
=> Far more “viruses” under Microsoft Windows
• Sharing:
– Can map same physical page to multiple users
(“Shared memory”)
Use of Virtual Memory
stack
Shared Libs
heap
Static data
code
stack
Shared Libs
heap
Static data
code
Shared
page
Process A Process B
Virtual vs. Physical Address Space
AA
BB
CC
DD
0
4k
8k
12k
Virtual
Address
CC
AA
BB
0
4k
8k
12k
16k
20k
24k
28k
DD
Physical
Address
VirtualVirtual
MemoryMemory
MainMain
MemoryMemory
DiskDisk..
..
..
..
..
..
..
..
..
..
..
..
..
..4G
Paging
• Divide physical memory into fixed-size blocks (e.g., 4KB)
called frames
• Divide logical memory into blocks of same size (4KB) called
pages
• To run a program of size n pages, need to find n free frames
and load program
• Set up a page tablepage table to map page addresses to frame
addresses (operating system sets up the page table)
Page Table and Address Translation
Virtual page number (VPN)Virtual page number (VPN) Page offsetPage offset
Page
Table
Page
Table
Main
Memory
Main
Memory
Physical page # (PPN)Physical page # (PPN)
=
Physical
address
Page Table Structure Examples
• One-to-one mapping, space?
– Large pages  Internal fragmentation (similar to having large line
sizes in caches)
– Small pages  Page table size issues
• Multi-level Paging
• Inverted Page Table
Example:
64 bit address space, 4 KB pages (12 bits),
512 MB (29 bits) RAM
Number of pages = 264
/212
= 252
(The page table has as many entrees)
Each entry is ~4 bytes, the size of the Page
table is 254
Bytes = 16 Petabytes!
Can’t fit the page table in the 512 MB RAM!
Multi-level (Hierarchical) Page Table
• Divide virtual address into multiple levels
P1P1 P2P2 Page offsetPage offset
Level 1
page directory
(pointer array)
Level 2
page table
(stores PPN)
P1
P2
=
PPNPPN Page offsetPage offset
Level 1 is stored in
the Main memory
Inverted Page Table
• One entry for each real page of memory
• Shared by all active processes
• Entry consists of the virtual address of the page
stored in that real memory location, with Process ID
information
• Decreases memory needed to store each page
table, but increases time needed to search the table
when a page reference occurs
Linear Inverted Page Table
• Contain entries (size of physical memory) in a linear array
• Need to traverse the array sequentially to find a match
• Can be time consuming
PID VPNOffsetVPN = 0x2AA70
1 0x74094
12 0xFEA00
1 0x00023
8 0x2AA70
.. . . . . . .
PID = 8
Linear Inverted Page Table
PPN
Index
0
1
2
0x120C
.. . . . . .
0x120D
14 0x2409A
match
OffsetPPN = 0x120D
Physical Address
Virtual Address
Hashed Inverted Page Table
• Use hash table to limit the search to smaller number of
page-table entries
OffsetVPN = 0x2AA70PID = 8
Virtual Address
Hash PID VPN
1 0x74094
12 0xFEA00
1 0x00023
8 0x2AA70
.. . . . . . .
0
1
2
0x120C
.. . . . . .
0x120D
14 0x2409A
0x0012
Next
---
0x120D
0x00A0
0x0980
. . . .
. . . .match
2
Hash anchor table
Fast Address Translation
• How often address translation occurs?
• Where the page table is kept?
• Keep translation in the hardware
• Use Translation Lookaside Buffer (TLB)
– Instruction-TLB & Data-TLB
– Essentially a cache (tag array = VPN, data array=PPN)
– Small (32 to 256 entries are typical)
– Typically fully associative (implemented as a content
addressable memory, CAM) or highly associative to
minimize conflicts
Example: Alpha 21264 data TLB
VPN <35>VPN <35> offset <13>offset <13>
ASNASN ProtProt VV TagTag PPNPPN
<8> <4><1> <35> <31>
Address
Space
Number
Address
Space
Number
128:1 mux
. . .
. . .
=
44-bit physical address
TLB and Caches
• Several Design Alternatives
– VIVT: Virtually-indexed Virtually-tagged Cache
– VIPT: Virtually-indexed Physically-tagged Cache
– PIVT: Physically-indexed Virtually-tagged Cache
•Not outright useful, R6000 is the only used this.
– PIPT: Physically-indexed Physically-tagged Cache
Virtually-Indexed Virtually-Tagged (VIVT)
• Fast cache access
• Only require address translation when going to
memory (miss)
• Issues?
TLBProcessor
Core
VIVT
Cache
Main Memory
VA
hit
miss
cache line return
VIVT Cache Issues - Aliasing
• Homonym
– Same VA maps to different PAs
– Occurs when there is a context switch
– Solutions
• Include process id (PID) in cache or
• Flush cache upon context switches
• Synonym (also a problem in VIPT)
– Different VAs map to the same PA
– Occurs when data is shared by multiple processes
– Duplicated cache line in VIPT cache and VIVT$ w/ PID
– Data is inconsistent due to duplicated locations
– Solution
• Can Write-through solve the problem?
• Flush cache upon context switch
• If (index+offset) < page offset, can the problem be solved?
(discussed later in VIPT)
Physically-Indexed Physically-Tagged (PIPT)
TLB
Processor
Core
PIPT
Cache
Main Memory
VA
hit
miss
cache line return
• Slower, always translate address before
accessing memory
• Simpler for data coherence
PA
Virtually-Indexed Physically-Tagged (VIPT)
• Gain benefit of a VIVT and PIPT
• Parallel Access to TLB and VIPT cache
• No Homonym
• How about Synonym?
TLB
Processor
Core
VIPT
Cache
Main Memory
VA
hit
miss
cache line return
PA
Deal w/ Synonym in VIPT Cache
VPN A
Process A
VPN B
Process B
point to the same
location within a page
Tag array Data array
Index
Index
• VPN A != VPN B
• How to eliminate
duplication?• make cache Index A == Index B ?
Synonym in VIPT Cache
• If two VPNs do not differ in a then there is no synonym
problem, since they will be indexed to the same set of a VIPT
cache
• Imply # of sets cannot be too big
• Max number of sets = page size / cache line size
– Ex: 4KB page, 32B line, max set = 128
• A complicated solution in MIPS R10000
VPN Page Offset
Cache Tag Set Index Line Offset
a
R10000’s Solution to Synonym
• 32KB 2-Way Virtually-Indexed L1
• Direct-Mapped Physical L2
– L2 is Inclusive of L1
– VPN[1:0] is appended to the “tag” of L2
• Given two virtual addresses VA1 and VA2 that differs in VPN[1:0] and both map to
the same physical address PA
– Suppose VA1 is accessed first so blocks are allocated in L1&L2
– What happens when VA2 is referenced?
1 VA2 indexes to a different block in L1 and misses
2 VA2 translates to PA and goes to the same block as VA1 in L2
3. Tag comparison fails (since VA1[1:0]≠VA2[1:0])
4. Treated just like as a L2 conflict miss ⇒ VA1’s entry in L1 is ejected (or
dirty-written back if needed) due to inclusion policy
VPN 12 bit
10 bit 4-
bit
a= VPN[1:0] stored as part of L2 cache Tag
Deal w/ Synonym in MIPS R10000
L2 PIPT
Cache
a1 Phy. Tag data
index
a1
Page offset
VA1
index
a2
Page offset
VA2
1
0 TLBmiss
Physical index || a2
a2 !=a1
L1 VIPT cache
Deal w/ Synonym in MIPS R10000
L2 PIPT
Cache
a2 Phy. Tag data
index
a1
Page offset
VA1
index
a2
Page offset
VA2
0
1 TLB
Data return
Only one copy is
present in L1
L1 VIPT cache

Mais conteúdo relacionado

Mais procurados

Les ictères à bilirubine libre
Les ictères à bilirubine libreLes ictères à bilirubine libre
Les ictères à bilirubine libre
killua zoldyck
 
lupus Erythémateux Disséminé3
lupus Erythémateux Disséminé3lupus Erythémateux Disséminé3
lupus Erythémateux Disséminé3
Mede Space
 
Cas clinique fracture ouverte de jambe
Cas clinique fracture ouverte de jambeCas clinique fracture ouverte de jambe
Cas clinique fracture ouverte de jambe
Idris Ahmed
 

Mais procurados (15)

Cirrhose 2017
Cirrhose 2017Cirrhose 2017
Cirrhose 2017
 
Les ictères à bilirubine libre
Les ictères à bilirubine libreLes ictères à bilirubine libre
Les ictères à bilirubine libre
 
Syncope
Syncope Syncope
Syncope
 
HTA essentielle
HTA essentielleHTA essentielle
HTA essentielle
 
Douleurs thoraciques-semiologie
Douleurs thoraciques-semiologieDouleurs thoraciques-semiologie
Douleurs thoraciques-semiologie
 
AVC ischémique
AVC ischémiqueAVC ischémique
AVC ischémique
 
La tvp des mi
La tvp des miLa tvp des mi
La tvp des mi
 
lupus Erythémateux Disséminé3
lupus Erythémateux Disséminé3lupus Erythémateux Disséminé3
lupus Erythémateux Disséminé3
 
Prevention Of Venous Thromboembolism : Recommendations & Reflections
Prevention Of Venous Thromboembolism : Recommendations & ReflectionsPrevention Of Venous Thromboembolism : Recommendations & Reflections
Prevention Of Venous Thromboembolism : Recommendations & Reflections
 
Cas clinique fracture ouverte de jambe
Cas clinique fracture ouverte de jambeCas clinique fracture ouverte de jambe
Cas clinique fracture ouverte de jambe
 
Embolisation portale - Dr Fernando Alvarez - Pr Denis Castaing
Embolisation portale  - Dr Fernando Alvarez - Pr Denis CastaingEmbolisation portale  - Dr Fernando Alvarez - Pr Denis Castaing
Embolisation portale - Dr Fernando Alvarez - Pr Denis Castaing
 
Malaises aux urgences
Malaises aux urgencesMalaises aux urgences
Malaises aux urgences
 
Mastercam
MastercamMastercam
Mastercam
 
Cas clinique n°1
Cas clinique n°1Cas clinique n°1
Cas clinique n°1
 
Coma
ComaComa
Coma
 

Destaque

Virtual memory
Virtual memoryVirtual memory
Virtual memory
Anuj Modi
 
Lec2 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Num...
Lec2 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Num...Lec2 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Num...
Lec2 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Num...
Hsien-Hsin Sean Lee, Ph.D.
 
Lec10 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Mu...
Lec10 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Mu...Lec10 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Mu...
Lec10 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Mu...
Hsien-Hsin Sean Lee, Ph.D.
 
Lec18 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- In...
Lec18 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- In...Lec18 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- In...
Lec18 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- In...
Hsien-Hsin Sean Lee, Ph.D.
 

Destaque (20)

Lec9 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- Memory part 1
Lec9 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- Memory part 1Lec9 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- Memory part 1
Lec9 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- Memory part 1
 
Lec11 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- Memory part3
Lec11 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- Memory part3Lec11 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- Memory part3
Lec11 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- Memory part3
 
Virtual memory
Virtual memoryVirtual memory
Virtual memory
 
Virtual memory ppt
Virtual memory pptVirtual memory ppt
Virtual memory ppt
 
Lec1 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Intro
Lec1 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- IntroLec1 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Intro
Lec1 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Intro
 
Lec5 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- Branch Pred...
Lec5 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- Branch Pred...Lec5 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- Branch Pred...
Lec5 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- Branch Pred...
 
Lec6 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Can...
Lec6 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Can...Lec6 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Can...
Lec6 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Can...
 
Lec14 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Se...
Lec14 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Se...Lec14 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Se...
Lec14 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Se...
 
Lec20 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Da...
Lec20 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Da...Lec20 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Da...
Lec20 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Da...
 
Lec15 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- EPIC VLIW
Lec15 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- EPIC VLIWLec15 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- EPIC VLIW
Lec15 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- EPIC VLIW
 
Lec13 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- SMP
Lec13 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- SMPLec13 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- SMP
Lec13 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- SMP
 
Lec6 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- Instruction...
Lec6 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- Instruction...Lec6 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- Instruction...
Lec6 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- Instruction...
 
Lec4 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- ISA
Lec4 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- ISALec4 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- ISA
Lec4 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- ISA
 
Lec2 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Num...
Lec2 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Num...Lec2 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Num...
Lec2 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Num...
 
Lec10 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Mu...
Lec10 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Mu...Lec10 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Mu...
Lec10 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Mu...
 
Lec3 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- Performance
Lec3 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- PerformanceLec3 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- Performance
Lec3 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- Performance
 
Lec14 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech --- Coherence
Lec14 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech --- CoherenceLec14 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech --- Coherence
Lec14 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech --- Coherence
 
Lec18 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- In...
Lec18 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- In...Lec18 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- In...
Lec18 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- In...
 
Lec8 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- Dynamic Sch...
Lec8 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- Dynamic Sch...Lec8 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- Dynamic Sch...
Lec8 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- Dynamic Sch...
 
Lec8 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Qui...
Lec8 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Qui...Lec8 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Qui...
Lec8 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Qui...
 

Semelhante a Lec10 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- Memory part2

Computer Memory Hierarchy Computer Architecture
Computer Memory Hierarchy Computer ArchitectureComputer Memory Hierarchy Computer Architecture
Computer Memory Hierarchy Computer Architecture
Haris456
 
cache cache memory memory cache memory.pptx
cache cache memory memory cache memory.pptxcache cache memory memory cache memory.pptx
cache cache memory memory cache memory.pptx
saimawarsi
 
Ct213 memory subsystem
Ct213 memory subsystemCt213 memory subsystem
Ct213 memory subsystem
Sandeep Kamath
 
PPT_on_Cache_Partitioning_Techniques.pdf
PPT_on_Cache_Partitioning_Techniques.pdfPPT_on_Cache_Partitioning_Techniques.pdf
PPT_on_Cache_Partitioning_Techniques.pdf
Gnanavi2
 

Semelhante a Lec10 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- Memory part2 (20)

04 cache memory
04 cache memory04 cache memory
04 cache memory
 
Computer Memory Hierarchy Computer Architecture
Computer Memory Hierarchy Computer ArchitectureComputer Memory Hierarchy Computer Architecture
Computer Memory Hierarchy Computer Architecture
 
Main Memory
Main MemoryMain Memory
Main Memory
 
cache memory introduction, level, function
cache memory introduction, level, functioncache memory introduction, level, function
cache memory introduction, level, function
 
cache memory
cache memorycache memory
cache memory
 
cache memory
 cache memory cache memory
cache memory
 
Memory Hierarchy PPT of Computer Organization
Memory Hierarchy PPT of Computer OrganizationMemory Hierarchy PPT of Computer Organization
Memory Hierarchy PPT of Computer Organization
 
cache cache memory memory cache memory.pptx
cache cache memory memory cache memory.pptxcache cache memory memory cache memory.pptx
cache cache memory memory cache memory.pptx
 
Cache Memory
Cache MemoryCache Memory
Cache Memory
 
cache memory.ppt
cache memory.pptcache memory.ppt
cache memory.ppt
 
cache memory.ppt
cache memory.pptcache memory.ppt
cache memory.ppt
 
04 Cache Memory
04  Cache  Memory04  Cache  Memory
04 Cache Memory
 
Main Memory Management in Operating System
Main Memory Management in Operating SystemMain Memory Management in Operating System
Main Memory Management in Operating System
 
04 cache memory
04 cache memory04 cache memory
04 cache memory
 
04 cache memory
04 cache memory04 cache memory
04 cache memory
 
Unit-4 swapping.pptx
Unit-4 swapping.pptxUnit-4 swapping.pptx
Unit-4 swapping.pptx
 
Ct213 memory subsystem
Ct213 memory subsystemCt213 memory subsystem
Ct213 memory subsystem
 
Memory management
Memory managementMemory management
Memory management
 
PPT_on_Cache_Partitioning_Techniques.pdf
PPT_on_Cache_Partitioning_Techniques.pdfPPT_on_Cache_Partitioning_Techniques.pdf
PPT_on_Cache_Partitioning_Techniques.pdf
 
Ch8
Ch8Ch8
Ch8
 

Mais de Hsien-Hsin Sean Lee, Ph.D.

Lec7 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Kar...
Lec7 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Kar...Lec7 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Kar...
Lec7 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Kar...
Hsien-Hsin Sean Lee, Ph.D.
 
Lec5 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Boo...
Lec5 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Boo...Lec5 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Boo...
Lec5 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Boo...
Hsien-Hsin Sean Lee, Ph.D.
 
Lec3 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- CMO...
Lec3 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- CMO...Lec3 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- CMO...
Lec3 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- CMO...
Hsien-Hsin Sean Lee, Ph.D.
 

Mais de Hsien-Hsin Sean Lee, Ph.D. (15)

Lec19 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Pr...
Lec19 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Pr...Lec19 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Pr...
Lec19 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Pr...
 
Lec17 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Me...
Lec17 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Me...Lec17 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Me...
Lec17 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Me...
 
Lec16 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Fi...
Lec16 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Fi...Lec16 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Fi...
Lec16 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Fi...
 
Lec15 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Re...
Lec15 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Re...Lec15 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Re...
Lec15 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Re...
 
Lec13 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Sh...
Lec13 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Sh...Lec13 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Sh...
Lec13 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Sh...
 
Lec12 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Ad...
Lec12 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Ad...Lec12 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Ad...
Lec12 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Ad...
 
Lec11 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- De...
Lec11 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- De...Lec11 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- De...
Lec11 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- De...
 
Lec9 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Com...
Lec9 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Com...Lec9 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Com...
Lec9 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Com...
 
Lec7 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Kar...
Lec7 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Kar...Lec7 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Kar...
Lec7 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Kar...
 
Lec5 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Boo...
Lec5 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Boo...Lec5 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Boo...
Lec5 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- Boo...
 
Lec4 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- CMOS
Lec4 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- CMOSLec4 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- CMOS
Lec4 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- CMOS
 
Lec3 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- CMO...
Lec3 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- CMO...Lec3 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- CMO...
Lec3 Intro to Computer Engineering by Hsien-Hsin Sean Lee Georgia Tech -- CMO...
 
Lec13 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- Multicore
Lec13 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- MulticoreLec13 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- Multicore
Lec13 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- Multicore
 
Lec12 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- P6, Netbur...
Lec12 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- P6, Netbur...Lec12 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- P6, Netbur...
Lec12 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- P6, Netbur...
 
Lec7 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- Dynamic Sch...
Lec7 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- Dynamic Sch...Lec7 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- Dynamic Sch...
Lec7 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- Dynamic Sch...
 

Último

一比一原版(USYD毕业证书)澳洲悉尼大学毕业证如何办理
一比一原版(USYD毕业证书)澳洲悉尼大学毕业证如何办理一比一原版(USYD毕业证书)澳洲悉尼大学毕业证如何办理
一比一原版(USYD毕业证书)澳洲悉尼大学毕业证如何办理
uodye
 
怎样办理斯威本科技大学毕业证(SUT毕业证书)成绩单留信认证
怎样办理斯威本科技大学毕业证(SUT毕业证书)成绩单留信认证怎样办理斯威本科技大学毕业证(SUT毕业证书)成绩单留信认证
怎样办理斯威本科技大学毕业证(SUT毕业证书)成绩单留信认证
tufbav
 
In Riyadh Saudi Arabia |+966572737505 | Buy Cytotec| Get Abortion pills
In Riyadh Saudi Arabia |+966572737505 | Buy Cytotec| Get Abortion pillsIn Riyadh Saudi Arabia |+966572737505 | Buy Cytotec| Get Abortion pills
In Riyadh Saudi Arabia |+966572737505 | Buy Cytotec| Get Abortion pills
Abortion pills in Riyadh +966572737505 get cytotec
 
一比一原版(Otago毕业证书)奥塔哥理工学院毕业证成绩单学位证靠谱定制
一比一原版(Otago毕业证书)奥塔哥理工学院毕业证成绩单学位证靠谱定制一比一原版(Otago毕业证书)奥塔哥理工学院毕业证成绩单学位证靠谱定制
一比一原版(Otago毕业证书)奥塔哥理工学院毕业证成绩单学位证靠谱定制
uodye
 
怎样办理维多利亚大学毕业证(UVic毕业证书)成绩单留信认证
怎样办理维多利亚大学毕业证(UVic毕业证书)成绩单留信认证怎样办理维多利亚大学毕业证(UVic毕业证书)成绩单留信认证
怎样办理维多利亚大学毕业证(UVic毕业证书)成绩单留信认证
tufbav
 
怎样办理阿德莱德大学毕业证(Adelaide毕业证书)成绩单留信认证
怎样办理阿德莱德大学毕业证(Adelaide毕业证书)成绩单留信认证怎样办理阿德莱德大学毕业证(Adelaide毕业证书)成绩单留信认证
怎样办理阿德莱德大学毕业证(Adelaide毕业证书)成绩单留信认证
ehyxf
 
Abortion pills in Jeddah |+966572737505 | Get Cytotec
Abortion pills in Jeddah |+966572737505 | Get CytotecAbortion pills in Jeddah |+966572737505 | Get Cytotec
Abortion pills in Jeddah |+966572737505 | Get Cytotec
Abortion pills in Riyadh +966572737505 get cytotec
 
一比一原版(CSUEB毕业证书)东湾分校毕业证原件一模一样
一比一原版(CSUEB毕业证书)东湾分校毕业证原件一模一样一比一原版(CSUEB毕业证书)东湾分校毕业证原件一模一样
一比一原版(CSUEB毕业证书)东湾分校毕业证原件一模一样
ayoqf
 
在线制作(UQ毕业证书)昆士兰大学毕业证成绩单原版一比一
在线制作(UQ毕业证书)昆士兰大学毕业证成绩单原版一比一在线制作(UQ毕业证书)昆士兰大学毕业证成绩单原版一比一
在线制作(UQ毕业证书)昆士兰大学毕业证成绩单原版一比一
uodye
 
怎样办理圣芭芭拉分校毕业证(UCSB毕业证书)成绩单留信认证
怎样办理圣芭芭拉分校毕业证(UCSB毕业证书)成绩单留信认证怎样办理圣芭芭拉分校毕业证(UCSB毕业证书)成绩单留信认证
怎样办理圣芭芭拉分校毕业证(UCSB毕业证书)成绩单留信认证
ehyxf
 
一比一维多利亚大学毕业证(victoria毕业证)成绩单学位证如何办理
一比一维多利亚大学毕业证(victoria毕业证)成绩单学位证如何办理一比一维多利亚大学毕业证(victoria毕业证)成绩单学位证如何办理
一比一维多利亚大学毕业证(victoria毕业证)成绩单学位证如何办理
uodye
 
一比一定(购)国立南方理工学院毕业证(Southern毕业证)成绩单学位证
一比一定(购)国立南方理工学院毕业证(Southern毕业证)成绩单学位证一比一定(购)国立南方理工学院毕业证(Southern毕业证)成绩单学位证
一比一定(购)国立南方理工学院毕业证(Southern毕业证)成绩单学位证
wpkuukw
 
在线办理(scu毕业证)南十字星大学毕业证电子版学位证书注册证明信
在线办理(scu毕业证)南十字星大学毕业证电子版学位证书注册证明信在线办理(scu毕业证)南十字星大学毕业证电子版学位证书注册证明信
在线办理(scu毕业证)南十字星大学毕业证电子版学位证书注册证明信
oopacde
 
一比一定(购)新西兰林肯大学毕业证(Lincoln毕业证)成绩单学位证
一比一定(购)新西兰林肯大学毕业证(Lincoln毕业证)成绩单学位证一比一定(购)新西兰林肯大学毕业证(Lincoln毕业证)成绩单学位证
一比一定(购)新西兰林肯大学毕业证(Lincoln毕业证)成绩单学位证
wpkuukw
 

Último (20)

一比一原版(USYD毕业证书)澳洲悉尼大学毕业证如何办理
一比一原版(USYD毕业证书)澳洲悉尼大学毕业证如何办理一比一原版(USYD毕业证书)澳洲悉尼大学毕业证如何办理
一比一原版(USYD毕业证书)澳洲悉尼大学毕业证如何办理
 
🌹Patia⬅️ Vip Call Girls Bhubaneswar 📱9777949614 Book Well Trand Call Girls In...
🌹Patia⬅️ Vip Call Girls Bhubaneswar 📱9777949614 Book Well Trand Call Girls In...🌹Patia⬅️ Vip Call Girls Bhubaneswar 📱9777949614 Book Well Trand Call Girls In...
🌹Patia⬅️ Vip Call Girls Bhubaneswar 📱9777949614 Book Well Trand Call Girls In...
 
怎样办理斯威本科技大学毕业证(SUT毕业证书)成绩单留信认证
怎样办理斯威本科技大学毕业证(SUT毕业证书)成绩单留信认证怎样办理斯威本科技大学毕业证(SUT毕业证书)成绩单留信认证
怎样办理斯威本科技大学毕业证(SUT毕业证书)成绩单留信认证
 
Low Cost Patna Call Girls Service Just Call 🍑👄6378878445 🍑👄 Top Class Call Gi...
Low Cost Patna Call Girls Service Just Call 🍑👄6378878445 🍑👄 Top Class Call Gi...Low Cost Patna Call Girls Service Just Call 🍑👄6378878445 🍑👄 Top Class Call Gi...
Low Cost Patna Call Girls Service Just Call 🍑👄6378878445 🍑👄 Top Class Call Gi...
 
Point of Care Testing in clinical laboratory
Point of Care Testing in clinical laboratoryPoint of Care Testing in clinical laboratory
Point of Care Testing in clinical laboratory
 
In Riyadh Saudi Arabia |+966572737505 | Buy Cytotec| Get Abortion pills
In Riyadh Saudi Arabia |+966572737505 | Buy Cytotec| Get Abortion pillsIn Riyadh Saudi Arabia |+966572737505 | Buy Cytotec| Get Abortion pills
In Riyadh Saudi Arabia |+966572737505 | Buy Cytotec| Get Abortion pills
 
一比一原版(Otago毕业证书)奥塔哥理工学院毕业证成绩单学位证靠谱定制
一比一原版(Otago毕业证书)奥塔哥理工学院毕业证成绩单学位证靠谱定制一比一原版(Otago毕业证书)奥塔哥理工学院毕业证成绩单学位证靠谱定制
一比一原版(Otago毕业证书)奥塔哥理工学院毕业证成绩单学位证靠谱定制
 
怎样办理维多利亚大学毕业证(UVic毕业证书)成绩单留信认证
怎样办理维多利亚大学毕业证(UVic毕业证书)成绩单留信认证怎样办理维多利亚大学毕业证(UVic毕业证书)成绩单留信认证
怎样办理维多利亚大学毕业证(UVic毕业证书)成绩单留信认证
 
怎样办理阿德莱德大学毕业证(Adelaide毕业证书)成绩单留信认证
怎样办理阿德莱德大学毕业证(Adelaide毕业证书)成绩单留信认证怎样办理阿德莱德大学毕业证(Adelaide毕业证书)成绩单留信认证
怎样办理阿德莱德大学毕业证(Adelaide毕业证书)成绩单留信认证
 
Abortion pills in Jeddah +966572737505 <> buy cytotec <> unwanted kit Saudi A...
Abortion pills in Jeddah +966572737505 <> buy cytotec <> unwanted kit Saudi A...Abortion pills in Jeddah +966572737505 <> buy cytotec <> unwanted kit Saudi A...
Abortion pills in Jeddah +966572737505 <> buy cytotec <> unwanted kit Saudi A...
 
Abortion pills in Jeddah |+966572737505 | Get Cytotec
Abortion pills in Jeddah |+966572737505 | Get CytotecAbortion pills in Jeddah |+966572737505 | Get Cytotec
Abortion pills in Jeddah |+966572737505 | Get Cytotec
 
一比一原版(CSUEB毕业证书)东湾分校毕业证原件一模一样
一比一原版(CSUEB毕业证书)东湾分校毕业证原件一模一样一比一原版(CSUEB毕业证书)东湾分校毕业证原件一模一样
一比一原版(CSUEB毕业证书)东湾分校毕业证原件一模一样
 
在线制作(UQ毕业证书)昆士兰大学毕业证成绩单原版一比一
在线制作(UQ毕业证书)昆士兰大学毕业证成绩单原版一比一在线制作(UQ毕业证书)昆士兰大学毕业证成绩单原版一比一
在线制作(UQ毕业证书)昆士兰大学毕业证成绩单原版一比一
 
怎样办理圣芭芭拉分校毕业证(UCSB毕业证书)成绩单留信认证
怎样办理圣芭芭拉分校毕业证(UCSB毕业证书)成绩单留信认证怎样办理圣芭芭拉分校毕业证(UCSB毕业证书)成绩单留信认证
怎样办理圣芭芭拉分校毕业证(UCSB毕业证书)成绩单留信认证
 
一比一维多利亚大学毕业证(victoria毕业证)成绩单学位证如何办理
一比一维多利亚大学毕业证(victoria毕业证)成绩单学位证如何办理一比一维多利亚大学毕业证(victoria毕业证)成绩单学位证如何办理
一比一维多利亚大学毕业证(victoria毕业证)成绩单学位证如何办理
 
Vashi Affordable Call Girls ,07506202331,Vasai Virar Charming Call Girl
Vashi Affordable Call Girls ,07506202331,Vasai Virar Charming Call GirlVashi Affordable Call Girls ,07506202331,Vasai Virar Charming Call Girl
Vashi Affordable Call Girls ,07506202331,Vasai Virar Charming Call Girl
 
Guwahati Escorts Service Girl ^ 9332606886, WhatsApp Anytime Guwahati
Guwahati Escorts Service Girl ^ 9332606886, WhatsApp Anytime GuwahatiGuwahati Escorts Service Girl ^ 9332606886, WhatsApp Anytime Guwahati
Guwahati Escorts Service Girl ^ 9332606886, WhatsApp Anytime Guwahati
 
一比一定(购)国立南方理工学院毕业证(Southern毕业证)成绩单学位证
一比一定(购)国立南方理工学院毕业证(Southern毕业证)成绩单学位证一比一定(购)国立南方理工学院毕业证(Southern毕业证)成绩单学位证
一比一定(购)国立南方理工学院毕业证(Southern毕业证)成绩单学位证
 
在线办理(scu毕业证)南十字星大学毕业证电子版学位证书注册证明信
在线办理(scu毕业证)南十字星大学毕业证电子版学位证书注册证明信在线办理(scu毕业证)南十字星大学毕业证电子版学位证书注册证明信
在线办理(scu毕业证)南十字星大学毕业证电子版学位证书注册证明信
 
一比一定(购)新西兰林肯大学毕业证(Lincoln毕业证)成绩单学位证
一比一定(购)新西兰林肯大学毕业证(Lincoln毕业证)成绩单学位证一比一定(购)新西兰林肯大学毕业证(Lincoln毕业证)成绩单学位证
一比一定(购)新西兰林肯大学毕业证(Lincoln毕业证)成绩单学位证
 

Lec10 Computer Architecture by Hsien-Hsin Sean Lee Georgia Tech -- Memory part2

  • 1. ECE 4100/6100 Advanced Computer Architecture Lecture 10 Memory Hierarchy Design (II) Prof. Hsien-Hsin Sean Lee School of Electrical and Computer Engineering Georgia Institute of Technology
  • 2. Topics to be covered • Cache Penalty Reduction Techniques – Victim cache – Assist cache – Non-blocking cache – Data Prefetch mechanism • Virtual Memory
  • 3. 3Cs Absolute Miss Rate (SPEC92) Cache Size (KB) MissRateperType 0 0.02 0.04 0.06 0.08 0.1 0.12 0.14 1 2 4 8 16 32 64 128 1-way 2-way 4-way 8-way Capacity Compulsory Conflict •Compulsory misses are a tiny fraction of the overall misses •Capacity misses reduce with increasing sizes •Conflict misses reduce with increasing associativity
  • 4. 2:1 Cache Rule Cache Size (KB) MissRateperType 0 0.02 0.04 0.06 0.08 0.1 0.12 0.14 1 2 4 8 16 32 64 128 1-way 2-way 4-way 8-way Capacity Compulsory Conflict Miss rate DM cache size X ~= Miss rate 2-way SA cache size X/2
  • 5. 3Cs Relative Miss Rate Cache Size (KB) MissRateperType 0% 20% 40% 60% 80% 100% 1 2 4 8 16 32 64 128 1-way 2-way 4-way 8-way Capacity Compulsory Conflict Caveat: fixed block size
  • 6. Victim Caching [Jouppi’90] • Victim cache (VC) – A small, fully associative structure – Effective in direct-mapped caches • Whenever a line is displaced from L1 cache, it is loaded into VC • Processor checks both L1 and VC simultaneously • SwapSwap data between VC and L1 if  L1 misses and VC hits • When data has to be evicted from VC, it is written back to memory ProcessorProcessor L1L1 VCVC MemoryMemory Victim CacheVictim Cache OrganizationOrganization
  • 7. % of Conflict Misses Removed Icache Dcache
  • 8. Assist Cache [Chan et al. ‘96] • Assist Cache (on-chip) avoids thrashing in main (off-chip) L1 cache (both run at full speed) – 64 x 32-byte fully associative CAM • Data enters Assist Cache when miss (FIFO replacement policy in Assist Cache) • Data conditionally moved to L1 or back to memory during eviction – Flush back to memory when brought in by “Spatial locality hint” instructions – Reduce pollution ProcessorProcessor L1L1 ACAC MemoryMemory Assist CacheAssist Cache OrganizationOrganization
  • 9. Multi-lateral Cache Architecture • A Fully Connected Multi-Lateral Cache Architecture • Most of the cache architectures be generalized into this form Processor CoreProcessor Core AA BB MemoryMemory
  • 10. Cache Architecture Taxonomy ProcessorProcessor AA MemoryMemory ProcessorProcessor AA BB MemoryMemory Single-level cacheSingle-level cache Two-level cacheTwo-level cache ProcessorProcessor AA BB MemoryMemory Assist cacheAssist cache ProcessorProcessor AA BB MemoryMemory Victim cacheVictim cache ProcessorProcessor AA BB MemoryMemory NTS, and PCS cachesNTS, and PCS caches ProcessorProcessor AA BB MemoryMemory General DescriptionGeneral Description
  • 11. Non-blocking (Lockup-Free) Cache [Kroft ‘81] • Prevent pipeline from stalling due to cache misses (continue to provide hits to other lines while servicing a miss on one/more lines) • Uses Miss Status Handler Register (MSHR) – Tracks cache misses, allocate one entry per cache miss (called fill buffer in Intel P6 proliferation) – New cache miss checks against MSHR – Pipeline stalls at a cache miss only when MSHR is full – Carefully choose number of MSHR entries to match the sustainable bus bandwidth
  • 12. Bus Utilization (MSHR = 2) m1m1 Lead-off latency 4 data chunk Initiation interval m2m2 Stall due to insufficient MSHR m3m3 m4m4 Time m5m5 Bus Idle BUSBUS Data Transfer Memory bus utilizationMemory bus utilization
  • 13. Bus Utilization (MSHR = 4) Stall Time Bus Idle BUSBUS Data Transfer Memory bus utilizationMemory bus utilization
  • 14. Prefetch (Data/Instruction) • Predict what data will be needed in future • Pollution vs. Latency reduction – If you correctly predict the data that will be required in the future, you reduce latencyreduce latency. If you mispredict, you bring in unwanted data and pollute the cachepollute the cache • To determine the effectiveness – When to initiate prefetch? (Timeliness) – Which lines to prefetch? – How big a line to prefetch? (note that cache mechanism already performs prefetching.) – What to replace? • Software (data) prefetching vs. hardware prefetching
  • 15. Software-controlled Prefetching • Use instructions – Existing instruction •Alpha’s load to r31 (hardwired to 0) – Specialized instructions and hints •Intel’s SSE: prefetchnta, prefetcht0/t1/t2 •MIPS32: PREF •PowerPC: dcbt (data cache block touch), dcbtst (data cache block touch for store) • Compiler or hand inserted prefetch instructions
  • 16. Software-controlled Prefetching for (i=0; i < N; i++) { prefetch (&a[i+1]); prefetch (&b[i+1]); sop = sop + a[i]*b[i]; } /* unroll loop 4 times */ for (i=0; i < N-4; i+=4) { prefetch (&a[i+4]); prefetch (&b[i+4]); sop = sop + a[i]*b[i]; sop = sop + a[i+1]*b[i+1]; sop = sop + a[i+2]*b[i+2]; sop = sop + a[i+3]*b[i+3]; } sop = sop + a[N-4]*b[N-4]; sop = sop + a[N-3]*b[N-3]; sop = sop + a[N-2]*b[N-2]; sop = sop + a[N-1]*b[N-1]; • Prefetch latency <= computational time
  • 17. Hardware-based Prefetching • Sequential prefetching – Prefetch on miss – Tagged prefetch – Both techniques are based on “One Block Lookahead (OBL)” prefetch: Prefetch line (L+1) when line L is accessed based on some criteria
  • 18. Sequential Prefetching • Prefetch on miss – Initiate prefetch (L+1) whenever an access to L results in a miss – Alpha 21064 does this for instructions (prefetched instructions are stored in a separate structure called stream buffer) • Tagged prefetch – Idea: Whenever there is a “first use” of a line (demand fetched or previously prefetched line), prefetch the next one – One additional “Tag bit” for each cache line – Tag the prefetched, not-yet-used line (Tag = 1) – Tag bit = 0 : the line is demand fetched, or a prefetched line is referenced for the first time – Prefetch (L+1) only if Tag bit = 1 on L
  • 19. Sequential Prefetching Demand fetched Prefetched miss Demand fetched Prefetched hit Demand fetched Prefetched Demand fetched Prefetched miss Prefetch-on-miss when accessing contiguous lines Tagged Prefetch when accessing contiguous lines Demand fetched Prefetched 0 1 miss Demand fetched Prefetched Prefetched 0 0 1 hit Demand fetched Prefetched Prefetched Prefetched 0 0 0 1 hit
  • 20. Virtual Memory • Virtual memory – separation of logical memory from physical memory. – Only a part of the program needs to be in memory for execution. Hence, logical address space can be much larger than physical address space. – Allows address spaces to be shared by several processes (or threads). – Allows for more efficient process creation. • Virtual memory can be implemented via: – Demand paging – Demand segmentation Main memory is like a cache to the hard disc!
  • 21. Virtual Address • The concept of a virtual (or logical) address space that is bound to a separate physical address space is central to memory management – Virtual address – generated by the CPU – Physical address – seen by the memory • Virtual and physical addresses are the same in compile-time and load-time address-binding schemes; virtual and physical addresses differ in execution-time address-binding schemes
  • 22. Advantages of Virtual Memory • Translation: – Program can be given consistent view of memory, even though physical memory is scrambled – Only the most important part of program (“Working Set”) must be in physical memory. – Contiguous structures (like stacks) use only as much physical memory as necessary yet grow later. • Protection: – Different threads (or processes) protected from each other. – Different pages can be given special behavior • (Read Only, Invisible to user programs, etc). – Kernel data protected from User programs – Very important for protection from malicious programs => Far more “viruses” under Microsoft Windows • Sharing: – Can map same physical page to multiple users (“Shared memory”)
  • 23. Use of Virtual Memory stack Shared Libs heap Static data code stack Shared Libs heap Static data code Shared page Process A Process B
  • 24. Virtual vs. Physical Address Space AA BB CC DD 0 4k 8k 12k Virtual Address CC AA BB 0 4k 8k 12k 16k 20k 24k 28k DD Physical Address VirtualVirtual MemoryMemory MainMain MemoryMemory DiskDisk.. .. .. .. .. .. .. .. .. .. .. .. .. ..4G
  • 25. Paging • Divide physical memory into fixed-size blocks (e.g., 4KB) called frames • Divide logical memory into blocks of same size (4KB) called pages • To run a program of size n pages, need to find n free frames and load program • Set up a page tablepage table to map page addresses to frame addresses (operating system sets up the page table)
  • 26. Page Table and Address Translation Virtual page number (VPN)Virtual page number (VPN) Page offsetPage offset Page Table Page Table Main Memory Main Memory Physical page # (PPN)Physical page # (PPN) = Physical address
  • 27. Page Table Structure Examples • One-to-one mapping, space? – Large pages  Internal fragmentation (similar to having large line sizes in caches) – Small pages  Page table size issues • Multi-level Paging • Inverted Page Table Example: 64 bit address space, 4 KB pages (12 bits), 512 MB (29 bits) RAM Number of pages = 264 /212 = 252 (The page table has as many entrees) Each entry is ~4 bytes, the size of the Page table is 254 Bytes = 16 Petabytes! Can’t fit the page table in the 512 MB RAM!
  • 28. Multi-level (Hierarchical) Page Table • Divide virtual address into multiple levels P1P1 P2P2 Page offsetPage offset Level 1 page directory (pointer array) Level 2 page table (stores PPN) P1 P2 = PPNPPN Page offsetPage offset Level 1 is stored in the Main memory
  • 29. Inverted Page Table • One entry for each real page of memory • Shared by all active processes • Entry consists of the virtual address of the page stored in that real memory location, with Process ID information • Decreases memory needed to store each page table, but increases time needed to search the table when a page reference occurs
  • 30. Linear Inverted Page Table • Contain entries (size of physical memory) in a linear array • Need to traverse the array sequentially to find a match • Can be time consuming PID VPNOffsetVPN = 0x2AA70 1 0x74094 12 0xFEA00 1 0x00023 8 0x2AA70 .. . . . . . . PID = 8 Linear Inverted Page Table PPN Index 0 1 2 0x120C .. . . . . . 0x120D 14 0x2409A match OffsetPPN = 0x120D Physical Address Virtual Address
  • 31. Hashed Inverted Page Table • Use hash table to limit the search to smaller number of page-table entries OffsetVPN = 0x2AA70PID = 8 Virtual Address Hash PID VPN 1 0x74094 12 0xFEA00 1 0x00023 8 0x2AA70 .. . . . . . . 0 1 2 0x120C .. . . . . . 0x120D 14 0x2409A 0x0012 Next --- 0x120D 0x00A0 0x0980 . . . . . . . .match 2 Hash anchor table
  • 32. Fast Address Translation • How often address translation occurs? • Where the page table is kept? • Keep translation in the hardware • Use Translation Lookaside Buffer (TLB) – Instruction-TLB & Data-TLB – Essentially a cache (tag array = VPN, data array=PPN) – Small (32 to 256 entries are typical) – Typically fully associative (implemented as a content addressable memory, CAM) or highly associative to minimize conflicts
  • 33. Example: Alpha 21264 data TLB VPN <35>VPN <35> offset <13>offset <13> ASNASN ProtProt VV TagTag PPNPPN <8> <4><1> <35> <31> Address Space Number Address Space Number 128:1 mux . . . . . . = 44-bit physical address
  • 34. TLB and Caches • Several Design Alternatives – VIVT: Virtually-indexed Virtually-tagged Cache – VIPT: Virtually-indexed Physically-tagged Cache – PIVT: Physically-indexed Virtually-tagged Cache •Not outright useful, R6000 is the only used this. – PIPT: Physically-indexed Physically-tagged Cache
  • 35. Virtually-Indexed Virtually-Tagged (VIVT) • Fast cache access • Only require address translation when going to memory (miss) • Issues? TLBProcessor Core VIVT Cache Main Memory VA hit miss cache line return
  • 36. VIVT Cache Issues - Aliasing • Homonym – Same VA maps to different PAs – Occurs when there is a context switch – Solutions • Include process id (PID) in cache or • Flush cache upon context switches • Synonym (also a problem in VIPT) – Different VAs map to the same PA – Occurs when data is shared by multiple processes – Duplicated cache line in VIPT cache and VIVT$ w/ PID – Data is inconsistent due to duplicated locations – Solution • Can Write-through solve the problem? • Flush cache upon context switch • If (index+offset) < page offset, can the problem be solved? (discussed later in VIPT)
  • 37. Physically-Indexed Physically-Tagged (PIPT) TLB Processor Core PIPT Cache Main Memory VA hit miss cache line return • Slower, always translate address before accessing memory • Simpler for data coherence PA
  • 38. Virtually-Indexed Physically-Tagged (VIPT) • Gain benefit of a VIVT and PIPT • Parallel Access to TLB and VIPT cache • No Homonym • How about Synonym? TLB Processor Core VIPT Cache Main Memory VA hit miss cache line return PA
  • 39. Deal w/ Synonym in VIPT Cache VPN A Process A VPN B Process B point to the same location within a page Tag array Data array Index Index • VPN A != VPN B • How to eliminate duplication?• make cache Index A == Index B ?
  • 40. Synonym in VIPT Cache • If two VPNs do not differ in a then there is no synonym problem, since they will be indexed to the same set of a VIPT cache • Imply # of sets cannot be too big • Max number of sets = page size / cache line size – Ex: 4KB page, 32B line, max set = 128 • A complicated solution in MIPS R10000 VPN Page Offset Cache Tag Set Index Line Offset a
  • 41. R10000’s Solution to Synonym • 32KB 2-Way Virtually-Indexed L1 • Direct-Mapped Physical L2 – L2 is Inclusive of L1 – VPN[1:0] is appended to the “tag” of L2 • Given two virtual addresses VA1 and VA2 that differs in VPN[1:0] and both map to the same physical address PA – Suppose VA1 is accessed first so blocks are allocated in L1&L2 – What happens when VA2 is referenced? 1 VA2 indexes to a different block in L1 and misses 2 VA2 translates to PA and goes to the same block as VA1 in L2 3. Tag comparison fails (since VA1[1:0]≠VA2[1:0]) 4. Treated just like as a L2 conflict miss ⇒ VA1’s entry in L1 is ejected (or dirty-written back if needed) due to inclusion policy VPN 12 bit 10 bit 4- bit a= VPN[1:0] stored as part of L2 cache Tag
  • 42. Deal w/ Synonym in MIPS R10000 L2 PIPT Cache a1 Phy. Tag data index a1 Page offset VA1 index a2 Page offset VA2 1 0 TLBmiss Physical index || a2 a2 !=a1 L1 VIPT cache
  • 43. Deal w/ Synonym in MIPS R10000 L2 PIPT Cache a2 Phy. Tag data index a1 Page offset VA1 index a2 Page offset VA2 0 1 TLB Data return Only one copy is present in L1 L1 VIPT cache