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

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

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

Transcripción

1 Ignacio Eguinoa Organización del Computador I DC - UBA Segundo Cuatrimestre de 2015

2 Generaciones de lenguajes 1G: Lenguaje de máquina(código binario de operaciones) 2G: Lenguaje Ensamblador(Assembly) (Textual mediante mnemónicos) 3G: Lenguajes de alto nivel (C, C++, Java, etc) 4G: PL/SQL 5G: Programación lógica, declarativa, etc.

3 Ensamblador (Assembler) Lenguaje ensamblador Lenguaje de 2da Generación Se refiere directamente a las instrucciones de hardware (depende de la computadora que lo ejecuta) Textual (no confundir con el código de máquina) Lenguaje en el que escribimos programas para la máquina Orga1

4 Arquitectura Orga1 Componentes de la máquina Orga1:

5 Arquitectura Orga1 Componentes de la máquina Orga1: Procesador (CPU)

6 Arquitectura Orga1 Componentes de la máquina Orga1: Procesador (CPU) Memoria

7 Arquitectura Orga1 Componentes de la máquina Orga1: Procesador (CPU) Memoria Dispositivos de Entrada/Salida

8 Arquitectura Orga1 CPU Unidad Aritmético-Lógica (ALU) Flags: Z, N, C, V Registros 8 registros de propósito general de 16 bits (R0 a R7)

9 Arquitectura Orga1 CPU Unidad Aritmético-Lógica (ALU) Flags: Z, N, C, V Registros 8 registros de propósito general de 16 bits (R0 a R7) 3 registros de propósito específico de 16 bits PC (program counter) SP (stack pointer) IR (instruction register)

10 Arquitectura Orga1 CPU Unidad Aritmético-Lógica (ALU) Flags: Z, N, C, V Registros 8 registros de propósito general de 16 bits (R0 a R7) Memoria 3 registros de propósito específico de 16 bits PC (program counter) SP (stack pointer) IR (instruction register)

11 Arquitectura Orga1 CPU Unidad Aritmético-Lógica (ALU) Flags: Z, N, C, V Registros 8 registros de propósito general de 16 bits (R0 a R7) Memoria 3 registros de propósito específico de 16 bits PC (program counter) SP (stack pointer) IR (instruction register) Direcciones de 16 bits (de 0x0000 a 0xFFEF) Palabras de 16 bits

12 ASM Orga1 Qué operaciones básicas necesitamos?

13 ASM Orga1 Qué operaciones básicas necesitamos? Operaciones de manejo de memoria ( MOV )

14 ASM Orga1 Qué operaciones básicas necesitamos? Operaciones de manejo de memoria ( MOV ) Operaciones aritmético-lógicas ( ADD, SUB, OR, etc.)

15 Formato de instrucción Tipo 1: Instrucciones de dos operandos operación cod. op. efecto modifica flags MOV d, f 0001 d f no ADD d, f 0010 d d + f (suma binaria) sí SUB d, f 0011 d d f (resta binaria) sí AND d, f 0100 d d and f sí ( ) OR d, f 0101 d d or f sí ( ) CMP d, f 0110 Modifica los flags según el resultado de d f. sí ADDC d, f 1101 d d + f + carry (suma binaria) sí ( ) dejan el flag de carry (C) y el de overflow (V) en cero.

16 Modos de direccionamiento Y los operandos?

17 Modos de direccionamiento Y los operandos? Modo Ejemplo Inmediato 0xEF06 Directo [0x0007] Indirecto [[0x0009]] Registro R1 Indirecto registro [R3] Indexado [R2 + 0x0003]

18 Formato de instrucción Tipo 4: Saltos relativos condicionales El salto se produce si se cumple la condición de salto correspondiente. No modifican flags. Codop Operación Descripción Condición de Salto JE Igual / Cero Z JNE Distinto not Z JLE Menor o igual Z or ( N xor V ) JG Mayor not ( Z or ( N xor V ) ) JL Menor N xor V JGE Mayor o igual not ( N xor V ) JLEU Menor o igual sin signo C or Z JGU Mayor sin signo not ( C or Z ) JCS Carry / Menor sin signo C JNEG Negativo N JVS Overflow V

19 Saltos condicionales Cómo indico el destino del salto?

20 Saltos condicionales Cómo indico el destino del salto? El lenguaje ensamblador nos permite usar etiquetas

21 Ahora si... A PROGRAMAR!

