1. The PicoTurbo case was actually a loss for ARM. PicoTurbo showed the holes in ARM's patents (specifically prior art and the ability to implement patented functionality differently). ARM paid PicoTurbo millions of dollars to go away.
2. It is important to understand that interfaces (i.e., the instruction set) are not covered under patents or copyrights. ARM patents specific implementations of features mandated by the instruction set; that is how they protect themselves. It is legal to implement the latest ARM instruction set using techniques not covered by ARM's patents.
PicoTurbo eventually settled out of court.
I would say it was a win for ARM.
PicoTurbo acknowledged ARM's patents and its rights to enforce them and agreed to stop its sales and marketing efforts on the disputed products and IP. PicoTurbo's existing customers were "legitimized" by ARM and allowed to go to market with support from PicoTurbo.
As PicoTurbo could no longer sell I think the company was dissolved soon after this happened in December 2001.
I don't know if ARM paid PicoTurbo "millions to go away" as part of the settlement.
If that is right i might have to change my position on it being a win for ARM.
But even if they did spend millions it was probably money will spent to send out the message that there is little to be gained commercially by trying to clone an ARM processor.
Yes I am sure that interfaces (the ISA in this case) are not patentable or copyrightable. To be sure, look at the paperwork in the PicoTurbo case. The patents ARM sued about were about implementations of the ISA, not the ISA itself.
I think PicoTurbo showed that best defense is prior art. Other than that, you have to show that your implementation is meaningfully (approaching 100%) different than what ARM has valid patents for. Note that the patents cover only a small part of the processor though.
Here is the pertinent blurb, "So long as the specific code used to implement a method is different, anyone is free under the Copyright Act to write his or her own code to carry out exactly the same function or specification of any methods used in the Java API. It does not matter that the declaration or method header lines are identical."