Bus de direcciones. Bus de datos

Documentos relacionados
Práctica 5 - Memoria Cache

ARQUITECTURA VON NEUMANN

Guía de ejercicios # 11 - Jerarquía de memoria

Práctica 3 - Arquitectura del CPU

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

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

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

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

Conceptos de Arquitectura de Computadoras Curso 2015

Comparaciones en lenguaje ensamblador

CS2: Unidad de datos (UD)

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

Examen de teoría (5 puntos)

8.4. El software en los μprocesadores

Tema 2: Introducción a los Computadores

Introducción a la arquitectura de computadores

Tema 2: Segmentación y modos de direccionamiento

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

Organización de Computadoras. Clase 6

TEMA 4 ESTRUCTURA VON-NEUMANN DEL COMPUTADOR DIGITAL

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

3 - Arquitectura interna de un up

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

Práctica 5 - Memoria

Instrucciones del microprocesador

INFORMÁTICA INDUSTRIAL. 3º INGENIERÍA TÉCNICA ELECTRÓNICA PRÁCTICA 1: ESTRUCTURA INTERNA DE UNA CPU.

Máquina Sencilla: de 1988 a La Máquina Sencilla en Verilog Patricia Borensztejn Mayo 2016 Diseño de Sistemas con FPGA

Guía de ejercicios # 8 Flags y Saltos

Programación en ensamblador Ejercicios propuestos

Laboratorio - Organización de la CPU

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

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

El nivel ISA (II)! Conjunto de Instrucciones

El Diseño de un Lenguaje Máquina

Estructura de Computadores Tema 1. Introducción a los computadores

Diseño de un computador sencillo. Ejercicios

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

Examen de teoría (5 puntos)

PROBLEMAS DE ESTRUCTURA DE LOS COMPUTADORES LENGUAJE MÁQUINA Y ENSAMBLADOR

Tema 2. Diseño del repertorio de instrucciones

FUNCIONAMIENTO DE LA UNIDAD DE CONTROL DEL PROCESADOR

Unidad 2 Programación en Lenguaje Ensamblador

Arquitectura del MIPS: Introducción

ARQUITECTURA DE COMPUTADORES Problemas TEMA 4: Microprocesadores avanzados

Instrucciones Aritméticas

Repaso Registros internos Z80 1/37

SUMA DESPLAZAMIENTO. Comprobación: = =216. Multiplicar 12 x 18 (resultado 216)

PROBLEMAS TEMA 1: Estructuras de interconexión de un computador

Ejercicios del tema 4. El procesador

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

Práctica 4. Organización del Computador 1 12 de septiembre de Algunas consideraciones preliminares:

Operaciones lógicas y repetición

Programación de Sistemas. Unidad 1. Programación de Sistemas y Arquitectura de una Computadora

Arquitectura de Computadores. Apellidos, Nombre:

Introducción al simulador

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

Universidad Nacional de Ingeniería Arquitectura de Maquinas I. Unidad II: Arquitectura y Programacion de un Microprocesador (80X86)

Curso sobre Microcontroladores Familia HC9S08 de Freescale

Unidad 2. Organización y diseño básico de computadoras

TEMA 5 JUEGO DE INSTRUCCIONES DE UN COMPUTADOR

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

Construyendo Programas más Complejos

Organización de Computadoras. Clase 7

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

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

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

Programación de los Microcontroladores 8052/8051 (II)

Arquitectura de Computadores

Estructura de Computadores

Arquitectura de Computadores II Clase #3

Algoritmos Multiplicación División

1.2.- EL MICROPROCESADOR.

LECTURAS SOBRE COMPUTADORAS DIGITALES LECTURA Nº4 MATERIA: ARQUITECTURA DE LAS COMPUTADORAS 1.- REPERTORIO DE INSTRUCCIONES DE LA PETICOMPUTADORA

LECCIÓN 14: DISEÑO DE COMPUTADORES MEDIANTE MICROPROGRAMACION

DESCRIPCIÓN DE LA ARQUITECTURA DE LA MÁQUINA RUDIMENTARIA

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

Examen de teoría (4 puntos)

Práctica 1. Introducción a la programación en ensamblador

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

El conjunto de dígitos que forma una instrucción se puede dividir en dos partes: Código de Operación y Campo/s de Dirección:

Repaso concepto de programa

Estructura de Computadores. Problemas de Instrucciones y Direccionamientos

Transcripción:

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. La CPU contiene unidad de control y ruta de datos. La memoria principal consta de 128 posiciones de 16 bits cada una, que sirve para almacenar instrucciones y datos. CPU 128 posiciones Instrucciones + Datos 7 Bus de direcciones 16 Unidad De Control Bus de datos Ruta de datos 15 0 2) REPERTORIO DE INSTRUCCIONES La simplicidad de la MS llega al extremo de que su Unidad de Control sólo es capaz de interpretar y ejecutar cuatro instrucciones máquina. 1. SUMAR el contenido de dos posiciones de memoria. 2. MOVER el contenido de una posición de memoria a otra. 3. COMPARAR los contenidos de dos posiciones de memoria. 4. SALTAR a la instrucción cuya dirección se indica, si el resultado de la operación anterior ha sido cero. Además, la MS sólo dispone de un modo de direccionamiento, el DIRECTO. Los operandos y los resultados que manipula la MS se almacenan en memoria y la única forma de referenciarlos es proporcionando su ubicación.

