代码拉取完成,页面将自动刷新
#ifndef __CACHE2MEM__H__
#define __CACHE2MEM__H__
#if 0
#define BLOCK_MATCH(a,b) (((a) & ~0x1f) == ((b) & ~0x1f))
enum miss_state {
MQ_EMPTY,MQ_MISS,MQ_VCMISS,MQ_VCHIT,MQ_MEMREF,MQ_DELAY1,MQ_DELAY2,MQ_DELAY3
};
struct miss_queue {
enum miss_state state;
int set;
md_addr_t paddr;
int inst;
int memcnt;
int cachecnt;
};
struct writeback_queue {
int valid;
int w;
md_addr_t paddr;
};
struct refill_packet {
int valid;
int replace;
int set;
int paddr;
int cnt;
struct cache_blk *blk;
struct refill_packet *next;
};
struct memory_queue {
int read;
int qid;
int count;
struct memory_queue *next;
};
#define REFILL_FREE_LIST_SIZE 8
extern struct refill_packet *refill_free_list;
extern counter_t mread_count;
extern counter_t mwrite_count;
extern counter_t memq_busy_count;
extern counter_t dmemread_count;
extern counter_t imemread_count;
extern int missq_ifq_size;
extern int wtbkq_ifq_size;
extern struct miss_queue *missq;
extern struct writeback_queue *wtbkq;
extern int memq_ifq_size;
extern int memq_num;
extern struct memory_queue *memq_head,*memq_free_list;
extern struct refill_bus refill;
extern int mem_read_first_delay;
extern int mem_read_interval_delay;
extern int mem_write_delay;
extern void cache2mem_init(void);
extern void cache2mem(void);
extern void check_memq(void);
extern void wtbkq_enter(md_addr_t paddr,int w);
extern struct refill_packet *refill_get_free_list(void);
extern void refill_return_to_free_list(struct refill_packet *temp);
#endif
void missq_change_state(struct godson2_cpu* st,int qid,int new_state);
#endif
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。