Jerarquía de Niveles de una Computadora: Ejecución, Direccionamiento y Organización de la Información
Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones
Escrito el en español con un tamaño de 5,91 KB
Niveles de la Máquina
La arquitectura de una computadora se organiza en diferentes niveles, cada uno con sus propias funciones y características.
Nivel 2 - Nivel de Máquina
La CPU interactúa con la memoria del sistema a través de buses, cargando en memoria una secuencia binaria que representa una instrucción. El conjunto de instrucciones que la CPU puede ejecutar directamente se denomina nivel de máquina. La CPU intercambia información con los dispositivos periféricos utilizando este nivel.
En este nivel, es necesario colocar la secuencia de bits del programa directamente en la memoria, lo cual es un proceso complejo y poco práctico.
Nivel 3 - Nivel de Sistema Operativo
Constituido por conjuntos de instrucciones del nivel anterior, el sistema operativo ofrece una serie de funcionalidades que facilitan la realización de operaciones básicas. Contiene instrucciones de nivel de máquina que permiten realizar tareas más complejas, como mostrar un carácter en pantalla. Estas instrucciones son rutinas que el sistema operativo proporciona, y el programa las llama para que la CPU se encargue de su ejecución.
Nivel 4 - Nivel de Lenguaje Ensamblador
En este nivel, se establece una correspondencia entre una cadena de texto y una secuencia binaria. Las cadenas de texto se corresponden con una única instrucción de nivel de máquina o con una de las operaciones ofrecidas por el sistema operativo.
Nivel 5 - Nivel de Lenguaje Orientado a Problemas
Aquí se encuentran los lenguajes de medio y alto nivel. Estas instrucciones no son directamente entendibles por la CPU y deben ser traducidas a instrucciones de nivel de máquina.
Ejecución del Código en los Distintos Niveles
1) Interpretación
Se traduce la instrucción de un nivel superior a una secuencia binaria correspondiente al nivel de máquina. Esto permite realizar un seguimiento del efecto de las instrucciones sobre la CPU y se utiliza comúnmente en operaciones de depuración.
Inconveniente: Cada vez que se ejecuta el código, se debe realizar la conversión, lo que añade tiempo de ejecución.
Juego de Instrucciones
1. Búsqueda de Instrucción: La CPU utiliza un registro llamado Contador de Programa (IP) que contiene la dirección de memoria donde se encuentra la secuencia binaria de la instrucción. La CPU lee esta secuencia y la lleva al Registro de Instrucciones.
2. Decodificación de la Instrucción: Una unidad decodifica la instrucción para obtener las señales de control necesarias para su ejecución. El decodificador de instrucciones es una parte crítica del diseño de la CPU.
Existen 2 técnicas:
1. Optimización del diseño de la Unidad de Control: Se eligen las líneas de control adecuadas asociadas al código de operación, lo que reduce la circuitería y hace la CPU más rápida. Sin embargo, el diseño de compiladores y ensambladores se vuelve más complejo.
2. Optimizar el código de operación: Se asocian conjuntos de combinaciones de bits de códigos de operación a instrucciones similares. Esto facilita el diseño de compiladores y ensambladores, pero requiere una Unidad de Control con mayor circuitería y resulta en una CPU más lenta.
3. Búsqueda de los Operandos: Se localiza la información con la que se va a realizar la operación, utilizando diferentes modos de direccionamiento.
4. Ejecución de la Instrucción: Se realiza la operación especificada.
5. Almacenamiento del Resultado: Se almacena el resultado de la operación utilizando los mecanismos de direccionamiento.
2) Traducción
Las instrucciones de niveles superiores (N4, N5) se convierten en instrucciones de nivel de máquina (N2) y se almacenan. Cuando se desea ejecutar el programa, se carga la secuencia binaria y se transfiere el control a la primera instrucción. Esto es más rápido que la interpretación, ya que la traducción solo se realiza una vez.
Inconveniente: Todas las instrucciones de nivel de máquina se ejecutan de forma seguida, lo que dificulta el seguimiento del comportamiento de la CPU.
Direccionamientos
- Direccionamiento Implícito: El operando está implícito en la instrucción.
- Direccionamiento Inmediato: Se utiliza para referenciar valores constantes. El dato se encuentra a continuación del código de operación.
- Direccionamiento Directo: Se utiliza una dirección de memoria para acceder al dato.
- Direccionamiento a Registro o Directo a Registro: El operando se encuentra en un registro de la CPU.
- Direccionamiento Indirecto: Se indica la dirección de memoria donde se encuentra la dirección del dato.
- Direccionamiento Relativo: La dirección del dato se calcula sumando un desplazamiento al contenido de un registro.
- Direccionamiento Indexado: La dirección del dato se calcula sumando el contenido de dos registros.
- Direccionamiento mediante Pila: Se utiliza una estructura de memoria especial llamada pila para acceder a los datos.
Organización de la Información dentro de la Memoria
La información se puede almacenar en memoria en diferentes tamaños (8, 16, 32 bits). Existen dos formas principales de organizar la información en memoria:
- BigEndian: Los bytes de mayor peso se almacenan en las direcciones de memoria más bajas.
- LittleEndian: Los bytes de menor peso se almacenan en las direcciones de memoria más bajas.
Tipos de Instrucción
Existen diferentes tipos de instrucciones que la CPU puede ejecutar, como instrucciones aritméticas, lógicas, de transferencia de datos, de control de flujo, etc.