3. Instrucciones: lenguaje de la máquina

Tamaño: px
Comenzar la demostración a partir de la página:

Download "3. Instrucciones: lenguaje de la máquina"

Transcripción

1 3. Instrucciones: lenguaje de la máquina Fundamentos de Computadores Ingeniería de Telecomunicación Raúl Durán Díaz Departamento de Automática Escuela Politécnica Superior Curso académico Raúl Durán Díaz 3. Instrucciones: lenguaje de la máquina 1 / 50 Contenidos Raúl Durán Díaz 3. Instrucciones: lenguaje de la máquina 2 / 50

2 Introducción Para manejar la máquina, hablamos su lenguaje. Las palabras son instrucciones. El vocabulario es el repertorio de instrucciones. Las instrucciones deben ser lo más sencillas que sea posible, pero... deben permitir cualquier operación, es decir, el repertorio debe ser completo. En la práctica, los repertorios de instrucciones de todas las máquinas se parecen. Raúl Durán Díaz 3. Instrucciones: lenguaje de la máquina 3 / 50 Concepto de programa almacenado La idea clave de von Neumann es representar las instrucciones mediante códigos numéricos, susceptibles de ser almacenados en memoria como cualquier otro tipo de dato. Nosotros no manejamos directamente los códigos numéricos, sino un mnemónico asociado a cada instrucción. Al conjunto de todos los mnemónicos lo llamamos lenguaje máquina. Existe un formato de instrucción, que nos permitirá traducir los códigos numéricos a lenguaje máquina y viceversa. Raúl Durán Díaz 3. Instrucciones: lenguaje de la máquina 4 / 50

3 Arquitectura MIPS Tipo RISC (reduced intruction set computer): esto significa mínimo número de instrucciones, todas muy simples. Dotado con 32 registros de propósito general y el contador de programa, todos ellos de 32 bits. Observación Limitar el número de registros es bueno para poder conseguir una elevada velocidad de operación en el hardware. Raúl Durán Díaz 3. Instrucciones: lenguaje de la máquina 5 / 50 Arquitectura MIPS Esta arquitectura es del tipo carga-almacenamiento: Sólo permite operaciones con valores en los registros. Interactúa con la memoria por medio de únicamente un par de instrucciones de carga (lectura de memoria a registro) y almacenamiento (escritura de registro a memoria). La memoria es como un gran vector, direccionable byte a byte. Lo normal es acceder en direcciones múltiplos del tamaño accedido. Raúl Durán Díaz 3. Instrucciones: lenguaje de la máquina 6 / 50

4 Excursus: acceso a memoria big endian El byte 0 está en la posición más alta. Usado en IBM 370, Sun SPARC, HP-PARISC, etc Direcciones altas Direcciones bajas Raúl Durán Díaz 3. Instrucciones: lenguaje de la máquina 7 / 50 Excursus: acceso a memoria little endian El byte 0 está en la posición más baja. Usado en x86, Digital VAX, Digital Alpha, Digital Unix, etc Direcciones altas Direcciones bajas Raúl Durán Díaz 3. Instrucciones: lenguaje de la máquina 8 / 50

5 Arquitectura MIPS: registros Los registros se nombran $0, $1,...,$31. Son casi de propósito general, excepto: el registro 1, llamado $at, reservado al ensamblador; los registros 26 27, llamados $k0 y $k1, reservados al kernel; los registros 28 31, reservados a ciertos punteros. El resto tiene un uso convenido, pero arbitrario. Al final, todos tienen un sinónimo. Veamos el siguiente cuadro. Raúl Durán Díaz 3. Instrucciones: lenguaje de la máquina 9 / 50 Nombres de los registros en MIPS Nombre Número Uso $zero 0 constante 0 $v0 $v1 2 3 resultados, evaluación de expresiones $a0 $a3 4 7 argumentos $t0 $t temporales $s0 $s preservados en llamadas $t8 $t temporales $gp 28 puntero global $sp 29 puntero de pila $fp 30 puntero de cuadro $ra 31 dirección de retorno Raúl Durán Díaz 3. Instrucciones: lenguaje de la máquina 10 / 50

6 Instrucciones para operaciones aritméticas Cómo ensamblamos un código como éste? Ejemplo en C int i, j, f, g, h; f = (g + h) - (i + j); Podemos asignar las variables a registros y usar la instrucciones de suma y resta enteras: Lo mismo, ensamblado add $t0, $s3, $s4 add $t1, $s0, $s1 sub $s2, $t0, $t1 en donde las instrucciones de suma y resta significan: Regs[x] = Regs[y] ± Regs[z] Raúl Durán Díaz 3. Instrucciones: lenguaje de la máquina 11 / 50 Instrucciones de acceso a memoria Ejemplo en C int g, h, A[100]; g = h + A[8]; Lo mismo, ensamblado lw $t0, 32($s2) add $s0, $t0, $s1 Raúl Durán Díaz 3. Instrucciones: lenguaje de la máquina 12 / 50

7 Instrucciones de acceso a memoria Ejemplo en C int h, A[100]; A[4] = h + A[8]; A[4] += 5; Lo mismo, ensamblado lw $t0, 32($s1) add $t0, $t0, $s0 sw $t0, 16($s1) ; se puede eliminar addi $t0, $t0, 5 sw $t0, 16($s1) Raúl Durán Díaz 3. Instrucciones: lenguaje de la máquina 13 / 50 Instrucciones de acceso a memoria Ejemplo en C int i, g, h, A[100]; g = h + A[i]; Lo mismo, ensamblado add $t0, $s0, $s0 add $t0, $t0, $t0 add $t0, $t0, $s3 lw $t1, 0($t0) add $s1, $s2, $t1 Raúl Durán Díaz 3. Instrucciones: lenguaje de la máquina 14 / 50

8 Observaciones respecto a lo visto En un programa hay más variables que registros... pónganse en registros las variables más usadas. El direccionamiento tipo base + desplazamiento es útil para direccionar vectores y campos de estructuras. Los operandos de todas las instrucciones están siempre en registros. Raúl Durán Díaz 3. Instrucciones: lenguaje de la máquina 15 / 50 Instrucciones de desplazamiento lógico y aritmético Operación en C en ensamblador Shift left << sll $s1,$s2,d Shift right >> srl $s1,$s2,d AND bit a bit & and $s1,$s2,$s3 OR bit a bit or $s1,$s2,$s3 Raúl Durán Díaz 3. Instrucciones: lenguaje de la máquina 16 / 50

