COGSTOP
Instruction: Start a cog by its ID.
COGSTOP CogID
- CogID (d-field) is the register containing the ID (0 – 7) of the cog to stop.
Opcode Table:
–INSTR– ZCRI –CON– –DEST– –SRC– | Z Result | C Result | Result | Clocks |
000011 0001 1111 ddddddddd ------011 | Stopped ID = 0 | No Cog Free | Not Written | 8..23 |
Concise Truth Table:
In | Out | ||||||
Destination | Source1 | Z | C | Effects | Destination2, 3 | Z | C4 |
$0000_0000; 0 | %0_00000011; 3 | - | - | wr wz wc | $0000_0000; 0 | 1 | 0 |
$0000_0005; 5 | %0_00000011; 3 | - | - | wr wz wc | $0000_0005; 5 | 0 | 0 |
$0000_0008; 85 | %0_00000011; 3 | - | - | wr wz wc | $0000_0000; 0 | 1 | 0 |
1 Source is automatically set to immediate value 3 by the assembler to indicate that this is the COGSTOP hub instruction.
2 Destination is not written unless the WR effect is given.
3 Destination Out (written Destination) indicates the cog that was stopped.
4 The C flag will be set (1) if all cogs were running prior to executing the COGSTOP instruction.
5 Only the lowest 3 bits of Destination In are utilized, so a value of 8 is seen as cog 0.
Explanation
The COGSTOP instruction stops a cog whose ID is in the register CogID, placing that cog into a dormant state. In the dormant state, the cog ceases to receive System Clock pulses so that power consumption is greatly reduced.
COGSTOP is a hub instruction. Hub instructions require 8 to 23 clock cycles to execute depending on the relation between the cog's hub access window and the instruction's moment of execution. See Hub for more information.
If the WZ effect is specified, the Z flag will be set (1) if the ID of the cog that was stopped is zero (0). If the WC effect is specified, the C flag will be set (1) if all cogs were running prior to executing this instruction. If the WR effect is specified, Destination is written with the ID of the cog that was stopped.
Unless otherwise noted, content on this site is licensed under the
Creative Commons Attribution-ShareAlike 4.0 International License.