Difference between revisions of "Instruction Set/con"

From Mill Computing Wiki
Jump to: navigation, search
m (Protected "Instruction Set/con": generated ([Edit=<protect-level-bot>] (indefinite) [Move=<protect-level-bot>] (indefinite)))
 
(One intermediate revision by the same user not shown)
Line 1:Line 1:
 
{{DISPLAYTITLE:con}}
 
{{DISPLAYTITLE:con}}
<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|reader 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|reader phase]]&nbsp;&nbsp; operation&nbsp;&nbsp;<br />
 
'''native on:''' [[Cores|all]]<br />
 
'''native on:''' [[Cores|all]]<br />
 
</div>
 
</div>
  
Drop an immediate constant on the belt.
+
immediate constant
 
+
The con operation retires in the reader phase despite it using the extension and manifest encoding blocks for the value. This is possible because these bitpatterns are not interpreted at all but directly placed into the belt. Only scalar values are possible, and the width is determined from the head.
+
 
+
<b>related operations:</b> [[Instruction_Set/rd|rd]]
+
 
----
 
----
 
<code style="font-size:130%"><b style="color:#050">con</b>(<i><span style="color:#009">[[Immediates#constant|constant]]</span> <span title="manifest constant">v</span></i>) &#8594; [[Domains#op|op]] r<sub>0</sub></code>
 
<code style="font-size:130%"><b style="color:#050">con</b>(<i><span style="color:#009">[[Immediates#constant|constant]]</span> <span title="manifest constant">v</span></i>) &#8594; [[Domains#op|op]] r<sub>0</sub></code>
Line 16:Line 12:
  
 
'''encoding:'''  
 
'''encoding:'''  
<code style="font-size:100%"><b style="color:#050">con</b>(<i><span style="color:#009">[[Immediates#off|off]]</span> <span title="manifest constant">v</span></i>, <i><span style="color:#009">[[Immediates#width|width]]</span> <span title="data width and scalarity (flow)">w</span></i>)</code>
+
<code style="font-size:100%"><b style="color:#050">con</b>(<i><span style="color:#009">[[Immediates#off|off]]</span> <span title="manifest constant">v</span></i>, <i><span style="color:#009">[[Immediates#width|width]]</span> <span title="data width and vector length (flow)">w</span></i>)</code>
 
,  
 
,  
<code style="font-size:100%"><b style="color:#050">con</b>(<i><span style="color:#009">[[Immediates#off|off]]</span> <span title="manifest constant">v</span></i>, <i><span style="color:#009">[[Immediates#width|width]]</span> <span title="data width and scalarity (flow)">w</span></i>, <i><span style="color:#009">[[Immediates#lit|lit]]</span> <span title="morsel-sized manifest  
+
<code style="font-size:100%"><b style="color:#050">con</b>(<i><span style="color:#009">[[Immediates#off|off]]</span> <span title="manifest constant">v</span></i>, <i><span style="color:#009">[[Immediates#width|width]]</span> <span title="data width and vector length (flow)">w</span></i>, <i><span style="color:#009">[[Immediates#lit|lit]]</span> <span title="morsel-sized manifest  
 
             constant">v</span></i>)</code>
 
             constant">v</span></i>)</code>
 
,  
 
,  
<code style="font-size:100%"><b style="color:#050">con</b>(<i><span style="color:#009">[[Immediates#off|off]]</span> <span title="manifest constant">v</span></i>, <i><span style="color:#009">[[Immediates#width|width]]</span> <span title="data width and scalarity (flow)">w</span></i>, <i><span style="color:#009">[[Immediates#lit|lit]]</span> <span title="morsel-sized manifest constant">v</span></i>, <i><span style="color:#009">[[Immediates#lit|lit]]</span> <span title="morsel-sized manifest constant">v</span></i>)</code>
+
<code style="font-size:100%"><b style="color:#050">con</b>(<i><span style="color:#009">[[Immediates#off|off]]</span> <span title="manifest constant">v</span></i>, <i><span style="color:#009">[[Immediates#width|width]]</span> <span title="data width and vector length (flow)">w</span></i>, <i><span style="color:#009">[[Immediates#lit|lit]]</span> <span title="morsel-sized manifest  
 +
            constant">v</span></i>, <i><span style="color:#009">[[Immediates#lit|lit]]</span> <span title="morsel-sized manifest constant">v</span></i>)</code>
 
,  
 
,  
<code style="font-size:100%"><b style="color:#050">con</b>(<i><span style="color:#009">[[Immediates#off|off]]</span> <span title="manifest constant">v</span></i>, <i><span style="color:#009">[[Immediates#width|width]]</span> <span title="data width and scalarity (flow)">w</span></i>, <i><span style="color:#009">[[Immediates#lit|lit]]</span> <span title="morsel-sized manifest constant">v</span></i>, <i><span style="color:#009">[[Immediates#lit|lit]]</span> <span title="morsel-sized manifest constant">v</span></i>, <i><span style="color:#009">[[Immediates#lit|lit]]</span> <span title="morsel-sized manifest constant">v</span></i>)</code>
+
<code style="font-size:100%"><b style="color:#050">con</b>(<i><span style="color:#009">[[Immediates#off|off]]</span> <span title="manifest constant">v</span></i>, <i><span style="color:#009">[[Immediates#width|width]]</span> <span title="data width and vector length (flow)">w</span></i>, <i><span style="color:#009">[[Immediates#lit|lit]]</span> <span title="morsel-sized manifest  
 +
            constant">v</span></i>, <i><span style="color:#009">[[Immediates#lit|lit]]</span> <span title="morsel-sized manifest constant">v</span></i>, <i><span style="color:#009">[[Immediates#lit|lit]]</span> <span title="morsel-sized manifest constant">v</span></i>)</code>
 
<br />
 
<br />
  
Line 29:Line 27:
 
! [[Cores|Core]] || [[Slot|In Slots]]|| [[Latency|Latencies]]
 
! [[Cores|Core]] || [[Slot|In Slots]]|| [[Latency|Latencies]]
 
|-
 
|-
| [[Cores/Tin/Encoding#con|Tin]] || F0 F1 || 0
+
| [[Cores/Tin/Encoding#con|Tin]] || F0 ||  
|-
+
| [[Cores/Copper/Encoding#con|Copper]] || F0 F1 || 0
+
|-
+
| [[Cores/Silver/Encoding#con|Silver]] || F0 F1 F2 F3 || 0
+
 
|-
 
|-
| [[Cores/Gold/Encoding#con|Gold]] || F0 F1 F2 F3 F4 F5 F6 F7 || 0
+
| [[Cores/Copper/Encoding#con|Copper]] || F0 ||  
 
|-
 
|-
| [[Cores/Decimal8/Encoding#con|Decimal8]] || F0 F1 F2 F3 || 0
+
| [[Cores/Silver/Encoding#con|Silver]] || F0 F1 F2 ||  
 
|-
 
|-
| [[Cores/Decimal16/Encoding#con|Decimal16]] || F0 F1 F2 F3 || 0
+
| [[Cores/Gold/Encoding#con|Gold]] || F0 ||  
 
|}
 
|}
  
  
 
[[Instruction_Set|Instruction Set, alphabetical]], [[Instruction Set by Category]], [http://millcomputing.com/instructions.html?collapse=7#ops Instruction Set, sortable, filterable]
 
[[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 14:01, 23 February 2021

speculable  flow stream  flow block  reader phase   operation  

native on: all

immediate constant


con(constant v) → op r0

operands: like IdentityNoSIMD xx:x


encoding: con(off v, width w) , con(off v, width w, lit v) , con(off v, width w, lit v, lit v) , con(off v, width w, lit v, lit v, lit v)

Core In Slots Latencies
Tin F0
Copper F0
Silver F0 F1 F2
Gold F0


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