Hi,
I'm new here. I have some questions about the SME in armv9 architecture.
The introduction of SME is shown below:
The new SME ZA (Z Array) storage is a 2D square byte array of dimension (SVL in bytes) x (SVL in bytes).The ZA array can be accessed as SVL-bit vectors that contain 8-bit, 16-bit, 32-bit, 64-bit, or 128-bit elementsThe number of ZA array vectors is the number of bytes in SVL. For example, if SVL is 256-bit, then the number of ZA array vectors is 32.
But I'm confused about it.
If SVL is 256-bit, the dimension of SME should be 32 x 32 bytes.
Why is the number of ZA array vectors the number of bytes in SVL. If so, then the size of each ZA array vector is (256/32) * 256 = 2048 bits, which indicates that the row size of each array vector is 8 bits.
Thanks for your help.
Best,
Tengyang Zheng
Hi Tengyang Zheng,
> Why is the number of ZA array vectors the number of bytes in SVL. If so, then the size of each ZA array vector is (256/32) * 256 = 2048 bits, which indicates that the row size of each array vector is 8 bits.
See the SME Programmer's Guide; the number of ZA array vectors is indeed SVLB as you mentioned, each vector is SVLB bytes and the size of the ZA array is SVLB x SVLB bytes. For your case where SVL = 256 bits, SVLB = 32 bytes, therefore you would have 32 vectors of 32 bytes (256 bits) each, with a ZA array of 32 * 32 = 1024 bytes (8192 bits) total.
Best regards,
Vincent.