EXAMEN ORDINARIO DE ORGANIZACIÓN DE COMPUTADORES

Documentos relacionados
EXAMEN EXTRAORDINARIO DE ORGANIZACIÓN DE COMPUTADORES

Práctica 3: Programación con subrutinas

2.4. Modos de direccionamiento Distintas formas que tiene la arquitectura para especificar la ubicación de los operandos.

TEMA 1 Representación de la información

CONJUNTOS DE INSTRUCCIONES


Entorno de Ejecución del Procesador Intel Pentium

TEMA 2: Representación de la Información en las computadoras

INFORMÁTICA BÁSICA 1ª PARTE (DURACIÓN TOTAL DEL EXAMEN: 2 HORAS Y 15 MINUTOS)

Lección 1. Representación de números

SISTEMAS NUMERICOS CAMILO ANDREY NEIRA IBAÑEZ UNINSANGIL INTRODUCTORIO A LA INGENIERIA LOGICA Y PROGRAMACION

Tema 2. Diseño del repertorio de instrucciones

Centro de Capacitación en Informática

SOLUCION EXAMEN junio 2006

!!!!!!!! !!!!! Práctica!4.! Programación!básica!en!C.! ! Grado!en!Ingeniería!!en!Electrónica!y!Automática!Industrial! ! Curso!2015H2016!

EJERCICIOS RESUELTOS SOBRE ERRORES DE REDONDEO

Creación de Funciones de Conducción

