Autor Tema: NO TENGO IDEA!!!!!! Porque la memoria de programa esta divida en paginas????  (Leído 1523 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado TC17

  • PIC10
  • *
  • Mensajes: 2

Desconectado Jimmy_pop

  • PIC12
  • **
  • Mensajes: 72
RE: NO TENGO IDEA!!!!!! Porque la memoria de programa esta divida en paginas????
« Respuesta #1 en: 03 de Mayo de 2005, 02:26:00 »
pues para tener mas de 256 bytes de registros de memoria y poder seguir con una arquitectura de 8 bits por ejemplo xD

en las operaciones que precisan un dato que corresponde a una direccion como MOVWF les das una direccion de 8 bits... eso implica que como maximo vas a poder darle 256 direcciones diferentes, que no es mucho que digamos.. xD si hacen páginas y te dan 2 bits (como en el pic16f877 y todos esos) para seleccionar una página.. ya tienes 4*256 registros que ya está mejor..  y blabla..  es un truquillo para tener mas memoria

Desconectado Falconhunter

  • PIC12
  • **
  • Mensajes: 60
RE: NO TENGO IDEA!!!!!! Porque la memoria de programa esta divida en paginas????
« Respuesta #2 en: 03 de Mayo de 2005, 16:11:00 »
Nadie lo podria haber explicado mejor

Desconectado TC17

  • PIC10
  • *
  • Mensajes: 2
RE: NO TENGO IDEA!!!!!! Porque la memoria de programa esta divida en paginas????
« Respuesta #3 en: 04 de Mayo de 2005, 06:30:00 »
Sonrisa gracias... me han sacado de una gran duda... imagino que un criterio similar se aplica a los bancos de memoria de datos?.... gracias por la ayuda

Desconectado antoniof

  • Moderadores
  • PIC24F
  • *****
  • Mensajes: 729
RE: NO TENGO IDEA!!!!!! Porque la memoria de programa esta divida en paginas????
« Respuesta #4 en: 04 de Mayo de 2005, 18:04:00 »
Buenas.

Para la memoria de programa, ocurre lo mismo. El registro contador de programa "PC", puede direccionar hasta 8KBytes de memoria(14bits). El problema es que instrucciones como call o goto, sólo cargan los 11 primeros bits en el PC, lo que nos da un total de 2KB. Cuando queremos saltar a otra página de la memoria de programa, debemos precargar en el registro "PCLATH" los dos bits más significativos del PC, para que al ejecutar la instrucción goto o call, el pc se carge corectamente.

Otra cosa a tener en cuenta son los saltos en las tablas de datos cuando hacemos un "addwf PC,f". En este caso, como ha dicho nuestro amigo Jimmy, el registro "w" tan sólo contiene los 8 bits menos significativos que se cargan en el PC, por eso no podemos hacer nunca tablas de datos mayores de 256 datos. A la hora de realizar tablas, debemos asegurarnos de cargar en el PCLATH el valor adecuado, que esta vez, serán los 5 bits más significativos.

Desconectado Jimmy_pop

  • PIC12
  • **
  • Mensajes: 72
RE: NO TENGO IDEA!!!!!! Porque la memoria de programa esta divida en paginas????
« Respuesta #5 en: 07 de Mayo de 2005, 04:48:00 »
Sí, me había olvidado eso,

Y en su día tambien me hizo sudar esto, pq muchas veces olvidas que puede suceder.


 

anything