Documente Academic
Documente Profesional
Documente Cultură
del Computador 1
• Fase de compilación
• Fase de ensamblaje
• Fase de enlace
Fase de compilación
El compilador traduce el archivo texto de entrada al archivo
texto hello.s, el cual contiene un programa en lenguaje
ensamblador. Normalmente, cada declaración en un programa en
lenguaje ensamblador describe exactamente una instrucción en
lenguaje de máquina de bajo nivel en forma de archivo texto
estándar. El lenguaje ensamblador es útil porque permite un
lenguaje de salida común para diferentes compiladores para
diferentes lenguajes de programación de alto nivel. Por ejemplo,
los compiladores de C y Fortran generan archivos de salida en el
mismo lenguaje ensamblador.
Fase de ensamblaje
el ensamblador traduce hello.s en instrucciones de lenguaje de
máquina, empaquetándolas en una forma conocida como
programa objeto relocalizable, y almacena el resultado en el
archivo objeto hello.o. El archivo hello.o es un archivo binario
cuyos bytes tienen codificados las instrucciones en lenguaje de
máquina en vez de caracteres. SI quisiéramos visualizar hello.o
con un editor de texto, aparecería solo caracteres especiales.
Fase de enlace
El programa hello llama a la función printf, la cual es parte de la
librería estándar de C provista por cada compilador C. La
función printf reside en un archivo objeto precompilado aparte
llamado printf.o, el cual debe de alguna manera ser mezclado con
el programa hello.o. El enlazador (ld) se encarga de esta unión. El
resultado es el archivo hello, el cual es un archivo objeto
ejecutable (o simplemente un ejecutable) que está listo para ser
cargado en la memoria y ejecutado por el sistema.
Organización del Hardware
Organización del Hardware
Buses: Están distribuidos en todas las partes del sistema y son
una colección de conductos eléctricos que transportan los bytes
de información entre los otros componentes de hardware. Los
buses están diseñados típicamente para transferir pedazos de
bytes de tamaño fijo conocidos como palabras. El número de
bytes en una palabra (el tamaño de la palabra) es un parámetro
fundamental del sistema que varía a lo largo de diversos sistemas.
Por ejemplo, los sistemas Intel Pentium tienen un tamaño de
palabra de 4 bytes, es decir. Los sistemas de clase servidor tales
como los Intel Itanium y los Sun SPARCS de mayor nivel tienen
tamaños de palabra de 8 bytes.
Organización del Hardware
Una vez que el código y los datos que están dentro del
archivo objeto hello han sido cargados en la memoria, el
procesador empieza a ejecutar las instrucciones en lenguaje
de máquina que se encuentran en la rutina principal (main)
del programa hello. Esta instrucción copia los bytes de la
cadena “hello, world\n” desde la memoria al conjunto de
registros, y desde allí al dispositivo de E/S, donde estos son
desplegados en la pantalla.
Ejecutando el programa hello
Jerarquía de memoria
• Capacidad de almacenamiento
• Velocidad de acceso
• Costo por bit de almacenamiento.
•
Jerarquía de memoria
Jerarquía de memoria