Pros and cons of CPU variations

General discussions or ideas about hardware.
Post Reply
User avatar
exxos
Site Admin
Site Admin
Posts: 3926
Joined: Wed Aug 16, 2017 11:19 pm
Location: UK
Contact:

Pros and cons of CPU variations

Post by exxos » Tue Dec 26, 2017 11:21 am

I haven't looked into the Suska core much yet, to see if the instructions themselves are cycle accurate or not.. If they are not then they will of course break a lot of demos and even some games. Of course any change to hardware is going to have impact on software compatibility.

It is well-known that speeding up the CPU is going to break too much all demos due to some instructions running many times faster internally CPU, such as int-div. But this is the price we pay for extra speed.

Now I am not wanting to get into Apollo core again. But the way I see it, we could take the 68000 core and basely add things like MMX instructions into it. Sure these instructions are awesome, and can function better than CPU instructions, but of course main problem is what software will use it ? So Apollo can put in any instruction sets they like, isn't going to do a thing for the Atari community.

You can even look at 030 CPU or Falcon, of course I cannot say much because I'm not a software person, but I suspect not much software makes use of the 030 advanced instruction set. Most software is written on the 68000 core, so any move away from this is really a mistake in my view.

If we forget about 030 instruction sets for a moment, of course 030 is more efficient on some instructions like divisions etc, aside from that, the only real attractive thing about the 030 is the instruction and data caches, as these can cache ST-RAM which is main bottleneck in machine. So in this respect the 030 is a really useful CPU.

The next main thing is 32bit access. This is only useful for ROM and fast-ram systems which can be addressed in 32-bit mode. So whatever the CPU clock speed is, 32 bit access will pretty much double the speed again.

But if we think back a little here, even without the cache enabled, the basic 030 isn't going to be compatible with demos due to more efficient core, a lot of instructions will run faster and break software due to that alone. This is exactly the same issue as my boosters as once you get higher clock speeds, the break a lot of the system timings and also break software. So for sure the 030 is a awesome CPU in terms of speed.. But you can forget demos and compatibility with some software and games..This really brings me on to things like MiST where demos, so I hear, do not generally run because the systems not cycle accurate.

So if we look again at the Apollo core, they want to do even more to the processor, and then start breaking the video system as well, where they will at high resolutions, which is great, of course little software is going to use it, and the will of course break the system even more. Overall there is not much left of original architecture and would just result in maximum incompatibility with software.

But of course if you are a person who just wants to use apps or write new apps with better features of system, then it will be ideal, as majority of software is a 68000 core, and not much software being written in recent times, and I do not really see adding bunches of new features to a processor is really worthwhile.

What I try and do is look at it all sensibly, and see the software which is already available, and see that most people are likely just be playing games, so compatibility I think is top priority. If people want to go off in another direction, that is also fine, people can go and support that project if they want. Everyone one something different from a machine so of course it is difficult for anyone single solution to satisfy everyone.

As for the Suska core, if it is not cycle accurate on instructions, and it will of course break software. But things like this, there is no reason why experts cannot add cache and 32-bit access, and even add more address lines to access more amounts of fast-ram.

Ultimately I doubt anyone is going to put the work into this, even so, accelerators could be created with a standard 68000 CPU, and simply have switch which between the original CPU core, and the advanced CPU core. This is basically what I do with my boosters, where the acceleration is turned off, to set back to stock machine settings, to retain maximum compatibility with software.. But of course here, if a FPGA core, offers very little over a 030 CPU, then it may not be worth going down that route start with.

I personally are going to max out everything the 68000 CPU can do before seriously looking into other solutions. I am fairly sure a 68000 SEC CPU can run at around 50Mhz. So this would be the last real step I would do to my boosters. But of course this is also likely not going to happen for a couple of years yet as I just have way too much work to finish with everything else yet. With others working on other processor boards relating to the 030 etc, I will probably be reluctant to move away from the 68000 stuff, I don't want to spend the another 5-10 years working on boosters if someone else has already created a solution for this.
4MB STFM 1.44 FD- VELOCE+ 020 STE - 4MB STE 32MHz - STFM 16MHz - STM - MEGA ST - Falcon 030 CT60 - Atari 2600 - Atari 7800 - Gigafile - SD Floppy Emulator - PeST - HxC - CosmosEx - Ultrasatan - various clutter

https://www.exxoshost.co.uk/atari/ All my hardware guides - mods - games - STOS
https://www.exxoshost.co.uk/atari/last/storenew/ - All my hardware mods for sale - Please help support by making a purchase.

Petari
Software Moderator
Software Moderator
Posts: 538
Joined: Tue Nov 28, 2017 1:32 pm

Re: Pros and cons of CPU variations

Post by Petari » Tue Dec 26, 2017 11:47 am

