66.20 Organización de Computadoras

Slides:



Advertisements
Presentaciones similares
El modelo de Von Neumann
Advertisements

ESTRUCTURA DE LOS LENGUAJES DE PROGRAMACION
CLASE 4 EL ENSAMBLADOR.
CLASE 3 SOFTWARE DEL MICROPROCESADOR
Arquitectura de Computadores I
Arquitectura de Computadores I
ARQUITECTURA DE COMPUTADORES - VON NEUMANN MODEL
Prototipo de compilador didáctico del lenguaje LC99
VAX Diego Esteban Moreno Félix Huete García Germán Aguado Llorente.
Fundamentos de programación
INSTTUTO TECNOLOGICO DE APIZACO
Repaso para la construcción del intérprete 2012
Circuitos Digitales II Alineamiento en Memoria y Ejecución de un programa Semana No.8 Semestre Prof. Gustavo Patiño Prof. Eugenio.
INTRODUCCION A LOS ALGORITMOS (Conceptos previos)
Direcciones, Arreglos y Argumentos de Funciones
Assembly y el Simulador SPIM
66.20 Organización de Computadoras
CLASE 10.
CLASE 12.
Circuitos Digitales II
Circuitos Digitales II Elementos sobre la Arquitectura del Conjunto de Instrucciones Semana No.2 Semestre Prof. Gustavo Patiño
Circuitos Digitales II
Detalles del sistema operativo
Arquitectura de Conjunto de Instrucciones (ISA)
Estructuras de Datos Punteros y algo más.
PROG. EN ENSAMBLADOR Ing. Pablo Cesar Tapia Catacora.
Composición Interna de un Procesador
CLASE 11.
Asignatura: Computadores
Aritmética y Computadores. Refresco de aritmética binaria. Operaciones aritméticas y lógicas. Construcción de una ALU para MIPS. Multiplicación y División.
ISA (Instruction Set Architecture)
Nombre, Alcance y Asociaciones (Bindings). Agenda Definición Nombre y Bindings Binding Time Importancia del Binding Time Eventos relacionados a la Asociación.
Práctica 7 AOC. Gestión de la pila Una pila es una estructura de datos caracterizada por que el último dato que se almacena es el primero que se obtiene.
ARQUITECTURA DE LOS MICROPROCESADORES DE 8 BITS
MIPS Intermedio.
Unidad 2: Organización del CPU
Programación III Clase 07 Funciones.
Introducción a los punteros
© Prof. José Mª Foces Morán PCSpim: SPIM sobre Windows Ventana principal de PCSpim Consola: permite interactuar con el programa que está siendo.
TIPOS Y ESTRUCTURAS BÁSICAS DE DATOS
Docente: Carlos Orlando Claros Vásquez UNSACA - HUACHO FACULTAD DE INGENIERIA Módulo: Generación de Código No Optimizado.
Traduciendo y ejecutando programas. Universidad de SonoraArquitectura de Computadoras2 El camino de un programa en C.
Secciones y Segmentos STARTUP
ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 13.
FUNCIONAMIENTO BÁSICO Fuente inicial:. Arquitectura de computadores Los computadores digitales utilizan como modelo para su funcionamiento y organización.
Programación en MIPS.
Lenguaje de Programación cap. 1 Estructura del Computador.
PBN © Jaime Alberto Parra Plaza CLASE 5 LOS SEGMENTOS.
MÁQUINAS MULTINIVEL NIVEL 5 Lenguajes de alto nivel
Tipos de Datos. Entrada-Salida.. La entrada-salida (I/O) le permite a un programa comunicarse con el mundo exterior. Esta comunicación puede realizarse.
introducción al Lenguaje Ensamblador
Laboratorio de Computadores. COPRO II

Ing. Lionel Hendryk. Sistemas Embebidos Un sistema embebido es un sistema de computación diseñado para realizar una o algunas pocas funciones dedicadas.
ARQUITECTURA DE COMPUTADORES Semestre A-2009 Clase 10.
1 Unidad II: La Computadora Personal. Tema: La Computadora Personal. Objetivos: Que el alumno conozca los elementos básicos que conforman un computador.
introducción al Lenguaje Ensamblador
Unidad Central de Proceso
Tipos de Lenguajes Ensamblador.
El procesador es el cerebro del computador que se encarga de organizar, procesar la información ejecutar cálculos y en general realizar muchos procesos.
CONJUNTO DE INSTRUCCIONES Maquinas Digitales
Aprende el arte de la ingeniería inversa
MEMORIA DINÁMICA.
MIPS Intermedio.
El microprocesador y su arquitectura
Lenguaje ensamblador Conceptos introductorios. Formatos de Instrucción. Modos de Direccionamiento. Conjunto de instrucciones básico. Introducción al Lenguaje.
JOSE ALBERTO JIMENEZ JIMENEZ KATTY HIPOLITO. 7.1 INTRODUCCION AL LENGUAJE EMSAMBLADOR.
Lenguaje ensamblador Resumen en diapositivas
P ROCESO DE E NSAMBLADO Cámara Vázquez Berenice Rubí.
Katty Evangelina Hipólito Chi.   Aunque cada maquina tiene un lenguaje ensamblador distinto, el proceso de ensamblador tiene suficiente similitudes.
Transcripción de la presentación:

66.20 Organización de Computadoras Lenguaje Assembler 66.20 Organización de Computadoras

Generación de un Ejecutable

Assembly Es un lenguaje de programación de bajo nivel. Es una representación simbólica del código binario de las intrucciones. Utiliza mnemónicos para representar cada instrucción. OPCODE OPERANDOS addi $t1, $t2, 0xfffe 001000 01010 01001 1111 1111 1111 1110

Assembler (ensamblador) Programa encargado de traducir código Assembly en su equivalente binario. Como salida genera un archivo objeto. addi $t1, $t2, 0xfffe PROCESO DE ENSAMBLADO 001000 01010 01001 1111 1111 1111 1110

Linker (vinculador) Enlaza los archivos objeto que pertenecen a un programa, y genera un programa ejecutable. Resuelve referencias a bibliotecas externas. Asigna las posiciones finales de memoria.

Modelo de Memoria La arquitectura MIPS divide la memoria en tres secciones: Segmento de texto. Segmento de datos (estáticos y dinámicos). Pila (stack).

Registros La arquitectura MIPS presenta 32 registros de propósito general, y 32 registros para punto flotante. Debe respetarse una convención para su uso: $a0-$a3  primeros 4 argumentos a un procedimiento. $v0 y $v1  valor de retorno de un procedimiento. $t0-$t9  almacenamiento temporal. $s0-$s7  almacenamiento de largo plazo. $sp  puntero a la pila. $fp  puntero al stack frame. $ra  dirección de retorno en la llamada a un procedimiento.

Ejemplos Operación aritmética (adición): Pasaje de un parámetro: addu $t0, $t6, 1 ($t0  $t6 + 1) Pasaje de un parámetro: li $a0, 10 ($a0  10) Retorno de un valor: li $v0, 1 ($v0  1)

Llamada a Procedimientos Debe respetarse la convención para el uso de registros. Debe tomarse una porción de la pila (stack frame): Para almacenar los argumentos pasados. Para almacenar registros de largo plazo. Para almacenar las variables locales al procedimiento.

Llamada a Procedimientos (cont.)