فهرست منبع

docs: Updated incorrect description for ULP FSM JUMPR and JUMPS instructions

This commit updates the incorrect description for the JUMPR and JUMPS
instructions for ULP FSM on esp32/s2/s3.

Closes https://github.com/espressif/esp-idf/issues/10923
Sudeep Mohanty 2 سال پیش
والد
کامیت
ce796ffaf9
1فایلهای تغییر یافته به همراه58 افزوده شده و 19 حذف شده
  1. 58 19
      docs/en/api-reference/system/ulp_instruction_set.rst

+ 58 - 19
docs/en/api-reference/system/ulp_instruction_set.rst

@@ -798,20 +798,48 @@ The detailed description of all instructions is presented below:
       - *GE* (greater or equal) – jump if value in R0 >= threshold
 
 **Cycles**
-  Conditions *EQ*, *GT* and *LT*: 2 cycles to execute, 2 cycles to fetch next instruction
-  Conditions *LE* and *GE* are implemented in the assembler using two **JUMPR** instructions::
 
-    // JUMPR target, threshold, LE is implemented as:
+.. only:: esp32
+
+    Conditions *LT*, *GE*, *LE* and *GT*: 2 cycles to execute, 2 cycles to fetch next instruction
+
+    Conditions *LE* and *GT* are implemented in the assembler using one **JUMPR** instructions::
+
+      // JUMPR target, threshold, GT is implemented as:
+
+               JUMPR target, threshold+1, GE
+
+      // JUMPR target, threshold, LE is implemented as:
+
+               JUMPR target, threshold + 1, LT
+
+    Conditions *EQ* is implemented in the assembler using two **JUMPR** instructions::
+
+      // JUMPR target, threshold, EQ is implemented as:
+
+               JUMPR next, threshold + 1, GE
+               JUMPR target, threshold, GE
+      next:
+
+
+.. only:: esp32s2 or esp32s3
 
-             JUMPR target, threshold, EQ
-             JUMPR target, threshold, LT
+    Conditions *EQ*, *GT* and *LT*: 2 cycles to execute, 2 cycles to fetch next instruction
 
-    // JUMPR target, threshold, GE is implemented as:
+    Conditions *LE* and *GE* are implemented in the assembler using two **JUMPR** instructions::
 
-             JUMPR target, threshold, EQ
-             JUMPR target, threshold, GT
+      // JUMPR target, threshold, LE is implemented as:
+
+               JUMPR target, threshold, EQ
+               JUMPR target, threshold, LT
+
+      // JUMPR target, threshold, GE is implemented as:
+
+               JUMPR target, threshold, EQ
+               JUMPR target, threshold, GT
+
+    Therefore the execution time will depend on the branches taken: either 2 cycles to execute + 2 cycles to fetch, or 4 cycles to execute + 4 cycles to fetch.
 
-  Therefore the execution time will depend on the branches taken: either 2 cycles to execute + 2 cycles to fetch, or 4 cycles to execute + 4 cycles to fetch.
 
 **Description**
    The instruction makes a jump to a relative address if condition is true. Condition is the result of comparison of R0 register value and the threshold value.
@@ -844,21 +872,32 @@ The detailed description of all instructions is presented below:
        - *GE* (greater or equal) — jump if value in stage_cnt >= threshold
 
 **Cycles**
-  2 cycles to execute, 2 cycles to fetch next instruction::
 
-    // JUMPS target, threshold, EQ is implemented as:
+.. only:: esp32
+
+    Conditions *LE*, *LT*, *GE*: 2 cycles to execute, 2 cycles to fetch next instruction
+
+    Conditions *EQ*, *GT* are implemented in the assembler using two **JUMPS** instructions::
 
-             JUMPS next, threshold, LT
-             JUMPS target, threshold, LE
-    next:
+      // JUMPS target, threshold, EQ is implemented as:
 
-    // JUMPS target, threshold, GT is implemented as:
+               JUMPS next, threshold, LT
+               JUMPS target, threshold, LE
+      next:
+
+      // JUMPS target, threshold, GT is implemented as:
+
+               JUMPS next, threshold, LE
+               JUMPS target, threshold, GE
+      next:
+
+    Therefore the execution time will depend on the branches taken: either 2 cycles to execute + 2 cycles to fetch, or 4 cycles to execute + 4 cycles to fetch.
+
+
+.. only:: esp32s2 or esp32s3
 
-             JUMPS next, threshold, LE
-             JUMPS target, threshold, GE
-    next:
+    2 cycles to execute, 2 cycles to fetch next instruction
 
-  Therefore the execution time will depend on the branches taken: either 2 cycles to execute + 2 cycles to fetch, or 4 cycles to execute + 4 cycles to fetch.
 
 **Description**
     The instruction makes a jump to a relative address if condition is true. Condition is the result of comparison of count register value and threshold value.