A question, is it distance as in from the PC (absolute addressing from a datum) or as in the number of instructions executed (meaning a 4 byte conditional branch can shift the whole history)?
It's more or less a ring buffer - new results are pushed on one by one, old results get popped off by being overwritten, and distances are relative to the newest entry.
Their second design, "clockhands", has multiple ring buffers, which makes it much easier to deal with conditional branches, amongst other things. Their third, "turbulence" has both a ring buffer and conventional registers.
It's more or less a ring buffer - new results are pushed on one by one, old results get popped off by being overwritten, and distances are relative to the newest entry.
Their second design, "clockhands", has multiple ring buffers, which makes it much easier to deal with conditional branches, amongst other things. Their third, "turbulence" has both a ring buffer and conventional registers.