Difference between revisions of "Instruction Set/conform"

From Mill Computing Wiki
Jump to: navigation, search
(Created page with "{{DISPLAYTITLE:conform}} <div style="font-size:80%;line-height:90%;margin-bottom:2em">realizing  flow stream Decode|flow bl...")
 
 
(4 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>
  
normalize belt contents to argument list
+
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.
 +
 
 +
<b>related operations:</b> [[Instruction_Set/rescue|rescue]]
 +
 
 
----
 
----
 
<code style="font-size:130%"><b style="color:#050">conform</b>(<span style="color:#009">[[Domains#ops|ops]]</span> <span title="one or more conform arguments from conforms window">args</span>) &#8594; [[Domains|ops]] r<sub>0</sub> ...</code>
 
<code style="font-size:130%"><b style="color:#050">conform</b>(<span style="color:#009">[[Domains#ops|ops]]</span> <span title="one or more conform arguments from conforms window">args</span>) &#8594; [[Domains|ops]] r<sub>0</sub> ...</code>
Line 27:Line 36:
 
! [[Cores|Core]] || [[Slot|In Slots]]|| [[Latency|Latencies]]
 
! [[Cores|Core]] || [[Slot|In Slots]]|| [[Latency|Latencies]]
 
|-
 
|-
| [[Cores/Tin/Encoding#957|Tin]] || F0 || 1
+
| [[Cores/Tin/Encoding#conform|Tin]] || F0 || 1
 
|-
 
|-
| [[Cores/Copper/Encoding#957|Copper]] || F0 F1 || 1
+
| [[Cores/Copper/Encoding#conform|Copper]] || F0 F1 || 1
 
|-
 
|-
| [[Cores/Silver/Encoding#957|Silver]] || F0 F1 F2 || 1
+
| [[Cores/Silver/Encoding#conform|Silver]] || F0 F1 F2 || 1
 
|-
 
|-
| [[Cores/Gold/Encoding#957|Gold]] || F0 F1 F2 F3 || 1
+
| [[Cores/Gold/Encoding#conform|Gold]] || F0 F1 F2 F3 || 1
 
|-
 
|-
| [[Cores/Decimal8/Encoding#957|Decimal8]] || F0 F1 F2 || 1
+
| [[Cores/Decimal8/Encoding#conform|Decimal8]] || F0 F1 F2 || 1
 
|-
 
|-
| [[Cores/Decimal16/Encoding#957|Decimal16]] || F0 F1 F2 || 1
+
| [[Cores/Decimal16/Encoding#conform|Decimal16]] || F0 F1 F2 || 1
 
|}
 
|}
 +
 +
 +
[[Instruction_Set|Instruction Set, alphabetical]], [[Instruction Set by Category]], [http://millcomputing.com/instructions.html?collapse=7#ops Instruction Set, sortable, filterable]

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