Class v6 census, the uniform tool: site s is load instruction s / 2 under the interleaved two-window schedule (rows 2k and 2k + 1 are instruction k)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
parent
c1f354a4a2
commit
c3bbf36330
1 changed files with 3 additions and 1 deletions
|
|
@ -117,7 +117,9 @@ fn main() {
|
|||
.iter()
|
||||
.enumerate()
|
||||
.map(|(s, d)| {
|
||||
let ins = &loads[s % loads.len()];
|
||||
// the interleaved two-window schedule runs instruction k on window 0 then on window 1 (rows 2k
|
||||
// and 2k + 1), so site s is load instruction s / 2 there and s otherwise
|
||||
let ins = if sites == 2 * loads.len() { &loads[s / 2] } else { &loads[s % loads.len()] };
|
||||
let w = if p.class.era.is_some() { (window(ins, mask, log2).0 as u64 + 1) as f64 } else { (1u64 << log2) as f64 } / (ins.width.max(1) as f64);
|
||||
let e_s = n - n * n / (2.0 * w);
|
||||
(d.iter().map(|w| w.count_ones() as u64).sum::<u64>() as f64 / e_s, s)
|
||||
|
|
|
|||
Loading…
Reference in a new issue