9 Resumen de instrucciones básicas Instrucción Función add $r3, $r2, $r1 $r3 $r1 + $r2 sub $r3, $r2, $r1 $r3 $r1 - $r2 addi $r2, $r1, n $r2 $r1 + n lw $r2, n($r1) $r2 M[$r1 + n] sw $r1, n($r2) M[$r2 + n] $r1 sll $r1, $r2, d $r1 $r2 << d srl $r1, $r2, d $r1 $r2 >> d and $r1, $r2, $r3 $r1 $r2 & $r3 or $r1, $r2, $r3 $r1 $r2 $r3 Atención: El número n puede ser positivo o negativo. Raúl Durán Díaz 3. Instrucciones: lenguaje de la máquina 17 / 50 Tomando decisiones La gran potencia de la programación es la toma dinámica de decisiones: para ello introducimos los saltos condicionales. La idea es que la ejecución del código salte a una zona u otra en función del resultado de la comparación de dos registros. Las instrucciones básicas son beq $r1, $r2, Etiq1 ; Ir a Etiq1 si $r1 = $r2 bne $r1, $r2, Etiq2 ; Ir a Etiq2 si $r1 $r2 También existe el salto incondicional j Etiqueta ; salta a Etiqueta incondicionalmente. Raúl Durán Díaz 3. Instrucciones: lenguaje de la máquina 18 / 50

10 Ensamblamos una sentencia if-then-else Ejemplo en C int i, j, f, g, h; if (i == j) f = g + h; else f = g - h; Lo mismo, ensamblado bne $s0, $s1, Else add $s2, $s3, $s4 j Fin Else: sub $s2, $s3, $s4 Fin: Raúl Durán Díaz 3. Instrucciones: lenguaje de la máquina 19 / 50 Ensamblamos un bucle Ejemplo en C int i, j, k, A[100]; while (A[i] == k) i = i + j; Lo mismo, ensamblado Bucle: add $t0, $s0, $s0 add $t0, $t0, $t0 add $t0, $t0, $s3 lw $t1, 0($t0) bne $t1, $s2, Fin add $s0, $s0, $s1 j Bucle Fin: Raúl Durán Díaz 3. Instrucciones: lenguaje de la máquina 20 / 50

11 Más instrucciones de control de flujo Para comparar un menor que tenemos: slt $r3, $r1, $r2 $r3 recibe un 1 si $r1 < $r2 y un 0 en caso contrario. Tenemos también slti $r2, $r1, n $r2 recibe un 1 si $r1 < n y un 0 en caso contrario. Raúl Durán Díaz 3. Instrucciones: lenguaje de la máquina 21 / 50 Y otra instrucción de salto Tenemos una instrucción que nos permite saltar a una dirección variable, que esté contenida en un registro: jr $r1 La instrucción siguiente a ésta será la que resida en la dirección que está contenida en el registro $r1. Raúl Durán Díaz 3. Instrucciones: lenguaje de la máquina 22 / 50

12 Resumen de instrucciones de control de flujo Instrucción Función beq $r1, $r2, etiq ($r1 == $r2)? $PC $PC+etiq : bne $r1, $r2, etiq ($r1!= $r2)? $PC $PC+etiq : slt $r1, $r2, $r3 ($r2 < $r3)? $r1 1 : $r1 0 slti $r1, $r2, n ($r2 < n)? $r1 1 : $r1 0 j etiq $PC etiq jr $r1 $PC $r1 jal etiq $ra $PC+4; $PC etiq Atención: Como antes, el número n puede ser positivo o negativo. Raúl Durán Díaz 3. Instrucciones: lenguaje de la máquina 23 / 50 Las instrucciones se representan binariamente, usando bytes. En MIPS, todas las instrucciones tienen 4 bytes. Los 32 bits se reparten en campos, algunos de los cuales son fijos. De esta forma, la interpretación de la instrucción es más sencilla y uniforme. Raúl Durán Díaz 3. Instrucciones: lenguaje de la máquina 24 / 50

13 Para las instrucciones tipo R (varios registros involucrados): op code RS RT RD SHAMT FUNC 6 bits 5 bits 5 bits 5 bits 5 bits 6 bits Significado de los campos op code: código de operación básica RS: registro fuente 1 RT: registro fuente 2 RD: registro destino SHAMT: shift amount FUNC: código de función concreta Raúl Durán Díaz 3. Instrucciones: lenguaje de la máquina 25 / 50 Para las instrucciones tipo I (valores inmediatos involucrados): op code RS RT dirección 6 bits 5 bits 5 bits 16 bits Significado de los campos op code: código de operación básica RS: registro fuente RT: registro destino dirección: número de 16 bits (±32767) Raúl Durán Díaz 3. Instrucciones: lenguaje de la máquina 26 / 50

14 Para las instrucciones tipo J (transferencia de control): op code dirección de salto 6 bits 26 bits op code: dirección de salto: Significado de los campos código de operación básica dirección de la siguiente instrucción a ejecutar Raúl Durán Díaz 3. Instrucciones: lenguaje de la máquina 27 / 50 básicas Tipo Opcode RS RT RD SHAMT FUNC dir add R 0 reg reg reg 0 32 n/a sub R 0 reg reg reg 0 34 n/a addi I 8 reg reg n/a n/a n/a inm lw I 35 reg reg n/a n/a n/a dir sw I 43 reg reg n/a n/a n/a dir j J 2 n/a n/a n/a n/a n/a n/a Traducir el lenguaje ensamblador a código máquina es el papel del as (o programa ensamblador). Raúl Durán Díaz 3. Instrucciones: lenguaje de la máquina 28 / 50

15 de control Tipo Opcode RS RT RD SHAMT FUNC dir beq I 4 reg reg n/a n/a n/a dir bne I 5 reg reg n/a n/a n/a dir slt R 0 reg reg reg 0 42 n/a jr R 0 reg n/a jal J 3 n/a n/a n/a n/a n/a n/a Raúl Durán Díaz 3. Instrucciones: lenguaje de la máquina 29 / 50 lógicas Tipo Opcode RS RT RD SHAMT FUNC dir sll R 0 0 reg reg d 0 n/a srl R 0 0 reg reg d 2 n/a sra R 0 0 reg reg d 3 n/a and R 0 reg reg reg 0 36 n/a or R 0 reg reg reg 0 37 n/a Raúl Durán Díaz 3. Instrucciones: lenguaje de la máquina 30 / 50

16 Resumen de modos de direccionamiento 1 Registro: los operandos están en registros. 2 Inmediato: El operando es una constante contenida en la propia instrucción. 3 Indexado, (base más desplazamiento): Un operando está en memoria. La dirección es la suma del contenido de un registro y de un valor inmediato. 4 Relativo a $PC: La dirección del operando es la suma del registro $PC más una constante contenida en la instrucción. 5 Directo: La dirección de salto está (casi) contenida en la instrucción. Raúl Durán Díaz 3. Instrucciones: lenguaje de la máquina 31 / 50 o procedimientos Las subrutinas o procedimientos estructuran el código: se les pasan valores (argumentos) y devuelven resultados. Permiten el reuso del software. Aíslan unas piezas del código de otras, facilitando el mantenimiento. Es un sirviente al que se le dan unos datos (los argumentos ) y nos devuelve un resultado ( valor de retorno ). Raúl Durán Díaz 3. Instrucciones: lenguaje de la máquina 32 / 50

