1) Что есть RAM, а что TCM?
Это вопрос по архитектуре ARM, а не модуля.
Большинство других процов, типа в ESP-32, имеют память в виде множества малых раздельных блоков с разными шинами и объединить их в один непрерывный невозможно.
2) Где-то написано RAM 512к, где-то указано 48k available for user
48k - это размер заданный в исходниках для "heap" в готовом приложении (прошивке) какой-то версии "AT", которую оно пишет в logUART при загрузке
Никоим образом не описывает кол-во RAM на чипе. Это значение задается для работы стеков RTOS и части буферов к конкретному приложению. Из описания, от куда вы взяли данную цифру - это указание, что для работы среднего приложения достаточно описать в файле конфигурации RTOS "heap" в 48 килобайт. При меньшем может не хватить на стеки задач RTOS, буферизацию потоков, буфера и переменные для работы WiFi в режиме AP+Station с поддержкой всех функций данной версии "AT" прошивки.
В чипе RTL8710AF 512 килобайт SRAM. Из них 64 килобайта отдельный блок в виде TCM RAM. Отличие в том, что TCM область не имеет тактов ожидания при работе с ней CPU. Остальная память (единый блок 448 килобайт SRAM) имеет такт ожидания при некоторых асинхронных обращениях. Вдаваться вам в это на первых этапах не стоит. Потери скорости исполнения от этого в ваших приложениях не составят более процента.
Различий типов имеющейся RAM памяти по возможности побайтового обращения (четные/нечетные адреса) у RTL8195/871x нет. Как и нет запретов что находится в RAM памяти - исполняемый код или данные. Для серии "A" есть одно ограничение - у неё нет
XIP. Serial Flash не позволяет обеспечивать поток данных и кода со скоростью работы CPU (тут у нас 166 МГц CPU), а SRAM - позволяет. В дешевых WiFi-SoC при работе с Serial Flash (типа ESP8266) используют механизм аппаратного XIP - это система "кэширования" данных из Flash в SRAM. При этом сильно страдает производительность на ожидание CPU загрузки кода из Flash в область "кеширования", если их там ещё нет или они не вытеснены. И область "кеширования" обычно мала. У ESP8266 объем "кеша" - это два блока SRAM по 16 килобайт. Т.е. ваша программа с постоянно отрабатывающим кодом в размер более 32 килобайта будет достаточно сильно тормозить. Кроме этого на ESP8266 вы не можете писать Flash и одновремнно исполнять программу из Flash. На время записи (и чтения) Flash механизм XIP у ESP8266 отключен. По этому весь зависимый код у него находится в специальной области 64к SRAM названной IRAM (включающей и 32к "кеш") - только там и в ROM может исполняться код. Но в ROM ESP8266 код содержит много ошибок и не используется более чем на 10%, а ревизии с его исправлением нет.
У RTL спец. областей для исполнения кода нет. Другая архитектура CPU и меньше ошибок в ROM, да и туда помещен почти весь код API. От этого пользовательский код выходит объемом меньше. ROM не имеет тактов ожидания для CPU.
У чипов RTL серии "A" есть варианты с 2 МегаБайт SDRAM. SDRAM при этом имеет шину в 16 бит и 100 MHz. Это неизбежно дает такты ожидания для 166 MГц ядра CPU и в ней исполнение кода замедленное.
Flash в RTL серии "A" имеет контроллер отображения QSPI устройств в область памяти (до 128 МБайт). Но "кеша" для них более 64 байт не имеет. Аппаратно обслуживается и запись в эти устройства путем записи процессором в область отображения. Контролер имеет регистры для задания всех команд работы с устройством на QSPI, тактов ожидания и режимов (4/2/1 бит SPI). psRAM и другие типы могут работать на нем...
Это описание дано, чтобы понять различие в чипах, если знакомы с ESP8266.