Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
apollo_core:bonding [2020/02/12 18:26]
muaddib
apollo_core:bonding [2020/08/02 12:37] (current)
Line 21: Line 21:
 This updates two registers, d1 and d2 (C syntax: ''​d1 = 1234; d2 += d1;''​) which cannot be done by the [[apollo_core:​fusing|Instruction Fusing]] explained in another thread which will execute two instructions as one in a single pipeline. [[apollo_core:​fusing|Fusing]] instructions requires both instructions to operate on the same destination register and thus can be executed as one instruction in one pipeline. Bonding instructions,​ on the other hand, updates two different destination registers and therefore will be executed by two pipelines. However, a traditional [[apollo_core:​superscalar|Superscalar]] processor such as the 68060 could not do this as the two instructions are dependent on each other. This updates two registers, d1 and d2 (C syntax: ''​d1 = 1234; d2 += d1;''​) which cannot be done by the [[apollo_core:​fusing|Instruction Fusing]] explained in another thread which will execute two instructions as one in a single pipeline. [[apollo_core:​fusing|Fusing]] instructions requires both instructions to operate on the same destination register and thus can be executed as one instruction in one pipeline. Bonding instructions,​ on the other hand, updates two different destination registers and therefore will be executed by two pipelines. However, a traditional [[apollo_core:​superscalar|Superscalar]] processor such as the 68060 could not do this as the two instructions are dependent on each other.
   ​   ​
-Using **Instruction Fusing** and **Instruction Bonding** in addition to normal Superscalar execution the [[apollo_core:​start|APOLLO Core]] can execute two instructions in parallel more often than a 68060 could. This is one of the reasons why the [[apollo_core:​start|APOLLO Core]] is faster than even higher clocked 68060 processors.+Using **Instruction Fusing** and **Instruction Bonding** in addition to normal Superscalar executionthe [[apollo_core:​start|APOLLO Core]] can execute two instructions in parallel more often than a 68060 could. This is one of the reasons why the [[apollo_core:​start|APOLLO Core]] is faster than even higher clocked 68060 processors.
  
 ---- ----
  
 <​php>​tpl_youarehere();</​php>​ <​php>​tpl_youarehere();</​php>​
Last modified: le 2020/08/02 12:37