• 12 questions to... Natami Team - part 1

28.04.2011 19:02, autor artykułu: Banter
odsłon: 7663, powiększ obrazki, wersja do wydruku,

Today I will tell you about something unique. I will present you the latest 68k CPU! You may wonder...

What actually is N68050?

The N68050 (N050) is a new 68k family processor developed by the Natami Team. It runs inside the FPGA together with the Natami chipset. The 050 is the first revision of our 68k CPU architecture. Further on, we will extend the architecture to the N68050E and later the N68070 specification. The N68050 softcore will be the default CPU of the Natami system. But if the user wants to, he could also get a separate CPU card with a physical 68060 for his Natami system, connected to the mainboard over the SyncZorro bus.

The development history of the N68050 core.

One could say it started in 1998, when Gunnar tried to write his first 68k softcore. But FPGAs were unfortunately too small to accomplish this task back then. The actual development of the Natami softcore started two years ago, after we dismissed Coldfire as a possible CPU for the Natami. Coldfire was interesting, but our testing and estimates showed us that solving it with our own softcore is even better.

The first "N68070" softcore design idea was similar to a crossbreed of 68000 and Coldfire. Our first concept was to use a pipeline similar to the Coldfire V3 pipeline. To improve performance we changed this and reworked the pipeline to be longer. Our goal for the softcore was to reach a higher clockrate and to be in all regards better than the original Motorola 68060 clocked at the same speed. Our first CPU revision is the N68050, which is currently pretty much feature complete. The N68050 is a pre-stage to the N68070 which only one integer pipeline. To make this difference clear we downgraded the number.

The early and totally untuned alpha version of the N68050 ran with 55 MHz, which was not to bad at all. Pretty soon afterward we reached 100 MHz and there was still some room for improvement within the current FPGA we had. With the faster and bigger FPGA of the current Natami board, we will obviously be able to make it even faster. This is the power of the FPGA.

The work on N68050 consisted of many different aspects like fixing the branch acceleration, rewriting the instruction cache, as well as doing test-cases. It was only possible thanks to very passionate people!

We estimate that a softcore running at 300 MHz may well be possible for a low priced system in a few years, using upcoming FPGA technology.

Now you may ask...

How is the compatibility of N68050? Will more games run on N68050 than 040/060 and why?

The aim is to have better compatibility than both 68040 and 68060. The 040 and 060 have a few minor (and two major) reasons for incompatibility with older 68K code. For example:
* The 040 and 060 can not handle "bad" self-modifying code that well. We can fix most of the "bad code" by doing internal cache snooping.
* The 060 did leave some 68K instructions away. This is easy to fix by re-adding these instructions.

What are the advantages of N68050 over 040/060?

* Better memory performance
* Bigger CPU cache
* Higher clockrates possible
* Higher CPU bandwidth, able to load more and longer instructions per clock
* Therefore instructions length becomes insignificant for performance
* Many complex EA modes are executed for free = faster than the 68040.
* Most instructions are executed in 1 clock.
* Divide is faster than 68040 and 68060
* New feature: The ability to "fuse" two instructions together to execute in 1 clock
* New feature: The ability to fuse a BCC that skips one instruction with that instruction thus removing many mispredicted branches.
* New feature: The ability to highly accelerate subroutine calls. Calling subroutines becomes nearly free.
* New feature: The ability to accelerate calculated jumps
* New feature: The ability to detect memory stream and being able to do prefetching

What is the expected performance of N68050 vs. a stock 020/060. Is it any faster thanks to the new memory and low latency?

Our performance expectations are high. The performance is to be better than all classic Amigas.

The performance of a CPU can be looked at in so many different aspects: You have code-flow instructions, memory performance, arithmetic performance. Then you have performance of code fitting in the cache and performance of code not fitting in the cache. The variance of possible algorithms makes it difficult to express a whole CPU performance in a single number.

The N68050 comes with many improvements which improve different instructions and algorithms types. If you want a single number, then according to our internal Sysinfo tests, the first N68050 release scores are comparable to a 500 MHz Motorola 68030.

We are proud of this score and eager to make it even better with time. Back in the good, old days I would just have loved to have a 500 MHz 68030! Now my dream is coming true with Natami.

If you have a CPU like a 68030 at 500 MHz then this is fast and swift for Amiga - do not forget that even more power comes from the Natami improved multimedia cores!

N68050 is under our control, and if we realize that we need instruction XYZ to be better - then we can just add it. We have control over bus width and speed. More importantly, N68050 will have a 64bit memory interface. With today's affordable FPGAs we will reach around 133 MHz with the N050... But in 2-3 years, the story will be different. FPGA technology is evolving all the time.

What are the future of your 68k softcores (N68050, N68070)?

