(no commit message)
authorlkcl <lkcl@web>
Wed, 12 Apr 2023 17:04:37 +0000 (18:04 +0100)
committerIkiWiki <ikiwiki.info>
Wed, 12 Apr 2023 17:04:37 +0000 (18:04 +0100)
openpower/sv/svp64_quirks.mdwn

index 26d9663250f37a3e2b3446d7550213b0398dece2..bff45dcd8b209c7339b4bc408eb613ded4c2051e 100644 (file)
@@ -685,3 +685,29 @@ complexity in the Hazard Management when context-switching CR fields, as the
 entire batch of 128 CR Fields may be transferred to 8 GPRs with a VL of 16
 and elwidth overriding of 32. Truncation is sufficent, dropping the top 32 bits
 of the Condition Register(s) which are always zero anywy.
 entire batch of 128 CR Fields may be transferred to 8 GPRs with a VL of 16
 and elwidth overriding of 32. Truncation is sufficent, dropping the top 32 bits
 of the Condition Register(s) which are always zero anywy.
+
+# Separate Scalar and Vector Condition Register files
+
+As explained in the introduction [[sv/svp64]] and [[sv/cr_ops]]
+Scalar Power ISA lacks "Conditional Execution" present in ARM
+Scalar ISA of several decades.  When Vectorised the fact that
+Rc=1 Vector results can immediately be used as a Predicate Mask
+back into the following instruction can result in large latency
+unless "Vector Chaining" is used in the Micro-Architecture.
+
+But that aside is not the main problem faced by the introduction
+of Simple-V to the Power ISA: it's that the existing implementations
+(IBM) don't have "Conditional Execution" and to add it to their
+existing designs would be too disruptive a first step.
+
+A compromise is to wipe blank certain entries in the Register Dependency
+Matrices by prohibiting some operations involving the two groups
+of CR Fields: those that fall into the existing Scalar 32-bit CR
+(fields CR0-CR7) and those that fall into the newly-introduced
+CR Fields, CR8-CR127.
+
+This will drive compiler writers nuts, and give assembler writers headaches,
+but it gives IBM the opportunity to implement SVP64 without massive
+disruption. They can add an entirely new Vector CR register file,
+new pipelines etc safe in the knowledge that existing Scalar HDL
+needs no modification.