22 Ejercicio 1 Enunciado: Escribir un programa que calcule la división entera entre dos enteros sin signo de 16 bits.

23 Ejercicio 1 Enunciado: Escribir un programa que calcule la división entera entre dos enteros sin signo de 16 bits. R1 contiene la dirección de memoria donde se aloja el dividendo.

24 Ejercicio 1 Enunciado: Escribir un programa que calcule la división entera entre dos enteros sin signo de 16 bits. R1 contiene la dirección de memoria donde se aloja el dividendo. R2 contiene la dirección de memoria donde se aloja el divisor.

25 Ejercicio 1 Enunciado: Escribir un programa que calcule la división entera entre dos enteros sin signo de 16 bits. R1 contiene la dirección de memoria donde se aloja el dividendo. R2 contiene la dirección de memoria donde se aloja el divisor. R3 debe ser el registro en el que se guarda el cociente (el resultado de la división).

26 Ejercicio 1 Enunciado: Escribir un programa que calcule la división entera entre dos enteros sin signo de 16 bits. R1 contiene la dirección de memoria donde se aloja el dividendo. R2 contiene la dirección de memoria donde se aloja el divisor. R3 debe ser el registro en el que se guarda el cociente (el resultado de la división). En caso de que el divisor sea 0, habrá que devolver 0.

27 Pseudocódigo del Ejercicio 1 resultado = 0 if (divisor == 0): listo else: while (dividendo >= divisor): dividendo = dividendo - divisor resultado = resultado + 1 listo

28 Resolución del Ejercicio 1 ; R1 --> puntero al dividendo ; R2 --> puntero al divisor ; R3 --> cociente ; R4 --> dividendo ; R5 --> divisor inicio: MOV R3, 0x0000 ; R3 = 0 MOV R4, [R1] ; R4 = dividendo MOV R5, [R2] ; R5 = divisor CMP R5, 0x0000 ; divisor == 0? JE fin ciclo: CMP R4, R5 ; dividendo < divisor? JCS fin ; uso JCS en lugar de JL porque ; son enteros sin signo SUB R4, R5 ; R4 = R4-R5 ADD R3, 0x0001 ; R3 = R3+1 JMP ciclo fin:

29 Ejercicio 2 Enunciado: Estoy cansado de que me salgan las fotos oscuras con mi cámara digital. Hagan un programa que duplique el brillo de mis fotos para remediar mi angustia.

30 Ejercicio 2 Enunciado: Estoy cansado de que me salgan las fotos oscuras con mi cámara digital. Hagan un programa que duplique el brillo de mis fotos para remediar mi angustia. R1 contiene la dirección donde está la imagen como una matriz de enteros sin signo de 16 bits.

31 Ejercicio 2 Enunciado: Estoy cansado de que me salgan las fotos oscuras con mi cámara digital. Hagan un programa que duplique el brillo de mis fotos para remediar mi angustia. R1 contiene la dirección donde está la imagen como una matriz de enteros sin signo de 16 bits. La foto tiene 200x200 pixels.

32 Ejercicio 2 Enunciado: Estoy cansado de que me salgan las fotos oscuras con mi cámara digital. Hagan un programa que duplique el brillo de mis fotos para remediar mi angustia. R1 contiene la dirección donde está la imagen como una matriz de enteros sin signo de 16 bits. La foto tiene 200x200 pixels. La imagen debe ser modificada en el lugar.

33

34

35 Pra ctica 3: Programacio n en ASM Orga 1

36

37 Pseudocódigo del Ejercicio 2 Enunciado Duplicar el brillo La imagen tiene 200x200 píxeles. R1 contiene la dirección donde está la imagen como una matriz de enteros sin signo de 16 bits. La imagen debe ser modificada en el lugar.

38 Pseudocódigo del Ejercicio 2 Enunciado Duplicar el brillo La imagen tiene 200x200 píxeles. R1 contiene la dirección donde está la imagen como una matriz de enteros sin signo de 16 bits. La imagen debe ser modificada en el lugar. i = 0 while (i < 200*200): img[i] = 2 * img[i] i = i + 1 listo

39 Es correcto el pseudocódigo anterior?

40 Es correcto el pseudocódigo anterior? Qué pasa cuando duplico un pixel cuyo color ya es muy cercano al blanco más brillante?

41 Pseudocódigo del Ejercicio 2 (con saturación) i = 0 while (i < 200*200): tmp = 2 * img[i] if (tmp > 0xFFFF): tmp = 0xFFFF img[i] = tmp i = i + 1 listo // si hay carry