We plan for different N68050 releases. We want to enhance the CPU with every release and add more features. Our initial N68050 release is a very fast and powerful 68K integer CPU. We plan to add more integer pipelines and also add an enhanced 68K FPU in the coming releases. Later on we move to superscalar with N68070. When new, improved and faster FPGAs hit the market our work on N070 will be even more exciting!

What about your 68k softcores and FPUs? What about Amiga FPU compatibility?

We have room allocated in the CPU design to include the FPU. We target 100% Motorola FPU compability but also enhanced performance. We believe that we can create a FPU significant faster than any existing 68K FPU. We have such a working prototype already. Its still a long way to go to finish it, though so please bear with us here.

Can I run the softcore now? How done is it really?

Our CPU team have been designing the softcore CPU on a FPGA development platform in parallel with Thomas Hirschs design of the Natami MX board. When the Natami boards are in production, some time will of course be needed to implement and test the softcore in Natami - this development stage still remains. During this time, we have Motorola 68060 boards to sell for people who want to get their hands on a working Natami system as fast as possible.

This is why do offer both a softcore CPU and a silicon Motorola 68060 CPU to the Natami users.

We want to provide the users with a choice. There may be many reasons you want to run a physical 68060 CPU in your system. You might need it as a developer for compatibility testing, or you might need it to run another OS than AmigaOS. Or, you might just prefer running the same CPU as you had running in your old Amiga. We are currently developing the Natami chipset using the 68060 card.

What happens to the 68060 on the CPU card after downloading N050 softcore?

The 68060 is not really obsolete then. It could still be used as "sidekick". This means if you for example surf the internet with AWeb or Netsurf - the jpegs could be "handed" over to the 68060 for unpacking. This is basically the same as how the PowerPC was used as an assisting processor in PowerUp? Amiga systems. As you might know the Cyberstorm PowerPC card did come with a 68060 CPU plus PowerPC. Amiga OS and 99% of the applications ran on the 68060. The PowerPC was mostly only used to "outsource" JPEG, MP3 and other kinds of datatype decoding to it.

Basically, we plan to do it just the same way, but this time using pure 68k technology only. So Natami can have two 68k CPUs, when work on N68050 is completed.

Why make a 68k softcore at all?

Let us set the record straight - N68050 is not designed to compete with the latest x86/x64 CPUs. Although the N68050 is very "modern" and makes use of the latest CPU technologies, it is designed to be the fastest 68k CPU ever, and it is well suited to free the Amiga community from old AMIGA hardware manufacturers. With our own 68k design, we can make the Amiga independent. The old Commodore was depending on Motorola to provide fast and cheap 68K cores. We know that they stopped doing this at some point. The new PPC processor range have the same dependancy - which gives PPC systems quite a problem now. By making your own cores you can remove such a dependancy. This is good as the Amiga community is too small to convince big companies to produce CPUs tailor-made for us. With our N68050 softcore, we now give the Amiga back to where it always belonged - the community.

Please mind, that our new 68K is easier to code on than a PPC. This gives the freedom and flexibility of the classic 68k Amiga system back to the developers. Do you remember the pleasure of coding on 68k CPU's? Can we ever forget all the demos and great games? Now all of this returns thanks to our new N68050. The 68k architecture really is easier and more fun to code for. We in the Natami Team are all very excited and cannot wait until Natami is released to try our 68k skills! Do not forget that Natami already has chunky pixel modes and SuperAGA many times faster than AGA. Enough to say, Natami will be able to run games impossible to run on some PPC systems, not to mention good old classic Amiga systems, due to our fantastic memory bandwidth! These new possibilities coupled with new 68k will give Amiga-compatible hardware the boost it has been needing for a long time!

The new 68K architecture gives higher compatibility and general performance on the Amiga than a Coldfire solution. Many games and programs refused to run on 040/060 due to design changes and missing instructions. Now with N68050 you get the compatibility you always wanted to have.

Finally, the Natami with our new 68k CPU family helps the community and all people interested in classic Amiga to make that new beginning we waited for so long. Best regards to all PPA readers from the Natami Team!

Reproduction in whole or in parts without author's or PPA's permission is prohibited.

    tagi: Natami
dodaj komentarz
Na stronie www.PPA.pl, podobnie jak na wielu innych stronach internetowych, wykorzystywane są tzw. cookies (ciasteczka). Służą ona m.in. do tego, aby zalogować się na swoje konto, czy brać udział w ankietach. Ze względu na nowe regulacje prawne jesteśmy zobowiązani do poinformowania Cię o tym w wyraźniejszy niż dotychczas sposób. Dalsze korzystanie z naszej strony bez zmiany ustawień przeglądarki internetowej będzie oznaczać, że zgadzasz się na ich wykorzystywanie.
OK, rozumiem