2.1) SUMAR ADD Fuente, Destino ------> (D) = (D)+(F) La MS posee un señalizador o flag, llamado FZ, que es un bit contenido en un registro, que carga con un 1 cuando el resultado de la operación que se ha ejecutado es cero. En caso contrario FZ=0. En el caso de la suma: FZ = 1 si (D)+(F) = 0 FZ = 0 si (D)+(F) <> 0 2.2) MOVER MOV Fuente, Destino ------> (D) = (F) Al ejecutar esta instrucción también queda afectado el FZ, de forma que, cuando se transfiere es un 0 entonces FZ = 1. FZ = 1 si (F) = 0 FZ = 0 si (F) <> 0 2.3) COMPARACIÓN CMP Fuente, Destino Compara el contenido de 2 posiciones de memoria, produciendo: FZ = 1 si (D) = (F) FZ = 0 si (D) <> (F) 2.4) SALTO BEQ Destino En esta instrucción se empieza comprobando el valor de FZ. Si vale 1, se pasa a ejecutar la instrucción apuntada por el operando D. Si FZ = 1, entonces PC = D Si FZ = 0, entonces PC = PC+1

EJERCICIOS 1.- Después de ejecutar el siguiente programa en la MS: MOV 12,13 MOV 13,14 ADD 15,13 a) Cuál es el contenido de las posiciones de la figura? 12= 00FF 13=5654 14=00FF 15= 5555 b) Cuál es el valor de FZ? FZ=0 12 13 14 15 00000000 11111111 11111111 00000000 10101010 10101010 01010101 01010101 2.- Sabiendo que los contenidos en la figura se obtienen después de haber ejecutado el programa en la MS: 36 00000000 11111111 37 00000000 11111111 38 11111111 11111111 39 11111111 11111111 3A 00000000 11111111 MOV 36, 37 ADD 37,38 MOV 38,39 CMP 39, 3A a) Averiguar el valor inicial que tenía la posición 38 antes de ejecutar el programa. 38=FF00 b) Cuál es el valor de FZ tras la ejecución del programa? FZ=0 3.- Se pide un programa en lenguaje ensamblador de la MS para realizar una multiplicación, sabiendo que el multiplicando (a) está depositado en la posición 100 de memoria y el multiplicador (b) está en la 101. El resultado (c) debe guardarse en la posición 102 de la memoria. El programa va a requerir un contador (i) que lleve la cuenta del número de veces que se va sumando el multiplicando. Para este fin se destina la posición de memoria 103, que inicialmente tendrá un 0. El programa necesitará la participación de dos constantes, que también se depositan en dos direcciones de memoria. Así, en la dirección 104 hay almacenado un 1 y en la dirección 105 un 0.

Se hará sumando el multiplicando consigo mismo tantas veces como diga el multiplicador. Se inicializan a 0 tanto el contador como el resultado acumulado. El programa consistirá en un bucle que se repite mientras no se acabe el proceso. El bucle suma el multiplicando al resultado parcial y lo almacena en el mismo lugar. Utiliza instrucciones de comparación y correspondiente salto para tomar las decisiones. Como no tiene salto incondicional, realiza en su lugar un salto si se cumple una condición obvia. El programa detallado es el siguiente: Dirección Etiqueta Nemónico Fuente Destino Comentarios 0 begin MOV 105 102 c=0 1 MOV 105 103 i=0 2 while CMP 103 101 mientras i<b 3 BEQ 8 8 si FZ=1, PC=8 4 ADD 100 102 c=c+a 5 ADD 104 103 i=i+1 6 CMP 50 50 siempre FZ=1 7 BEQ 2 2 salto a PC=2 8 end 4.- Obtener los formatos binarios que corresponden a las instrucciones del siguiente programa de la MS. MOV 105,106 CMP 106,107 BEQ 100 COP Fuente Destino 01 1101001 1101010 10 1101010 1101011 11 XXXXXXX 1100100

5.- El formato de instrucciones de un computado tiene 3 campos: COP, Fuente, destino. El computador dispone de un banco de registros con 8 registros (R0...R7) de 8 bits cada uno. Si inicialmente los registros están cargados con el valor 0000 0010. a) Calcular el contenido de los mismos después de ejecutar el siguiente programa, en el cual el código de operación se expresa con nemónicos y operandos por el nombre de los registros, pues sólo se dispone del modo de direccionamiento por registro. ADD R2, R3 ADD R0, R1 SUB R4, R5 NOT R6 XOR R5, R7 R0 = R2 = R4 = R7 = 0000 0010 R1 = 0000 0100; R3 = 0000 0100; R5 = 0000 0000; R6 = 1111 1101; b) Confeccionar un programa para que el computador del ejemplo anterior, partiendo del mismo estado inicial de sus 8 registros, es decir, que contengan el valor 0000 0010, pasen a contener el valor 0000 0000, después de ejecutar el programa pedido. Solución (una posible): Nemónico Operandos (F,D) Comentarios SUB R1, R0 R0 = 0000 0000 AND R0, R1 R1 = 0000 0000 AND R0, R2 R2 = 0000 0000 AND R0, R3 R3 = 0000 0000 AND R0, R4 R4 = 0000 0000 AND R0, R5 R5 = 0000 0000 AND R0, R6 R6 = 0000 0000 AND R0, R7 R6 = 0000 0000