Microcontrollers are terrible at scheduling and interrupts like async are just scheduling. In order improve the time share performance you need to increase the clock speed significantly to achieve even a small boost in performance. The RP2040 when running out of RAM gets about a 4-5 times boost over maybe something like an AVR. Crazy right? AVR is probably faster than RP2040 out of XIP.
Interrupts are most useful for latency. (Most people use them for FIFOs..which does not always end well.) They do not work well for throughput. You are simulating low latency at high throughput. A FPGA may be capable of lifting the throughput. FPGA predominately handles computation or throughput rather than time share which is much lower. Modern microcontrollers are moving to more ideal processors which means the way you program them is much more structured. This structure should port to FPGAs but optimization will struggle to see the point to this.
Interrupts work well with burst mode transfers or packets. Response time should be measured carefully. There are multiple aspects which go into achieving these response times. However most should simply use a faster processor to ensure safe operations in all scenarios. However this is basically true and false.
Never race an interrupt, you will always lose. Hackers beware. (Producer-consumer stalemate)
Interrupts are most useful for latency. (Most people use them for FIFOs..which does not always end well.) They do not work well for throughput. You are simulating low latency at high throughput. A FPGA may be capable of lifting the throughput. FPGA predominately handles computation or throughput rather than time share which is much lower. Modern microcontrollers are moving to more ideal processors which means the way you program them is much more structured. This structure should port to FPGAs but optimization will struggle to see the point to this.
Interrupts work well with burst mode transfers or packets. Response time should be measured carefully. There are multiple aspects which go into achieving these response times. However most should simply use a faster processor to ensure safe operations in all scenarios. However this is basically true and false.
Never race an interrupt, you will always lose. Hackers beware. (Producer-consumer stalemate)
Statistics: Posted by dthacher — Fri Sep 20, 2024 6:53 pm