Difference between revisions of "Instruction Set/conform"

From Mill Computing Wiki
Jump to: navigation, search
 
(2 intermediate revisions by the same user not shown)
Line 1:Line 1:
 
{{DISPLAYTITLE:conform}}
 
{{DISPLAYTITLE:conform}}
<div style="font-size:80%;line-height:90%;margin-bottom:2em">[[Speculation|realizing]]&nbsp;&nbsp;[[Encoding|flow stream]]&nbsp;&nbsp;[[Decode|flow block]]&nbsp;&nbsp;[[Phasing|conform phase]]&nbsp;&nbsp; operation&nbsp;&nbsp;<br />
+
<div style="font-size:80%;line-height:90%;margin-bottom:2em">[[Speculation|speculable]]&nbsp;&nbsp;[[Encoding|flow stream]]&nbsp;&nbsp;[[Decode|flow block]]&nbsp;&nbsp;[[Phasing|conform phase]]&nbsp;&nbsp; operation&nbsp;&nbsp;<br />
 
'''native on:''' [[Cores|all]]<br />
 
'''native on:''' [[Cores|all]]<br />
 
</div>
 
</div>
Line 8:Line 8:
 
Control can be transferred into an [[EBB]] from multiple possible locations, yet the target expects the belt to be in a specific order, which often not all possible origin EBBs can provide with their default scheduling. For this reason there is the conform operation, that reorders the belt in the way the target of the branch expects it to be.
 
Control can be transferred into an [[EBB]] from multiple possible locations, yet the target expects the belt to be in a specific order, which often not all possible origin EBBs can provide with their default scheduling. For this reason there is the conform operation, that reorders the belt in the way the target of the branch expects it to be.
  
The operation is called conform, because usually there is a default order that is established by the most common or original origin-entry point control transfer as established by the compiler. All other transfers into this [[EBB]] must conform to the order of the belt the origininal root EBB establishes.
+
The operation is called conform, because usually there is a default order that is established by the most common or original origin-entry point control transfer as established by the compiler. All other transfers into this [[EBB]] must conform to the order of the belt the original come-from EBB establishes.
  
This doesn't need to be the full belt, only the arguments the target needs will be pushed to the front.
+
Conform invalidates all belt values not explicitly reordered.
  
 
<b>related operations:</b> [[Instruction_Set/rescue|rescue]]
 
<b>related operations:</b> [[Instruction_Set/rescue|rescue]]

Latest revision as of 09:23, 9 February 2015

speculable  flow stream  flow block  conform phase   operation  

native on: all

Reorder belt.

Control can be transferred into an EBB from multiple possible locations, yet the target expects the belt to be in a specific order, which often not all possible origin EBBs can provide with their default scheduling. For this reason there is the conform operation, that reorders the belt in the way the target of the branch expects it to be.

The operation is called conform, because usually there is a default order that is established by the most common or original origin-entry point control transfer as established by the compiler. All other transfers into this EBB must conform to the order of the belt the original come-from EBB establishes.

Conform invalidates all belt values not explicitly reordered.

related operations: rescue


conform(ops args) → ops r0 ...

operands: like Inv :


encoding: conform(off ops, count c) , conform(off ops, count c, lit ops) , conform(off ops, count c, lit ops, lit ops) , conform(off ops, count c, lit ops, lit ops, lit ops)

Core In Slots Latencies
Tin F0 1
Copper F0 F1 1
Silver F0 F1 F2 1
Gold F0 F1 F2 F3 1
Decimal8 F0 F1 F2 1
Decimal16 F0 F1 F2 1


Instruction Set, alphabetical, Instruction Set by Category, Instruction Set, sortable, filterable