17 o procedimientos Para ejecutar correctamente una subrutina, los pasos son: Actor Principal: Principal: Subrutina: Subrutina: Subrutina: Subrutina: Acción coloca argumentos en un lugar accesible a la subrutina. transfiere el control. reserva espacio para su ejecución. ejecuta su función. coloca el resultado en un lugar accesible al principal. devuelve el control al punto de partida. Raúl Durán Díaz 3. Instrucciones: lenguaje de la máquina 33 / 50 Más registros... Para el intercambio de datos se utilizan ciertos registros convenidos: Nombre Uso $a0 $a3 para pasar argumentos $v0 $v1 para devolver los resultados $ra para la dirección de retorno Raúl Durán Díaz 3. Instrucciones: lenguaje de la máquina 34 / 50

18 ... y una nueva instrucción Una instrucción especialmente pensada nos permite saltar al comienzo de la subrutina al tiempo que se guarda la dirección de retorno en el registro $ra. jal Procedimiento El nombre jal significa jump-and-link. El sentido es que conservamos en $ra la dirección a la que se debe retornar. La dirección de la instrucción que se ha de ejecutar se guarda en el registro de instrucción, o $PC. Por tanto la dirección que se ha de guardar en $ra es $PC+4. Raúl Durán Díaz 3. Instrucciones: lenguaje de la máquina 35 / 50 Resumen de llamada a la subrutina Los pasos para la llamada serán: 1 El principal coloca en $a0 $a3 los argumentos necesarios para la ejecución de la subrutina. 2 Ésta realiza los cálculos y devuelve el/los resultado(s) en $v0 $v1. 3 Devuelve el control con un simple jr $ra. Y si no bastan con los registros de que se dispone? Ahora lo vemos. Raúl Durán Díaz 3. Instrucciones: lenguaje de la máquina 36 / 50

19 Un nuevo registro y la pila Es muy probable que una subrutina necesite más registros que los $a0 $a3 y $v0 $v1. Antes de poder usar otros registros, éstos se deben archivar. Para ello, se dedica un trozo de memoria, suficientemente grande, como repositorio temporal. Este repositorio se llama pila (en inglés, stack). Se usa un registro, $sp, para saber en donde comienza el espacio libre. Cada vez que se almacena o se extrae algo, se ajusta. Por razones históricas, crece hacia las direcciones bajas de memoria. Las operaciones de almacenamiento y extracción se llaman push y pop, respectivamente. Raúl Durán Díaz 3. Instrucciones: lenguaje de la máquina 37 / 50 Ensamblando una subrutina Subrutina en C int sub1(int g, int h, int i, int j) { int f; f = (g + h) - (i + j); } return f; Raúl Durán Díaz 3. Instrucciones: lenguaje de la máquina 38 / 50

20 Ensamblando una subrutina Subrutina en ensamblador sub1: subi $sp, $sp, 12 sw $t0, 8($sp) sw $t1, 4($sp) sw $s0, 0($sp) add $t0, $a0, $a1 add $t1, $a2, $a3 sub $s0, $t0, $t1... Raúl Durán Díaz 3. Instrucciones: lenguaje de la máquina 39 / 50 Ensamblando una subrutina Subrutina en ensamblador... add $v0, $s0, $zero lw $s0, 0($sp) lw $t1, 4($sp) lw $t0, 8($sp) addi $sp, $sp, 12 jr $ra Raúl Durán Díaz 3. Instrucciones: lenguaje de la máquina 40 / 50

21 Convenios sobre el uso de registros Convenimos en que los registros $t0 $t9 son temporales y no hace falta guardarlos antes de usarlos. En cambio, los registros $s0 $s7 sí deben ser salvados antes de ser usados. En la subrutina anterior nos ahorramos dos pushes. Raúl Durán Díaz 3. Instrucciones: lenguaje de la máquina 41 / 50 Y si la subrutina llama a otra? Si una subrutina llama a otra, probablemente necesita usar también los registros $a0 $a3, y guardar en $ra la dirección de retorno. Hay un conflicto en el uso de los registros. La solución es guardarlos en la pila antes de modificarlos, restaurando su valor al final. Raúl Durán Díaz 3. Instrucciones: lenguaje de la máquina 42 / 50

22 Subrutina recursiva Subrutina en C int fact(int n) { if (n == 1) return 1; else return n*fact(n - 1); } Raúl Durán Díaz 3. Instrucciones: lenguaje de la máquina 43 / 50 Subrutina recursiva Subrutina ensamblada (I) fact: subi $sp, $sp, 8 sw $ra, 4($sp) sw $a0, 0($sp) subi $t0, $a0, 1 bne $t0, $zero, F1 addi $v0, $zero, 1 addi $sp, $sp, 8 jr $ra... Raúl Durán Díaz 3. Instrucciones: lenguaje de la máquina 44 / 50

23 Subrutina recursiva Subrutina ensamblada (II)... F1: subi $a0, $a0, 1 jal fact lw $a0, 0($sp) lw $ra, 4($sp) addi $sp, $sp, 8 mul $v0, $v0, $a0 jr $ra Raúl Durán Díaz 3. Instrucciones: lenguaje de la máquina 45 / 50 Estado de los registros en llamadas a subrutinas Por convenio, el comportamiento es así: Preservados $s0 $s7 $sp $ra Memoria encima de $sp No preservados $t0 $t9 $a0 $a3 $v0 $v1 Memoria debajo de $sp Raúl Durán Díaz 3. Instrucciones: lenguaje de la máquina 46 / 50

24 Ciclo de programación Programa C Código ensamblado Código máquina Ejecutable Programa cargado Compilador Ensamblador Linker Cargador Figura: Procesos y resultados del ciclo de programación Raúl Durán Díaz 3. Instrucciones: lenguaje de la máquina 47 / 50 Estructura del programa cargado $sp 7fff fffc Pila $gp Datos dinámicos Datos estáticos pc Código (texto) Reservado Figura: Zonas de memoria, una vez cargado el programa Raúl Durán Díaz 3. Instrucciones: lenguaje de la máquina 48 / 50

25 Estructura de un fichero objeto Cabecera fichero objeto Segmento de código Segmento de datos Información de realojo Tabla de símbolos Información de depuración Figura: Partes de un fichero objeto, con extensión.o Raúl Durán Díaz 3. Instrucciones: lenguaje de la máquina 49 / 50 Lenguajes de programación de alto nivel COBOL, PL/I FORTRAN PASCAL, C ADA Java, C++, SmallTalk... Raúl Durán Díaz 3. Instrucciones: lenguaje de la máquina 50 / 50

El repertorio de instrucciones

El repertorio de instrucciones El repertorio de instrucciones Montse Bóo Cepeda Este trabajo está publicado bajo licencia Creative Commons Attribution- NonCommercial-ShareAlike 2.5 Spain. Estructura del curso 1. Evolución y caracterización

Más detalles

Arquitectura del MIPS: Introducción

Arquitectura del MIPS: Introducción Arquitectura del MIPS: Introducción Montse Bóo Cepeda Este trabajo está publicado bajo licencia Creative Commons Attribution- NonCommercial-ShareAlike 2.5 Spain. Estructura del curso 1. Evolución y caracterización

Más detalles

Estructura de Computadores 2 [08/09] Entrada/Salida en procesadores MIPS

Estructura de Computadores 2 [08/09] Entrada/Salida en procesadores MIPS Estructura de Computadores 2 [08/09] Entrada/Salida en procesadores MIPS GAC: Grupo de Arquitectura de Computadores Dpt. Electrónica e Sistemas. Universidade da Coruña. Bibliografía Computer Organization

