Visita la versión flash
Propuestas
Visita el perfil del autor
Hablan del blog

SOM30


"Cómo hacer un Sistema Operativo en 30 días"
3/07/2010 15:47

Juego de instrucciones que tenemos

Comunicaciones de Red
Hoy despertamos sabiendo la arquitectura donde se va a montar este Sistema Operativo. Como cualquier arquitectura, tiene su propio conjunto de instrucciones, y en el caso de la Arquitectura eWa, seleccionada por su sencillez, se trata de un conjunto de instrucciones bastante reducido.

Las instrucciones o mnemónicos usados habitualmente para comenzar a desarrollar un Sistema Operativo dependen de aquellas instrucciones que reconozca la Arquitectura en la que se va a ejecutar, soliendo coincidir con las instrucciones que el Sistema Informático entiende. En general, el conjunto de mnemónicos determinan el lenguaje de ensamblador que se usará

En nuestro caso, cada una de las instrucciones que entiende el Sistema Informático se nombrará con su correspondiente cifra hexadecimal. Como la Arquitectura eWa está orientada a ofrecer la mayor sencillez y personalización, el desarrollo del lenguaje de ensamblador será cosa nuestra. Por ese motivo, nuestro primer objetivo será pondremos manos a la obra para poder crear y determinar ese lenguaje de ensamblador que nos permitirá desarrollar el código fuente de procesos que se ejecutarán en código máquina sobre el Sistema Informático.

Lo primero que vamos a hacer es conocer un poco las instrucciones que nos ofrece esta arquitectura. Las instrucciones que nos ofrece la Arquitectura eWa, sólo 16 (24) ya que cada instrucción ocupa 4 bits, están explicadas en la documentación, pero voy a intentar resumirlas aquí brevemente. Están clasificadas en cuatro grupos:
  • Las de asignación: se trata de instrucciones que nos permiten escribir en los registros WVUZ de la CPU. A su vez, están divididas en negativas (que ponen el valor 0 binario) y positivas (que ponen el valor 1 binario), siendo en total ocho. Las instrucciones "0", "1", "2" y "3" ponen el valor 0 a W, V, U y Z respectivamente; mientras que las instrucciones "4", "5", "6" y "7" ponen en esos registros el valor 1 en el mismo orden.
  • La de condición: se trata de una instrucción (la "8") que realiza algo similar a las anteriores. Consiste en poner en el registro W el valor del registro K ambos de la CPU. El llamarla "de condición" veremos que se debe a que gracias a esto, podremos implementar la función "if" y derivados en nuestro sistema.
  • Las de ejecución: se trata de las instrucciones "9" y "A" que llamaran a las funciones de ejecución de la ABU y la MMU respectivamente. Estas funciones de ejecución, como comentaba en la entrada anterior, permiten en el caso de la ABU realizar operaciones con los grupos de registros MN, OP y XY, y que la MMU trabaje con sus punteros en función de los valores de los registros ZUVW de la CPU.
  • Las de lectura y escritura: las siguientes últimas cinco instrucciones están destinadas a trabajar con el registro K de la CPU. La instrucción "B" llamará a la función de acceso (lectura o escritura) de la ABU; las instrucciones "C" y "D" llaman respectivamente a la función de lectura y a la función de escritura de la CPU; y las instrucciones "E" y "F" llamará respectivamente a la función de lectura y a la función de escritura sobre el Espacio de Direcciones a través de la MMU.
Y con estas 16 instrucciones tenemos todas las funciones básicas para armar nuestro propio lenguaje de ensamblador que se usará para comenzar a desarrollar el Sistema Operativo.

Comentarios

6/08/2011 16:30
ta gueno??'

6/08/2011 16:29
la neta que esta bien homis sigan adelante!!!

19/07/2011 02:18
Hola soy nuevo en esto, es un proyecto muy interezante por lo cual hare grandes esfuerzos para hacer buenos aportes al mismo...mi nombre ing. Alberto MOlina de Republica Dominicana. si vamos a hacer esto hay que hacerlo por todo lo alto y pensar en como invandir cada pc con dicho so. verlo como una solucion a la atadura con que nos tiene el guindo hasta ahora....

Deja tu comentario

Búsqueda

Calendario

- Día 1
- Día 2
- Día 3
- Día 4
- Día 5
- Día 6
- Día 7
- Día 8
- Día 9
- Día 10
- Día 11
- Día 12
- Día 13
- Día 14
- Día 15
- Día 16
- Día 17
- Día 18
- Día 19
- Día 20
- Día 21
- Día 22
- Día 23
- Día 24
- Día 25
- Día 26
- Día 27
- Día 28
- Día 29

Código

- Sistemas Informáticos
- Compilador
- GAM
- GAE
- Kérnel
- LiSi
- ViSi
- SAM
Licencia LSW

Comentan

- Día 5 (2) 23/01 01:52
- Día 20 (12) 21/01 19:39
- Día 10 (15) 19/01 20:13
- Día 11 (13) 19/01 20:09
- Día 12 (10) 19/01 19:52
- Día 21 (13) 19/01 19:51
- Día 9 (10) 19/01 18:41
- Día 15 (11) 19/01 17:48
- Día 22 (11) 19/01 17:48
- Día 19 (12) 19/01 17:33
- Día 29 (7) 23/12 16:32
- Día 2 (5) 23/12 10:18
- Día 8 (1) 14/11 18:32
- Día 23 (3) 10/10 21:26
- Día 3 (3) 6/08 16:30
- Día 1 (5) 12/05 02:31
- Día 17 (1) 4/04 10:21
- Día 7 (6) 28/11 15:52
- Día 6 (1) 17/09 16:10
- Día 27 (1) 11/08 18:46
- Día 24 (1) 8/08 14:30
- Día 18 (1) 30/07 20:27
- Día 14 (2)
- Día 13 (4)
- Día 4 (1)

Valid HTML 4.01 Transitional