From: Luke Kenneth Casson Leighton Date: Thu, 1 Nov 2018 22:29:17 +0000 (+0000) Subject: record multi-lr/sc discussion X-Git-Tag: convert-csv-opcode-to-binary~4874 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=4873f6c09cbbe46bab5e3bd070b19de7f5de9944;p=libreriscv.git record multi-lr/sc discussion --- diff --git a/simple_v_extension.mdwn b/simple_v_extension.mdwn index 3a16606a1..a62cbca77 100644 --- a/simple_v_extension.mdwn +++ b/simple_v_extension.mdwn @@ -1657,6 +1657,29 @@ in advance to avoid. TBD: floating-point compare and other exception handling +------ + +Multi-LR/SC + +Please don't try to use the L1 itself. + +Use the Load and Store buffers which capture instruction state prior +to being accessed in the L1 (and prior to data arriving in the case of +Store buffer). + +Also, use the L1 Miss buffers as these already HAVE to be snooped by +coherence traffic. These are used to monitor that all participating +cache lines remain interference free, and amalgamate same into a CPU +signal accessible ia branch or predicate. + +The Load buffers manage inbound traffic +The Store buffers manage outbound traffic. + +Done properly, the participating cache lines can exceed the associativity +of the L1 cache without architectural harm (may incur additional latency). + + + # References * SIMD considered harmful