Generación de un ejecutable

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

Download "Generación de un ejecutable"

Transcripción

1 ASSEMBLER

2 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 Assembler Archivo Objeto Linker Archivo Ejecutable Archivo Fuente Assembler Archivo Objeto Library

3 Generación de un ejecutable Archivo Fuente Assembler Archivo Objeto Archivo Fuente Assembler Archivo Objeto Linker Archivo Ejecutable Archivo Fuente Assembler Archivo Objeto Library Contiene instrucciones de máquina, datos y enlaces a bibliotecas Puede tener referencias a funciones o variables de otros archivos

4 Generación de un ejecutable #include<stdio.h> int main(int argc, char* argv[]){ } int i; int sum=0; for(i=0;i<=100;i++) sum += sum+1; printf( La suma de 0 a 100 es %d\n, sum);

5 Generación de un ejecutable.text.align 2.globl main main: subu $sp,$sp,32 sw $ra,20($sp) sd $a0,32($sp) sw $0,24($sp) sw $0,28($sp) loop: lw $t6,28($sp) mul $t7,$t6,$t6 lw $t8,24($sp) addu $t9,$t8,$t7 sw $t9,24($sp) addu $t0,$t6,1 sw $t0,28($sp) ble $t0,100, loop la $a0, str lw $al, 24($sp) jal printf move $v0, $0 lw $ra,20($sp) addu $sp,$sp,32 j $ra str:.data.align 0.asciiz La suma de 0 a 100 es %d\n Notar que sólo el label main puede ser referenciado desde otro archivo

6 Facilidades.asciiz La suma de 0 a 100 es %d\n equivale a:.byte byte byte byte

7 (Des)Ensamblar Código Assembler addi $t1, $t2, 0x1000 Ensamblar Desensamblar Código Máquina

8 Memoria Unidad Aritmética y Lógica (ALU). Unidad Aritmética entera, operaciones de multiplicación y división. CPU Registros FPU Registros Alu Mul Div Hi Lo U. Aritmética Traps Manejo de Memoria Unidad punto flotante (FPU). Coprocesador dedicado al manejo de memoria caché y virtual.

9

10 Procesador MIPS

11

12

13 Procesador MIPS Nombre Registro Número Uso $zero $0 Constante 0 $at $1 Reservado para el assembler $v0 $2 Para evaluación de expresiones y $v1 $3 retorno de resultados de una función $a0 $4 Argumento 1 $a1 $5 Argumento 2 $a2 $6 Argumento 3 $a3 $7 Argumento 4 $t0 $8 Temporal (no se preserva a través de los llamados) $t1 $9 Temporal (no se preserva a través de los llamados) $t2 $10 Temporal (no se preserva a través de los llamados) $t3 $11 Temporal (no se preserva a través de los llamados) $t4 $12 Temporal (no se preserva a través de los llamados) $t5 $13 Temporal (no se preserva a través de los llamados) $t6 $14 Temporal (no se preserva a través de los llamados) $t7 $15 Temporal (no se preserva a través de los llamados)

14 Procesador MIPS Nombre Registro Número Uso $s0 $16 Temporal que debe preservarse entre llamados a funciones $s1 $17 Temporal que debe preservarse entre llamados a funciones $s2 $18 Temporal que debe preservarse entre llamados a funciones $s3 $19 Temporal que debe preservarse entre llamados a funciones $s4 $20 Temporal que debe preservarse entre llamados a funciones $s5 $21 Temporal que debe preservarse entre llamados a funciones $s6 $22 Temporal que debe preservarse entre llamados a funciones $s7 $23 Temporal que debe preservarse entre llamados a funciones $t8 $24 Temporal (no se preserva a través de los llamados) $t9 $25 Temporal (no se preserva a través de los llamados) $k0 $26 Reservado para el núcleo del Sist. Operativo $k1 $27 Reservado para el núcleo del Sist. Operativo $gp $28 Puntero al área global de datos $sp $29 Puntero al tope de la pila. Stack pointer $fp $30 Puntero a zona de variables en la pila. Frame pointer $ra $31 Dirección de retorno (usado en invocaciones a funciones)

15 Ciclo de ejecución Acceso a Memoria Tipo y tamaño de la Instrucción (estructura) Acceso a Memoria o a Registros Acceso a Memoria o a Registros Saltos condicionales, bifurcaciones, subrutinas...

16 Formato de Instrucciones Formato de instrucciones MIPS R I J Op (6) Rs (5) Rt (5) Rd (5) Shamnt (5) Funct (6) Op (6) Address (26) Op (6) Rs (5) Rt (5) Inmediate (16)

17 Formato de Instrucciones Formato de instrucciones MIPS R I J Op (6) Rs (5) Rt (5) Rd (5) Shamnt (5) Funct (6) Op (6) Address (26) Op (6) Rs (5) Rt (5) Inmediate (16)

18 Formato de Instrucciones Formato de instrucciones MIPS R I J Op (6) Rs (5) Rt (5) Rd (5) Shamnt (5) Funct (6) Op (6) Address (26) Op (6) Rs (5) Rt (5) Inmediate (16)

19 Formato de Instrucciones Formato de instrucciones MIPS R I J Op (6) Rs (5) Rt (5) Rd (5) Shamnt (5) Funct (6) Op (6) Address (26) Op (6) Rs (5) Rt (5) Inmediate (16)

