[comp.sys.m68k] 68000 and 68010 questions

rhwang@cs.utexas.edu (Rwo-Hsi Wang) (03/23/90)

I have two questions about the instruction execution time for 68000 and
68010.  Hope someone can give me the answers.
 
    1.  In appendix D of M68000 Programmer's Reference Manual (4th edition),
	there are some descriptions about the basic operations included in
	the number of clock periods given in the tables.  In section D.3,
	MOVE instruction execution times, the data includes instruction
	fetch, which presumably is the fetch of the move instruction itself.
	In section D.4, standard instruction execution times, the data
	includes, among other things, reading the next instruction.  If they
	are correct, how do I calculate the following pieces of codes?

	A:	move	D1,D2	; This does not include instr. prefetch.
		add	D2,D3	; What is the fetch time for this instr.?

	B:	add	D1,D2	; Since instr. prefetch has been counted,
		move	D2,D3	; is this instruction fetch time redundant?

	Each of the above instruction individually takes 4 clock periods to
	execute, according to the tables.  But how many clock periods are 
	needed in A and in B?  Do both of them take 8 clock periods?

    2.  (Question about 68010)  According to the (same) manual, it states
	(in appendix F.2, Operand effective address calculation times) that 

		Several instructions do not need the operand at an effective
	    address to be fetched and thus require fewer clock periods to
	    calculate a given effective address than the instructions that
	    do fetch the effective address operand.

	My questions is: what instructions does the above sentence refer to?
	(that is, how do I know whether an instruction need to fetch the
	effective address operand?)

Thanks for your help.

Rwo-Hsi Wang
rhwang@cs.utexas.edu

pl@etana.tut.fi (Lehtinen Pertti) (03/23/90)

From article <8215@cs.utexas.edu>, by rhwang@cs.utexas.edu (Rwo-Hsi Wang):
> 
>     2.  (Question about 68010)  According to the (same) manual, it states
> 	(in appendix F.2, Operand effective address calculation times) that 
> 
> 		Several instructions do not need the operand at an effective
> 	    address to be fetched and thus require fewer clock periods to
> 	    calculate a given effective address than the instructions that
> 	    do fetch the effective address operand.
> 
> 	My questions is: what instructions does the above sentence refer to?
> 	(that is, how do I know whether an instruction need to fetch the
> 	effective address operand?)
> 

	On some instructions (at least CLR) MC68000 fetches destination
	operand from memory, although it is totally replaced by zero.

	These phenomens are removed on MC68010 and thus the comment.

--
pl@tut.fi				! All opinions expressed above are
Pertti Lehtinen				! purely offending and in subject
Tampere University of Technology	! to change without any further
Software Systems Laboratory		! notice

dolf@idca.tds.PHILIPS.nl (Dolf Grunbauer) (03/27/90)

In article <8215@cs.utexas.edu> rhwang@cs.utexas.edu (Rwo-Hsi Wang) writes:
> Hope someone can give me the answers.
I will try. I am not so sure of my answer on the first question.
> 
>    1.  In appendix D of M68000 Programmer's Reference Manual (4th edition),
>	there are some descriptions about the basic operations included in
>	the number of clock periods given in the tables.  In section D.3,
> [ stuff deleted ]
Good question, although I do not think you should take care of the different
defintions, as there is an instruction to be fetched, processed, operands
to be fetched, and write back. Whether the fetch time of the next instruction
or the current instruction is given is not important I guess as the
MC68000/MC68010 do not have a pipe-line.

>    2.  (Question about 68010)  According to the (same) manual, it states
>	(in appendix F.2, Operand effective address calculation times) that 
>
>		Several instructions do not need the operand at an effective
>	    address to be fetched and thus require fewer clock periods to
>	    calculate a given effective address than the instructions that
>	    do fetch the effective address operand.

An effective address to be fetched is when it is used as source.
An effective address not to be fetched is an address which is used as
destination. Note that in this table there are no 'no fetch' entries
for PC-relartive and immediate data entries, as these addressing modes
can never be the destination.
Source addressing is always slower as apart from the address calculation
the operand has still to be fetched, requiring extra read cycles.
Destination addressing only requires the address calculation.

>Thanks for your help.
I hope it did ;-)
-- 
Dolf Grunbauer          Tel: +31 55 433233  Internet dolf@idca.tds.philips.nl
Philips Telecommunication and Data Systems  UUCP ....!mcsun!philapd!dolf
Dept. SSP, P.O. Box 245, 7300 AE Apeldoorn, The Netherlands         n   n   n
It's a pity my .signature is too small to show you my solution of  a + b = c