42 Resolución del Ejercicio 2 ; R1 --> puntero a la imagen ; R2 --> variable temporal para almacenar el pixel a procesar ; R3 --> contador de pixeles que voy procesando inicio: MOV R3, 0x0000 ; R3 = 0 ; Ciclo principal: Va a ir recorriendo uno a uno los pixeles de la ; imagen y les va a aplicar un mayor brillo duplicando su valor. ; Si se produce un overflow, satura con el color blanco (0xFFFF) ciclo: CMP R3, 0x9C40 ; R3 = cant pixeles(img)? JE fin MOV R2, [R1] ; R2 = img[r3] ADD R2, R2 ; R2 = 2*R2 ; Como estoy sumando enteros de 16 bits sin signo, tengo que ver que ; no se produzca overflow. Para eso, miro el bit de carry despues de ; realizada la suma JCS saturar cont: MOV [R1], R2 ; img[r3] = R2 ADD R1, 0x0001 ; R1 = img[r3+1] ADD R3, 0x0001 ; R3 = R3+1 JMP ciclo saturar: ; Si al duplicar el valor del pixel se obtiene un valor tan grande ; que no entra en un entero de 16 bits, saturo el valor del pixel ; con el color blanco (0xFFFF) MOV R2, 0xFFFF ; R2 = 0xFFFF JMP cont fin:

43

44

45

46 Lenguaje ensamblador Vimos: Intro a arquitectura Orga1 Set de instrucciones máquina Orga1 Implementación de soluciones usando lenguaje ensamblador

47 Lenguaje ensamblador La próxima: Directivas Proceso de ensamblado: codificación y carga en memoria del programa Proceso de ejecución

48 Preguntas?????

49 Fin Fin

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

Práctica 3: Programación en ASM Orga 1 Facundo Pessacg Organización del Computador I DC - UBA 1 er Cuatrimestre de 2016 Ejercicio 1 Enunciado: Gus nos pidió escribir un programa que calcule la división entera entre dos enteros sin signo de

Más detalles

Seguimiento. Organización del Computador I. Gustavo Cairo Carlos A. Di Pietro Carolina Lang. 1 er Cuatrimestre de 2016

Seguimiento. Organización del Computador I. Gustavo Cairo Carlos A. Di Pietro Carolina Lang. 1 er Cuatrimestre de 2016 La Máquina ORGA1: Arquitectura y Seguimiento Organización del Computador I Gustavo Cairo Carlos A. Di Pietro Carolina Lang Departamento de Computación - FCEyN UBA 1 er Cuatrimestre de 2016 Outline Arquitectura

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

Guía de ejercicios # 8 Flags y Saltos

Guía de ejercicios # 8 Flags y Saltos Guía de ejercicios # 8 Flags y Saltos Organización de Computadoras 2018 UNQ Los objetivos de esta práctica son: Comprender qué son y para qué se utilizan los Flags. Conocer qué operaciones modifican los

Más detalles

Organización de Computadoras

Organización de Computadoras Organización de Computadoras SEMANA 8 UNIVERSIDAD NACIONAL DE QUILMES Qué vimos? Notación científica Punto flotante Idea Interpretación Mantisa fraccionaria vs mantisa entera Resolución Normalización Bit

Más detalles

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

Práctica 6: Programación en ASM Orga 1 Matías Vargas Telles y Azul López basado en trabajo previo de Carlos A. Di Pietro Organización del Computador I DC - UBA 2 do Cuatrimestre de 2013 Dónde estamos? Arquitectura Orga1 Operaciones: Manejo

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

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

Organización de computadoras. Clase 8. Universidad Nacional de Quilmes. Lic. Martínez Federico Organización de computadoras Clase 8 Universidad Nacional de Quilmes Lic. Martínez Federico El Parcial Dónde estábamos? Limitaciones de Q3 Y ahora? Y ahora? Limitaciones de Q3 Flags: Qué? Cómo? Para qué?

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

Guía de ejercicios # 10: Iteraciones, arreglos y recorridos

Guía de ejercicios # 10: Iteraciones, arreglos y recorridos Guía de ejercicios # 10: Iteraciones, arreglos y recorridos Organización de Computadoras 2017 UNQ Arquitectura Q6 Características Tiene 8 registros de uso general de 16 bits: R0..R7. La memoria utiliza

Más detalles

Organización y Arquitectura

