add overview to requirements spec
authorLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Tue, 8 Jan 2019 09:08:17 +0000 (09:08 +0000)
committerLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Tue, 8 Jan 2019 09:08:17 +0000 (09:08 +0000)
3d_gpu/requirements_specification.mdwn

index 9e3506d1d77a92bca048ef223d67ce572e33c1a2..bfc5f34fbfea6a68c05b453f132346003547e96d 100644 (file)
@@ -34,18 +34,21 @@ An overview of the design is as follows:
 * 6600-style scoreboards will be augmented with "shadow" wires
   and write hazard capability on exceptions, branch speculation,
   LD/ST and predication.
-* Each "shadow" capability will be provided by a separate Function
-  Unit.  If there is to exist the possibility of rolling ahead
-  through two speculative branches, then two **separate**
+* Each "shadow" capability of each type will be provided by a separate
+  Function Unit.  For example if there is to exist the possibility of rolling
+  ahead through two speculative branches, then two **separate**
   Branch-speculative Function Units will be required: each will
   hold their own separate and distinct "shadow" (Go-Die wire) and
   write-hazard over instructions on which the branch depends.
 * Likewise for predication, which shall place a "hold" on
   the Function Units that depend on it until the register used
-  as a predicate mask has been read and decoded.  Bits in the
-  mask that are "zero" will result in "Go-Die" signals being
-  sent to the Function Units previously (speculatively) allocated
-  for that (now cancelled) element operation.
+  as a predicate mask has been read and decoded, there will be
+  separate Function Units waiting for each predication mask register.
+  Bits in the mask that are "zero" will result in "Go-Die" signals being
+  sent to the Function Units previously (speculatively) allocated for that
+  (now cancelled) element operation.  Bits that are "1" will cancel
+  their Write-Hazard and allow the Function Unit to proceed with that
+  element's operation.
 * The 6600 "Q-Table" that records, for each register, the last Function
   Unit (in instruction issue order) that is to write its result to that
   register, shall be augmented with "history" capability that aids and