6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Tue Sep 17, 2024 8:53 pm

All times are UTC




Post new topic Reply to topic  [ 13 posts ] 
Author Message
PostPosted: Sat Jun 30, 2018 4:43 pm 
Online
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10938
Location: England
I just stumbled across(*) a reference to a 1990 Usenet posting and thought it might be of interest. It seems to be dating from when WDC are in the process of making the 65816 and there are some idiosyncracies. (It sounds as if ASIC (confusing company name!) are making a re-engineered '816 in a gate array, but I can't quite work that bit out.)

Filtering out the usual argument-on-the-internet, the interesting thing to me is that REP and SEP had timing problems, possibly due to layout (rather than, say, logical design, or a pipelining mistake). Full thread here.

Here's Todd P. Whitesel:
Quote:
Bill Mensch did a good job on the instruction set, but his mask leaves a lot to be desired since it does not lend itself to high speed operation. Unless they've fixed things, on the 8 mhz parts REP and SEP take 250 ns to operate so you have to put a NOP after each one OR you have to stretch the clock the way the transwarp does. WDC has admitted that this is caused by very long signal lines.


Brian WILLOUGHBY:
Quote:
Did you know that W.D.Mensch worked for the company that originally designed the 6502? I think that qualifies him to do design work in his kitchen after a decade of experience.