Más detalles

Procesador MIPS - Registros

Procesador MIPS - Registros MIPS Microprocessor without Interlocked Pipeline Stages Surgió a comienzos de los 80 en Stanford. Sintetiza las principales ideas de RISC. Arquitectura eficiente y simple. 1 Procesador MIPS - Registros

Más detalles

Unidad 3. Facultad de Ciencias Departamento de Electrónica

Unidad 3. Facultad de Ciencias Departamento de Electrónica Universidad Autónoma de San Luis Potosí Facultad de Ciencias Departamento de Electrónica Unidad 3 Instrucciones: Lenguaje de la Computadora Dra. Ruth M. Aguilar Ponce Primavera Unidad 3 Operaciones del

Más detalles

Organización de Computadoras. Principios de Conjuntos de Intrucciones

Organización de Computadoras. Principios de Conjuntos de Intrucciones Organización de Computadoras Principios de Conjuntos de Intrucciones Clasifición de las ISA Secuencia de Código para C = A + B Stack Acumulador Registro (Reg-Mem) Registro (load-store) Push A Load A Load

Más detalles

Ejercicios del Tema 3. Fundamentos de la programación en ensamblador

Ejercicios del Tema 3. Fundamentos de la programación en ensamblador Ejercicios del Tema 3. Fundamentos de la programación en ensamblador Ejercicio 1. Dada la siguiente expresión de un lenguaje de alto nivel int a = 6; int b = 7; int c = 3; int d; d = (a+b) * (a+b); Indique

Más detalles

INTRUCCIONES: LENGUAJE MAQUINA

INTRUCCIONES: LENGUAJE MAQUINA INTRUCCIONES: LENGUAJE MAQUINA 1.- INTRODUCCION Conceptos importantes Instrucción: Orden al hardware del Computador Repertorio de Instrucciones Lenguaje Máquina (ML) Lenguaje Ensamblador (AL) Lenguaje

Más detalles

Tema 3 (III) Fundamentos de la programación en ensamblador

Tema 3 (III) Fundamentos de la programación en ensamblador Tema 3 (III) Fundamentos de la programación en ensamblador Grupo ARCOS Estructura de Computadores Grado en Ingeniería Informática Universidad Carlos III de Madrid Contenidos } Fundamentos básicos de la

Más detalles

Fundamentos de los Computadores Grado en Ingeniería Informática

Fundamentos de los Computadores Grado en Ingeniería Informática Repaso Arquitectura MIPS Fundamentos de los Computadores Grado en Ingeniería Informática Arquitectura MIPS Registros Instrucciones Organización de memoria Formato de las instrucciones Modos de direccionamiento

Más detalles

Introducción a la Computación. Capítulo 10 Repertorio de instrucciones: Características y Funciones

Introducción a la Computación. Capítulo 10 Repertorio de instrucciones: Características y Funciones Introducción a la Computación Capítulo 10 Repertorio de instrucciones: Características y Funciones Que es un set de instrucciones? La colección completa de instrucciones que interpreta una CPU Código máquina

Más detalles

Ejercicios del Tema 3. Fundamentos de la programación en ensamblador

Ejercicios del Tema 3. Fundamentos de la programación en ensamblador Ejercicios del Tema 3. Fundamentos de la programación en ensamblador Ejercicio 1. Escriba un programa en ensamblador del MIPS 32 para calcular la suma de los 100 primeros números naturales. El programa

Más detalles

Modelo de von Neumann

