Overview Features Coding ApolloOS Performance Forum Downloads Products Order Contact

Welcome to the Apollo Forum

This forum is for people interested in the APOLLO CPU.
Please read the forum usage manual.
Please visit our Apollo-Discord Server for support.



All TopicsNewsPerformanceGamesDemosApolloVampireAROSWorkbenchATARIReleases
Information about the Apollo CPU and FPU.

Apollo 68080 Specifications

Kef Emzy

Posts 50
14 Dec 2017 05:48


Dear Apollo team members,
   
    I know this might be a bit premature but...
   
    Is there any available information about the 68080 core design?
    I'm interested in detailed information like:
   
    - cache associativity
    - pipeline stages
    - in-order / out-of-order
    - number of ALU's & AGU's
    - floating point units
    - branch prediction
    - instruction latencies
    - Number of instruction decoders
   
    From the limited information I have found on this forum I assume (the mother of all fxxx ups) 68080 (GOLD V3) is a:
   
    - Superscalar in-order design with 2 ALU's and 2 AGU's
    - 2 instruction decoders
    - Probably somewhere between 5 - 8 stages pipeline?
    - 2 floating point units? 1 Mul and 1 Add?
    - 1 branch prediction unit?
    - Cache size 32/64 kb instruction/data
    - Direct Mapped or / set associative cache (2-way or 4-way?)
    - 32-bit memory bus
   
    Is there a hardware divisor (Radix?) or is it some kind of micro-coded solution?
   
    Kind regards,
   
    Kef

edit: Oops, found some info in wiki

EXTERNAL LINK


Gunnar von Boehn
(Apollo Team Member)
Posts 6207
14 Dec 2017 11:14


Hi Kef,

The Wiki you found is good, also on our webpage you find some info here: EXTERNAL LINK 
Some other details:

*APOLLO 68080 is a 64-bit CPU.
  All Registers are 64-bit,
  the ALUs are 64-bit,
  and the MEMORY BUS is also 64-bit wide.
* APOLLO 68080 does support HYPERTHREADING.
* APOLLO can execute up to 4 Instructions per Cycle.
* APOLLO supports SIMD




Kef Emzy

Posts 50
14 Dec 2017 13:59


Gunnar von Boehn wrote:

Hi Kef,
 
  The Wiki you found is good, also on our webpage you find some info here: EXTERNAL LINK 
  Some other details:
 
  *APOLLO 68080 is a 64-bit CPU.
    All Registers are 64-bit,
    the ALUs are 64-bit,
    and the MEMORY BUS is also 64-bit wide.
  * APOLLO 68080 does support HYPERTHREADING.
  * APOLLO can execute up to 4 Instructions per Cycle.
  * APOLLO supports SIMD
 
 

Thanks Gunnar, I remember seeing this page before. Still, some more information would be nice...


Vojin Vidanovic

Posts 770
14 Dec 2017 18:50


Gunnar von Boehn wrote:

  *APOLLO 68080 is a 64-bit CPU.
    All Registers are 64-bit,
    the ALUs are 64-bit,
    and the MEMORY BUS is also 64-bit wide.

Does this means (?), that in theory, e.g.

- AROS m68k-x64 is possible,
- with ability to adress more then 8GB
- and a bit faster operations

(currently fully unused as OS is 32-bit, likewise with PA Semi, G5 or Freescale Quirk in x5000 as an example, or any x64 CPU running 32-bit software).


Gunnar von Boehn
(Apollo Team Member)
Posts 6207
14 Dec 2017 19:17


Vojin Vidanovic wrote:

(currently fully unused as OS is 32-bit, likewise with PA Semi, G5 or Freescale Quirk in x5000 as an example, or any x64 CPU running 32-bit software).

Actually we are using 64bit instructions.

A) APOLLO can automatically "detect" certain 32 instructions tuples
that it can "combine" into one 64bit operation.
This way also old Software gets faster.

B) RIVA and SAGA GFX driver and other software use 64bit operations.


Vojin Vidanovic

Posts 770
14 Dec 2017 20:23


Gunnar von Boehn wrote:

  B) RIVA and SAGA GFX driver and other software use 64bit operations.

So "080 optimized" code is m68k-64-bit, and AmigaOS is so dummy it can execute anything CPU can load :-) Only "problem" is patching memory map/exec to be 64-bit? :-)

Its great core was built to be a real "next GEM" so it has much modern stuff from scratch, while being as much as possible 020/040 compatibile.



Thierry Atheist

Posts 644
14 Dec 2017 22:10


Vojin Vidanovic wrote:
Its great core was built to be a real "next GEM" so it has much modern stuff from scratch, while being as much as possible 020/040 compatibile.

Hi Vojin,

THAT'S what I've been trying to tell everyone since the NatAmi days.... this is AN EXCELLENT COMPUTER!!!!!!

!! THE BEST !!


Mallagan Bellator

Posts 393
15 Dec 2017 00:52


Vojin Vidanovic wrote:

Gunnar von Boehn wrote:

  B) RIVA and SAGA GFX driver and other software use 64bit operations.
 

 
  So "080 optimized" code is m68k-64-bit, and AmigaOS is so dummy it can execute anything CPU can load :-) Only "problem" is patching memory map/exec to be 64-bit? :-)
 
  Its great core was built to be a real "next GEM" so it has much modern stuff from scratch, while being as much as possible 020/040 compatibile.
 

The way this is done is different than windows, the OS and programs doesn’t need to be 64 bit. In fact, I’m not sure it even can be! Only new programs made for 080 could possibly be, (if even that?) but the way the cpu is designed, it crunches 2 instructions of 32 bit type into one cycle instead of one by one, like old cpus would have to do.

If you try to tun certain 32 bit games, like Civilization for Windows, in a 64 bit Windows 7 installation, for example, it wont be able to run it. With the 080 in Amiga environment, you shouldn’t have this problem at all.

And the memory being 64 bit I bet is done with the MMU, and doesn’t need to be concerned about. Write a program like you would on let’s say 040 or 060, and you’re good to go. No need to think about 32 bit or 64 bit. It’s already handled in the core


posts 8