(no commit message)
authorlkcl <lkcl@web>
Mon, 6 Jun 2022 12:17:52 +0000 (13:17 +0100)
committerIkiWiki <ikiwiki.info>
Mon, 6 Jun 2022 12:17:52 +0000 (13:17 +0100)
openpower/sv/remap.mdwn

index fd88d1f5ba57f7275da110e16158388f22b92b2d..332680239348c22b3851359b19c964a1954ebbc9 100644 (file)
@@ -62,7 +62,7 @@ Only the most commonly-used algorithms in computer science have REMAP
 support, due to the high cost in both the ISA and in hardware.  For
 arbitrary remapping the `Indexed` REMAP may be used.
 
-# Usage
+# Executive Summary Usage
 
 * `svshape` to set the type of reordering to be applied to the
   usual `0..VL-1` hardware for-loop
@@ -83,7 +83,20 @@ a 5x4 result:
 The example may be executed as a unit test and demo,
 [here](https://git.libre-soc.org/?p=openpower-isa.git;a=blob;f=src/openpower/decoder/isa/test_caller_svp64_matrix.py;h=c15479db9a36055166b6b023c7495f9ca3637333;hb=a17a252e474d5d5bf34026c25a19682e3f2015c3#l94)
 
-# Indexed REMAP
+# REMAP types
+
+This section summarises the motivation for each REMAP Schedule
+and briefly goes over their characteristics and limitations.
+
+## Matrix (1D/2D/3D shaping)
+
+TODO
+
+## FFT/DCT Triple Loop
+
+TODO
+
+## Indexed
 
 The purpose of Indexing is to provide a generalised version of
 Vector ISA "Permute" instructions, such as VSX `vperm`.  The
@@ -95,8 +108,17 @@ instructions such as `sv.lbzx`), arithmetic operations,
 extsw: there is no artificial limit.
 
 The only major caveat is that the registers to be used as
-Indices must not be modified by any instruction during
-the time they are used.
+Indices must not be modified by any instruction after Indexed Mode
+is established, and neither must MAXVL be altered. Failure to observe
+these conditions results in `UNDEFINED` behaviour.
+These conditions allow a Read-After-Write (RAW) Hazard to be created on
+the entire range of Indices to be subsequently used, but a corresponding
+Write-After-Read Hazard by any instruction that modifies the Indices
+**does not have to be created**. Given the large number of registers
+involved in Indexing this is a huge resource saving and reduction
+in micro-architectural complexity. MAXVL is likewise
+included in the RAW Hazards because it is involved in calculating
+how many registers are to be considered Indices.
 
 
 # REMAP SPR