20 Procesador MIPS Repertorio de Instrucciones Intrucción Ejemplo Significado add add $t1, $t2, $t3 $t1=$t2+$t3 add unsigned addu $t1, $t2, $t3 $t1=$t2+$t3 subtract sub $t1, $t2, $t3 $t1=$t2-$t3 Subtract unsigned subu $t1, $t2, $t3 $t1=$t2-$t3 and and $t1, $t2, $t3 $t1=$t2 & $t3 or or $t1, $t2, $t3 $t1=$t2 $t3 xor xor $t1, $t2, $t3 $t1=$t2 $t3 nor nor $t1, $t2, $t3 $t1=~($t2 $t3) set on less than slt $t1,$t2,$t3 if($t2<$t3) $t1=1; else $t0=0;

21 Repertorio de Instrucciones Intrucción Ejemplo Significado shift left logical sll $t1, $t2, K $t1 = $t2 << K shift left arithm. sla $t1, $t2, K $t1 = $t2 << K shift left logical variable sllv $t1, $t2, $t3 $t1 = $t2 << $t3

22 Repertorio de Instrucciones Intrucción Ejemplo Significado add inmediate addi $t1, $t2, K $t1 = $t2 + K add inmediate unsigned addiu $t1, $t2, K $t1 = $t2 + K and inmediate andi $t1, $t2, K $t1 = $t2 & $t3 or inmediate ori $t1, $t2, K $t1 = $t2 K xor inmediate xori $t1, $t2, K $t1 = $t2 K set less than inmediate slti $t1, $t2, K if($t2<k) $t1=1; else $t1=0;

23 Repertorio de Instrucciones Intrucción Ejemplo Significado load byte lb $t1, K($t2) $t1=m[$t2+k] load byte unsigned lbu $t1, K($t2) $t1=m[$t2+k] load halfword lh $t1, K($t2) $t1=m[$t2+k] load halfword unsigned lhu $t1, K($t2) $t1=m[$t2+k] load word lw $t1, K($t2) $t1=m[$t2+k] Store byte sb $t1, K($t2) M[$t2+K]=$t1 Store halfword sh $t1, K($t2) M[$t2+K]=$t1 Store word sw $t1, K($t2) M[$t2+K]=$t1

24 Repertorio de Instrucciones Intrucción Ejemplo Significado multiply mult $t2, $t3 Hi, Lo = $t2*$t3 multiply unsigned multu $t2, $t3 Hi, Lo = $t2*$t3 divide div $t2, $t3 divide unsigned divu $t2, $t3 Lo = [$t2 / $t3] Hi = $t2 % $t3 Lo = [$t2 / $t3] Hi = $t2 % $t3 Intrucción Ejemplo Significado Move from Hi mfhi $t1 $t1 = Hi Move from Lo mflo $t1 $t1 = Lo Move to Hi mthi $t1 Hi = $t1 Move to Lo mtlo $t1 Lo = $t1

25 Repertorio de Instrucciones Intrucción Ejemplo Significado branch on equal branch on not equal Comparaciones con 0 beq $t1, $t2, K bne $t1, $t2, K bgtz $t1, offset bltz $t1, offset bgez $t1, offset bltzal $t1, offset bgezal $t1, offset if($t1==$t2) PC=PC+4+K 4; if($t1!=$t2) PC=PC+4+K 4; if($t1>0) PC=PC+4+offset 4; if($t1<0) PC=PC+4+offset 4; if($t1>=0) PC=PC+4+offset 4; if($t1<0){ $ra = PC +4; PC=PC+4+offset 4; } if($t1>=0){ $ra = PC +4; PC=PC+4+offset 4; }

26 Repertorio de Instrucciones Intrucción Ejemplo Significado Jump j label goto label Jump and link jal label $ra= PC+4; goto label; Jump register jr $t1 PC=$t1 Jump and link register jalr $t1 $ra= PC+4; PC=$t1;

27 SEGMENTO ESTÁTICO DE DATOS

28 Segmento Estático de Datos: Directivas Assembler 0x

29 Manejo de Números de 4[Bytes] 0x Op (6) Rs (5) Rt (5) Inmediate (16)

30 Segmento Estático de Datos: Directivas Assembler 0x lui $t1,0x6463 ori $t1, $t1, 0x6261

31 Segmento Estático de Datos: Directivas Assembler 0x lui $t1,0x6463 ori $t1, $t1, 0x6261 Macro li $t1,0x Ver página A-59 del Apéndice A (pdf)

32 Segmento Estático de Datos: Directivas Assembler 0x la $t1,0x lui $t1,0x1234 ori $t1, $t1, 0x0261

33 Segmento Estático de Datos

34 Segmento Estático de Datos: Directivas Assembler

35 Segmento Estático de Datos: Directivas Assembler.data 0x #variables estaticas v1:.word 0x v2:.word 0x v3:.word 0x v4:.word 0x v5:.word 0x v6:.word 0x v7:.half 0x1234 v8:.byte 0xFF.align 2 arr:.word 0,1,2,3,4,5 string:.asciiz "abcdef" Data Segment [0x ] 0x [0x ] 0x [0x ] 0x [0x C] 0x [0x ] 0x [0x ] 0x [0x ] 0x00ff1234 [0x C] 0x [0x ] 0x [0x ] 0x [0x ] 0x [0x C] 0x [0x ] 0x [0x ] 0x [0x ] 0x [0x ] 0x