Organización y Arquitectura Diego Garverbetsky 1, Marcelo Risk 1, Diego Fernández Slezak 1, Juan Pablo Galeotti 1, Fernando Schapachnik 1 1 Departamento de Computación, FCEyN, Universidad de Buenos Aires, Buenos Aires, Argentina

Más detalles

El Diseño de un Lenguaje Máquina

El Diseño de un Lenguaje Máquina Arquitectura de Ordenadores Juego de Instrucciones del Procesador Intel Pentium Abelardo Pardo abel@it.uc3m.es Universidad Carlos III de Madrid Departamento de Ingeniería Telemática El Diseño de un Lenguaje

Más detalles

Práctica 4 - Arquitectura CPU

Práctica 4 - Arquitectura CPU Práctica 4 - Arquitectura CPU Organización del Computador 1 Verano 2008 Programación en lenguaje ensamblador (Assembler) Ejercicio 1 Dados los siguientes valores de la memoria y del registro R0 de la arquitectura

Más detalles

Introducción al simulador

Introducción al simulador Departamento de Automática 1 / 17 Índice Proyecciones de dispositivos de entrada/salida Registros Instrucciones 2 / 17 Arquitectura del simulador Sitio web https://parraman.github.io/asm-simulator/ Proyecto

Más detalles

Práctica 4 - Arquitectura CPU

Práctica 4 - Arquitectura CPU Práctica 4 - Arquitectura CPU Organización del Computador 1 1er. Cuatrimestre 2006 Programación en Assembler Ejercicio 1 Dados los siguientes valores de la memoria y del registro R0 de la arquitectura

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

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

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

Organización de computadoras. Clase 2. Universidad Nacional de Quilmes. Lic. Martínez Federico Organización de computadoras Clase 2 Universidad Nacional de Quilmes Lic. Martínez Federico La clase pasada. Compuertas lógicas: La clase pasada. Compuertas lógicas: Qué? La clase pasada. Compuertas lógicas:

Más detalles

Unidad 2 Programación en Lenguaje Ensamblador

Unidad 2 Programación en Lenguaje Ensamblador Microcontroladores Unidad 2 Programación en Lenguaje Ensamblador M. C. Miguelangel Fraga Aguilar Modos de direccionamiento Modo de direccionamiento es la manera en que una instrucción obtiene los operandos

Más detalles

FUNCIONAMIENTO DEL ORDENADOR

FUNCIONAMIENTO DEL ORDENADOR FUNCIONAMIENTO DEL ORDENADOR COMPUTACIÓN E INFORMÁTICA Datos de entrada Dispositivos de Entrada ORDENADOR PROGRAMA Datos de salida Dispositivos de Salida LOS ORDENADORES FUNCIONAN CON PROGRAMAS Los ordenadores

Más detalles

Guía de ejercicios # 4 Rutinas: modularización y reuso

Guía de ejercicios # 4 Rutinas: modularización y reuso Guía de ejercicios # 4 Rutinas: modularización y reuso Organización de Computadoras 2018 UNQ Los objetivos de esta práctica son: Poder dividir en sub tareas un problema Volcar un sub problema en una rutina

Más detalles

Los números naturales y enteros en el 80X86 y en LAN

Los números naturales y enteros en el 80X86 y en LAN Los números naturales y enteros en el 80X86 y en LAN 1. Los números naturales en el 80X86/TASM Representación Sistema de representación En el 80X86 (y en la mayoría de los procesadores), los números naturales

Más detalles

Lenguajes de Interfaz

Lenguajes de Interfaz Lenguajes de Interfaz Unidad 1 Introducción al Lenguaje Ensamblador M. C. Miguelangel Fraga Aguilar 1.1 Importancia de la programación en Lenguaje Ensamblador Mejor conocimiento del funcionamiento del

Más detalles

Práctica 7 - Microarquitectura del CPU

Práctica 7 - Microarquitectura del CPU Práctica 7 - Microarquitectura del CPU Organización del Computador 1 Primer cuatrimestre de 2012 Ejercicio 1 El siguiente esquema muestra algunos de los componentes de la microarquitectura de un modelo

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

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

Formato de instrucción

Formato de instrucción Formato de instrucción Mariano Moscato, Matías López y algunos próceres de Orga1 Organización del Computador I Conceptos claves del día de hoy Tamaño de memoria Dirección de memoria Unidad direccionable

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

Práctica 4 - Microarquitectura del CPU

