在 gem5 中乘以循环变量
Multiply Cycles variable in gem5
我想知道是否可以在 gem5 中乘以 Cycles 类型的变量。我想表示的是某个延迟加了n次。所以像这样:
return lookupLatency * n;
我收到这个错误:
error: could not convert '(((const BaseCache*)this)->BaseCache::lookupLatency.Cycles::operator uint64_t() * ((uint64_t)n))' from 'uint64_t {aka long unsigned int}' to 'Cycles'
有什么方法可以快速做到这一点?
Cycles 只是 class uint64_t 的包装器,您可以在 src/base/types.hh.
中查看其功能
也就是说,构造函数必须是显式的,并且您正试图从 lookupLatency * n 隐式创建一个 Cycles 变量,这是一个 uint64_t。只需调用构造函数使其再次循环:
return Cycles(lookupLatency * n);
我想知道是否可以在 gem5 中乘以 Cycles 类型的变量。我想表示的是某个延迟加了n次。所以像这样:
return lookupLatency * n;
我收到这个错误:
error: could not convert '(((const BaseCache*)this)->BaseCache::lookupLatency.Cycles::operator uint64_t() * ((uint64_t)n))' from 'uint64_t {aka long unsigned int}' to 'Cycles'
有什么方法可以快速做到这一点?
Cycles 只是 class uint64_t 的包装器,您可以在 src/base/types.hh.
中查看其功能也就是说,构造函数必须是显式的,并且您正试图从 lookupLatency * n 隐式创建一个 Cycles 变量,这是一个 uint64_t。只需调用构造函数使其再次循环:
return Cycles(lookupLatency * n);