290 likes | 738 Views
Máquina Virtual/Multinivel. Una computadora es. ?. Máquina capaz de resolver problemas ejecutando instrucciones dadas. Procesamiento de Datos I – Ciclo 2008 – UNLaR – Lic. Martinez. ?. Un programa es.
E N D
Máquina Virtual/Multinivel Una computadora es... ? Máquina capaz de resolver problemas ejecutando instrucciones dadas Procesamiento de Datos I – Ciclo 2008 – UNLaR – Lic. Martinez
? Un programa es... File: Control Events.?Button12.Accepted (BrowseRutinas_x_Cliente) Date: 22/08/02 Time: 14:40 ! Generar Piramide a todos los registros de la rutina activa if confirma='No' then return{l) . open{avance) progressl=l display{?progressl) share{Repeticiones_Serie_Rutinas_Ejercicio_Cliente) share(Piramides) DRxC:Codigo=RxC:Codigo set{DRxC:Por_Codigo,DRxC:Por_Codigo) loop while not eof{Detalle Rutinas x Cliente) next{Detalle Rutinas x Cliente)- - if DRxC:Codigo=RxC:CodIgo then RSREC:Codigo Rutina Cliente = DRxC:Codigo RSREC:Ejercicio -= DRxC:Ejercicio RSREC:Codigo_Rutina_Cliente_Ejercicio = DRxC:Codigo&DRxC:Ejercicio PIR:Nombre=Piramide set{PIR:Por Nombre,PIR:Por Nombre) loop while ñot eof(Piramides) .next{piramides) if PIR:Nombre=Piramide then RSREC:Series = PIR:Serie RSREC:Repeticiones = PIR:Repeticiones RSREC:Pausa = PIR:Pausa ( RSREC:Peso = O add{Repeticiones Serie Rutinas Ejercicio Cliente) if progressl=101-then --- progressl=l else progressl=progressl+1 display{?progressl) else break else break . close{avance) una secuencia de instrucciones que describe como ejecutar cierta tarea
Los Circuitos Electrónicos pueden reconocer y ejecutar un conjunto limitado de instrucciones SIMPLES ¿ SIMPLES ?
Set Basico de Instrucciones Simples Sumar dos numeros Comprobar si un numero es cero Mover datos de una parte de la memoria a otra.. Set de instrucciones primitivas Lenguaje de máquina
¿Quiénes definen la cantidad y calidad de las instrucciones de una máquina? DISEÑADORES • Electrónica disponible • Costo • Finalidad • Rendimiento
¿Qué distancia hay entre lo que quiero yo y lo que la computadora entiende? YO ¿? Máquina-PC
Estrategias.... Traducción-Compilación Interpretación
Traducción - Compilación Incluyen nuevas instrucciones, más convenientes para las personas que el conjunto de instrucciones propias de una máquina. Estas instrucciones, en conjunto, forman un nuevo lenguaje que llamaremos L2, de manera semejante al que forman las nuevas instrucciones propia de la máquina, que llamaremos L1.- Entonces este método llamado Compilación/Traducción, consiste en sustituir cada instrucción del programa L2, a la o las instrucciones equivalentes en L1.- El resultado de este proceso es un nuevo programa, totalmente escrito en L1. Ventajas.. Desventajas... NOTA: no olvidemos que una computadora, solo puede ejecutar programas escritos en lenguaje de máquina L1.-
Interpretación Incluyen nuevas instrucciones, más convenientes para las personas que el conjunto de instrucciones propias de ma máquina. Estas instrucciones, en conjunto, forman un nuevo lenguaje que llamaremos L2, de manera semejante al que forman las nuevas instrucciones propia de la máquina, que llamaremos L1.- Entonces este método llamado Interpretación, examina una instrucción a la vez, escrita en L2, y ejecuta la o las instrucciones equivalentes en L1.- Ventajas... Desventajas...
Procesadores de Lenguaje L2 L1 Escribo en L2 y obtengo L1
Entonces.... La traducción y la interpretación son similares. En ambos métodos las instrucciones en L2 se llevan a cabo al ejecutar secuencias equivalentes de instrucciones en L1. La diferencia radica en que, en la ____________, todo programa en L2 se convierte en otro programa L1, el programa L2 se desecha y entonces se ejecuta el programa generado en L1. En la Interpretación, se ejecuta _________ instrucción en L2 inmediatamente después de examinarla. No hay un nuevo programa.- ¿Dudas?
Compilación? Interpretación? Computadora Hipotética? Máquina Virtual?
En vez de pensar en términos de traducción o interpretación, es buena idea pensar en la existencia de una computadora hipotética o virtual, cuyo lenguaje de máquina sea L2
Puntos de Reflexión • ¿Porqué una computadora, no entiende directamente un lenguaje L2, evitándonos así concebir una nueva máquina? • ¿Cuán amplia debe ser la diferencia entre L1 y L2? • ¿Puede escribirse un programa en L2 y desentenderse de su ejecución el programador? • ¿Puede ejecutar alguna máquina un lenguaje diseñado más para humanos que para máquinas?
Máquina Multinivel
Unir con Flechas Lenguaje de bajo nivel Hombre Simple Lenguaje de alto nivel Complejo Máquina A trabajar...
NIVEL DE LENGUAJES ORIENTADOS A PROBLEMAS Nivel 5 P R O G R A M A D O R Traducción (Compilador) NIVEL DE LENGUAJE ENSAMBLADOR Nivel 4 Traducción (Ensamblador) NIVEL DE MAQUINA DEL SISTEMA OPERATIVO Nivel 3 Interpretación Parcial (Sistema Operativo) P R O G R A M A D O R D E S I S T E M A NIVEL DE MAQUINA DEL SISTEMA CONVENCIONAL Nivel 2 Interpretación (Microprograma) NIVEL DE MICROPROGRAMACIÓN Nivel 1 Microprogramas ejecutados directamente por el Hardware NIVEL DE LÓGICA DIGITAL Nivel 0 En el nivel de lógica digital los objetos que intervienen se denominan compuertas y constituyen los dispositivos digitales que resuelven las situaciones lógicas.
Nivel de Lógica Digital • Su objeto de estudio son las compuertas lógicas. • Se construyen a partir de componentes, tales como transistores. • Cada compuerta tiene una o mas entradas (not, or-and) y calculan una función simple.
Nivel de Microprogramacion • Conforma el verdadero nivel de lenguaje de máquina. • Aparece el concepto de MICROPROGRAMA, cuya función es interpretar las instrucciones del nivel 2 • El número de microinstrucciones es REDUCIDO, unas 20, dependiendo del procesador que sea objeto de estudio.- (instrucciones de operaciones matemáticas sencillas, lógicas y desplazamiento de datos)
Nivel de Maquina Convencional • Cada máquina de nivel 1, tiene uno o mas microprogramas que pueden ejecutarse en ella • Cada microprograma, define IMPLICITAMENTE un lenguaje de nivel 2. • Cada fabricante publica un manual para cada procesador. Este manual recibe el nombre de Manual de Referencia del lenguaje de Máquina del Procesador XXXX www.intel.com
Nivel de maquina del SO • Añade nuevas posibilidades al nivel 2. • Estas tareas las lleva a cabo un interprete, llamado SO • Existen instrucciones que las ejecuta directamente el nivel 2. • Este nivel, es aveces,llamado nivel híbrido Nota: estos niveles (0 al 3), no estan diseñados para que los usen los programadores corrientes en la resolución de problemas (Programadores de Aplicaciones). Estas concebidos para personas llamadas Programadores de Sistema, que son especialistas en diseñar y construir máquinas virtuales.-
Nivel de Lenguaje Ensamblador • Los lenguajes contienen palabras y abreviaturas, a diferencia de los niveles anteriores, que solo toleran números. • El lenguaje ensablador, es una forma SIMBOLICA de los lenguajes subyacentes (o que están por debajo) • El programa que realiza la traducción se llama ENSAMBLADOR. LD A,(3A) AD A,(3B) AD A,(3C) SB A,(3F) ST A,(30) LD A,(3A) C A,(3B) BZ1, LAZO 00100110 00111010 01010001 00111011 01010001 00111100 01011011 00111111 11001000 00100000 00100110 00111010 11011010 00111011 11110011 10001100
Nivel de Lenguajes orientados a problemas • Nivel orientado a los programadores de aplicaciones. • Estos lenguajes, se denominan, lenguajes de Alto Nivel(C, Pascal, Visuales, etc) • Estos lenguajes se traducen por interpretación o compilación Conclusión
Conclusión • Las computadoras están diseñadas como una serie de niveles • Cada nivel representa una abstracción distinta, con objetos y operaciones diferentes. • Llamaremos ARQUITECTURA al conjunto de tipos de datos, operaciones y características de cada nivel Actividades....
HARDWARE, SOFTWARE Y MAQUINAS MULTINIVEL • Circuitos electrónicos, junto con la memoria y los dispositivos de entrada/salida • Instrucciones detalladas que dicen como resolver algo • Composición de Circuitos y programas en una sola entidad Firmware Hardware Software
¿Verdadero o Falso? El Hardware y el Software son lógicamente equivalentes.- ¿Porqué?
¿Verdadero o Falso? El Software de Hoy es el Hardware de Mañana ¿Porqué?