Práctica 4 - Microarquitectura del CPU Práctica 4 - Microarquitectura del CPU Organización del Computador 1 Verano 2011 Ejercicio 1 El siguiente esquema muestra algunos de los componentes de la microarquitectura de un modelo del procesador

Más detalles

Programación de IA-32 Modo Real

Programación de IA-32 Modo Real Programación de IA-32 Modo Real Control del flujo de la ejecución Erwin Meza Vega IA-32 Modo real (1/2) Acceso sólo a características limitadas del procesador Se comporta como un 8086 muy rápido Uso de

Más detalles

Introducción Ejercicio Interrupciones Ejercicio Cierre. Entrada/Salida. Organización del Computador I. Departamento de Computación - FCEyN UBA

Introducción Ejercicio Interrupciones Ejercicio Cierre. Entrada/Salida. Organización del Computador I. Departamento de Computación - FCEyN UBA Entrada/Salida Organización del Computador I Departamento de Computación - FCEyN UBA Primer Cuatrimestre 2017 1 / 28 Hasta ahora vimos... Representación de números enteros Circuitos combinatorios y secuenciales

Más detalles

Bus de direcciones. Bus de datos

Bus de direcciones. Bus de datos 1) INTRODUCCIÓN A LA MÁQUINA SENCILLA La máquina sencilla (MS) es un computador concebido para fines exclusivamente didácticos. MS sólo dispone de dos bloques: Unidad Central de Proceso y memoria principal.

Más detalles

Introducción Ejercicio Interrupciones Ejercicio DMA Cierre. Entrada/Salida. Organización del Computador I. Facundo Pessacg

Introducción Ejercicio Interrupciones Ejercicio DMA Cierre. Entrada/Salida. Organización del Computador I. Facundo Pessacg Entrada/Salida Organización del Computador I Facundo Pessacg Departamento de Computación - FCEyN UBA 1 er Cuatrimestre de 2015 1 / 24 Hasta ahora vimos... Representación de números enteros y reales Circuitos

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

Introducción Ejercicio Interrupciones Ejercicio Cierre. Entrada/Salida. Organización del Computador I. Facundo Pessacg

Introducción Ejercicio Interrupciones Ejercicio Cierre. Entrada/Salida. Organización del Computador I. Facundo Pessacg Entrada/Salida Organización del Computador I Facundo Pessacg Departamento de Computación - FCEyN UBA Primer Cuatrimestre 2016 1 / 28 Hasta ahora vimos... Representación de números enteros Circuitos combinatorios

Más detalles

Formatos de instrucción

Formatos de instrucción Organización del Computador 1 Verano 2010 Ejercicio 1 Cuántos bits son necesarios para poder direccionar la memoria en los siguientes casos: a) Memoria de 2 GB con direccionamiento a byte b) Memoria de

Más detalles

Arquitectura de Computadoras

Arquitectura de Computadoras Arquitectura de Computadoras Dr. Andrés David García García Escuela de Diseño, Ingeniería y Arquitectura Departamento de Mecatrónica 1 Microprocesadores y Periféricos Objetivos: Analizar la arquitectura

Más detalles

Organización del Computador. Máquina de von Neumann Jerarquía de Niveles

Organización del Computador. Máquina de von Neumann Jerarquía de Niveles Organización del Computador Máquina de von Neumann Jerarquía de Niveles El modelo de Von Neumann Antes: programar era conectar cables (ENIAC) Hacer programas era mas una cuestión de ingeniería electrónica

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

Dado el siguiente programa, ensamblado y cargado a partir de la posición de memoria 0x0010, en una máquina Orga1, se pide:

Dado el siguiente programa, ensamblado y cargado a partir de la posición de memoria 0x0010, en una máquina Orga1, se pide: Enunciado: Dado el siguiente programa, ensamblado y cargado a partir de la posición de memoria 0x0010, en una máquina Orga1, se pide: 1) Calcular el valor de todas las etiquetas y desplazamientos condicionales.

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

UNIDAD I CONCEPTOS GENERALES. Conceptos Generales Microprocesadores Otoño 2011

UNIDAD I CONCEPTOS GENERALES. Conceptos Generales Microprocesadores Otoño 2011 1 UNIDAD I CONCEPTOS GENERALES Fall 2011 Conceptos Generales Microprocesadores Otoño 2011 Contenido 2 Introducción Arquitectura generalizada de una computadora Componentes de una computadora Conjunto de

Más detalles

Formato de instrucción

