Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!wuarchive!uunet!mcsun!hp4nl!phigate!prle!prles2!cstw18!meulenbr From: meulenbr@cst.prl.philips.nl (Frans Meulenbroeks) Newsgroups: comp.sys.m68k Subject: 68030 usage questions Message-ID: Date: 11 Jun 91 07:44:11 GMT Sender: news@prles2.prl.philips.nl Lines: 33 Hi, I'm moving software from a 68000 system to a 68030 system. While doing so two questions came up. On the 68000 my longs and pointers (in C) are word aligned. Would it boost performance if they were longword aligned? Significantly?? The code to be moved also contains a copy loop in assembler to copy substantial chunks of data (512 bytes). Since this copy operation is done very often we tried to make it as fast as possible. The solution used was to dump all registers (except a7) on the stack, load the src address in a0 and the destination address in a1, and then copy by filling the register with movem.l and writing them to the other memory part with another movem.l. This is done as often as needed (not in a loop, it is inline). At the end the old registers are restored. Advantage is that there are few opcode fetches, so a lot of copying is done with little overhead. However, I was wondering if this can be done faster on the 68030. I could use a dbf loop here and copy a long at a time. Would this be faster than my 68000 movem solution. I don't know the cost of a move.l/dbf loop when it is in the cache, and the part describing timing is not the most readable part of the 030 manual. Does anyone have an idea which alternative is better? Or is there even a better solution?? Thanks! -- Frans Meulenbroeks (meulenbr@prl.philips.nl) Centre for Software Technology