36 Segmento Estático de Datos: Directivas Assembler Notación del segmento de datos Data Segment [0x ] 0x [0x ] 0x [0x ] 0x [0x C] 0x [0x ] 0x [0x ] 0x [0x ] 0x00ff1234 [0x C] 0x [0x ] 0x [0x ] 0x [0x ] 0x [0x C] 0x [0x ] 0x [0x ] 0x [0x ] 0x [0x ] 0x [0x ] 0x x x x [0x ] 0x x x00ff1234 0x [0x ] 0x x x x [0x ] 0x x x x

37 Segmento Estático de Datos: Directivas Assembler 0x y 0x Data Segment [0x ] 0x [0x ] 0x [0x ] 0x [0x C] 0x [0x ] 0x [0x ] 0x [0x ] 0x00ff1234 [0x C] 0x [0x ] 0x [0x ] 0x [0x ] 0x [0x C] 0x [0x ] 0x [0x ] 0x [0x ] 0x [0x ] 0x

38 Segmento Estático de Datos: Directivas Assembler la $t1, v1 lw $t2, 8($t1) lw $t3, 16($t1) Data Segment [0x ] 0x [0x ] 0x [0x ] 0x [0x C] 0x [0x ] 0x [0x ] 0x [0x ] 0x00ff1234 [0x C] 0x [0x ] 0x [0x ] 0x [0x ] 0x [0x C] 0x [0x ] 0x [0x ] 0x [0x ] 0x [0x ] 0x Otra(s) opción(es)?

39 Segmento Estático de Datos: Directivas Assembler... v7:.half 0x1234 v8:.byte 0xFF... Data Segment [0x ] 0x [0x ] 0x [0x ] 0x [0x C] 0x [0x ] 0x [0x ] 0x [0x ] 0x00ff1234 [0x C] 0x [0x ] 0x [0x ] 0x [0x ] 0x [0x C] 0x [0x ] 0x [0x ] 0x [0x ] 0x [0x ] 0x

40 Segmento Estático de Datos: Directivas Assembler... v7:.half 0x1234 v8:.byte 0xFF... la $t4, v7 lh $t5, 0($t4) lb $t6, 2($t4) Data Segment [0x ] 0x [0x ] 0x [0x ] 0x [0x C] 0x [0x ] 0x [0x ] 0x [0x ] 0x00ff1234 [0x C] 0x [0x ] 0x [0x ] 0x [0x ] 0x [0x C] 0x [0x ] 0x [0x ] 0x [0x ] 0x [0x ] 0x Otra(s) opción(es)?

41 Segmento Estático de Datos: Directivas Assembler Notación Significado t8 = &var; la $t8, var *p contenido &p dirección *t8 = t7; sw $t7, 0($t8) Memoria &var var contenido *t8

42 Invocación de funciones: Variables Globales int i=10, j=5, k=0; // var. Globales void f1(void){ k = i + j; } main(void){... f1(); //invoca función f1 sin argumentos... }

43 Invocación de funciones: Variables Globales.data i:.word 10 j:.word 5 k:.word 0.text.globl main main:... jal f1 f1: la $t0, i lw $s1, 0($t0) # s1 = i lw $s2, 4($t0) # s2 = j add $t1, $s1, $s2 # t1 = i + j sw $t1, 8($t0) # k = t1 jr $ra

44 Invocación de funciones: Por Valor int i=10, j=20, k=30; int f2(int a0, int a1) { return (a0+a1); } main(){... k = f2(i, j);... }

45 Invocación de funciones: Por Valor.data i:.word 1 j:.word 2 k:.word 3.text.globl main:... la $t0, i main lw $a0,0($t0) lw $a1,4($t0) jal f2 sw $v0,8($t0)... f2: add $v0, $a0, $a1 jr $ra # a0 = i # a1 = j # invocación de función # k = v0

46 Invocación de funciones: Por Referencia int i=1, j=2, k=3; int f3(int *a0, int *a1) return (*a0+*a1); } main(){... k= f3(&i,&j);... }

47 .data i:.word 1 j:.word 2 k:.word 3.text.globl main main:... la $a0,i la $a1,j jal f3 sw $v0, 8($a0)... j main Procesador MIPS Invocación de funciones: Por Referencia f3: lw $t1,0($a0) lw $t2,0($a1) add $v0,$t1,$t2 jr ra

48 Stack

49 Stack

50 Procesador MIPS Stack : Push # PUSH the item in $t0: subu $sp,$sp,4 #point to the place #for the new item, sw $t0,($sp) #store the contents of $t0 #as the new top

51 Procesador MIPS Stack : Push # POP the item into $t0: lw $t0,($sp) #Copy top the item to $t0. addu $sp,$sp,4 #Point to the item beneath #the old top.

52 Stack : Push.data a:.word 2 b:.word 3.text main: lw lw mul $t0,a $t1,bb $t0,$t0,$t1 subu sw... $sp,$sp, $t0,

53 Stack : Push.data a:.word 2 b:.word 3.text main: lw lw mul $t0,a $t1,bb $t0,$t0,$t1 subu sw... $sp,$sp,4 $t0,0($sp)