Modelo de von Neumann Conceptos básicos Modelo de von Neumann También conocida como arquitectura de Princeton. Propuesta por John von Neumann en 1945. Partes de una computadora digital: Unidad de procesamiento (CPU unidad central

Más detalles

Plataformas de soporte computacional: arquitecturas avanzadas,

Plataformas de soporte computacional: arquitecturas avanzadas, Plataformas de soporte computacional: arquitecturas avanzadas, sesión Diego R. Llanos, Belén Palop Departamento de Informática Universidad de Valladolid {diego,b.palop}@infor.uva.es Índice. Arquitectura

Más detalles

Arquitectura de Computadoras

Arquitectura de Computadoras 4-1 Arquitectura de Computadoras Tema 4: Arquitectura del Set de Instrucciones Eduardo Daniel Cohen dcohen@arnet.com.ar http://www.herrera.unt.edu.ar/arqcom 4-2 Arquitectura del Set de Instrucciones Indice

Más detalles

Arquitecturas RISC. Arquitectura de Computadoras y Técnicas Digitales - Mag. Marcelo Tosini Facultad de Ciencias Exactas - UNCPBA

Arquitecturas RISC. Arquitectura de Computadoras y Técnicas Digitales - Mag. Marcelo Tosini Facultad de Ciencias Exactas - UNCPBA Arquitecturas RISC Características de las arquitecturas RISC Juego de instrucciones reducido (sólo las esenciales) Acceso a memoria limitado a instrucciones de carga/almacenamiento Muchos registros de

Más detalles

Programación en ensamblador Ejercicios propuestos

Programación en ensamblador Ejercicios propuestos Programación en ensamblador Ejercicios propuestos Ejercicio 1. Dada la siguiente expresión de un lenguaje de alto nivel int a = 6; int b = 7; int c = 3; int d; d = (a+b) * (a+b); Indique un fragmento de

Más detalles

FUNDAMENTOS DE MICROPROCESADORES SOLUCIONES A LOS PROBLEMAS DE LA UNIDAD-3.- EL PROCESADOR I: EL LENGUAJE MAQUINA

FUNDAMENTOS DE MICROPROCESADORES SOLUCIONES A LOS PROBLEMAS DE LA UNIDAD-3.- EL PROCESADOR I: EL LENGUAJE MAQUINA 3.1. Un programa escrito para MIPS invoca a la subrutina func, a la que transfiere tres argumentos a, b y c. La subrutina tiene dos variables locales m y n. Mostrar la posición del puntero de pila y los

Más detalles

ESTRUCTURA Y TECNOLOGÍA DE COMPUTADORES 1º I.T.I.G. I.T.I.S.

ESTRUCTURA Y TECNOLOGÍA DE COMPUTADORES 1º I.T.I.G. I.T.I.S. Nombre: SOLUCIÓN Madrid, 24 de abril de 2008. NOTAS: Duración: 60 minutos. Se puede hacer a lápiz. No se permiten apuntes ni calculadora. No se permite desgrapar las hojas. 1. (2 puntos) Indique cuáles

Más detalles

UNIDAD 2: Instrucciones: el lenguaje de las computadoras.

UNIDAD 2: Instrucciones: el lenguaje de las computadoras. UNIDAD 2: Instrucciones: el lenguaje de las computadoras. 2.1 Introducción Para comandar una computadora se le debe hablar en su lenguaje. Las palabras del lenguaje de una máquina son llamadas instrucciones,

Más detalles

Arquitectura de Computadores II Clase #3

Arquitectura de Computadores II Clase #3 Arquitectura de Computadores II Clase #3 Facultad de Ingeniería Universidad de la República Instituto de Computación Curso 2010 Veremos Registros Repertorio de instrucciones Modos de direccionamiento El

Más detalles

Organización del Computador I Verano. MIPS (2 de 2) Basado en el capítulo 2 del libro de Patterson y Hennessy

Organización del Computador I Verano. MIPS (2 de 2) Basado en el capítulo 2 del libro de Patterson y Hennessy Organización del Computador I Verano MIPS (2 de 2) Basado en el capítulo 2 del libro de Patterson y Hennessy Verano 2014 Profesora Borensztejn Arquitectura MIPS (R2000) Registros Formato de Instrucción

Más detalles

Pr. Dr. Xavier Bonnaire

Pr. Dr. Xavier Bonnaire Pr. Dr. Xavier Bonnaire Slide 1 Pr. Dr. Xavier Bonnaire - Universidad Tecnica Federico Santa María Temario Introducción Estructura Básica de un Computador Lenguaje de Máquina Básico Instrucciones para

Más detalles

Unidad Nº II Capacidad de la unidad central. de procesamiento. Instituto Universitario Politécnico. Santiago Mariño

Unidad Nº II Capacidad de la unidad central. de procesamiento. Instituto Universitario Politécnico. Santiago Mariño Instituto Universitario Politécnico Santiago Mariño Unidad Nº II Capacidad de la unidad central de procesamiento Organización de instrucción de máquina Cada instrucción requiere la información que necesita

Más detalles

Construyendo Programas más Complejos

Construyendo Programas más Complejos Arquitectura de Ordenadores Construcciones de Alto Nivel en Ensamblador Abelardo Pardo abel@it.uc3m.es Universidad Carlos III de Madrid Departamento de Ingeniería Telemática Construyendo Programas más

Más detalles

Estructuras de Computadores I Tarea 02 02/99

Estructuras de Computadores I Tarea 02 02/99 Estructuras de Computadores I Tarea 02 02/99 1. Dada la secuencia de bits: 0011 0100 0101 0101 0100 0011 0100 0010 Qué representa, asumiendo que es: a. Un número entero en complemento dos. b. Fracción

Más detalles

Arquitectura de Computadores y laboratorio Clase 15: Arquitectura MIPS Pt.3. Departamento de Ingeniería de Sistemas Universidad de Antioquia 2011 2

Arquitectura de Computadores y laboratorio Clase 15: Arquitectura MIPS Pt.3. Departamento de Ingeniería de Sistemas Universidad de Antioquia 2011 2 Arquitectura de Computadores y laboratorio Clase 15: Arquitectura MIPS Pt.3 Departamento de Ingeniería de Sistemas Universidad de Antioquia 2011 2 Instrucciones de control de flujo Arquitectura de Computadores

Más detalles

Repaso Registros internos Z80 1/37

Repaso Registros internos Z80 1/37 Repaso Registros internos Z80 1/37 Repaso Formato instrucciones Formato con 4 direcciones Acumulador: A A op oper2 PC: Program Counter dirección de la próxima instrucción Instrucciones de operación Código

Más detalles

Tema 3 (I) Fundamentos de la programación en ensamblador

Tema 3 (I) Fundamentos de la programación en ensamblador Tema 3 (I) Fundamentos de la programación en ensamblador Grupo ARCOS Estructura de Computadores Grado en Ingeniería Informática Universidad Carlos III de Madrid Contenidos 1. Fundamentos básicos de la

Más detalles

ISA (Instruction Set Architecture) Arquitectura del conjunto de instrucciones

ISA (Instruction Set Architecture) Arquitectura del conjunto de instrucciones ISA (Instruction Set Architecture) Arquitectura del conjunto de instrucciones Instruction Set Architecture (ISA) Arquitectura del conjunto de instrucciones software Conjunto de instrucciones hardware Universidad

Más detalles

Grupo de Arquitectura y Tecnología de Computadores (ARCOS)

Grupo de Arquitectura y Tecnología de Computadores (ARCOS) Grupo de Arquitectura y Tecnología de Computadores (ARCOS) http://arcos.inf.uc3m.es/~ec 2 http://arcos.inf.uc3m.es/~ec 4 http://arcos.inf.uc3m.es/~ec 5 http://arcos.inf.uc3m.es/~ec 6 Código fuente en

Más detalles

Arquitectura del procesador MIPS R2000

Arquitectura del procesador MIPS R2000 Arquitectura del procesador MIPS R2000 Aula Virtual IS09 Sergio Barrachina Mir Área de Arquitectura y Tecnología de Computadores Dpt. de Ingeniería y Ciencia de los Computadores Universidad Jaume I Índice

Más detalles

El procesador. Diseño del control

El procesador. Diseño del control El procesador Diseño del control Datapath MIPS simple Universidad de Sonora Arquitectura de Computadoras 2 MIPS simple El datapath anterior cubre instrucciones: Aritméticas-lógicas: add, sub, and, or y

Más detalles

Estructura de Computadores: Tema 1. Introducción. Índice. Arquitectura del i8086

Estructura de Computadores: Tema 1. Introducción. Índice. Arquitectura del i8086 Estructura de Computadores: Tema 1 El procesador Introducción Estudiaremos la arquitectura del procesador i8086 (CPU, registros,...), su gestion de la memoria y su conjunto de instrucciones. Programaremos

Más detalles

Fundamentos de los Computadores Grado en Ingeniería Informática (hasta final del diseño monociclo)

Fundamentos de los Computadores Grado en Ingeniería Informática (hasta final del diseño monociclo) 8. Diseño del Procesador Fundamentos de los Computadores Grado en Ingeniería Informática (hasta final del diseño monociclo) Objetivos Plantear y modificar una ruta de datos para un repertorio de instrucciones

Más detalles

Sección de procesamiento: El camino de datos

Sección de procesamiento: El camino de datos Sección de procesamiento: El camino de datos Montse Bóo Cepeda Este trabajo está publicado bajo licencia Creative Commons Attribution- NonCommercial-ShareAlike 2.5 Spain. Estructura del curso 1. Evolución

Más detalles

Tema 3 (III) Fundamentos de la programación en ensamblador

Tema 3 (III) Fundamentos de la programación en ensamblador Tema 3 (III) Fundamentos de la programación en ensamblador Grupo ARCOS Estructura de Computadores Grado en Ingeniería Informática Universidad Carlos III de Madrid Contenido } Fundamentos básicos de la

Más detalles

El procesador. Datapath para las instrucciones de brinco

El procesador. Datapath para las instrucciones de brinco El procesador Datapath para las instrucciones de brinco Instrucciones de brinco Dos tipos de instrucciones de brincos: 1. Brinco condicional. beq $t0, $t1, Etiqueta ; if t0 == t1 goto Etiqueta 2. Brinco

Más detalles

Programando sobre MIPS64

Programando sobre MIPS64 Programando sobre MIPS64 Escribir un programa en cualquier lenguaje involucra estructurar el código de forma que éste sea modular, extensible, simplede mantener y reutilizable. En assembly, eso involucra

Más detalles

Organización del Computador 1. CPU (ISA) Conjunto de Instrucciones de la Arquitectura 2017

