Nodes

Nodes are blocks in the TIS-100 where processing and storage may take place. Generally, nodes are connected to up to four neighbors via ports. Ports enable lightweight message passing communication between nodes. Communication over ports is coordinated by allowing either node to issue a read or write to a port and blocking until the request is filled by the corresponding node. The arrows next to these nodes indicate the ports that data can travel on to go into and out of the nodes.
If nodes have arrows going back and forth to each other, this indicates that data can flow between the two nodes in both ways. Otherwise, data may only pass in the direction indicated.
Areas outside of the program space may have path pointing to and from nodes that appear to leave or enter the program space. These indicate input and output paths respectively. The goal of debugging the various system programs is to modify the input it as needed and channel it to the output paths. 
== Types of Nodes ==
This is a list of Nodes:
* T20 - Reserved Node
* T21 - Basic Execution Node
* T30 - Stack Memory Node
* T31 - Random Access Memory Node
== Notes ==
* If two nodes issue the same communication command (read or write) on the connection between them, the nodes will deadlock and a hardware fault will occur. Refer to the separate document "Tessellated Intelligence System Best Practices - Patterns of Node Communication” for details on how to use ports effectively and safely.
* If a node issues a communication command and it is never fulfilled by the corresponding node, the node will deadlock and a hardware fault will occur. (Exceptions to this rule exist; refer to the documentation of specific node types for details.) Refer to the separate document “Tessellated Intelligence System Best Practices - Patterns of Node Communication” for details on how to use ports effectively and safely.
Category:Basics