ENFOQUE MULTINIVEL MÁQUINA VIRTUAL LENGUAJES UNIVERSIDAD NACIONAL DE SANTIAGO DEL ESTERO FACULTAD DE CIENCIAS EXACTAS Y TECNOLOGIAS Asignatura : Organización del Computador Carrera: Licenciatura en Sistemas de Información. Modulo 4to. Año 2009
Un computador digital es una máquina que puede resolver problemas ejecutando ciertas instrucciones.
Un programa es una secuencia de instrucciones.
Los circuitos electrónicos de cada computadora reconocen un conjunto limitado de instrucciones muy simples.
Lenguaje de máquina es el conjunto de instrucciones básicas de una computadora.
ENFOQUE MULTINIVEL
Solución :
Si Lo el lenguaje máquina
Crear L1 un lenguaje más fácil de utilizar
PROBLEMA
Utilizar lenguaje máquina es difícil y tedioso.
Programa en L1 Programa en Lo C/ Instrucción L1 [Inst.1 L o + Inst.1 L o + . . . + Inst.n L o ]
Se puede imaginar la existencia de una máquina virtual cuyo lenguaje de máquina es L1.
Se pueden crear L2, L3... cada uno más fácil de utilizar.
Máquina Virtual nivel n nivel 2 nivel 1 nivel 0 Mn con Ln M2 con L2 M1 con L1 M0 con L0 . . .
Métodos de implementación de la máquina virtual (enfoque multinivel)
Traducción : Se sustituye cada instrucción del programa escrito en L1 por una instrucción equivalente de instrucciones en L0. Se cuenta con un nuevo programa escrito exclusivamente en L0. La computadora ejecuta el nuevo programa en L0.
Interpretación : Un programa en L0 toma programas en L1 como datos de entrada y lo ejecuta examinando sus instrucciones una por una y ejecutando directamente la sucesión de instrucciones en L0 equivalente a cada una.
Nivel 0 TRADUCCIÓN (compilador) TRADUCCIÓN (ensamblador) INTERPRETACIÓN PARCIAL (sistema operativo) INTERPRETACIÓN (microprograma) EJECUCIÓN Los microprogramas son ejecutados directamente por el hardware MAQUINA MULTINIVEL ACTUAL NIVEL DE LENGUAJES ORIENTADOS A PROBLEMAS Nivel 5 NIVEL DE LÓGICA DIGITAL Nivel 1 NIVEL DE MICROPROGRAMACIÓN Nivel 2 NIVEL DE CONJUNTO DE INSTRUCCIONES Nivel 3 NIVEL DE MÁQUINA DEL SISTEMA OPERATIVO Nivel 4 NIVEL DE LENGUAJE ENSAMBLADOR
Nivel 0: nivel de lógica digital
Es el hardware de la máquina.
En este nivel:
Puertas lógicas
Circuitos integrados
Circuitos combinacionales
Circuitos aritméticos
Relojes
Memorias
Microprocesadores
Buses
El nivel inferior sería el nivel de dispositivo.
Nivel 1: nivel de microarquitectura
Existe un programa llamado microprograma.
La función del microprograma es interpretar las instrucciones del nivel 2.
En algunas máquinas no existe el nivel de microprogramación. (la ejecución se hace directamente por hard)
Nivel 2: nivel de conjunto de instrucciones
El fabricante de computadores publica el “Manual de referencia del lenguaje máquina”.
Las instrucciones del nivel 2 las interpreta el microprograma.
En las máquinas en las que no existe el nivel de microprogramación, las instrucciones del nivel de máquina son realizadas directamente por los circuitos electrónicos.
Nivel 3: nivel del sistema operativo
La mayoría de las instrucciones de este nivel están también en el nivel 2 pero además tiene un nuevo conjunto de instrucciones, una organización diferente de la memoria, posibilidad de ejecutar 2 o más programas ...
Las nuevas instrucciones las interpreta el sistema operativo .
Las que son idénticas a las del nivel 2 las lleva a cabo el microprograma.
Nivel 4: nivel del lenguaje ensamblador
Los niveles 4 y superiores son utilizados por los programadores de aplicaciones .
Los niveles inferiores están diseñados para ejecutar los intérpretes y traductores de los niveles superiores y son escritos por los programadores de sistemas .
El ensamblador es el programa que lleva a cabo la traducción de un programa del nivel 4.
Nivel 5: nivel de lenguajes de alto nivel
Los lenguajes de alto nivel son más fáciles de utilizar que los lenguajes de niveles inferiores.
Son utilizados por los programadores de aplicaciones .
Los traductores de programas en lenguaje de alto nivel pueden ser compiladores o intérpretes .
MAQUINA MULTINIVEL ACTUAL INTERPRETACIÓN PARCIAL (sistema operativo) TRADUCCIÓN (compilador) TRADUCCIÓN (ensamblador) INTERPRETACIÓN (microprograma) EJECUCIÓN (hardware) Nivel 0 NIVEL DE LENGUAJES ORIENTADOS A PROBLEMAS Nivel 5 NIVEL DE LÓGICA DIGITAL Nivel 1 NIVEL DE MICROPROGRAMACIÓN Nivel 2 NIVEL DE CONJUNTO DE INSTRUCCIONES Nivel 3 NIVEL DE MÁQUINA DEL SISTEMA OPERATIVO Nivel 4 NIVEL DE LENGUAJE ENSAMBLADOR Lenguajes mas Sofisticados Sencillos para la persona Formado por palabras, abreviaturas Lenguajes mas sencillos Simples para el computador Numérico
Evolución de los niveles
Los primeros computadores digitales (años 40) sólo tenían 2 niveles (convencional y lógica digital).
Los circuitos digitales eran voluminosos, poco confiables y difíciles de construir.
El nivel de microprogramación se añadió para:
simplificar la electrónica
facilitar la escritura de compiladores
ejecutar los programas más rápidamente (ROM más rápida que la RAM)
en los 70 estaba plenamente difundido
En los 50 aparecieron los ensambladores y compiladores.
En los 60 aparece el sistema operativo.
Evolución de los niveles
Cuanto más complicado el lenguaje máquina, más grande, complicado y lento el microprograma (ya que necesitan procedimientos).
La velocidad de la memoria RAM se aumentó con el avance de la tecnología (memorias de semiconductores).
Es difícil escribir, depurar y mantener el microcódigo.
A principios de los 80 se elimina el nivel de microprogramación para dar paso a las máquinas RISC.
0 comments
Post a comment