Formato de instrucción Formato de instrucción Manuel Giménez basado en trabajo previo de Matías López Organización del Computador I Primer cuatrimestre 2012 Conceptos claves del día de hoy Tamaño de memoria Dirección de memoria

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

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 Práctica 4 Primer Cuatrimestre de de abril de 2008

Ejercicios Práctica 4 Primer Cuatrimestre de de abril de 2008 Ejercicios Práctica 4 Primer Cuatrimestre de 2008 Departamento de Computación, FCEyN,Universidad de Buenos Aires. 8 de abril de 2008 Ejercicio 2 Considere el siguiente programa escrito en Assembler de

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

Modos de Direccionamiento+ Diseño de ISA. Organización del Computador 1 Verano 2016

Modos de Direccionamiento+ Diseño de ISA. Organización del Computador 1 Verano 2016 Modos de Direccionamiento+ Diseño de ISA Organización del Computador 1 Verano 2016 Repaso Vimos que una instrucción se compone de OpCode Fuente/s CodOp Fuente/s Destino/s Destino/s Qué pueden ser estas

Más detalles

Organización de Computadoras. Clase 7

Organización de Computadoras. Clase 7 Organización de Computadoras Clase 7 Temas de Clase Formatos de instrucción Modos de direccionamiento Notas de Clase 7 2 Elementos de una instrucción de máquina Código de operación especifica la operación

Más detalles

Ensamblador. Introducción. Dpto. Física y Arquitectura de Computadores. Universidad Miguel Hernandez

Ensamblador. Introducción. Dpto. Física y Arquitectura de Computadores. Universidad Miguel Hernandez Dpto. Física y Arquitectura de Computadores Universidad Miguel Hernandez Es el lenguaje de más bajo nivel que admite una máquina. El ensamblador hace que el código binario(máquina sea transparente al usuario)

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

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

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

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

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

Instrucciones del microprocesador

Instrucciones del microprocesador Instrucciones del microprocesador Formato de las Instrucciones Las líneas de instrucciones se integran de 4 campos. [Identificador]: Se utiliza par etiquetar a las intrucciones donde se realizara el salto,nombre

Más detalles

PROGRAMA de Organización de Computadoras

PROGRAMA de Organización de Computadoras PROGRAMA de Organización de Computadoras Carrera/s: Tecnicatura Universitaria en Programación Informática / Licenciatura en Informática Asignatura: Organización de Computadoras Núcleo al que pertenece:

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

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 los sistemas de cómputo

Estructura de los sistemas de cómputo Estructura de los sistemas de cómputo Introducción Elementos básicos de un computador Registro del procesador Ejecución de las instrucciones Interrupciones Hardware de protección Introducción Qué es un

Más detalles

a) if (i==5){ j=2*k; k=k+1; } else { j=k; k=1; } c) for (i=0, i<5, i++){ j=k+m; m=2*m; } b) if (i<0){ i=i-5; } if (i==0){ i=4; }

