J
Jim Granville
Guest
john jakson wrote:
<Snip>
interrupts, that would need sightly different hardware (no problem in a
FPGA-CPU
It is a CPU structure that would seem to fit well into FPGA resource.
- First scheme allows any/(first) available free timeslot to an
interrupt thread. This allows good granularity, but does not give the
smallest possible INT response.
- Other scheme is carefull to leave every second time-slot free, for
possible INT. INT response/context sw is MUCH faster (1-2 clocks), but
cost is that other threads cannot have more than 50% of the CPU.
With time-sliced CPUs threads have zero time-crosstalk, but the peak
CPU usage for any single thread is lower.
in most embedded applications, bounding the slowest path, and reducing
jitter, can matter more than fastest-possible-speed over a short
distance numbers.
-jg
<Snip>
The Ubicom part claims 0 or 1 cycles.I suspect that the several ASIC MT cpus that have recently come along
for the wireless set could well have the best int response esp 1 that
runs 8 threads at 250MHz (or was it 400MHz) because the threads run
all the time every 8th cycle. ANd these cpus don't have context to
swap since they have N contexts in ram.
In a hard-timesliced CPU, I can see two schemes for handlingTechnically Transputers don't have interrupts, thats too low a level
of looking at them, but they do service events with an incredibly
quick response for a variety of reasons but that was at 25MHz and
15yrs ago.
Now the R3 cpu also being an multithreaded (MT) cpu (and also now
running baby code BTW in C model) could designate 1 of its 16 threads
to poll some HW and take the event home. That would mean about 20-50
cycles of computation might pass before Pn noticed it had to do some
work. If Pn can find away to stay active in the IX engine without
branching (which causes process swap round robin style) then it could
notice an event in <4cycles. I don't think I will add support for
always stay active process. Now when the process thats does service an
interupt does get it's turn, it will have no registers to swap but it
may have to do some cache misses while workset becomes reloaded but
thats transparent to MT. If it pans out at 250MHz in V2Pro it may or
may not have fastest int response. It will however have the most
throughput of any FPGA cpu bordering on 1.3clock Freq from the sim
traces. It loves branches and transfers and swapping, its the nature
of the MT beastie.
interrupts, that would need sightly different hardware (no problem in a
FPGA-CPU
It is a CPU structure that would seem to fit well into FPGA resource.
- First scheme allows any/(first) available free timeslot to an
interrupt thread. This allows good granularity, but does not give the
smallest possible INT response.
- Other scheme is carefull to leave every second time-slot free, for
possible INT. INT response/context sw is MUCH faster (1-2 clocks), but
cost is that other threads cannot have more than 50% of the CPU.
With time-sliced CPUs threads have zero time-crosstalk, but the peak
CPU usage for any single thread is lower.
in most embedded applications, bounding the slowest path, and reducing
jitter, can matter more than fastest-possible-speed over a short
distance numbers.
-jg