54 Stack : Push.data a:.word 2 b:.word 3.globl main main: lw $t0,a # get a lw $t1,bb # get b mul $t0,$t0,$t1 # a*b subu $sp,$sp,4 # push a*b sw $t0,($sp) lw $t0,a # get a li $t1,-12 # mul $t0,$t0,$t1 # -12a subu $sp,$sp,4 # push -12a sw $t0,($sp) li $t1,-7 # init sum to -7 lw $t0,($sp) # pop 18b addu $sp,$sp,4 addu $t1,$t1,$t0 # 18b-7 lw $t0,($sp) # pop -12a addu $sp,$sp,4 addu $t1,$t1,$t0 # -12a+18b-7 lw $t0,($sp) # pop ab addu $sp,$sp,4 addu $t1,$t1,$t0 # ab-12a+18b-7 done: li $v0,1 # print sum move $a0,$t1 syscall li $v0,10 # exit syscall lw $t0,b # get b li $t1,18 # mul $t0,$t0,$t1 # 18b subu $sp,$sp,4 # push 18b sw $t0,($sp)

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

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

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

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

8. Diseño de la codificación binaria del repertorio de Instrucciones.

8. Diseño de la codificación binaria del repertorio de Instrucciones. 8. Diseño de la codificación binaria del repertorio de Instrucciones. Se desea elegir los códigos binarios de las instrucciones. Esta parte, en forma indirecta especifica lo que debe realizar un programa

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

REPERTORIO DE INSTRUCCIONES MIPS

REPERTORIO DE INSTRUCCIONES MIPS Departamento de Informática Escuela Politécnica Universidad de Extremadura REPERTORIO DE INSTRUCCIONES MIPS Prácticas de la Asignatura ESTRUCTURA DE COMPUTADORES 2º Ingeniería Informática 2º Ingeniería

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

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

Tema 6: Descripción del ISA del MIPS

Tema 6: Descripción del ISA del MIPS Arquitectura de Computadores Tema 6: Descripción del ISA del MIPS Eduardo Daniel Cohen dcohen@arnet.com.ar http://www.herrera.unt.edu.ar/arqcom Arquitectura de Computadoras UNT D. Cohen 1 2014 Temario

Más detalles

CAPÍTULO 2: MANUAL DE USUARIO DEL SIMULADOR DE INSTRUCCIONES MIPS R-4000

CAPÍTULO 2: MANUAL DE USUARIO DEL SIMULADOR DE INSTRUCCIONES MIPS R-4000 Antes de comenzar a explicar como funciona el programa, vamos a enumerar las instrucciones que están implementadas en el simulador. CAPÍTULO 2: MANUAL DE USUARIO DEL SIMULADOR DE ES MIPS R-4000 ES IMPLEMENTADAS

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

El Conjunto de Instrucciones de la Arquitectura Lagarto I

El Conjunto de Instrucciones de la Arquitectura Lagarto I Sistema de numeración maya (base 20), se considera el primer sistema numérico que uso el cero. El Conjunto de Instrucciones de la Arquitectura Lagarto I i Resumen El conjunto de instrucciones de la arquitectura

Más detalles

Memoria. Traps y Manejo de Memoria BadVAddr EPC. Status. Figura 4.1. Diagrama funcional.

Memoria. Traps y Manejo de Memoria BadVAddr EPC. Status. Figura 4.1. Diagrama funcional. Capítulo 4. 1 Organización MIPS. Luego de la introducción informal del capítulo anterior, se describirán con detalle las principales características del procesador MIPS, desde un punto de vista del programador

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

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

El lenguaje ensamblador depende directamente de la arquitectura del computador. Por tanto cada arquitectura tiene su propio lenguaje ensamblador.

El lenguaje ensamblador depende directamente de la arquitectura del computador. Por tanto cada arquitectura tiene su propio lenguaje ensamblador. Estructura y Tecnología de Computadores (ITIG) Ángel Serrano Sánchez de León Luis Rincón Córcoles Programa 1. Introducción. 2. Registros. 3. Operaciones aritméticas básicas. 4. Accesos a memoria. Carga

Más detalles

UNIVERSIDAD TECNICA FEDERICO SANTA MARIA DEPARTAMENTO DE ELECTRONICA ELO311 Estructuras de Computadores

UNIVERSIDAD TECNICA FEDERICO SANTA MARIA DEPARTAMENTO DE ELECTRONICA ELO311 Estructuras de Computadores 6.5. Comunicación de las funciones con su entorno. Hasta el momento se ha conceptualizado una subrutina como un segmento de código que ocurre a menudo en un programa. La idea puede flexibilizarse y aumentar

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

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

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

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

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: - Los

Más detalles

ARQUITECTURA DE COMPUTADORES. Tema 2: Lenguaje Máquina, Instrucciones y Modos de Direccionamiento.

ARQUITECTURA DE COMPUTADORES. Tema 2: Lenguaje Máquina, Instrucciones y Modos de Direccionamiento. Universidad Rey Juan Carlos ARQUITECTURA DE COMPUTADORES Tema 2: Lenguaje Máquina, Instrucciones y Modos de Direccionamiento. Licesio J. Rodríguez-Aragón Programa 1. Introducción Lenguajes de Programación:

Más detalles

COMPUTADORES SEGMENTADOS (DLX)