a) if (i==5){ j=2*k; k=k+1; } else { j=k; k=1; } c) for (i=0, i<5, i++){ j=k+m; m=2*m; } b) if (i<0){ i=i-5; } if (i==0){ i=4; } Problemas IJVM MIC-1 EC2721 Arquitectura del computador I (Recopilación y adaptación resumida para Oct/2003 de problemas de los profesores Margarita Juanatey, Fidel Gil, Mónica Parada, Osberth De Castro,

Más detalles

TEMA 1: Conceptos generales. 1.- Representa los primeros 16 números decimales (del 0 al 15) usando codificación binaria y hexadecimal.

TEMA 1: Conceptos generales. 1.- Representa los primeros 16 números decimales (del 0 al 15) usando codificación binaria y hexadecimal. TEMA : Conceptos generales.- Representa los primeros 6 números decimales (del al 5) usando codificación binaria y hexadecimal. = 2 = $ 4 = 2 = $4 8 = 2 = $6 2 = 2 = $C = 2 = $ 5 = 2 = $5 9 = 2 = $9 3 =

Más detalles

EXAMEN ORDINARIO DE ORGANIZACIÓN DE COMPUTADORES

EXAMEN ORDINARIO DE ORGANIZACIÓN DE COMPUTADORES 11 de febrero de 2010 16h. Escuela Técnica Superior de Ingeniería Informática Camino del Cementerio s/n. 47011 Valladolid EXAMEN ORDINARIO DE ORGANIZACIÓN DE COMPUTADORES NOTA: Los alumnos con las prácticas

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

Circuitos electrónicos digitales

Circuitos electrónicos digitales Circuitos electrónicos digitales Universidad de Sevilla Tema 6 Unidades aritméticas y lógicas Índice Introducción Aritmética binaria Circuitos sumadores básicos Sumador de n bits Sumador/Restador Unidad

Más detalles

Microprocesadores, Tema 3:

Microprocesadores, Tema 3: Microprocesadores, Tema 3: Programación del Microcontrolador PIC18 a Bajo Nivel Guillermo Carpintero, guiller@ing.uc3m.es Universidad Carlos III de Madrid Lenguajes de Programación Nos permiten expresar

Más detalles

Arquitectura y mapa de memoria del 80C167. Cesáreo Fernández Martínez Álvaro Sánchez Miralles

Arquitectura y mapa de memoria del 80C167. Cesáreo Fernández Martínez Álvaro Sánchez Miralles Arquitectura y mapa de memoria del 80C167 Cesáreo Fernández Martínez Álvaro Sánchez Miralles Introducción Microcontrolador (Embedded Processor) de 16 bits ALU y Registros de 16 bits Diseñado para tareas

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

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

PROGRAMACIÓN EN ASSEMBLER SIMULADOR MSX88

PROGRAMACIÓN EN ASSEMBLER SIMULADOR MSX88 PROGRAMACIÓN EN ASSEMBLER SIMULADOR MSX88 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

Más detalles

Dada la CPU con la estructura interna que se muestra en la figura,

Dada la CPU con la estructura interna que se muestra en la figura, Estructura de Computadores Tema 5. La unidad de control Estructura interna de la CPU. Estrategias de diseño de unidades de control. Unidad de control cableada. Máquina de Wilkes. Microprogramación. Horizontalidad

Más detalles

Instituto Tecnológico de Morelia

Instituto Tecnológico de Morelia Instituto Tecnológico de Morelia Arquitectura de Computadoras Unidad 1a Programa 1 Modelo de arquitecturas de cómputo. 1.1 Modelos de arquitecturas de cómputo. 1.1.1 Clásicas. 1.1.2 Segmentadas. 1.1.3

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

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

2º CURSO INGENIERÍA TÉCNICA EN INFORMÁTICA DE GESTIÓN TEMA 2 UNIDAD DE CONTROL JOSÉ GARCÍA RODRÍGUEZ JOSÉ ANTONIO SERRA PÉREZ

2º CURSO INGENIERÍA TÉCNICA EN INFORMÁTICA DE GESTIÓN TEMA 2 UNIDAD DE CONTROL JOSÉ GARCÍA RODRÍGUEZ JOSÉ ANTONIO SERRA PÉREZ ARQUITECTURAS DE COMPUTADORES 2º CURSO INGENIERÍA TÉCNICA EN INFORMÁTICA DE GESTIÓN TEMA 2 UNIDAD DE CONTROL JOSÉ GARCÍA RODRÍGUEZ JOSÉ ANTONIO SERRA PÉREZ Tema 2. La Unidad Central de Proceso 1 La Unidad

Más detalles

Registros Arquitectura x86. M. en C. Erika Vilches

Registros Arquitectura x86. M. en C. Erika Vilches Registros Arquitectura x86 M. en C. Erika Vilches Registro Area especial de almacenamiento de alta velocidad dentro del CPU Registros del procesador x86 Registros de datos de propósito general Registros

Más detalles

ESTRUCTURA. Estructura básica de un computador ESTRUCTURA BÁSICA DE UN COMPUTADOR RELOJ. Unidad de control CPU ULA. Onda cuadrada RELOJ

ESTRUCTURA. Estructura básica de un computador ESTRUCTURA BÁSICA DE UN COMPUTADOR RELOJ. Unidad de control CPU ULA. Onda cuadrada RELOJ ESTRUCTURA BÁSICA DE UN COMPUTADOR RELOJ ESTRUCTURA CPU RELOJ MEMORIA ULA BUSES Unidad de control ULA Onda cuadrada Interna o principal Secundaria Banco de registros Operador (ALU) Reg. estados (Flags)

Más detalles

Instrucción De Salto Incondicional

Instrucción De Salto Incondicional INSTRUCCIONES DE CONTROL DE FLUJO Los programas que se han desarrollado hasta ahora se ejecutan en forma secuencial, esto es, el programa inicia su ejecución con la primera instrucción y continúa de arriba

Más detalles

Objetivos. Objetivos. Arquitectura de Computadores. R.Mitnik

Objetivos. Objetivos. Arquitectura de Computadores. R.Mitnik Objetivos Objetivos Arquitecturas von Neumann Otras Unidad Central de Procesamiento (CPU) Responsabilidades Requisitos Partes de una CPU ALU Control & Decode Registros Electrónica y buses 2 Índice Capítulo

Más detalles

Memoria y Buses. Organización de Computadoras Universidad Nacional de Quilmes

Memoria y Buses. Organización de Computadoras Universidad Nacional de Quilmes Memoria y Buses Organización de Computadoras Universidad Nacional de Quilmes Índice 1. Memoria Principal e instrucciones 1 1.1. Operaciones sobre la memoria.................... 3 1.2. Interconexión.............................

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

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

La Unidad Aritmética

La Unidad Aritmética 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 4 5 En este capítulo profundizaremos la aritmética computacional

Más detalles

ALU. Unidad aritmético-lógica

ALU. Unidad aritmético-lógica ALU Unidad aritmético-lógica Definición La ALU (unidad aritmético-lógica) es el dispositivo que se encarga de realizar: a) Operaciones aritméticas (suma, resta, etc.). b) Operaciones lógicas (and, or,

Más detalles

Tema 2: Segmentación y modos de direccionamiento

Tema 2: Segmentación y modos de direccionamiento Tema 2: Segmentación y modos de direccionamiento Segmentación Modos de direccionamiento Direccionamiento relativo Instrucciones de transferencia de control Instrucciones aritméticas: comparación Ejemplo

Más detalles

TEMA VI DISEÑO DEL PROCESADOR

TEMA VI DISEÑO DEL PROCESADOR TEMA VI DISEÑO DEL PROCESADOR Diseño del procesador 6.1 Repertorio de instrucciones 6.1.1 Procesadores de tres direcciones 6.1.2 Procesadores de dos direcciones 6.1.3 Procesadores de una dirección (procesadores

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

Comparaciones en lenguaje ensamblador

Comparaciones en lenguaje ensamblador Comparaciones en lenguaje ensamblador Objetivo: Entender cómo se realizan las comparaciones de datos en lenguaje ensamblador En lenguaje ensamblador no existe la instrucción IF como se trabaja en otros

Más detalles

a) (5ptos) Extienda la microarquitectura para poder soportar interrupciones. Justifique por separado el agregado de cada componente.

a) (5ptos) Extienda la microarquitectura para poder soportar interrupciones. Justifique por separado el agregado de cada componente. Organización del Computador I - Segundo Parcial - Segundo Cuatrimestre 2010 Este examen se aprueba obteniendo al menos 65 puntos. El parcial es a libro abierto, con lo cual se puede utilizar todo lo definido

