Обычно RISC процессоры строят по Гарвардской архитектуре, а CISC - по архитектуре фон Неймана. Бывают другие варианты?
Думаю, что дело в том, что разделение между программной памятью и памятью данных естественным образом возникает в процессорах с конвейерной архитектурой, лежащей в основе множества реализаций RISC-процессоров. Первая стадия конвейера читает инструкцию из памяти и может делать это каждый цикл. Стадия обмена с памятью может читать и писать в память, и тоже может делать это каждый цикл. Если объединить эти две памяти, то для доступа к ним либо потребуется арбитр, и тогда первая стадия конвейера будет простаивать во время чтения/записи данных, либо потребуется память с двумя портами, что требует существенно больше ресурсов. В любом случае такое объединение на уровне процессорного ядра -- это пессимизация дизайна, приводящая к его преждевременному усложнению и ухудшению производительности. Думаю, что именно поэтому процессорные ядра с конвейером выводят наружу две шины и оставляют следующему уровню интеграции решение о том, как с ними поступать. И поэтому в учебниках рассматривающих проектирование процессоров (например Харрис и Харрис или Паттерсон и Хеннесси) программная память и память данных идут поотдельности.