COMPUTADORES SEGMENTADOS (DLX) DEPARTAMENTO DE AUTOMÁTICA ARQUITECTURA Y TECNOLOGÍA DE COMPUTADORES Laboratorio de Arquitectura e Ingeniería de Computadores PRÁCTICA I COMPUTADORES SEGMENTADOS (DLX) OBJETIVO El objetivo de la práctica

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

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

Implementación de instrucciones para el procesador MIPS de ciclo único.

Implementación de instrucciones para el procesador MIPS de ciclo único. Implementación de instrucciones para el procesador MIPS de ciclo único. 1. Introducción. El MIPS (Microprocessor without Interlock Pipeline Stages) es un conocido tipo de procesador de arquitectura RISC

Más detalles

Arquitectura de Computadores. Miguel Figueroa Oficina Arquitectura de conjunto de instrucciones (ISA)

Arquitectura de Computadores. Miguel Figueroa Oficina Arquitectura de conjunto de instrucciones (ISA) 543.426 Arquitectura de Computadores Arquitectura de conjunto de instrucciones (ISA) Miguel Figueroa Oficina 235 Email: miguel.figueroa@udec.cl 1 Arquitectura de conjunto de instrucciones Instruction Set

Más detalles

2. ARQUITECTURA BÁSICA DE MIPS 64

2. ARQUITECTURA BÁSICA DE MIPS 64 2. ARQUITECTURA BÁSICA DE MIPS 64 1 ARQUITECTURA BÁSICA DE MIPS 64 1. Características RISC de MIPS64 2. Registros y memoria 3. Instrucciones enteras 4. Instrucciones de coma flotante 5. El ensamblador

Más detalles

Registros del MIPS y usos. Servicios del sistema

Registros del MIPS y usos. Servicios del sistema Registros del MIPS y usos Nombre del registro Número Uso zero 0 Constante de valor 0 at 1 Reservada para ensamblador v0 2 Evaluación de expresiones y resultado de funciones v1 3 Evaluación de expresiones

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

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

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

void clear1( int array[], int size ) /* Versión con arreglos */ { int i; for( i = 0; i < size; i++) array[i] = 0; }

void clear1( int array[], int size ) /* Versión con arreglos */ { int i; for( i = 0; i < size; i++) array[i] = 0; } 2.10 Apuntadores contra arreglos. El manejo de apuntadores es uno de los aspectos más interesantes en los lenguajes de programación; los apuntadores y los arreglos comparten algunas características, sin

Más detalles

Sesión 11 Implementación de sentencias condicionales

Sesión 11 Implementación de sentencias condicionales INGENIERÍATÉCNICA EN INFORMÁTICA DE GESTIÓN. CURSO 2001-2002 LABORATORIO DE ESTRUCTURA Y TECNOLOGÍA DE COMPUTADORES Sesión 11 Implementación de sentencias condicionales INSTRUCCIONES DE COMPARACIÓN Y SALTOS

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

ESTRUCTURA Y TECNOLOGÍA A DE COMPUTADORES

ESTRUCTURA Y TECNOLOGÍA A DE COMPUTADORES Universidad Rey Juan Carlos ESTRUCTURA Y TECNOLOGÍA A DE COMPUTADORES Luis Rincón Córcoles Licesio J. Rodríguez-Aragón Programa 1. Introducción a la arquitectura MIPS. 2. Características principales de

Más detalles

Direccionamiento y Estructuras de Datos.

Direccionamiento y Estructuras de Datos. Capítulo 7. 1 Direccionamiento y Estructuras de Datos. Una vez conocidos los mecanismos de direccionamiento de un procesador es útil visualizar cómo se pueden emplear para manipular arreglos y estructuras.

Más detalles

Práctica 2 - Assembler MIPS

Práctica 2 - Assembler MIPS Práctica 2 - Assembler MIPS Organización del Computador 1 Verano 2014 Se deberán resolver al menos los ejercicios: 3, 6, 7, 9, 17, 22, 25 de la presente guía. El resto de los ejercicios son opcionales.

Más detalles

Laboratorio 1 y 2: Programación en C, Assembler MIPS, y uso de Simulador MIPS32: PCSpim

Laboratorio 1 y 2: Programación en C, Assembler MIPS, y uso de Simulador MIPS32: PCSpim Laboratorio 1 y 2: Programación en C, Assembler MIPS, y uso de Simulador MIPS32: PCSpim Objetivos. Estudiar algunos aspectos básicos de la programación en lenguaje C, y ambientes de programación integrados

Más detalles

Estructuras de Computadores I Tarea 03 02/99. Manejo de Punteros. Compilación de funciones (manejo de frames).

Estructuras de Computadores I Tarea 03 02/99. Manejo de Punteros. Compilación de funciones (manejo de frames). Estructuras de Computadores I Tarea 03 02/99 Manejo de Punteros. Compilación de funciones (manejo de frames). 1. Se listan algunas funciones para manipular strings. Estas usan intensivamente punteros.

Más detalles

Aritmética del computador

Aritmética del computador Aritmética del computador Montse Bóo Cepeda Este trabajo está publicado bajo licencia Creative Commons Attribution- NonCommercial-ShareAlike 2.5 Spain. Estructura del curso. Evolución y caracterización

Más detalles

Programación en ensamblador Ejercicios resueltos

