DOC PREVIEW
Berkeley COMPSCI 150 - Lecture Notes

This preview shows page 1-2-3-4 out of 13 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 13 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 13 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 13 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 13 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 13 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

CS150 Cache CheckpointDan Yeager, Daiwei Li, James ParkerCurrent Architecture: Block Rams● Essentially single write port, dual read ports● Pros:○ Simple○ Fast (1 cycle)○ Allows us to load programs into IMEM using SW● Cons:○ Max 5MB block ram spaceExpanding MemoryImages from DDCA(DDR2)DDR2 - Basic Idea● Same interface:○ Dual read read ports for I & D○ Writes now more complicated (to be discussed)MIPS DDR2I CacheD CacheConcurrency● Write 0xBAADF00D to ICache 0x00000000● Write 0xDEADBEEF to DCache 0x00000000Caches not concurrent!MIPS DDR2I CacheD CacheConcurrency Solution1. Writing a new program:○ Write to I & D simultaneously■ Hardware enforced○ Concurrency enforced 2. D-cache loads and stores:○ Don't overwrite the program space■ SW enforced○ OK if not concurrent DDDDD IIIIBIOS● Write to I & D Cache simultaneously● Run bios out of block ram○ Like I/D mem from last checkpointMIPS DDR2I CacheD CacheBIOSMemory MapDeviceR/W Top Nibble Address TypeD$ R/W xxx1 MemI$ R xxx1 PCI$ W xx1x MemBIOS R x1xx PC/MemI/O R/W 1xxx MemExample Address: yyyy_xxxx_xxxx_xxxx_xxxx_xxxx_xxxx_xxxxTop NibbleBIOS (RAM)UARTI CacheD CacheMemory Map Examples Based on the map,what do these opsdo? ● PC=0x4000010, MemAddr=0x30000000, SW● PC=0x1000000, MemAddr=0x80000000, LW● PC=0x1000000, MemAddr=0x30000000, SWDeviceR/W Top Nibble Address TypeD$ R/W xxx1 MemI$ R xxx1 PCI$ W xx1x MemBIOS R x1xx PC/MemI/O R/W 1xxx MemFull PictureStallsRemember:Speed, cost, size tradeoff CPU needs to wait (stall) for cache missStall Implementation● Implement & verify separate from your cache○ Modularity is crucial for testability ● Test by stalling each instruction○ @(posedge clk) stall <= ~stall; ● Ensure that no state elements are written while stall is assertedFinal Notes● Start early● Please read spec carefully● Draw timing diagramsInstrument your code● Survey of CP3 common mistakes


View Full Document

Berkeley COMPSCI 150 - Lecture Notes

Documents in this Course
Lab 2

Lab 2

9 pages

Debugging

Debugging

28 pages

Lab 1

Lab 1

15 pages

Memory

Memory

13 pages

Lecture 7

Lecture 7

11 pages

SPDIF

SPDIF

18 pages

Memory

Memory

27 pages

Exam III

Exam III

15 pages

Quiz

Quiz

6 pages

Problem

Problem

3 pages

Memory

Memory

26 pages

Lab 1

Lab 1

9 pages

Memory

Memory

5 pages

Load more
Download Lecture Notes
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Lecture Notes and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Lecture Notes 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?