Page 1 of 1

Dynamic rescheduler

Posted: Fri Dec 03, 2010 9:35 pm
by DrMario
While reading the technical sheet, I was thinking "what if I inpement the Delayed Issue for stuck threads or those containing exactly the same tinstructions but different header (input) data?"

Out-of-Order Execution may be possible, but not without efforts in understanding how the XS1 chip's Integer Units work, and it would all boil down to how I would write the software for the CPU itself.

Why would I want to perform Out-of-Order Thread Executions? Simple, I was seeking to squeeze a bit more out tof this chip and also to reduce the chance of wasted CPU cycles.

Just my two cents.

P.S. Anybody recommend the link C++ compiler for Code:Block to program the XS1 chip?

Re: Dynamic rescheduler

Posted: Sat Dec 04, 2010 8:00 am
by Heater
DrMario,

Great to see you here.

I think you might have to explain more what you mean by "out of order execution".

Normally this term is used to describe the way a processor with a pipeline might execute your instructions in an order different to that in the actual binary code. Say performing a integer operation on processor registers whilst an op that needs data from RAM waits for it's operands to arrive. If I understand correctly.

In that case it is not something a programmer has any control over.

So what is it you are actually wanting to do?

Re: Dynamic rescheduler

Posted: Sat Dec 04, 2010 10:30 pm
by DrMario
Basically, it's to deal with "frozen" threads, which it would have to be either reissued into different CPU core or into idle thread core (Integer Unit) in the core.

The reason I am wondering is that I am developing my own supercomputer, Dendou Oni - i am sure, heater, that you may have known about that. I am planning to use XS1-G4 to be assigned as accelerator units on the same board as Propeller II chips - to speed the integer / floating point of already-busy props. The chip to be paired with it was the post appealing idea I have ever have had. leon really nailed it first.

BTW, I am still trying to pick what the compiler is the best to use Code:Block with - I like Code:Block since I can assume full control of the programming environments in C++, like writing the boot firmware for both Propeller (already have Catalina, but still couldn't link for funny reasons, though) and XS1 chips.