This is an old revision of the document!
APOLLO Core - Super-Scalar
APOLLO core is a pipelined CPU, so that it use 2 pipes. APOLLO core can use FUSE feature whenever possible. APOLLO core can use BOND feature whenever possible. APOLLO core executes up to 4 instructions per clock cycle.
Here is brief overview of how it works :
|Feature||Pipe 1||Pipe 2||Notes|
|All instructions||X||_||Pipe2 can not execute all instructions.|
|1 cycle instructions||X||X||Pipe2 can only do instructions which finish in 1 single clock.|
|More than 1 cycle instructions||X||_||Pipe2 can not do MOVEM, CMPM, MOVE (mem),(mem), MUL, DIV, for example.|
|8-bytes instructions||X||X||Pipe2 can do instructions of length 8 bytes.|
|More than 8-bytes instructions||X||_||Pipe2 can max do instructions of length 8 bytes.|
|Flags dependant-instructions||X||_||Pipe2 is never allowed to depend of flags created by Pipe1.|
|Fuse two instructions||X||X||Both pipes can fuse two instructions whenever it is possible.|
|Bond two instructions||X||X||Both pipes can bond two instructions whenever it is possible.|