Arquitectura y organizacion de computadoras.
Enviado por monto2435 • 13 de Septiembre de 2018 • 2.661 Palabras (11 Páginas) • 397 Visitas
...
3 Organización y arquitectura de computadores, Stallings, William. 7ma ed. 2006 Pearson Educación. 4 encendido – apagado. Se logra detectando la presencia o ausencia de una señal electrica. 5 Contracción de las palabras binary digit
Introducción a la Computación V.15 – Material de circulación interna – Capítulo 01 – página 4
que constituyen el alfabeto6 de la máquina, sobre los que se construyen los comandos e instrucciones, esto es, el lenguaje de máquina. Al momento de diseño de una computadora se decide cuál será el lenguaje de máquina. Por lo general para mantener la relación costo/rendimiento lo más baja posible, se diseñan instrucciones primitivas tan simples como sea posible. Debido a esta simplicidad el lenguaje de máquina se torna tedioso y difícil de utilizar. Para facilitar la programación, se desarrollaron les lenguajes que están más cerca de los utilizados por los seres humanos. Se los conoce como lenguajes de alto nivel. Pero un programa escrito en alguno de estos lenguajes no puede ser ejecutado directamente por la computadora, por lo tanto, se debe convertir a lenguaje máquina. Considérese una máquina M0, definida con un lenguaje de máquina L0 y L1 un nuevo lenguaje formado por instrucciones más fáciles de usar por las personas que las instrucciones primitivas de L0. Como M0 sólo puede ejecutar programas escritos en su lenguaje de máquina, todo programa escrito en L1 debe convertirse a instrucciones de L0. Los métodos para hacerlo son la compilación, la interpretación o una combinación de ambos.
Compilación Consiste en generar un nuevo programa donde se sustituye cada instrucción escrita en L1 por una sucesión equivalente de instrucciones en L0. Un programa escrito en L0, denominado compilador, se encarga de realizar la traducción, generando el nuevo programa. M0 puede ejecutar directamente el nuevo programa en lugar del original puesto que sus instrucciones están en L0. Si bien no se recomienda, el programa original escrito en L1 podría desecharse. Habitualmente se denomina al programa escrito en L1 programa fuente y al producido por el compilador programa objeto.
Interpretación Se ejecuta en M0 un programa7 denominado intérprete, que tome como datos de entrada a cada una de las instrucciones del programa en L1, la traduzca a L0 y la ejecute inmediatamente, para luego repetir el procedimiento con la próxima instrucción. En este caso no se genera ningún programa traducido, es el intérprete el que controla la computadora, traduciendo ejecutando una a una las
6 De la misma manera, los humanos se comunican entre sí mediante palabras compuestas por los símbolos del abecedario. 7 escrito obviamente en L0
Introducción a la Computación V.15 – Material de circulación interna – Capítulo 01 – página 5
instrucciones del programa escrito en L1. En este caso el programa original no puede descartarse.
Diferencias entre compiladores e intérpretes Algunas de las diferencias entre compiladores e interpretes se resumen en la siguiente tabla:
Compilación Interpretación
Genera un nuevo programa ejecutable No genera un ejecutable
El proceso de traducción se realiza una sola vez El proceso de traducción se realiza en cada ejecución
Ejecución muy rápida El programa ha sido traducido a L0
Ejecución es más lenta Cada instrucción en L1 se traduce a L0 y ejecuta
El ejecutable va dirigido a un tipo de máquina concreta siendo prácticamente imposible portarlo a otra. Si existe un compilador para otra plataforma, se puede recompilar el programa en L1
No hay ejecutable. Si existe un intérprete para otra máquina concreta, el programa en L1 se podrá interpretar en ambas
Una vez compilado el programa original en L1 no es necesario al momento de ejecución
El programa original en L1 es necesario al momento de ejecución
Los errores de sintaxis8 se detectan en tiempo de compilación, en ese caso no se genera el programa en L0
Los errores de sintaxis se detectan en tiempo de ejecución y ésta se interrumpe
En lugar de pensar en términos de intérpretes y compiladores, se puede imaginar la existencia de una computadora hipotética o máquina virtual M1, con lenguaje de máquina L1. Si se pudiera construir físicamente M1, los programas escritos en L1 se ejecutarían directamente en esa máquina. Por razones de complejidad o de costo no siempre resulta posible hacerlo y en ese caso deben ser traducidos a L0 y ejecutados en M09. Sin embargo, para que el proceso de traducción sea práctico, L0 y L1 no deben ser muy diferentes. Esto implica que L1 – si bien es mejor que L0 – dista bastante de ser un lenguaje apropiado para las personas. Niveles de descripción de una computadora. En ciencias, para abordar el estudio de problemas complejos se utilizan mecanismos de abstracción. Se trata de aislar un elemento de su contexto o del resto de los elementos que lo acompañan, simplificando u ocultando algunos de sus aspectos, pero manteniendo aquellos que son relevantes.
8 Error se produce al escribir, incorrectamente alguna parte del programa. 9 En la práctica se implementa esta última solución y las personas escriben programas para las máquinas virtuales como si realmente existieran.
Nivel de lógica digital
Nivel de lenguaje orientado Hacia problemas
Nivel de lenguaje ensamblador
Nivel de sistema operativo
Nivel de lenguaje orientado Hacia problemas
Nivel ISA Arquitectura de conjunto de instrucciones
Nivel de microarquitectura
Nivel 5
Nivel 4
Nivel 3
Nivel 2
Nivel 1
Nivel 0
Traducción (Compilación)
Traducción
...