INFORMÁTICA. Práctica 5. Programación en C. Grado en Ingeniería en Electrónica y Automática Industrial. Curso v1.0 (05.03.

Introduccion al Lenguaje C. Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia

SISTEMAS DE NUMERACIÓN. Sistema decimal

Fundamentos de los Sistemas Operativos (GII) Examen Final 15 de Junio de SEGUNDA PARTE - SOLUCIONES

Representación de números enteros: el convenio signo y magnitud

Unidad I. 1.1 Sistemas numéricos (Binario, Octal, Decimal, Hexadecimal)

6-REGISTROS DEL 8086 Y DEL 80286

Tema 1 Introducción. Arquitectura básica y Sistemas Operativos. Fundamentos de Informática

(decimal) (hexadecimal) 80.0A.02.1E (binario)

Capitulo V Administración de memoria

La ventana de Microsoft Excel

Unidad de trabajo 2: INFORMÁTICA BÁSICA (primera parte)

Arrays y Cadenas en C

La memoria principal. Los subsistemas de E/S. Los buses del sistema

Programa diseñado y creado por Art-Tronic Promotora Audiovisual, S.L.

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

EXAMEN ORDINARIO DE ORGANIZACIÓN DE COMPUTADORES

Cómo ayudarles con las tareas escolares si no sabemos euskera?

UNIDADES DE ALMACENAMIENTO DE DATOS

SISTEMAS NUMERICOS. Ing. Rudy Alberto Bravo

UD 1. Representación de la información

15 CORREO WEB CORREO WEB

Anexo B. Comunicaciones entre mc y PC

Informática Bioingeniería

La ventana muestra el valor de los 64 registros de uso común de la tarjeta (figura 2).

UNIDADES FUNCIONALES DEL ORDENADOR TEMA 3

Tecnología de la Información y la Comunicación. Base de datos. Consultas

Tema 5 Repertorios de instrucciones: Modos de direccionamiento y formato

Los sistemas de numeración se clasifican en: posicionales y no posicionales.

GESTINLIB GESTIÓN PARA LIBRERÍAS, PAPELERÍAS Y KIOSCOS DESCRIPCIÓN DEL MÓDULO DE KIOSCOS

Servicio de Alta, Baja, Modificación y Consulta de usuarios Medusa

UNLaM REDES Y SUBREDES DIRECCIONES IP Y CLASES DE REDES:

by Tim Tran:

EL MODELO DE ESTRATIFICACIÓN POR CAPAS DE TCP/IP DE INTERNET

EJERCICIOS DE PROGRAMACIÓN RELACIÓN VII (EJERCICIOS DE REPASO)

Sistemas de numeración, operaciones y códigos.

Capítulo 0. Introducción.

Computación I Representación Interna Curso 2011

EL MODELO DE ESTRATIFICACIÓN POR CAPAS DE TCP/IP DE INTERNET

Direcciones IP IMPLANTACIÓN DE SISTEMAS OPERATIVOS 1º ASIR. En redes IPv4.

Matemáticas Básicas para Computación

Mantenimiento Limpieza

Lógica Binaria. Arquitectura de Ordenadores. Codificación de la Información. Abelardo Pardo Universidad Carlos III de Madrid

Una variable de clase escalar tiene un nivel de indirección igual a 1. Por ejemplo, las variables i, b y x definidas como se muestra a continuación.

Índice Introducción Números Polinomios Funciones y su Representación. Curso 0: Matemáticas y sus Aplicaciones Tema 1. Números, Polinomios y Funciones

Centro Asociado Palma de Mallorca. Tutor: Antonio Rivero Cuesta

x

Tarea 4.2 Memoria Virtual

Proyectos de Innovación Docente

INSTITUTO DE EDUCACIÓN SUPERIOR TECNOLÓGICO PÚBLICO

EJERCICIOS DEL TEMA 1

QUÉ ES LA RENTABILIDAD Y CÓMO MEDIRLA. La rentabilidad mide la eficiencia con la cual una empresa utiliza sus recursos financieros.

Aritmética finita y análisis de error

Redes de máscara variable.

Formularios. Formularios Diapositiva 1

Sistemas Digitales Ingeniería Técnica en Informática de Sistemas Curso Aritmética binaria

Manual de Procedimiento

PART II: Moviendo al jugador

Contenido. Sistema de archivos. Operaciones sobre archivos. Métodos de acceso a archivos. Directorio. Sistema de archivos por capas.

Generación de código para funciones. Generación de código para funciones. Generación de código para funciones. Generación de código para funciones

ACTIVIDADES TEMA 1. EL LENGUAJE DE LOS ORDENADORES. 4º E.S.O- SOLUCIONES.

EXIGENCIA DE LA CLASIFICACIÓN POR LAS ADMINISTRACIONES PÚBLICAS

Divisibilidad y números primos

GENERACIÓN DE TRANSFERENCIAS

Entre los más conocidos editores con interfaz de desarrollo tenemos:

62/8&,21(6$/(;$0(1'( /$%25$725,2'((6758&785$6'(/26&20387$'25(6 &8562)(%5(52

INSTITUTO UNIVERSITARIO DE TECNOLOGÍA JOSE LEONARDO CHIRINO PUNTO FIJO EDO-FALCON CATEDRA: ARQUITECTURA DEL COMPUTADOR PROFESOR: ING.

ARQUITECTURA DE LAS COMPUTADORAS PRACTICA

TEMA 1: SISTEMAS INFORMÁTICOS. Parte 2: representación de la información

PROGRAMACIÓN EN C. PRÁCTICA 2: Operaciones con bits. Práctica 2: Índice. 2.1 Introducción 2.2 Representación de información binaria en C

TPVFÁCIL. Caja Real. Definiciones.

28.- Manejo de los Feriados

Clase 02: Representación de datos

Trey-SAT Pag. 1. Manual de usuario

2 Sea una unidad de disco duro de brazo móvil con las siguientes características:

Proyecto Scratch:

WINDOWS. Iniciando Windows. El mouse

Universidad Popular Autónoma del Estado de Puebla

Lenguajes de Programación

Configuración de un APs D-Link DWL-2100AP.-

Universidad Popular Autónoma del Estado de Puebla

Materia: Informática. Nota de Clases Sistemas de Numeración

Manual de Usuario/ Perfil Estudiante Dirección de Informática

Transcripción:

6 de febrero de 2008. 16 h. 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 pendientes deben sacar una nota mínima de 2 en el primer problema para superar la parte práctica de la asignatura. 1 (3 p.) a) Escribir una función en lenguaje ensamblador de SPARC con los siguientes parámetros: El primer parámetro será un número entero comprendido entre 0 y 511. El segundo parámetro será una dirección que apuntará a un dato de 512 bits que representarán a los elementos de un conjunto. El tercer parámetro será un número entero que representará a una variable lógica. La función debe devolver VERDADERO (distinto de 0) en el último parámetro si, y sólo si, el elemento del conjunto cuyo número viene dado por el primer parámetro pertenece al conjunto representado por la cadena de bits apuntada por el segundo. b) Utilizar la función escrita en el apartado anterior para escribir otra función que pida por teclado un número comprendido entre 0 y 511 (que no es necesario validar), y escriba por pantalla "PERTENECE" si el elemento determinado por ese número pertenece al conjunto cuya cadena que lo representa está apuntada por un parámetro de la función, y "NO PERTENECE" en caso contrario. NOTA: El orden de los bits en la cadena que representa al conjunto puede tomarse como se desee. Solución de ambos apartados: LF=10.data cadnum:.skip 4 Nopert:.ascii "NO " Pert:.asciz "PERTENECE\n" mensaje:.asciz "Introduzca un número entre 0 y 511: ".global main.text pertenencia:! Apartado a)! i0: Número del que se desea conocer la pertenencia! i1: Apuntador a la cadena de bits representativa del conjunto! i2: Variable lógica que devuelve la pertenencia srl %i0, 3, %l1! Número de byte = índice and %i0, 7, %l2! Bit dentro del byte mov 1,%l3 sll %l3,%l2, %l2! %l2 = Máscara ldub [%i1+%l1], %l4! Carga del byte seleccionado btst %l2, %l4! Miro el bit correspondiente al elemento be Salir! bit=0 ==> No pertenece clr %i2! Ciclo adelantado mov 1, %i2! bit=1 ==> Sí pertenece Salir: ret

Procedimiento:! Apartado b)!parámetro:! i0: Dirección de la cadena de bits que representa al conjunto set mensaje,%o0 call imprime_cadena set cadnum, %o0 call Lee_cadena call ascii2bin mov %o1,%o0 mov %i0, %o1 call pertenencia set Nopert, %o0 tst %o2 beq Np set Pert, %o0 Np: call imprime_cadena ret imprime_cadena:! i0: Dirección de la cadena! i1: Longitud máxima, si i1 es 0 se supone que la longitud maxima es 255 save %sp, -64, %sp tst %i1 bne continuar mov 255, %i1 continuar: ldub [%i0+%l1], %o0 tst %o0 be retornar call putchar deccc %i1 bne continuar retornar: ret 2

Lee_cadena:!Parámetro:! i0: Dirección donde se guardará la cadena leída bucle1: call getchar stb %o0,[%i0+%l1] cmp %o0,lf bne bucle1 dec %l1 stb %g0, [%i0+%l1] ret ascii2bin:! i0: Dirección donde está la cadena con el número en decimal (sólo positivos)! i1: Salida: número en binario clr %i1 bucle: ldub [%i0+%l1],%l2 cmp %g0,%l2 be final bclr 48,%l2 mulx %i1,10,%i1 add %i1,%l2,%i1 ba bucle final: ret 2 (1.5 p.) Explicar qué sentido tienen los operandos inmediatos rápidos en el MC68000. Qué otro procesador tiene algo parecido? (explíquese, por supuesto). Los operandos inmediatos rápidos del MC68000 suponen un ahorro de memoria ya que evitan la palabra adicional para codificar operandos inmediatos cuando éstos ocupan pocos bits (es decir, la mayoría de las veces). Un procesador que tiene algo parecido es el VAX, que tiene operandos literales, éstos son operandos inmediatos de pocos bits, que también ahorran varios bytes de memoria. 3

Dirección Contenido 016654 000006 016656 000524 016660 177701 016662 002211 016664 003654 016666 177726 016670 003711 016672 012702 016674 016656 016676 016703 016700 177752 016702 010204 016704 060304 016706 006203 016710 111200 016712 114422 016714 110014 016716 077304 Figura 1. 3 (2.5 p.) Sea un PDP-11 cuya memoria se encuentra en el estado mostrado en la figura 1 (todo en octal): a) Decodificar el programa que se encuentra a partir de la dirección 016672 (8 MOV #16656, R2 MOV N, R3 ;N = 177752 (8 + 016702 (8 = 016654 (8 MOV R2, R4 ADD R3, R4 ASR R3 X: MOVB (R2), R0 MOVB -(R4),(R2)+ MOVB R0, (R4) SOB R3, X b) Describir los efectos de ese programa sobre la memoria. Al final del programa la memoria queda como sigue: Dirección Contenido 016654 000006 016656 104404 016660 140777 016662 052001 El resto queda sin cambios 4

c) Cual puede ser el propósito de ese programa? El programa invierte un vector de bytes (o caracteres) que comienza en la dirección apuntada por R2 (en nuestro caso 016656 (8 ). La longitud del vector está especificada en la dirección N (en este caso 6). d) Calcular el tiempo de ejecución del programa suponiendo que cada acceso a memoria emplea 0,1 µsg. prescindiendo de otros factores. Número de accesos: Fuera del bucle: Código: 7 Datos: 1 (N) Dentro del bucle: Código: 4 Datos: 4 ((R2), (R4), (R2)+ y (R4)) Número total de accesos: 7 + 1 + 3 (4 + 4) = 32 Por tanto, el tiempo total será: 32 0, 1 = 3, 2 µsg 4 (1.5 p.) Supongamos que el símbolo P representa una dirección de memoria de un PDP-11. Explicar la diferencia entre referirse a esa dirección simplemente como P o como @#P. Explicar razonadamente la utilidad de emplear cada una de esas formas. Si se representa a la dirección como P se está utilizando direccionamiento relativo, es decir, lo que se especifica en la instrucción es la diferencia entre el contador de programa y la dirección del dato. Esto es lo habitual para las variables de un programa. Si se emplea @#P, se está utilizando direccionamiento absoluto, por lo que la instrucción especifica la dirección misma del dato (no relocalizable). Esto sólo se utiliza para direcciones de sistema. 5 (1.5 p.) Explicar brevemente cuál es el cometido del apuntador de trama. Explicar cómo se modifica ese registro durante las llamadas y retornos de procedimiento. Qué registro hace esa función en un VAX? El apuntador de trama constituye un apuntador a un punto fijo de la trama de pila de cada procedimiento, en contraste con el apuntador de pila (SP) que es un apuntador bastante inestable debido a sus constantes variaciones. Mediante el apuntador de trama puede accederse tanto a los parámetros (con desplazamientos positivos) como a las variables automáticas del procedimiento (con desplazamientos negativos). En las llamadas a procedimientos este apuntador adquiere el valor del SP en un momento fijo (normalmente después de haberse guardado el valor del PC (dirección de retorno). En los retornos se recupera su valor de la pila para que apunte a la trama del procedimiento anterior. En el VAX la función del apuntador de trama se la reparten dos registros: por una parte el FP (frame pointer), que apunta a la trama de pila para acceder a las variables automáticas y por otra, el AP (argument pointer) que apunta a la lista de argumentos. 5