跳转至

Cache 模块

指令 Cache

graph TD subgraph sInit init((Init)) -->|Begin| clear((Write Zero)) clear --> init_done{{Init Done?}} init_done -->|No| advance_address[Advance Address] advance_address --> clear end subgraph sIdle init_done -->|Yes| idle((Wait for Req)) idle -->|Read Req Fire| hit{{Hit?}} idle -->|Not Fired| idle hit -->|Yes| in_buffer{{In Buffer?}} in_buffer -->|Yes| return_buffer(Return Buffer) in_buffer -->|No| return_mem(Return Mem) return_buffer --> idle return_mem --> idle hit -->|No| send((Mem Read Req)) send --> |Not Fired| send end subgraph sFetch send -->|Fire| wait_read((Wait Mem Resp)) wait_read -->|Not Fired| wait_read wait_read -->|Fire| shift_data[Shift Data] shift_data --> write_done{{Last Data?}} write_done -->|No| wait_read write_done -->|Yes| write_data[Write Mem & Buffer] write_data --> return_buffer end

数据 Cache


最后更新: May 6, 2020
作者: Harry Chen