Welcome, Guest. Please login or register.

Author Topic: APOLLO 68080 is now HYPER-THREADING enabled  (Read 13178 times)

Description:

0 Members and 1 Guest are viewing this topic.

guest11527

  • Guest
Re: APOLLO 68080 is now HYPER-THREADING enabled
« Reply #44 from previous page: June 27, 2017, 08:06:42 PM »
Quote from: psxphill;827657
I read his post and he suggested using one register set for user mode and one for interrupt mode, purely to avoid the movem.l overhead when processing interrupts & not actually run code using the two register sets simultaneously.
Quite frankly, what does your interrupt process that you need to worry about movem? If that's one cycle per instruction, and you save at most 15 registers, then that's 30 cycles maximum for the movem. Now, what does your interrupt do that it requires less than 30 cycles in actual payload code?

Remember, we're talking here about a 100MHz CPU. Not a 1.79Mhz 6502 which, I admit, did run into such problems.
 

Offline psxphill

Re: APOLLO 68080 is now HYPER-THREADING enabled
« Reply #45 on: June 27, 2017, 08:47:24 PM »
Quote from: Thomas Richter;827672
Now, what does your interrupt do that it requires less than 30 cycles in actual payload code?


The interrupt might just signal or enqueue, which should be quite low number of cycles. But maybe the movem.l is dumb and stalls the pipeline until it's written all the registers.
 

guest11527

  • Guest
Re: APOLLO 68080 is now HYPER-THREADING enabled
« Reply #46 on: June 28, 2017, 07:18:06 AM »
Quote from: psxphill;827674
The interrupt might just signal or enqueue, which should be quite low number of cycles. But maybe the movem.l is dumb and stalls the pipeline until it's written all the registers.
Even if it's just a "AddTail()" and "Signal()", that's more than 30 cycles. If you have a second core, you cannot - of course - use Signal() or enqueue either. The exec synchronization primitives are for a single core only.
 

Offline grond

  • Full Member
  • ***
  • Join Date: Feb 2016
  • Posts: 154
    • Show only replies by grond
Re: APOLLO 68080 is now HYPER-THREADING enabled
« Reply #47 on: June 28, 2017, 07:18:45 AM »
Quote from: psxphill;827666
I don't doubt that there are limitations of apollo and working round it with hyperthreading is probably easier for him.


Read-ports are a limitation of all CPUs. What's the highest read-port count in a CPU you know of?