Skip to content

Commit

Permalink
Merge pull request #7 from ved-rivos/zacas_clarification
Browse files Browse the repository at this point in the history
Distinguish RV32 and RV64 instructions
  • Loading branch information
ved-rivos authored Jan 24, 2024
2 parents c01752e + 6de7160 commit 03f5c09
Showing 1 changed file with 22 additions and 6 deletions.
28 changes: 22 additions & 6 deletions zaamo-zalrsc.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,19 @@ Ved Shanbhogue
== Atomic Memory Operations Extension (Zaamo)

The Zaamo extension comprises the atomic memory operation (AMO) subset of the A
extension, consisting of the following instructions:
extension.

For RV32, the Zaamo extension includes the following instructions:

* `AMOSWAP.W`
* `AMOADD.W`
* `AMOAND.W`
* `AMOOR.W`
* `AMOXOR.W`
* `AMOMAX[U].W`
* `AMOMIN[U].W`

For RV64, the Zaamo extension includes the following instructions:

* `AMOSWAP.W/D`
* `AMOADD.W/D`
Expand All @@ -71,20 +83,24 @@ extension, consisting of the following instructions:
* `AMOMAX[U].W/D`
* `AMOMIN[U].W/D`

The Zacas extension depends on the Zaamo extension.

[NOTE]
====
The Zaamo extension enables microcontroller class implementations to implement
atomic primitives using the AMO subset of the A extension. Typically such
The Zaamo extension enables microcontroller class implementations to utilize
atomic primitives from the AMO subset of the A extension. Typically such
implementations do not have caches and thus may not be able to naturally support
the `LR`/`SC` instructions provided by the A extension.
====

The Zacas extension depends on the Zaamo extension.

== Load-Reserved/Store-conditional Extension (Zalrsc)

The Zalrsc extension comprises the Load-Reserved/Store-Conditional instruction
subset of the A extension, consisting of the `LR.W/D` and `SC.W/D` instructions.
subset of the A extension.

For RV32, the Zalrsc extension includes the `LR.W` and `SC.W` instructions.

For RV64, the Zalrsc extension includes the `LR.W/D` and `SC.W/D` instructions.

[NOTE]
====
Expand Down

0 comments on commit 03f5c09

Please sign in to comment.