[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: 6502 trashing memory cycles...



<bieling@terra.es> wrote in message 
1173035529.995413.293070@n33g2000cwc.googlegroups.com">news:1173035529.995413.293070@n33g2000cwc.googlegroups.com...
> Hello,
>
> I've been having a look at the 6502 instruction details in the
> databooks and in uta2,p20..23. I've never realized that the 6502
> trashes so many memory cycles here and there. For example 3 out of the
> 6 cycles of an RTS are useless. 2 out of 4 of a PLA are useless, 1 out
> of 2 of a DEX are useless.
>
> The table in uta2,p22, shows the instructions classiffied in 29
> groups. 22 out of the 29 opcode groups trash between 1 and 3 memory
> cycles..!
>
> A clever circuit could make good use of so many memory cycles for some
> other purpose... any ideas ?

Jorge,

    Why do you think this way?  Let me give you the information below.  I 
don't think 3 out of the 6 cycles of an RTS are useless.


Cycle  Address Bus  Data Bus      External Operation  Internal Operation
1       0300           Opcode          Fetch Opcode           Finish 
Previous Operation, 0301 + PC

2       0301           Discarded Data  Fetch Discarded Data   Decode RTS

3       01FD           Discarded Data  Fetch Discarded Data   Increment 
Stack Pointer to 01FE

4       01FE           02              Fetch PCL              Increment 
Stack Pointer to 01FF

5       01FF           01              Fetch PCH

6       0102           Discarded Data  Put out PC             Increment PC 
by 1 to 0103

7       0103           Next Opcode     Fetch Next Opcode


    You can look at Synertek programming manual back to August 1976 from MOS 
Technology, Inc 1975.  It is useful for more information what you need to 
know.

Bryan Parkoff