Organización del Computador 1. CPU (ISA) Conjunto de Instrucciones de la Arquitectura 2017 Organización del Computador 1 CPU (ISA) Conjunto de Instrucciones de la Arquitectura 2017 Estructura de una máquina von Neumann Ciclo de Ejecución 1. 2. 3. 4. 5. 6. UC obtiene la próxima instrucción de

Más detalles

5 Lenguaje de Máquina

5 Lenguaje de Máquina 5 Lenguaje de Máquina Ya visto el detalle de la organización de la CPU y el nivel de microprogramación, en este punto veremos las consideraciones del nivel de lenguaje de máquina. Este conjunto de instrucciones

Más detalles

Arquitectura del CPU. Organización del Computador 1 Verano 2016

Arquitectura del CPU. Organización del Computador 1 Verano 2016 Arquitectura del CPU Organización del Computador 1 Verano 2016 Agenda De dónde venimos? Introducción: esquema de una computadora Representación de la información Circuitos Combinatorios Circuitos Secuenciales

Más detalles

GUIA 24: REPERTORIO DE INSTRUCCIONES

GUIA 24: REPERTORIO DE INSTRUCCIONES Prof Sandro Costantini GUIA 24: INSTRUCCIONES Las instrucciones maquinas son las acciones elementales que puede ejecutar un computador Una acción compleja deberá codificarse como una secuencia de instrucciones

Más detalles

Fundamentos y Arquitectura de Computadores (ITTSE UV)

Fundamentos y Arquitectura de Computadores (ITTSE UV) Fundamentos y Arquitectura de Computadores (ITTSE UV) F. Micó REGISTROS DEL MIPS R2000/R3000 Nombre Código del Uso registro $zero 0 Valor constante 0 $v0 - $v1 2 3 Valores de retorno para las llamadas

Más detalles

Introducción al lenguaje ensamblador DLX: instrucciones de enteros.

Introducción al lenguaje ensamblador DLX: instrucciones de enteros. PRÁCTICA 0.a Introducción al lenguaje ensamblador DLX: instrucciones de enteros. OBJETIVO El objetivo de esta práctica es la familiarización con el lenguaje ensamblador DLX, analizando la ejecución de

Más detalles

Fundamentos y Arquitectura de Computadores (ITTSE UV)

Fundamentos y Arquitectura de Computadores (ITTSE UV) REGISTROS DEL MIPS32 Nombre Código del Uso común registro $zero 0 El contenido de este registro siempre es nulo $v0 - $v1 2 3 Valores de retorno para las llamadas al sistema $a0 - $a3 4 7 Argumentos para

Más detalles

UNIVERSIDAD CARLOS III DE MADRID DEPARTAMENTO DE INFORMÁTICA GRADO EN INGENIERÍA INFORMÁTICA. ESTRUCTURA DE COMPUTADORES

UNIVERSIDAD CARLOS III DE MADRID DEPARTAMENTO DE INFORMÁTICA GRADO EN INGENIERÍA INFORMÁTICA. ESTRUCTURA DE COMPUTADORES Ejercicio 1 Los siguientes números se encuentran representados en complemento a dos utilizando 6 bits. Indique su correspondiente valor decimal: a) 010011 b) 100111 Ejercicio 3 Dada la siguiente expresión

Más detalles

Organización procesador MIPS

Organización procesador MIPS Organización procesador MIPS Organización MIPS Memoria CPU Registros FPU Registros Alu Mul Div Hi Lo U. Aritmética Traps Manejo de Memoria Organización MIPS Unidad Aritmética y Lógica (ALU). Unidad Aritmética

Más detalles

ESTRUCTURA Y TECNOLOGÍA DE COMPUTADORES 1º I.T.I.G. I.T.I.S.

ESTRUCTURA Y TECNOLOGÍA DE COMPUTADORES 1º I.T.I.G. I.T.I.S. ESTRUCTURA Y TECNOLOGÍA DE COMPUTADORES 1º I.T.I.G. I.T.I.S. Examen Final 2º cuatrimestre Nombre: SOLUCIÓN Madrid, 20 de junio de 2008. NOTAS: Duración: 90 minutos. Se puede hacer a lápiz. No se permiten

Más detalles

Tema 2: Arquitectura del repertorio de instrucciones. Visión del computador que tiene el programador en bajo nivel.

Tema 2: Arquitectura del repertorio de instrucciones. Visión del computador que tiene el programador en bajo nivel. Tema 2: Arquitectura del repertorio de instrucciones Visión del computador que tiene el programador en bajo nivel. Lo que el programador en lenguaje ensamblador debe conocer para escribir programas: (1)

Más detalles

Tema 1. Fundamentos del lenguaje ensamblador

Tema 1. Fundamentos del lenguaje ensamblador Tema 1. Fundamentos del lenguaje ensamblador Laboratorio de Estructura y Organización de Computadores Grados en Ingeniería Informática e Ingeniería de Computadores Curso 2012-2013 Índice Estructura del

Más detalles

Bloques del programa de la asignatura

Bloques del programa de la asignatura Bloques del programa de la asignatura lases Enfoque Temas 1 1 oncreto Símplez y Símplez+i4 (niveles de máquina convencional y micromáquina) 11 16 General Representación y procesamiento Instrucciones y

Más detalles

Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria

Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria 1.2. Jerarquía de niveles de un computador Qué es un computador? Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria Es un sistema tan complejo

Más detalles

Práctica 3: Programación en ASM Orga 1

