How PHP APCu works in memory segmentation

I am confused about how APCu works and its various configurations.

First question:

For example, we have allocated 3 segments with 32 MB of memory to APCu
According to the technical description of APCu, when we store some variables in this memory, these values ​​are stored in memory after the header block, in other words, this storage starts from the beginning of the first segment. The problem for me starts from where APCu specifies a number of slots for these segments (in the image below, 4099 slots for 96 MB) and when storing information, this information is stored in different slots (according to the image below in the slot distribution, slots 2762 and 3941 have stored information)
According to the technical description, information is stored at the beginning of the segment after the header (in which case the information should be stored in slot 1 from the beginning and the subsequent slots should be filled in order)
And according to the slot distribution, the information is scattered in different slots (in which case each part of the information is located in different segments)
This issue It has caused me to not understand how to store information.
How do segments and slots work?

enter image description here

The second question is:

When we specify the number of slots by apc.entries_hint, for example apc.entries_hint=1000, the value of this number is considered slightly higher in the num_slots section. For example, if we consider this number as 1000, the num_slots number is equal to 1032, and when we consider it as 2000, the num_slots number is 2056. Why is this additional section created?

And the third question:

When more variables are stored by APCu than apc.entries_hint, the number opposite each slot changes (in the number of variables stored less than the value specified in apc.entries_hint, the number opposite each slot is 1). What do these numbers mean?

I changed the APCu settings but still don’t understand how segments and slots work.