Post on 06-Jul-2015
description
transcript
ENFOQUE MULTINIVELENFOQUE MULTINIVELMÁQUINA VIRTUALMÁQUINA VIRTUAL
LENGUAJESLENGUAJES
UNIVERSIDAD NACIONAL DE SANTIAGO DEL ESTEROUNIVERSIDAD NACIONAL DE SANTIAGO DEL ESTEROFACULTAD DE CIENCIAS EXACTAS Y TECNOLOGIASFACULTAD DE CIENCIAS EXACTAS Y TECNOLOGIAS
AsignaturaAsignatura: : Organización del ComputadorOrganización del Computador
Carrera: Licenciatura en Sistemas de Información. Modulo 4to. Año 2009
Un Un computador digitalcomputador digital es una máquina que es una máquina que puede resolver problemas ejecutando ciertas puede resolver problemas ejecutando ciertas instrucciones.instrucciones.
Un Un programaprograma es una secuencia de instrucciones. es una secuencia de instrucciones.
Los circuitos electrónicos de cada computadora Los circuitos electrónicos de cada computadora reconocenreconocen un conjunto limitado de instrucciones un conjunto limitado de instrucciones muy simples.muy simples.
LenguajeLenguaje dede máquinamáquina es el conjunto de es el conjunto de instrucciones básicas de una computadora.instrucciones básicas de una computadora.
ENFOQUE MULTINIVELENFOQUE MULTINIVEL
SoluciónSolución:: Si Si Lo Lo el lenguaje máquinael lenguaje máquina CrearCrear L1L1 un lenguaje más fácil de utilizar un lenguaje más fácil de utilizar
PROBLEMAPROBLEMA
Programa en L1
Programa en Lo
C/ Instrucción L1
[Inst.1 Lo + Inst.1 Lo + . . . + Inst.n Lo ]
Utilizar lenguaje máquina es difícil y Utilizar lenguaje máquina es difícil y tedioso.tedioso.
Se puede imaginar la Se puede imaginar la existencia de una existencia de una máquina virtualmáquina virtual cuyo cuyo lenguaje de máquina lenguaje de máquina es L1.es L1.
Se pueden crear L2, Se pueden crear L2, L3... cada uno más L3... cada uno más fácil de utilizar.fácil de utilizar.
Máquina VirtualMá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 Métodos de implementación de la máquina virtual de la máquina virtual
(enfoque multinivel)(enfoque multinivel)
TraducciónTraducción: Se sustituye cada instrucción del : Se sustituye cada instrucción del programa escrito en L1 por una instrucción programa escrito en L1 por una instrucción equivalente de instrucciones en L0. Se cuenta con un equivalente de instrucciones en L0. Se cuenta con un nuevo programa escrito exclusivamente en L0. La nuevo programa escrito exclusivamente en L0. La computadora ejecuta el nuevo programa en L0.computadora ejecuta el nuevo programa en L0.
InterpretaciónInterpretación: Un programa en L0 toma : Un programa en L0 toma programas en L1 como datos de entrada y lo ejecuta programas en L1 como datos de entrada y lo ejecuta examinando sus instrucciones una por una y examinando sus instrucciones una por una y ejecutando directamente la sucesión de instrucciones ejecutando directamente la sucesión de instrucciones en L0 equivalente a cada una.en L0 equivalente a cada una.
Nivel 0
NIVEL DE LENGUAJES ORIENTADOS A PROBLEMASNivel 5 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 LÓGICA DIGITAL
Nivel 1 NIVEL DE MICROPROGRAMACIÓN
Nivel 2 NIVEL DE CONJUNTO DE INSTRUCCIONES
Nivel 3NIVEL DE MÁQUINA DEL
SISTEMA OPERATIVO
Nivel 4 NIVEL DE LENGUAJE ENSAMBLADOR
Nivel 0: nivel de lógica digitalNivel 0: nivel de lógica digital
Es el hardware de la máquina.Es el hardware de la máquina. En este nivel:En este nivel:
Puertas lógicasPuertas lógicas Circuitos integradosCircuitos integrados Circuitos combinacionalesCircuitos combinacionales Circuitos aritméticosCircuitos aritméticos RelojesRelojes MemoriasMemorias MicroprocesadoresMicroprocesadores BusesBuses
• El nivel inferior sería el nivel de dispositivo.El nivel inferior sería el nivel de dispositivo.
Nivel 1: nivel de microarquitecturaNivel 1: nivel de microarquitectura
Existe un programa llamado Existe un programa llamado microprograma.microprograma.
La función del microprograma es La función del microprograma es interpretar las instrucciones del nivel 2.interpretar las instrucciones del nivel 2.
En algunas máquinas no existe el nivel En algunas máquinas no existe el nivel de microprogramación. (la ejecución se de microprogramación. (la ejecución se hace directamente por hard)hace directamente por hard)
Nivel 2: nivel de conjunto de Nivel 2: nivel de conjunto de instruccionesinstrucciones
El fabricante de computadores publica el El fabricante de computadores publica el “Manual de referencia del lenguaje “Manual de referencia del lenguaje máquina”.máquina”.
Las instrucciones del nivel 2 las interpreta el Las instrucciones del nivel 2 las interpreta el microprograma.microprograma.
En las máquinas en las que no existe el nivel En las máquinas en las que no existe el nivel de microprogramación, las instrucciones del de microprogramación, las instrucciones del nivel de máquina son realizadas nivel de máquina son realizadas directamente por los circuitos electrónicos.directamente por los circuitos electrónicos.
Nivel 3: nivel del sistema operativoNivel 3: nivel del sistema operativo La mayoría de las instrucciones de este La mayoría de las instrucciones de este
nivel están también en el nivel 2 pero nivel están también en el nivel 2 pero además tiene un nuevo conjunto de además tiene un nuevo conjunto de instrucciones, una organización diferente instrucciones, una organización diferente de la memoria, posibilidad de ejecutar 2 de la memoria, posibilidad de ejecutar 2 o más programas ...o más programas ...
Las nuevas instrucciones las interpreta el Las nuevas instrucciones las interpreta el sistema operativosistema operativo..
Las que son idénticas a las del nivel 2 las Las que son idénticas a las del nivel 2 las lleva a cabo el microprograma.lleva a cabo el microprograma.
Nivel 4: nivel del lenguaje Nivel 4: nivel del lenguaje ensambladorensamblador
Los niveles 4 y superiores son utilizados por Los niveles 4 y superiores son utilizados por los los programadores de aplicacionesprogramadores de aplicaciones..
Los niveles inferiores están diseñados para Los niveles inferiores están diseñados para ejecutar los intérpretes y traductores de los ejecutar los intérpretes y traductores de los niveles superiores y son escritos por los niveles superiores y son escritos por los programadores de sistemasprogramadores de sistemas..
El ensamblador es el programa que lleva a El ensamblador es el programa que lleva a cabo la traducción de un programa del nivel 4. cabo la traducción de un programa del nivel 4.
Nivel 5: nivel de lenguajes de Nivel 5: nivel de lenguajes de alto nivelalto nivel
Los lenguajes de alto nivel son Los lenguajes de alto nivel son más fácilesmás fáciles de utilizar que los lenguajes de niveles de utilizar que los lenguajes de niveles inferiores.inferiores.
Son utilizados por los Son utilizados por los programadores de programadores de aplicacionesaplicaciones..
Los traductores de programas en lenguaje de Los traductores de programas en lenguaje de alto nivel pueden ser alto nivel pueden ser compiladorescompiladores o o intérpretesinté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 PROBLEMASNivel 5
NIVEL DE LÓGICA DIGITAL
Nivel 1 NIVEL DE MICROPROGRAMACIÓN
Nivel 2 NIVEL DE CONJUNTO DE INSTRUCCIONES
Nivel 3NIVEL 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 nivelesEvolución de los niveles
Los primeros computadores digitales (años 40) sólo Los primeros computadores digitales (años 40) sólo tenían 2 niveles (convencional y lógica digital).tenían 2 niveles (convencional y lógica digital).
Los circuitos digitales eran voluminosos, poco confiables y Los circuitos digitales eran voluminosos, poco confiables y difíciles de construir.difíciles de construir.
El nivel de microprogramación se añadió para:El nivel de microprogramación se añadió para:simplificar la electrónica simplificar la electrónica facilitar la escritura de compiladoresfacilitar la escritura de compiladoresejecutar los programas más rápidamente (ROM más ejecutar los programas más rápidamente (ROM más
rápida que la RAM)rápida que la RAM)en los 70 estaba plenamente difundidoen los 70 estaba plenamente difundido
En los 50 aparecieron los ensambladores y compiladores.En los 50 aparecieron los ensambladores y compiladores. En los 60 aparece el sistema operativo.En los 60 aparece el sistema operativo.
Evolución de los nivelesEvolución de los niveles
Cuanto más complicado el lenguaje máquina, Cuanto más complicado el lenguaje máquina, más grande, complicado y lento el más grande, complicado y lento el microprograma (ya que necesitan microprograma (ya que necesitan procedimientos).procedimientos).
La velocidad de la memoria RAM se aumentó La velocidad de la memoria RAM se aumentó con el avance de la tecnología (memorias de con el avance de la tecnología (memorias de semiconductores).semiconductores).
Es difícil escribir, depurar y mantener el Es difícil escribir, depurar y mantener el microcódigo.microcódigo.
A principios de los 80 se elimina el nivel de A principios de los 80 se elimina el nivel de microprogramación para dar paso a las microprogramación para dar paso a las máquinas RISC.máquinas RISC.