Práctica 3: Programación en ASM Orga 1 Ignacio Eguinoa Organización del Computador I DC - UBA Segundo Cuatrimestre de 2015 Generaciones de lenguajes 1G: Lenguaje de máquina(código binario de operaciones) 2G: Lenguaje Ensamblador(Assembly) (Textual

Más detalles

Tema 5 (III) Jerarquía de Memoria

Tema 5 (III) Jerarquía de Memoria Grupo ARCOS Tema 5 (III) Jerarquía de Memoria Estructura de Computadores Grado en Ingeniería Informática Contenidos 1 Tipos de memoria 2 Jerarquía de memoria 3 Memoria principal 4 Memoria caché 5 Memoria

Más detalles

Unidad de Entrada-Salida Software de sistemas Parámetros característicos Ejemplo

Unidad de Entrada-Salida Software de sistemas Parámetros característicos Ejemplo Estructura de Computadores INTRODUCCIÓN Índice Objetivos Bibliografía recomendada Introducción Esquema básico del computador Von Neumann. Componentes La Memoria Principal La Unidad Central de Proceso (CPU)

Más detalles

Tema 2. Diseño del repertorio de instrucciones

Tema 2. Diseño del repertorio de instrucciones Enunciados de problemas Tema 2. Diseño del repertorio de instrucciones Arquitectura de Computadores Curso 2009-2010 Tema 2: Hoja: 2 / 10 Tema 2: Hoja: 3 / 10 Base teórica Al diseñar un computador, uno

Más detalles

El nivel ISA (II)! Conjunto de Instrucciones

El nivel ISA (II)! Conjunto de Instrucciones El nivel ISA (II) Conjunto de Instrucciones EC-2721 Arquitectura del Computador I Que es un Conjunto de Instrucciones? Colección completa de instrucciones comprendida por un procesador Lenguaje de máquina

Más detalles

Contenidos: Definiciones:

Contenidos: Definiciones: Contenidos: Definiciones. Esquema de un ordenador. Codificación de la información. Parámetros básicos de un ordenador. Programas e instrucciones. Proceso de ejecución de una instrucción. Tipos de instrucciones.

Más detalles

Generación de un ejecutable

Generación de un ejecutable ASSEMBLER Generación de un ejecutable Programa de alto nivel Programa Compiler Assembler Linker Archivo Ejecutable Programa en lenguaje assembler Archivo Fuente Assembler Archivo Objeto Archivo Fuente

Más detalles

Repaso concepto de programa

Repaso concepto de programa Repaso concepto de programa ANTES se tenían sistemas cableados Datos Secuencia de funciones aritmético/lógicas Resultados Programación en hardware: cuando cambiamos las tareas, debemos cambiar el hardware

Más detalles

Ejercicios del tema 4. El procesador

Ejercicios del tema 4. El procesador Ejercicios del tema 4. El procesador Estructura del procesador elemental WepSIM Address Bus Data Bus Control Bus C0 Ta Internal Bus RA RB RC LC MAR T9 Memory MRdy BE ADDR DATA R W A31-A0 BE3-BE0 D31-D0

Más detalles

Arquitectura de Computadoras I Ingeniería de Sistemas Curso 2017

Arquitectura de Computadoras I Ingeniería de Sistemas Curso 2017 Arquitectura de Computadoras I Ingeniería de Sistemas Curso 217 Práctica de Laboratorio: Microprocesador MIPS Segmentado El objetivo de esta práctica es implementar el microprocesador MIPS (visto en clase

Más detalles

Curso sobre Microcontroladores Familia HC9S08 de Freescale

Curso sobre Microcontroladores Familia HC9S08 de Freescale Curso sobre Microcontroladores Familia HC9S08 de Freescale Por Ing. Daniel Di Lella EduDevices www.edudevices.com.ar e-mail: info@edudevices.com.ar Responsable Area Educación ELKO / ARROW www.elkonet.com

Más detalles

Funciones. Diseño de funciones. Uso de instrucción jal y retorno de subrutina.

Funciones. Diseño de funciones. Uso de instrucción jal y retorno de subrutina. MIPS Funciones 1 Funciones Diseño de funciones. Uso de instrucción jal y retorno de subrutina. Se suelen denominar funciones, procedimientos, subrutinas, subprogramas a las estructuras que emplean los

Más detalles

ELO311 Estructuras de Computadores Digitales. Operaciones MIPS para Control de flujo

ELO311 Estructuras de Computadores Digitales. Operaciones MIPS para Control de flujo ELO311 Estructuras de Computadores Digitales Operaciones MIPS para Control de flujo Tomás Arredondo Vidal Este material está basado en: material de apoyo del texto de David Patterson, John Hennessy, "Computer

Más detalles

Tema 2: Lenguaje máquina. La interfaz entre el hardware y el software

Tema 2: Lenguaje máquina. La interfaz entre el hardware y el software Tema 2: Lenguaje máquina La interfaz entre el hardware y el software 1 Índice Introducción. Formatos de Instrucción. Modos de Direccionamiento. Ortogonalidad y Regularidad. Frecuencia de Utilización de

Más detalles

ESTRUCTURA Y TECNOLOGÍA A DE COMPUTADORES I. Tema X Modos de Direccionamientos

ESTRUCTURA Y TECNOLOGÍA A DE COMPUTADORES I. Tema X Modos de Direccionamientos ESTRUCTURA Y TECNOLOGÍA A DE COMPUTADORES I Tema X Modos de Direccionamientos TEMA 10. Modos de direccionamiento 10.1 Justificación de los modos de direccionamiento 10.2 Descripción de los modos de direccionamiento

Más detalles

Guía práctica lenguaje ensamblador

Guía práctica lenguaje ensamblador Guía práctica lenguaje ensamblador (c) Francisco Charte Ojeda Introducción Qué es el lenguaje ensamblador? Aplicaciones de la programación en ensamblador El lenguaje ensamblador de los x86 8, 16, 32 y

Más detalles

TEMA 5 JUEGO DE INSTRUCCIONES DE UN COMPUTADOR

TEMA 5 JUEGO DE INSTRUCCIONES DE UN COMPUTADOR TEMA 5 JUEGO DE INSTRUCCIONES DE UN COMPUTADOR 1. PROPIEDADES DEL JUEGO DE INSTRUCCIONES DE UN COMPUTADOR. 2. MODOS DE DECCIONAMIENTO. Inmediato. Directo. Absoluto. Relativo. Indirecto. Implícito. Instrucciones

Más detalles

Clasificación del procesador según el número de referencias a memoria.

Clasificación del procesador según el número de referencias a memoria. Estructura de Computadores Tema 1. El sistema computador Estructura general de un computador. Arquitectura de Von Neumann. Unidades generales: procesador, memoria, entrada/salida, unidad de control. Niveles

Más detalles

Arquitectura de Computadoras. Simulador WINMIPS64

Arquitectura de Computadoras. Simulador WINMIPS64 Arquitectura de Computadoras Simulador WINMIPS64 Procesador MIPS 32 registros de uso general: r0.. r31 (64 bits) excepto r0 siempre igual a 0 32 registros de punto flotante: f0.. f31 (64 bits) 2 30 palabras

Más detalles

Funciones y Datos en Intel 8086

Funciones y Datos en Intel 8086 y Datos en Intel 8086 Departamento de Arquitectura 1 1 Instituto de Computación Facultad de Ingeniería Universidad de la República Arquitectura de Computadoras, 2016 Temas 1 2 Tipos atómicos Tipos estructurados

Más detalles

8.4. El software en los μprocesadores

8.4. El software en los μprocesadores 8.4. El software en los μprocesadores Ejemplo de comandos de la CPU: Tarea: Sumar dos números A y B. Suponer los datos A y B almacenados en las posiciones 1000 2 y 1010 2 respectivamente. El resultado

Más detalles

Procesadores ISA Macroarquitecura - Interfaces

Procesadores ISA Macroarquitecura - Interfaces Universidad Simón Bolívar Departamento de Electrónica y Circuitos EC2721 Arquitectura del Computador I Prof. Osberth De Castro Clase 04 Procesadores ISA Macroarquitecura - Interfaces ISA General Modelos

Más detalles

Unidad 3. El procesador I: Diseño del juego de Instrucciones. El lenguaje máquina

Unidad 3. El procesador I: Diseño del juego de Instrucciones. El lenguaje máquina Fundamentos de Microprocesadores Unidad 3. El procesador I: Diseño del juego de Instrucciones. El lenguaje máquina Escuela Politécnica Superior UAM Copyright 2007 Elsevier, Digital Design and Computer

Más detalles

Sebastián García Galán

Sebastián García Galán Universidad de Jaén E.U.P. Linares Dpto. Telecomunicaciones Área de Ingeniería Telemática Sebastián García Galán Sgalan@ujaen.es TEMA 1: INTRODUCCIÓN A LOS COMPUTADORES DIGITALES 1.1 CONCEPTO DE COMPUTADOR

Más detalles

LA CESIUS. Dónde estamos?

LA CESIUS. Dónde estamos? LA CESIUS ESTRUCTURA Y PROGRAMACIÓN Dónde estamos? Estructura de J. von Neumann Historia 1941 - Plankalkül K. Zuse, ingeniero (GE, 1910/95) 1943 - ENIAC 1er comp. controlada por programa (Z3 1941) 1952

Más detalles

Ejercicios del tema 4. El procesador

Ejercicios del tema 4. El procesador jercicios del tema 4. l procesador jercicio 1. Considere un procesador de 32 bits con una frecuencia de reloj de 500 MHz con la estructura del mostrado en el jercicio 3. La memoria se direcciona por bytes

Más detalles

Estructura de Computadores

Estructura de Computadores Estructura de Computadores 4.- Programación en Ensamblador Parte IV Contenido Subrutinas. Llamadas al sistema. Página 2 Subrutinas Módulos de programa que pueden reutilizarse en distintos puntos del programa.

Más detalles

Arquitectura de Computadores II Clase #3

Arquitectura de Computadores II Clase #3 Clase #3 Facultad de Ingeniería Universidad de la República Instituto de Computación Curso 2010 Veremos Registros Repertorio de instrucciones Modos de direccionamiento El stack Formatos de datos Control

Más detalles

ARQUITECTURA VON NEUMANN

ARQUITECTURA VON NEUMANN ARQUITECTURA VO EUMA Computador bus de datos bus de direcciones bus de control Usuario y aplicaciones Lenguajes de alto nivel Sistema operativo Unidad Central de Proceso Memoria principal Unidad de Entrada

Más detalles

Estructura y Tecnología de Computadores. Módulo C. Arquitectura del procesador. Tema 4. Modos de direccionamiento y tipos de datos

Estructura y Tecnología de Computadores. Módulo C. Arquitectura del procesador. Tema 4. Modos de direccionamiento y tipos de datos 1 Estructura y Tecnología de Computadores Módulo C. Arquitectura del procesador Tema. Modos de direccionamiento y tipos de datos José Manuel Mendías Cuadros Dpto.. Arquitectura de Computadores y Automática

Más detalles

El repertorio de instrucciones

El repertorio de instrucciones Capítulo 2 El repertorio de instrucciones 2.1. Introducción El funcionamiento de la CPU está determinado por las instrucciones que ejecuta. Estas instrucciones se denominan instrucciones máquina o instrucciones

Más detalles

CS2: Unidad de datos (UD)

CS2: Unidad de datos (UD) S2: Unidad de datos (UD) ambios respecto al S1: Ancho datos: 12 bits Ancho direcciones: bits Rotación del registro A con carry LS, DS, IS TP, TIR, TSP W4, W, R 4 SP[] MAR[] IR 7-0 IR[12] IR 11- P[] DB

Más detalles

Organización Básica de un Computador y Lenguaje de Máquina

Organización Básica de un Computador y Lenguaje de Máquina Organización Básica de un Computador y Prof. Rodrigo Araya E. raraya@inf.utfsm.cl Universidad Técnica Federico Santa María Departamento de Informática Valparaíso, 1 er Semestre 2006 Organización Básica

Más detalles

Ensamblador martes, 9 de septiembre de :11

Ensamblador martes, 9 de septiembre de :11 Ensamblador martes, 9 de septiembre de 2014 18:11 Estructura de computadores página 1 Estructura de computadores página 2 Estructura de computadores página 3 12:06 Estructura de computadores página 4 Estructura

Más detalles

Tema 3 SUBRUTINAS. Estructura de Computadores OCW_2015 Nekane Azkona Estefanía

Tema 3 SUBRUTINAS. Estructura de Computadores OCW_2015 Nekane Azkona Estefanía Tema 3 SUBRUTINAS ÍNDICE Definición e instrucciones básicas Soporte para el tratamiento de subrutinas (ejecución de la subrutina y gestión del bloque de activación) Interrupciones vs llamadas a procedimiento

Más detalles

Estructura de Computadores. Problemas de Instrucciones y Direccionamientos

Estructura de Computadores. Problemas de Instrucciones y Direccionamientos Estructura de Computadores. Problemas de Instrucciones y Direccionamientos Departamento de Arquitectura y Tecnología de Sistemas Informáticos Octubre 2009 1. Sea un computador con palabras y direcciones

Más detalles

Conceptos de Arquitectura de Computadoras Curso 2015

Conceptos de Arquitectura de Computadoras Curso 2015 PRACTICA 1 Assembly, Instrucciones, Programas, Subrutinas y Simulador MSX88 Objetivos: que el alumno Domine las instrucciones básicas del lenguaje assembly del MSX88. Utilice los diferentes modos de direccionamiento.

Más detalles

Tema: Lenguaje ensamblador embebido

Tema: Lenguaje ensamblador embebido Compiladores. Guía 10 1 Facultad: Ingeniería Escuela: Computación Asignatura: Compiladores Tema: Lenguaje ensamblador embebido Contenido En esta guía se presenta una breve introducción a las estructuras

Más detalles

Unidad 5 Unidad central de proceso

Unidad 5 Unidad central de proceso Unidad 5 Unidad central de proceso Objetivo El objetivo de esta unidad es que el alumno logre: entender el funcionamiento básico de la Unidad Central de Proceso (UCP), definir las componentes básicas de

Más detalles

Introducción a la arquitectura de computadores

Introducción a la arquitectura de computadores Introducción a la arquitectura de computadores Departamento de Arquitectura de Computadores Arquitectura de computadores Se refiere a los atributos visibles por el programador que trabaja en lenguaje máquina

Más detalles

Organización de computadoras. Clase 4. Universidad Nacional de Quilmes. Lic. Martínez Federico

Organización de computadoras. Clase 4. Universidad Nacional de Quilmes. Lic. Martínez Federico Organización de computadoras Clase 4 Universidad Nacional de Quilmes Lic. Martínez Federico Memoria: Organización Lectura Escritura Direcciones Qué pasó? Qué pasó? Memoria: Organización Lectura Escritura

Más detalles

INSTRUCCIONES. LA ENERGIA DE LA MAQUINA Fundamentos de Computadores Capítulo segundo

INSTRUCCIONES. LA ENERGIA DE LA MAQUINA Fundamentos de Computadores Capítulo segundo INSTRUCCION LA ENERGIA DE LA MAQUINA Fundamentos de Computadores Capítulo segundo Departamento de Automática. Area de Arquitectura y Tecnología de Computadores. INTRODUCCION Computador: se limita a ejecutar

Más detalles

Tema 4. Fundamentos del ensamblador

Tema 4. Fundamentos del ensamblador Tema 4. Fundamentos del ensamblador Laboratorio de Estructura de Computadores I. T. Informática de Gestión / Sistemas Curso 2008-2009 Transparencia: 2 / 30 Índice Filosofía de programación Organigramas

Más detalles