Liste des Groupes | Revenir à c arch |
"Paul A. Clayton" <paaronclayton@gmail.com> writes:On 4/9/24 8:28 PM, MitchAlsup1 wrote:BGB-Alt wrote:[snip]>Things like memcpy/memmove/memset/etc, are function calls in cases when not directly transformed into register load/store sequences.My 66000 does not convert them into LD-ST sequences, MM is a single instruction.
I wonder if it would be useful to have an immediate count form of
memory move. Copying fixed-size structures would be able to use an
immediate. Aside from not having to load an immediate for such
cases, there might be microarchitectural benefits to using a
constant. Since fixed-sized copies would likely be limited to
smaller regions (with the possible exception of 8 MiB page copies)
and the overhead of loading a constant for large sizes would be
tiny, only providing a 16-bit immediate form might be reasonable.
It seems to me that an offloaded DMA engine would be a farEffectively, that is what HW does, even on the lower end machines,
better way to do memmove (over some threshhold, perhaps a
cache line) without trashing the caches. Likewise memset.
>Did end up with an intermediate "memcpy slide", which can handle medium size memcpy and memset style operations by branching into a slide.MMs and MSs that do not cross page boundaries are ATOMIC. The entire system
sees only the before or only the after state and nothing in between.
One might wonder how that atomicity is guaranteed in aThe entire chunk of data traverses the interconnect as a single
SMP processor...
Les messages affichés proviennent d'usenet.