We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
1/ What will happen when a master performs 2 exclusive read with 2 different transaction ID to the sam an address location??
Example: Master0 (M0) issue 2 exclusive read with 2 different transaction ID (first is 00 and second is 01) to the sam an address location.
What Master or slave must do in this case??
2/ What will happen when a master performs a exclusive read to an address location,
and then have a transaction read (NOT exclusive read) to that address location??
Hello,
1/ What will happen when a master performs 2 exclusive read with 2 different transaction ID to the sam an address location?? Example: Master0 (M0) issue 2 exclusive read with 2 different transaction ID (first is 00 and second is 01) to the sam an address location. What Master or slave must do in this case??
This case would be impossible because transaction ID is defined by an individual master.
Anyway, two successive exclusive reads would be illegal and the behavior would be implementation defined.
From a slave view point, it will act as if two masters exist.
2/ What will happen when a master performs a exclusive read to an address location, and then have a transaction read (NOT exclusive read) to that address location??
A master should issue an exclusive write after issuing an exclusive read. Otherwise, the behaviour would be implementation defined.
Practically a normal read would not affect an exclusive state.
Best regards,
Yasuhiko Koumoto.
Thank you for your help.
yasuhikokoumoto wrote: Hello, 1/ What will happen when a master performs 2 exclusive read with 2 different transaction ID to the sam an address location?? Example: Master0 (M0) issue 2 exclusive read with 2 different transaction ID (first is 00 and second is 01) to the sam an address location. What Master or slave must do in this case?? This case would be impossible because transaction ID is defined by an individual master. Anyway, two successive exclusive reads would be illegal and the behavior would be implementation defined. From a slave view point, it will act as if two masters exist. 2/ What will happen when a master performs a exclusive read to an address location, and then have a transaction read (NOT exclusive read) to that address location?? A master should issue an exclusive write after issuing an exclusive read. Otherwise, the behaviour would be implementation defined. Practically a normal read would not affect an exclusive state. Best regards, Yasuhiko Koumoto.
yasuhikokoumoto wrote:
I have a question. In document on AXI3:
"In a multimaster system, the interconnect is responsible for appending additional
information to the ID tag to ensure that ID tags from all masters are unique. The ID tag
is similar to a master number, but with the extension that each master can implement
multiple virtual masters within the same port by supplying an ID tag to indicate the
virtual master number."
That mean a master can issue multiple transaction with differnt ID.
Why you tell me that "This case would be impossible because transaction ID is defined by an individual master."??
** Cao Phi
Hello Cao Phi,
That mean a master can issue multiple transaction with different ID.
No, you are not right.
It means that the ID width becomes wider with additional constant unique bit as deep layer a bus system is.
From a slave which supports the exclusive access, the ID is unique by each master.
Hello Yasuhiko Koumoto,
I still don't understand. I have an example:
I have 2 Master and 2 bit ID per master.
M0 have master number is 0.
M1 have master number is 1.
When M0 is selected by the Arbiter, then M0 issue 4 transaction with different IDs to sam Slave0, the separate order are 00, 01, 10 and 11.
And then M1 is selected by the Arbiter, then M1 issue 4 transaction with different IDs to sam Slave0, the separate order are 00, 01, 10 and 11.
In 2 case above the Interconnect will insert 1 bit (master number) in the ID field. Then the ID in AWID/ARID line of Slave0 are 0-00, 0-01, 0-10, 0-11 and 1-00, 1-01, 1-10, 1-11.
Therefore, I told "That mean a master can issue multiple transaction with different ID."
If I'm not right. Could you please explain to me.
you are right. A master can have several unique IDs. An explanation which a master has a single ID would be a kind of convention.
If a master has several outstanding capabilities, it can issue several IDs.
However, if a master will issue a transaction to the same address, the ID will be the same because the transactions should be serialized.
Therefore, it impossible to make your scenario of two exclusive read with different IDs.
yasuhikokoumoto wrote: Hello Cao Phi, you are right. A master can have several unique IDs. An explanation which a master has a single ID would be a kind of convention. If a master has several outstanding capabilities, it can issue several IDs. However, if a master will issue a transaction to the same address, the ID will be the same because the transactions should be serialized. Therefore, it impossible to make your scenario of two exclusive read with different IDs. Best regards, Yasuhiko Koumoto.
You told "Anyway, two successive exclusive reads would be illegal and the behavior would be implementation defined."
I don't understand "two successive exclusive reads would be illegal", that mean two exclusive reads (different address) would be illegal or two exclusive reads (same address) would be illegal??
How many exclusive read An master can issue in a transaction (with different address/same address; ID can different)??
'illegal' means unusual.
If an exclusive read has been issued by a master, an exclusive write should be followed.
This is the normal sequence.
However, the specification says two successive exclusive reads from the same master are possible.
In this case, an exclusive monitor in a slave updates the target address for the ID.
I don't know why the master should do such a thing.
Best regards.
yasuhikokoumoto wrote: Hello Cao Phi, 'illegal' means unusual. If an exclusive read has been issued by a master, an exclusive write should be followed. This is the normal sequence. However, the specification says two successive exclusive reads from the same master are possible. In this case, an exclusive monitor in a slave updates the target address for the ID. I don't know why the master should do such a thing. Best regards. Yasuhiko Koumoto.