add clarification from jacob
authorLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Fri, 4 May 2018 15:52:37 +0000 (16:52 +0100)
committerLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Fri, 4 May 2018 15:52:37 +0000 (16:52 +0100)
isa_conflict_resolution/mvendor_march_mimplid.mdwn

index 25b5f8bda3b199a66e3d306a541e43e2a9672cae..f1fea543e15a4edd6a9d3b2439cdec0cb1bb9d67 100644 (file)
@@ -27,9 +27,18 @@ it can have multiple mvendorid-marchid-mimplid tuples, where each core
 (hart) has *one* and *only* one tuple.  Thus, running different
 encodings is a simple matter of selecting the correct core.
 
+clarification from jacob:
+
+> it solves the problem of one implementation needing to implement
+> conflicting extensions, with some limitations, specifically that each of
+> the conflicting extensions must be used in separate threads.  The Rocket
+> RoCC coprocessor interface, in a multi-tile SoC where different tiles
+> have different coprocessors, provides a working example of this model.
+> The overall system has both of two conflicting coprocessors.
+
 There are a couple of issues with this approach:
 
-* Single-core implementations are not possible.
+* Single-core (single hart) implementations are not possible.
 * Multi-core implementations are guaranteed, for high workloads,
   to have "incompatible" cores sitting idle whilst "compatible"
   cores are overloaded.