Programación en ensamblador Ejercicios resueltos Programación en ensamblador Ejercicios resueltos Ejercicio 1. Dado el siguiente fragmento de programa en ensamblador..globl main main:... li $a0, 5 jal funcion move $a0, $v0 li $v0, 1 li $v0, 10 funcion:

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

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

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

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 UNIVERSIDAD CARLOS III DE MADRID DEPARTAMENTO DE INFORMÁTICA GRADO EN INGENIERÍA INFORMÁTICA. ESTRUCTURA DE COMPUTADORES Para la realización del presente examen se dispondrá de 1 hora y media. NO se podrán

Más detalles

Estructura de Computadores

Estructura de Computadores Estructura de Computadores Tema 3. Programación en ensamblador Departamento de Informática Grupo de Arquitectura de Computadores, Comunicaciones y Sistemas UNIVERSIDAD CARLOS III DE MADRID Contenido Fundamentos

Más detalles

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

Organización del Computador I Verano. MIPS (1 de 2) Basado en el capítulo 2 del libro de Patterson y Hennessy Organización del Computador I Verano MIPS (1 de 2) Basado en el capítulo 2 del libro de Patterson y Hennessy Verano 2014 Profesora Borensztejn Lenguajes para la máquina Las computadoras son circuitos electrónicos,

Más detalles

Estructura de Computadores. Capítulo 3b: Programación en

Estructura de Computadores. Capítulo 3b: Programación en Estructura de Computadores Capítulo 3b: Programación en ensamblador del MIPS. José Daniel Muñoz Frías Universidad Pontificia Comillas. ETSI ICAI. Departamento de Electrónica y Automática Estructura de

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

Arquitectura de Computadores. Adecuación al diseño de unidades segmentadas (pipelining).

Arquitectura de Computadores. Adecuación al diseño de unidades segmentadas (pipelining). La arquitectura. Introducción. En este capítulo describiremos la estructura básica de una arquitectura sencilla de carga/almacenamiento denominada (Pronunciado DeLuxe ). La arquitectura del conjunto de

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

Circuitos Digitales II y Laboratorio Fundamentos de Arquitectura de Computadores

Circuitos Digitales II y Laboratorio Fundamentos de Arquitectura de Computadores Departamento de Ingeniería Electrónica Facultad de Ingeniería Circuitos Digitales II y Laboratorio Fundamentos de Arquitectura de Computadores Unidad 3: MIPS ISA Prof. Felipe Cabarcas cabarcas@udea.edu.co

Más detalles

RESEÑA DE LENGUAJE C

RESEÑA DE LENGUAJE C RESEÑA DE LENGUAJE C VARIABLES La función main. Es el punto de entrada al programa. void main(void) Aquí escribo mi programa Tipos de datos. Char. El char es una variable de 1 byte. Almacena números enteros.

Más detalles

Guía Laboratorio Número 1

Guía Laboratorio Número 1 Guía Laboratorio Número 1 Página 1 de 5 Arquitectura de Computadoras 06/04/2014 Repaso lenguaje ensamblador Escribir códigos en lenguaje ensamblador es bastante sencillo, por lo que no es necesario el

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

Electrónica Digital. Computadoras de la Arena al Lenguaje C. Ing. Jose Luis Hamkalo

Electrónica Digital. Computadoras de la Arena al Lenguaje C. Ing. Jose Luis Hamkalo Electrónica Digital Computadoras de la Arena al Lenguaje C Ing. Jose Luis Hamkalo Construyendo una Computadora Paso 1: La CPU EL camino de datos Registros Register file ALU Bus Señales disponibles El ciclo

Más detalles

FUNDAMENTOS DE COMPUTADORES 18 de junio de Examen parcial del 2º cuatrimestre.

FUNDAMENTOS DE COMPUTADORES 18 de junio de Examen parcial del 2º cuatrimestre. FUNDAMENTOS DE COMPUTADORES 18 de junio de 2014. Examen parcial del 2º cuatrimestre. Nombre DNI Apellidos Grupo Ejercicio 1 (2.5 puntos) Para el computador MIPS estudiado en clase, responder a las siguientes

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

UNIVERSIDAD DE CORDOBA ESTRUCTURA DE COMPUTADORAS UNIDAD III

UNIVERSIDAD DE CORDOBA ESTRUCTURA DE COMPUTADORAS UNIDAD III ARITMETICA PARA COMPUTADORAS 1.- INTRODUCCION Objetivo Estudio de uno de los Componentes Clásicos de una Computadora Unidad Aritmético Lógica (ALU) Partes a estudiar Representación de los números negativos

Más detalles

DISEÑO DE UN REPERTORIO DE INSTRUCCIONES

DISEÑO DE UN REPERTORIO DE INSTRUCCIONES Maestría en Electrónica Arquitectura de Computadoras Unidad 3 DISEÑO DE UN REPERTORIO DE INSTRUCCIONES M. C. Felipe Santiago Espinosa Marzo/2017 3.1. Clasificación de arquitecturas de los procesadores

Más detalles

Estructura de Computadores