I would be very careful with those "cycle exact" claims. Maybe if someone would say '100% cycle exact' - that should be more convincing. Even then, testing it is only way to be sure. So, first thing is: how to test ? I mean here what HW. We know what SW is most sensitive. And because that SW relies a lot on other things - video stage in first place, there is only 1 way, I think: putting that FPGA CPU in real ST(E).

I had some mailing with Majsta from Belgrade - he asked for help about IDE adapter for Amiga clone. And he said once that his FPGA 68000 is cycle accurate. How much cycle accurate ? I did not ask him. I even don't know is that closed or open source.
Then, I seen at YT video of some early presentation of Vampire in Belgrade - most of audience were some hardcore Amiga fans. And I heard some really strange, I would say exaggerated claims. It was some 10 months ago. Now we know more about Vampire - and it is slower than they talked about.
Considering MMX - that name, abbrev is mistake. And even most likely Trade mark. So, they call it now often little different - AMMX or like. It is basically multiple data processed with 1 instruction. Of course, code for it is not compatible with anything. Then, they dream about making 1GHz version of it, not as FPGA, but as regular chip, by some chip manufacturer - something what even Sinclair did not (in Spectrum there was ULA chip as only 1 'custom' chip).
I'm sure that it is extremely bad idea. It will be not enough even for DVD playback, most likely. Why Motorola and Apple abandoned 68xxx line many years ago ?
All in all, I'm for 68000 clone, or some high speed new one, if is available. Even 68030 is not 100% compatible with old SW. Clone should be as much compatible as possible. There will be still enough problems with old SW - because higher speed, so don't be afraid that SW patchers will remain without job :lol:
There is 2 kind of people: one thinking about moving to Mars after here becomes too bad, the others thinking about how to keep this planet habitable.

User avatar
exxos
Site Admin
Site Admin
Posts: 3926
Joined: Wed Aug 16, 2017 11:19 pm
Location: UK
Contact:

Re: Pros and cons of CPU variations

Post by exxos » Tue Dec 26, 2017 12:45 pm

Petari wrote:
Tue Dec 26, 2017 11:47 am
I would be very careful with those "cycle exact" claims. Maybe if someone would say '100% cycle exact' - that should be more convincing. Even then, testing it is only way to be sure. So, first thing is: how to test ? I mean here what HW. We know what SW is most sensitive. And because that SW relies a lot on other things - video stage in first place, there is only 1 way, I think: putting that FPGA CPU in real ST(E).
Not sure if anyone claimed cycle exact or not, but of course it needs to be tested, I'll be surprised if it is 100% exact, I mean steem emulator really tries hard to do this, but it is still not totally exact.

Of course testing lots of software, is the only way to know, but of course any change the hardware is never going to be perfect I think. It is why I always have a method to go back to stock machine settings.

It will probably be best just as soon that a new core would just act like a 68000 but with internal instructions running a lot faster like on my boosters.

The interesting thing about cause though, is that things can be added such as cache or more address lines easily. In this respect this type of technology makes it interesting. It could may well include internal blitter for example.

But of course if nobody is going to develop such a CPU, then the original CPU's will be the only valid option.
4MB STFM 1.44 FD- VELOCE+ 020 STE - 4MB STE 32MHz - STFM 16MHz - STM - MEGA ST - Falcon 030 CT60 - Atari 2600 - Atari 7800 - Gigafile - SD Floppy Emulator - PeST - HxC - CosmosEx - Ultrasatan - various clutter

https://www.exxoshost.co.uk/atari/ All my hardware guides - mods - games - STOS
https://www.exxoshost.co.uk/atari/last/storenew/ - All my hardware mods for sale - Please help support by making a purchase.

Petari
Software Moderator
Software Moderator
Posts: 538
Joined: Tue Nov 28, 2017 1:32 pm

Re: Pros and cons of CPU variations

Post by Petari » Tue Dec 26, 2017 1:35 pm

My point in other (Suska) thread was that ideal would be to act 100% as org. As 1 option. Then as other option(s) - high speed ones, in different ways. That all can fit on single FPGA.
Actually, it is easier with CPU - you can trace down all it by time, just running all opcodes, situations in some analyzer.
Other chips are simpler, except blitter. What is hard is to emulate side effect behaviors. And that is what is used in demos a lot. But then, we can declare that demos are not supported that well. Not to mention that for real feeling, impression users will need original CRT monitors or TVs too.
All in all, full accuracy is just more and more far from average user of this days.
But I would like some minimum compatibility - like Spectrum 512 type hi-color displaying. Some sync. scrolling. Those were used a lot in games.
There is 2 kind of people: one thinking about moving to Mars after here becomes too bad, the others thinking about how to keep this planet habitable.

Post Reply