Path: utzoo!attcan!uunet!husc6!sri-unix!dbeck From: dbeck@unix.SRI.COM (Douglas K. Beck) Newsgroups: comp.sys.mac.programmer Subject: Transfer problems Message-ID: <18251@sri-unix.SRI.COM> Date: 18 Jun 88 16:38:51 GMT Reply-To: dbeck@unix.sri.com (Douglas K. Beck) Organization: SRI, Menlo Park, CA. Lines: 15 Here is a question for some fine detain maven. My current project is being done with Lightspeed C. One of the tasks is to move 16 megabytes of data from a National Semi add in board in my Mac II to a parallel output port. The task requires that a new long word be delivered in one microsecond or under. Looking at my 020 book lead me to believe that the instruction move.l (a3)+,(a4) could be done in 7 cycles. The MacII clock has a 64ns period thus the basic instruction *should* execute in 447ns. I constructed an assembly language loop that consisted of 16 of the move instructions and two loop update instructions which contribute about 10 percent overhead, with the entire loop body residing in the cache. The execuition speed I obtain is 1.22us per longword transfer. Where did I go wrong? A demoralized mind wants to know. dbeck@unix.sri.com doug beck