Más detalles

Microprocesadores. Informática Aplicada DSI-EIE FCEIA

Microprocesadores. Informática Aplicada DSI-EIE FCEIA Microprocesadores Informática Aplicada DSI-EIE FCEIA Arquitecturas Un concepto: Programa almacenado Dos modelos: Von Neumann (1945) Harvard 2 Microprocesador Es un circuito integrado que cumple las funciones

Más detalles

Arquitectura de Computadores II Clase #4

Arquitectura de Computadores II Clase #4 Clase #4 Facultad de Ingeniería Universidad de la República Instituto de Computación Curso 2010 Contenido Unidad de control Control cableado Control microprogramado MIC-1 La Unidad de Control La instrucción

Más detalles

Arquitectura de Computadores II Clase #4

Arquitectura de Computadores II Clase #4 Clase #4 Facultad de Ingeniería Universidad de la República Instituto de Computación Curso 2010 Contenido Unidad de control Control cableado Control microprogramado MIC-1 1 La Unidad de Control La instrucción

Más detalles

Departamento de Sistemas e Informática

Departamento de Sistemas e Informática Departamento de Sistemas e Informática Programación en Assembler - Clase 1 Digital II Presentación de Docentes y Material Docentes: Ing. Andrés Capalbo Ing. Diego Alegrechi Ing. Esteban Almirón Material

Más detalles

Elementos constituyentes de la ejecución de un programa

Elementos constituyentes de la ejecución de un programa Micro-Operaciones En la ejecución de un programa en una computadora, se ejecutan instrucciones, que pueden subdividirse en ciclos: Búsqueda/Ejecución Cada ciclo se compone a su vez de una serie de operaciones

Más detalles