Estructura de Computadores Estructura de Computadores Perpectiva Histórica Pasado y Presente Avances Tecnológicos Primer computador Electrónico University of Pennsylvania ENIAC (Electronic Numerical Integrator and Calculator, 18.000

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

Uso avanzado de punteros

Uso avanzado de punteros Uso avanzado de punteros Mario Medina C. mariomedina@udec.cl Punteros Contienen direcciones de memoria Punteros a tipos de datos simples int, char, float, double Punteros a estructuras Punteros a vectores

Más detalles

La Unidad de Control y el Camino de Datos

La Unidad de Control y el Camino de Datos 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 1 2 3 Contenido Veremos el diseño completo de un subconjunto

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 de Computadores MIPS64-1

Arquitectura de Computadores MIPS64-1 La descripción de esta arquitectura la vamos a organizar en tres apartados. Comenzaremos presentando sus características generales, para luego ir viendo en detalle los tipos de datos que maneja, así como

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

Intel Departamento de Arquitectura 1. Facultad de Ingeniería Universidad de la República. Arquitectura de Computadoras, 2016

Intel Departamento de Arquitectura 1. Facultad de Ingeniería Universidad de la República. Arquitectura de Computadoras, 2016 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 3 Registros Segmentación Stack 4 Set

Más detalles

Estructura de Computadores

Estructura de Computadores Estructura de Computadores Tema 4. El procesador Departamento de Informática Grupo de Arquitectura de Computadores, Comunicaciones y Sistemas UNIVERSIDAD CARLOS III DE MADRID Contenido Elementos de un

Más detalles

MIPS: Modelo de programación. (I Parte)

MIPS: Modelo de programación. (I Parte) MIPS: Modelo de programación (I Parte) MIPS: Microprocessor without Interlocked Pipeline Stages Trabajaremos como MIPS Son similares a las desarrolladas en los años 80 Cerca de 100 millones de procesadores

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 Para la realización del presente examen se dispondrá de 15 minutos. NO se podrán utilizar libros, apuntes ni calculadoras de Ejercicio 1 Los siguientes números se encuentran representados en complemento

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

ARQUITECTURA VON NEUMANN

ARQUITECTURA VON NEUMANN ARQUITECTURA VON NEUMANN 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

Más detalles

Organización del Computador I Verano. Aritmética (4 de 5) Basado en el capítulo 4 del libro de Patterson y Hennessy Multiplicaciones y Divisiones

Organización del Computador I Verano. Aritmética (4 de 5) Basado en el capítulo 4 del libro de Patterson y Hennessy Multiplicaciones y Divisiones Organización del Computador I Verano Aritmética (4 de 5) Basado en el capítulo 4 del libro de Patterson y Hennessy Multiplicaciones y Divisiones Verano 2014 Profesora Borensztejn MULTIPLICACIONES 1011

Más detalles

GUIÓN DE PRÁCTICAS DE ENSAMBLADOR DE MIPS

GUIÓN DE PRÁCTICAS DE ENSAMBLADOR DE MIPS Departamento de Informática Escuela Politécnica Universidad de Extremadura GUIÓN DE PRÁCTICAS DE ENSAMBLADOR DE MIPS Asignatura ESTRUCTURA DE COMPUTADORES 2º Ingeniería Informática 2º Ingeniería Técnica

Más detalles

Operaciones lógicas y repetición

Operaciones lógicas y repetición Organización de computadoras Universidad Nacional de Quilmes http:// Repaso Algebra de Boole Memoria principal datos direcciones Unidad Aritmético- Logica (ALU) Unidad de Control de programa (UC) CPU 1

Más detalles

Arquitectura de Computadores

Arquitectura de Computadores La descripción de esta arquitectura la vamos a organizar en tres apartados. Comenzaremos presentando sus características generales, para luego ir viendo en detalle los tipos de datos que maneja, así como

Más detalles

Procesadores de lenguaje Tema 8 Generación de código y optimización

Procesadores de lenguaje Tema 8 Generación de código y optimización Procesadores de lenguaje Tema 8 Generación de código y optimización Departamento de Ciencias de la Computación Universidad de Alcalá Resumen Tipos de código objeto Operaciones básicas en la generación

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

Organización de Computadoras. Algunas temas tomados en 2ª evaluación integradora

Organización de Computadoras. Algunas temas tomados en 2ª evaluación integradora Organización de Computadoras Algunas temas tomados en 2ª evaluación integradora Temas de Arquitecturas 1- Describa mediante ejemplos los modos de direccionamiento que conozca. 2- Describa los distintos

Más detalles

PRÁCTICAS DE ARQUITECTURA DE COMPUTADORES

PRÁCTICAS DE ARQUITECTURA DE COMPUTADORES PRÁCTICAS DE ARQUITECTURA DE COMPUTADORES PRACTICA 7 Repaso del Lenguaje Ensamblador CURSO 2005-2006 Arquitectura de Computadores. Práctica 7: Repaso del lenguaje Ensamblador 1 PRÁCTICA 7 ASPECTO TRATADO:

Más detalles

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

Organización n del Computador. CPU (ISA) Conjunto de Instrucciones de la Arquitectura Organización n del Computador CPU (ISA) Conjunto de Instrucciones de la Arquitectura Estructura (computadora) periféricos Computador Computador Unidad Central de Proceso CPU Sistema de interconexión Memoria

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 A DE COMPUTADORES

ESTRUCTURA Y TECNOLOGÍA A DE COMPUTADORES Universidad Rey Juan Carlos ESTRUCTURA Y TECNOLOGÍA A DE COMPUTADORES Camino de datos y control: implementación uniciclo Luis Rincón Córcoles Licesio J. Rodríguez-Aragón Programa. Introducción. 2. Construcción

Más detalles

Práctica 3 - Arquitectura del CPU

Práctica 3 - Arquitectura del CPU Práctica 3 - Arquitectura del CPU Organización del Computador 1 Primer cuatrimestre de 2012 Ejercicio 1 A partir de cada uno de los siguientes vuelcos parciales de memoria y estados del procesador, realizar

Más detalles

Tema 5 Diseño del Set de Instrucciones (ISA) Arquitectura de Computadoras

Tema 5 Diseño del Set de Instrucciones (ISA) Arquitectura de Computadoras Tema 5 Diseño del Set de Instrucciones (ISA) Arquitectura de Computadoras http://www.herrera.unt.edu.ar/arqcom dcohen@herrera.unt.edu.ar Temario 1. Evolución histórica. 2. Repaso de conceptos importantes.

Más detalles

Arquitectura de Conjunto de Instrucciones (ISA) Integer Java Virtual Machine (IJVM) para Mic-1

Arquitectura de Conjunto de Instrucciones (ISA) Integer Java Virtual Machine (IJVM) para Mic-1 Universidad Simón Bolívar Departamento de Electrónica y Circuitos EC2721 Arquitectura del Computador I Prof. Osberth De Castro Clase 03 Arquitectura de Conjunto de Instrucciones (ISA) Integer Java Virtual

Más detalles

MICROPROCESADOR RISC SINTETIZABLE EN FPGA PARA FINES DOCENTES

MICROPROCESADOR RISC SINTETIZABLE EN FPGA PARA FINES DOCENTES MICROPROCESADOR RISC SINTETIZABLE EN FPGA PARA FINES DOCENTES J.D. MUÑOZ1, S. ALEXANDRES1 Y C. RODRÍGUEZ-MORCILLO2 Departamento de Electrónica y Automática. Escuela Técnica Superior de Ingeniería ICAI.

Más detalles

Introducción a la Computación (Matemática)

Introducción a la Computación (Matemática) Introducción a la Computación (Matemática) Primer Cuatrimestre de 2016 Brevísima Introducción a la Organización de Computadoras 1 Mapa de la materia Programas simples en C++. Especificación de problemas.

Más detalles

Tutorías con Grupos Reducidos (TGR) Sesión 2: Paralelismo a Nivel de Instrucción

Tutorías con Grupos Reducidos (TGR) Sesión 2: Paralelismo a Nivel de Instrucción Tutorías con Grupos Reducidos (TGR) Sesión 2: Paralelismo a Nivel de Instrucción ESTRUCTURA DE COMPUTADORES Grupo de Arquitectura de Computadores (GAC) Dyer Rolán García (GAC) Paralelismo a nivel de instrucción

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

UNIVERSIDAD TECNICA FEDERICO SANTA MARIA DEPARTAMENTO DE ELECTRONICA ELO311 Estructuras de Computadores

UNIVERSIDAD TECNICA FEDERICO SANTA MARIA DEPARTAMENTO DE ELECTRONICA ELO311 Estructuras de Computadores 12. Diseño de un Procesador. (Monociclo) 12.1 Especificación de instrucciones. El primer paso es la especificación de la arquitectura del repertorio de instrucciones y de las instrucciones que podrá ejecutar

Más detalles

Entender los aspectos técnicos, por los cuales un intruso puede ingresar a un sistema y tomar el control de este

Entender los aspectos técnicos, por los cuales un intruso puede ingresar a un sistema y tomar el control de este COMO PENETRAR UN SISTEMA POR MEDIO DE DESBORDAMIENTO DE BUFFER OBJETIVO Entender los aspectos técnicos, por los cuales un intruso puede ingresar a un sistema y tomar el control de este AGENDA Programas

Más detalles

Tema 2 INSTRUCCIONES DE UN COMPUTADOR. Estructura de Computadores OCW_2015 Nekane Azkona Estefanía

Tema 2 INSTRUCCIONES DE UN COMPUTADOR. Estructura de Computadores OCW_2015 Nekane Azkona Estefanía Tema 2 INSTRUCCIONES DE UN COMPUTADOR ÍNDICE Definiciones Formatos de instrucción Modos de direccionamiento Tipos de instrucciones Diagrama de flujo Lenguaje del computador Definiciones: conceptos de arquitectura

Más detalles

Intel 8086 modelo básico (primera parte) Registros:

Intel 8086 modelo básico (primera parte) Registros: Intel 8086 modelo básico (primera parte) Registros: Uso general: AX, BX, CX, DX, SI, DI, BP. Uso con direccionamento especial: SP, IP. Registros de segmento: CS, SS, DS, ES. Modelo de los registros: 20

Más detalles

PROGRAMACION ESTRUCTURADA: Tema 1. El lenguaje de programación C

PROGRAMACION ESTRUCTURADA: Tema 1. El lenguaje de programación C PROGRAMACION ESTRUCTURADA: Tema 1. El lenguaje de programación C Presenta: David Martínez Torres Universidad Tecnológica de la Mixteca Instituto de Computación Oficina No. 37 dtorres@mixteco.utm.mx Contenido

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