Todd P. Whitesel:
Quote:
I'm not arguing with that, in fact it's one reason I admire his architectural enhancements in the 65816. All I'm saying is that his timing margins are lousy because of it. I am actually building stuff that uses his chips so I have to know about this. The project I am building now will require wait states on the DRAM, not because the DRAM is too slow, but because the WDC chip's timing margins are very bad. (For a 4 mhz WDC chip you need 8 mhz'able parts, and WDC's timing margins are forcing me to (a) make my timing generator a lot more complex or (b) add a wait state. I decided to make the best of it and perform a hidden refresh during the wait state.)
...
What they did is produce a mask that works but has been giving them gobs of trouble when they try to shrink it. I will stop ragging on them IF they can get into production a part that:

  • runs at 15 Mhz (14.31818 or better, really) w/ 35 ns SRAMs
  • is available in single quantities _somewhere_ for reasonable $$$
  • does not have the blasted REP/SEP timing problem
  • handles ABORT in a usable way (it doesn't currently)
What I am ragging on is the fact that they are trying to milk more speed out of the same mask when it would be a lot easier to redesign the mask itself so it is native to a newer technology that does run at higher speeds.

ASIC reverse-engineered the chip from WDC's timing diagrams. Their utmost goal is "105% compatibility" meaning that all software will work (even the Disk ][) and that the REP/SEP quirks will be gone. They might have fixed ABORT, but I don't know for sure.
...
Gate arrays are now fast enough (and big enough for an 8000 gate design like the 65816); they are also cheaper to make and are very easy to second source... in other words, Apple loves them. If the ASIC chip really is 100% compatible then Apple will jump on it. (They'd better...)

BTW, Apple has had the tools to do what ASIC is doing for a few years now.

ASIC has claimed from the start that they will be fully compatible with the PLCC version of WDC's chip. This means they will have to at least respect the timing margins given by WDC. From my examination of WDC data sheets I do not think that will be very hard to do.


(*) Mentioned and perhaps even better presented in this retrocomputing stackexchange post.

Edit: apparently another usenet post "claims WDC fixed the REP/SEP timing issues in 1992"

Edit: see also this usenet thread


Top
 Profile  
Reply with quote  
PostPosted: Sat Jun 30, 2018 5:06 pm 
Offline
User avatar

Joined: Wed Mar 01, 2017 8:54 pm
Posts: 660
Location: North-Germany
Very interesting, thank you BigEd!

And BTW a hint how to verify an 816/265 running at high speeds: millions of REPs and SEPs and PHPs to verify them :)


Top
 Profile  
Reply with quote  
PostPosted: Sat Jun 30, 2018 5:55 pm 
Offline

Joined: Mon May 21, 2018 8:09 pm
Posts: 1462
I note that REP and SEP are specified to take 3 cycles in this timing table, though they are 2-byte instructions: http://www.oxyron.de/html/opcodes816.html - so I assume they were "fixed" by inserting an extra cycle into them.


Top
 Profile  
Reply with quote  
PostPosted: Sat Jun 30, 2018 6:33 pm 
Online
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10938
Location: England
Sneaky!
(Edit: but see below - this isn't on the mark, as it turns out)


Last edited by BigEd on Sun Jul 01, 2018 8:47 pm, edited 1 time in total.

Top
 Profile  
Reply with quote  
PostPosted: Sun Jul 01, 2018 5:06 am 
Offline

Joined: Sat Dec 13, 2003 3:37 pm
Posts: 1004
There was a StackOverflow post about this the other day.

I assume this is a legacy issue, and not a problem with production chips? or current production chips? Or...what?

I found it a bit confusing, but I didn't follow any of the links.


Top
 Profile  
Reply with quote  
PostPosted: Sun Jul 01, 2018 7:04 am 
Online
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10938
Location: England
Indeed, it was the stackoverflow update which triggered my post. I'd almost forgotten that fact when I was writing it, but it made it into the footnote.

And indeed, as noted in another footnote, the REP/SEP problem was "fixed" in 1992.

This post isn't about problems with today's '816 - it's about the history and the innards of the '816. That's why I put (very early) into the post title and mentioned the year, 1990.


Top
 Profile  
Reply with quote  
PostPosted: Sun Jul 01, 2018 4:27 pm 
Offline

Joined: Sat Dec 13, 2003 3:37 pm
Posts: 1004
So, do legacy chips have this problem? Does the IIgs have this problem? Or is the IIgs simply not fast enough for this to manifest.

The SO answer mentions that Sanyo "fixed" it in 1992, so I assume that's the fix we have today? As someone else mentioned, REP and SEP take 3 cycles today, and that may be how the fix manifests itself.


Top
 Profile  
Reply with quote  
PostPosted: Sun Jul 01, 2018 4:40 pm 
Online
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10938
Location: England
The iigs has trouble having this problem as, I think, it's only clocked at 2.8MHz.

But see also
Quote:
AE released the TransWarp GS in winter of 1988. The board came stock at 7MHz and 8k cache. They later upgraded the board to 8MHz and offered a 32k cache board. The limiting factor to speed at the time was the "buggy" 816 CPU die. Later Western Design Center (WDC) worked with Sanyo to redesign the die, and the CPU speeds easily reached 10MHz. By this time however AE was out of business.


https://wiki.reactivemicro.com/TransWarp_GS


Top
 Profile  
Reply with quote  
PostPosted: Sun Jul 01, 2018 8:42 pm 
Offline
User avatar

Joined: Wed Mar 01, 2017 8:54 pm
Posts: 660
Location: North-Germany
It took me a while but finally I found the 65816 opcode map in the article in Byte magazine Aug.,1984 on page 386 ( ! ).
Attachment:
1984_08_BYTE_09-08_Modula-2_pg386.pdf [1.08 MiB]
Downloaded 126 times

REP and SEP have had been 3 cycles from the very start.


Top
 Profile  
Reply with quote  
PostPosted: Sun Jul 01, 2018 8:58 pm 
Online
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10938
Location: England
Well, that's an interesting finding!


Top
 Profile  
Reply with quote  
PostPosted: Mon Jul 02, 2018 9:05 am 
Offline
User avatar

Joined: Tue Mar 02, 2004 8:55 am
Posts: 996
Location: Berkshire, UK
BigEd wrote:
Well, that's an interesting finding!

Ooo, Modula-2 .. downloaded the full issue to browse later.

_________________
Andrew Jacobs
6502 & PIC Stuff - http://www.obelisk.me.uk/
Cross-Platform 6502/65C02/65816 Macro Assembler - http://www.obelisk.me.uk/dev65/
Open Source Projects - https://github.com/andrew-jacobs


Top
 Profile  
Reply with quote  
PostPosted: Mon Jul 02, 2018 5:22 pm 
Offline
User avatar

Joined: Wed Mar 01, 2017 8:54 pm
Posts: 660
Location: North-Germany
BitWise wrote:
Ooo, Modula-2 .. downloaded the full issue to browse later.

:D
Then you should download the WRONG(October) September issue (same year) as well: a review of Lilith and a Sage 68K machine running Modula-2.

EDIT(1): correction: it is the September issue (Vol.9, No. 10)


Last edited by GaBuZoMeu on Mon Jul 02, 2018 5:42 pm, edited 1 time in total.

Top
 Profile  
Reply with quote  
PostPosted: Mon Jul 02, 2018 5:30 pm 
Online
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10938
Location: England
Archive.org has both issues:
https://archive.org/details/byte-magazine-1984-08
https://archive.org/details/BYTE_Vol_09 ... r_Graphics
(Lilith review on p308)


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 13 posts ] 

All times are UTC


Who is online

Users browsing this forum: No registered users and 3 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to: