I've poked around inside the 5100 some years ago, but most of my information came from the Maintenance Information Manual, and I only verified a little of it relating to the executable ROS.
The executable ROS is split between a half card in slot H2, which is required for all 5100 models, and an APL-only executable ROS half card in slot H4. The most significant address bit (SAB 0) selects between the two. The BASIC/IO/Diagnostic executable ROS starts at address 0000, and the APL executable ROS starts at 8000. It appears that the BASIC/IO/Diagnostic executable ROS occupies most or all of the address space allocated to it, 0000..7fff space (32KB). The non-executable ROS cards are: slot E2 (full size): ROS control, and common and language ROS, all models - it appears that this is addressed ABOVE (at higher addresses than) the BASIC ROS slot C4 (half card): BASIC ROS slots C2, D2, D4 (half cards): APL ROS The MIM shows the non-executable ROS as divided into banks of 30720 bytes (0x7800). I can believe that the amounts of memory on a particular card might be related to that, e.g., 15 chips of 2KB each, but the decode on the ROS Control card is shown as decoding consecutive ranges of that size, rather than e.g. units of 0x8000. Two decodes go to each non-executable ROS card, so it appears that the 0x7800 bytes of a bank are not actually implemented on a single card. Something bizarre seems to be going on, or possibly the documentation isn't 100% accurate. I think the non-executable ROS is selected slightly differently than in the 5110. The non-executable ROS is device address 1. The MIM says in one place that in a control operation, data bit 4 selects common and BASIC, while data bit 5 selects APL. Bits 4 and 5 come from bits 12 and 13 of the control microinstuction. I'm not convinced that the logic diagrams match that description.