NO TENGO IDEA!!! porq la memoria de programa del pic esta divida en paginas???

TC
03 de Enero del 1999
tambien se aplica la interrogante a la memoria de datod (dividida en bancos), para cualquier pic indiferentemente???????

hiei
03 de Enero del 1999
Por una razon muy simple:ç
Mira el ancho de las instrucciones del PIC
AA BBBB CCCC DDDD
14 bits.
El formato de las instrucciones GOTO y CALL son:
00 XAAA AAAA AAAA
Mientras que 00 X (donde X diferencia el CALL y el GOTO) es el codigo de operacion los 11 bits marcados como A son la direccion a saltar en binario.
Asi tenemos 2 elevado a la 11 direcciones accedibles directamente en un salto o llamada lo que de una memoria de 2048 pociciones.
El pic 16F877 tiene 8K (8192) pociciones de memoria por lo que deve existir algun mecanismo para direccionarlas y esto es la paginacion hecha sobre el rejistro PCLATH (de PC Latch high o cerrojo de la parte alta del PC) que, cada vez que se ejecuta una instruccion GOTO o CALL carga los bits del PC con lo bits correspondientes del PCLATH (usa los bits 4 y 3)

Con la memoria de datos es muy similar. -Para acceder a las 256 pociciones de memoria usa dos bancos y los pagina a travez de "STATUS, RP0"... ¿o eran cuatro y usaba tambien STATUS, RP1??? bueno, no me acuerdo...
Lo real es que esta organizacion es tipica de los procesadores RISC (que a mi juicio son mucho mejor que otros de cierta marca que vende procesadores para computadoras personales...) que solo cuentan con los bits de la palabra de instruccion para direccionar la memoria.