Sobre documento o material, te podria decir que lo tenes todo al alcance de tus manos.
El mayor problema que te vas a enfrentar es contestar esta pregunta: ¿Para que? (Especialmente cuando programas en C)
Yo me conozco un poco las arquitecturas por mi intento de querer programar en ASM cada uno de esos micros, los PIC16/18 sin problemas por que son simples, pero los PIC24/dsPIC son un dolor de cabeza y ya te voy a explicar el porque..
Por ejemplo si quisiera aprender sobre la arquitectura de los PIC12/16/18, leeria su datasheet. Ahi esta explicado como es que direcciona la memoria, como esta dividida la RAM en algunos casos, donde estan los SFR, etc. Cada familia es distinta, y cada micro es distinto, por ejemplo hay PIC16 de los mas nuevos con muchas mejoras respecto a los primeros PIC16, aunque su arquitectura sigue un concepto similar.
Como te decia, los PIC12/16/18 no presentan una clara distincion de lo que es el nucleo, memoria, perifericos y buses, y eso lo podes ver en sus diagramas de bloque:
http://ww1.microchip.com/downloads/en/DeviceDoc/35007b.pdf (Pagina 5)
http://ww1.microchip.com/downloads/en/DeviceDoc/40001350F.pdf (Pagina 10)
El PIC16F84 es dentro de todo lo mas simple, Y mirando el bloque de diagrama, podes entender como es que una operacion como sumar, puede recibir un operando desde W y otro desde la misma instruccion o desde la memoria.
Tambien luego en el capitulo Memory Oganizartion te explica las formsa de direccionamiento.
------------------------------------
Respecto a los PIC24/dsPIC es otro tema. Y muchisimo mas grande, ya toda la informacion no esta en el datasheet, cuando buscas algun dsPIC en la pagina de Microchip, supongamos este:
https://www.microchip.com/wwwproducts/en/dsPIC33EP128GM304En la parte de Documents, bajo el titulo de Reference Manual vas a tener todo lo que buscas sobre la arquitectura del PIC y cada uno de sus modulos. Los que te interesarian serian:
CPU y Data Memory, Tal ves la flash.
Aun asi es MUCHO tratar de entenderlo todo, soy fanatico del ASM y me llevo unos dias tratar de entender como es que funciona el direccionamiento de los dsPIC especialmente, y que si no vas a programar en ASM como te digo, no tiene mucho sentido. El problema de los dsPIC es que dejas de tener 1 solo bus para leer y escribir, sino que tenes 1 bus que permite lectura y escritura al mismo tiempo, y otro bus que permite lectura, de esa forma poder ejecutar instrucciones con varios parametros y almacenarlo todo en una sola instruccion.
-----------------------
Sobre ARM, me baje los documentos sobre su core para tratar de programarlo tambien.
-----------------------
En fin, no te puedo dar ningun documento mas de los que ofrecen los fabricantes, no estan escritos de la mejor forma para que se entienda con muchos ejemplos, pero estan. Y programar en ASM es un dolor de cabeza, especialmente si tenes muchas familias, ya que cambia de familia a familia. PIC16 y PIC18 hay cambios minimos, pero pasar a PIC24/dsPIC es otro ASM completamente distinto.
teniendo en cuenta que la mitad de lo que me enseñaron está mal.
No creo que haya sido el caso, recorda que estan usando un lenguaje de alto nivel de programacion, por lo tanto no es de tanta importancia como es que se maneja internamente el micro, ya que es tarea del compilador arreglarselas. Tal ves una "sobre" simplificacion de algunos temas, para que no pierdan el hilo en eso, y aborden los temas que le corresponden.
Ejemplo en C, sabiendo como funcionan los perifericos, o solamente viendo el datasheet del periferico (para saber que registros le corresponden - SFR ) les sobra para programar lo que deseen.