Ya estamos de nuevo con otro capítulo, como dije en el anterior, vamos a hablar otra vez de las partes generales, pero adentrándonos un poco más en las funcionalidades, etc, etc.
Vamos a empezar con el bus, ya que en el otro capítulo dije algo sobre este. El bus como ya dije es una "carretera", canales o como queráis llamarlo por donde circula toda la información que maneja el pc. Según el pc puede haber más o menos lineas. A los flujos que se transmiten por el bus se les suele llamar señales, y hay varios tipos de señales:
- Señales de Datos: En estas lineas se transportan datos entre los diferentes dispositivos. Se suele llamar bus de datos.
- Señales de Dirección: Son las lineas por las que circulan las direcciones. Y como dijimos las direcciones no son más que el lugar donde están almacenados las instrucciones de programas o los datos. Se suele llamar bus de direcciones. Como vemos tiene estrecha relación con el anterior bus, por eso pueden encontrarse multiplexados, que viene a significar que usan las mismas lineas, intercalándose.
- Señales de Control: Hay unas lineas dedicadas a estas señales, explicaré las más importantes de cada elemento a continuación.
- Otras: Cabe destacar que también hay reservadas unas lineas para transportar la tensión de alimentación, a los diferentes dispositivos.
En el caso del procesador del que hable en anteriores capítulos (8085), dispone de 8 lineas (8 bits) en el bus de direcciones, que se pueden multiplexar con el bus de datos, para una longitud de palabra de 16 bits. Y bueno mejor dejamos este tema aquí por que de direccionamiento ya hablaré en la parte de memoria, que eso hay que entenderlo bien, ya que tiene su miga y es fácil confundirse.
Continuamos, como dije la memoria sirve para almacenar los datos o las instrucciones de los programas que se están ejecutando. Vamos a ver alguna señal que le llega. Tiene reservada una linea para el CS o Chip Select que para decirlo a groso modo sirve para habilitar o deshabilitarla. Y otra señal importante como imaginareis es la de lectura/escritura (R/W), para especificar lo que se quiere hacer, si leer de la memoria o escribir en ella. Básicamente lo que hace es enviar un 1 si se quiere leer o un 0 si se quiere escribir. Recordamos que están son las señales de control que definimos antes en el bus interno.
Otros dispositivos de almacenamiento son los registros, de acceso más rápido. Por ejemplo en el 8085 disponemos de registro A,B,C,D y algunos más. El registro A es un caso especial ya que es el acumulador, que por ejemplo lo puedes usar para hacer sumas, y mejor dejamos esto aquí, solo para que tengáis una idea. A lo que vamos, las señales de control más importantes que llegan aquí son las mismas que las explicadas anteriormente para la memoria. No tiene por que existir físicamente ya que se puede incluir en "trozos" de la propia memoria, pero bueno perderían alguna de sus funciones en cuanto a tiempo de acceso.
Y otro dispositivo de almacenamiento que os sonara, es la pila. Lo habréis oído al leer sobre desbordamientos de búfer y overflows varios, basados en este dispositivo. Este no es como los otros, ya que usa una estructura peculiar llamada LIFO (Last Input First Output), que como sabréis significa que el último dato en entrar es el primero en salir. Yo creo que con la propia definición se entiende como funciona, sino tenéis por ahí mil webs que lo explican con ejemplos (libros, etc).
Estos métodos como LIFO u otros también se usan en gestión de proceso, en el tema de colas, que no explicare obviamente, ya que es cosa de la propia gestión del sistema operativo.
En la pila, se usa un direccionamiento muy simple, es el "puntero de la pila", que en asm se suele usar como SP de Stack Pointer. Pues bien este puntero, esta apuntando la dirección del último dato que ha entrado a la pila. Mira si entendéis eso, no os costará nada entender los punteros en programación. Respecto a esto hay una señal de control que lo que hace es incrementar el puntero o decrementarle según vayan saliendo o entrando datos a la pila. Al igual que el registro la pila puede estar mapeada en la propia memoria, no tiene por que ser física. Y bueno, la pila la podemos usar para guardar algún dato de forma temporal y poder recuperarlo más tarde, y cosas de ese estilo. Para trabajar con la pila en asm hay instrucciones como PUSH o POP.
Creo que lo dejaremos aquí, para el próximo capítulo diré alguna cosilla de los que me faltan (UC y ALU), sobre todo la UC tiene cosas interesantes por ahí jeje. Y me pondré en breve ya con la memoria y con el direccionamiento, miedito de da, espero poder explicarlo bien.
Perdonadme que no ponga en negrita términos importantes, y cosas de ese estilo que siempre gustan, pero me da mucha pereza :B. Hasta otro capítulo, saludos.

Muy Bueno ehh.
ResponderEliminarOK MUY BUENO GRACIAS DIOS TE BENDIGA
ResponderEliminarmuy bueno, pero podrias poner un subtitulo para saber sobre que vas a tratar.
ResponderEliminarde todas formas
gracias.
gracias sirvio de mucho esperando la 4ta parte con ansias!!
ResponderEliminar