Logo Studenta

TRABAJO PRACTICO N4

¡Estudia con miles de materiales!

Vista previa del material en texto

TRABAJO PRACTICO N°4
ALUMNO: Juárez Nahuel Alejandro
COMISION: 1K11
LEGAJO: 50546
PROBLEMAS PROPUESTOS
1. ¿Qué entiende por ciclo de instrucción? ¿Cómo se subdivide? 
 Un ciclo de instrucción es el periodo que tarda la unidad central de proceso (CPU) en ejecutar una instrucción del lenguaje máquina.
 Se subdivide en cuatro secuencias de acciones:
· Buscar la instrucción en la memoria principal.
· Decodificar la instrucción. 
· Ejecutar la instrucción. 
· Almacenar o guardar los resultados.
2. En la memoria RAM, ¿qué se almacenan? ¿A qué llamamos dirección en una memoria? Explique el concepto de palabra y de qué depende éste. 
 Es la memoria principal donde se almacenan programas y datos, es el lugar donde se cargan todas las instrucciones que ejecuta la CPU y otras unidades del PC. Llamamos dirección en una memoria a un identificador para una localización de memoria con la cual un programa informático o un dispositivo de hardware pueden almacenar un dato para su posterior reutilización. Una forma común de describir la memoria principal de una computadora es como una colección de celdas que almacenan datos e instrucciones.
 Una palabra es una cadena finita de bits que son manejados como un conjunto por la máquina. El tamaño o longitud de una palabra hace referencia al número de bits contenidos en ella.
3. ¿Qué son registros? 
 Es una memoria de alta velocidad y poca capacidad, integrada en el microprocesador, que permite guardar transitoriamente y acceder a valores muy usados, generalmente en operaciones matemáticas.
4. ¿Qué es un decodificador y qué función cumpliría en una memoria? 
 Es un circuito combinacional convierte un código binario de entrada de N bits de entrada y M líneas de salida. Acepta una entrada con un cierto código binario y luego activa la salida correspondiente. Su función principal en la memoria es la de direccionar espacios en la misma. Un decodificador de N entradas es capaz de direccionar 2N espacios de memoria.
5. Explique la diferencia entre el lenguaje máquina y el lenguaje simbólico. ¿De qué otra forma se denominan estos lenguajes? ¿Varían según las arquitecturas? 
 El lenguaje de maquina es el único que el hardware del ordenador es capaz de entender e interpretar, sus instrucciones son códigos binarios.
 El lenguaje simbólico es su equivalente, solo que reemplaza los 0 y 1 por nombres intuitivos, de esta forma se traducen los lenguajes de alto nivel a lenguaje de maquina facilitando la escritura del programa.
 Al lenguaje simbólico también se lo conoce como lenguaje ensamblador o assembler, mientras que el lenguaje de maquina suele llamarse lenguaje de ordenador.
 Estos lenguaje de bajo nivel se encuentran en dependencia absoluta de la arquitectura propia del ordenador, es imposible transportar programas entre distintas maquinas, salvo que sean compatibles.
6. ¿Qué hace un programa compilador y uno ensamblador? 
 El ensamblador es un programa encargado de traducir los programas escritos en ensamblador a código binario.
 El compilador es un programa que traduce el código de alto nivel a código binario. Es parecido al ensamblador, pero mucho más complejo, ya que las diferencias entre los lenguajes de alto nivel y el código binario son muy grandes.
7. ¿Qué es el conjunto de instrucciones? ¿Es igual en todos los procesadores? 
 Es el conjunto de todos los comandos que una unidad central de procesamiento (CPU) puede entender y ejecutar, en efecto define al procesador. Es completamente diferentes de un procesador a otro, en cuanto al tamaño, tipo de operaciones operandos y resultados.
8. Indique las características de las arquitecturas CISC. 
· La microprogramación es una característica importante y esencial de casi todas las arquitecturas CISC. Como por ejemplo: Intel 8086, 8088, 80286, 80386, 80486, Motorola 68000, 68010, 620, 8030, 684.
· La microprogramación significa que cada instrucción de máquina es interpretada por una microprograma localizada en una memoria en el circuito integrado del procesador. 
· Las instrucciones compuestas son decodificadas internamente y ejecutadas con una serie de microinstrucciones almacenadas en una ROM interna. 
· Un procesador de CISC vendría preparado con una instrucción específica a la que se le nombrara MULT. Cuando ésta instrucción está ejecutada, carga los dos valores en los registros separados, multiplica los operandos en la unidad de la ejecución, y después almacena el producto en el registro apropiado. 
9. Explique los componentes del Modelo de Von Neumann. Nombre sus principales registros y buses. 
 Los componentes de la máquina de Von Neumann son:
· UNIDAD DE ENTRADA: provee las instrucciones y los datos requeridos por el sistema
· UNIDAD DE MEMORIA: los almacena
· UNIDAD ARITMETICA LOGICA(ALU): los procesa
· UNIDAD DE CONTROL: dirige ese proceso 
· UNIDAD DE SALIDA: recibe los resultados obtenidos
 Los principales registros y buses son:
BUSES:
· DATOS: transporta la información que se está transmitiendo.
· DIRECCIONES: determina hacia donde está siendo enviada dicha información. 
· CONTROL: describe aspectos de la forma en que se está llevando a cabo la mencionada transferencia de información.
REGISTROS:
· MAR (Registro de Dirección de Memoria). 
· MBR (Registro Temporal de Memoria). 
· PC (Contador de Programa). 
· IR (Registro de Instrucción). 
· AC (Acumulador). 
· INPR (Registro de Entrada). 
· OUTR (Registro de Salida).
10. ¿Cuál es el concepto más importante que se introduce con el Modelo de Von Neumann?
 El concepto más importante que se introduce con el Modelo de Von Neumann es el programa almacenado en una memoria.
11. Dibuje y explique el formato de instrucción del Modelo de Von Neumann. 
 Las instrucciones y los datos están en la misma memoria.
 Las instrucciones son leídas de la memoria y ejecutadas en la CPU una a una.
 Las instrucciones son almacenadas en la misma secuencia de ejecución. 
 La unidad de control es responsable del control de la lectura y ejecución de las instrucciones.
12. Explique cómo se realizarían los ciclos de búsqueda y ejecución en el modelo de Von Neumann. 
 Un usuario escribe un programa en lenguaje de alto nivel, un compilador lo traduce a lenguaje ensamblador, luego un programa ensamblador lo convierte a lenguaje de máquina para su almacenamiento en disco. Como paso previo a su ejecución, el sistema operativo de la computadora carga el programa en lenguaje de maquina desde el disco a la memoria principal. Durante la ejecución del programa, cada instrucción se carga en la CPU desde la memoria principal, a razón de un instrucción por vez, junto con cualquier dato necesario para ejecutar la instrucción. La salida del programa se coloca en un dispositivo, tal como una unidad de disco o una pantalla de video. Todas estas operaciones están reguladas por la unidad de control. 
13. Indique las partes en que está compuesta la estructura del computador IAS y las subdivisiones de la CPU. Describa en forma sintética la función que cumple cada una de ellas y sus registros. 
 El computador IAS es el computador de programa almacenado de Von Neumann. Su estructura consta de:
· MEMORIA PRINCIPAL: almacena tanto datos como instrucciones de lenguaje de máquina.
· CPU-ALU: Capaz de hacer operaciones con datos binarios. 
· UNIDAD DE CONTROL: interpreta las instrucciones en memoria y provee su ejecución. 
· ENTRADA/ SALIDA (E/S): es dirigida por la unidad de control.
14. A partir del Modelo de Von Neumann, indique que otros registros se incorporan al IAS y que uso tienen.
 Utiliza los mismos registros que el modelo de Von Neumann, y además incorpora los Registros: 
· IBR (Registro de Búfer de Instrucciones). 
· MQ (Cociente Multiplicador). 
15. ¿Cuántas palabras tiene la memoria del IAS?, ¿qué longitud tienen?, ¿qué tipos de palabras usa? 
 La memoria de este modelo consiste en 1000 posiciones de almacenamiento, palabras de 40 bits cada una. Usa dos tipos de palabras:
· PALABRA NÚMERO.
· PALABRA INSTRUCCIÓN.
 
16. ¿Cuántos bits tiene unainstrucción en IAS?, ¿cómo está formada? 
 Con este formato de la palabra instrucción se pueden extraer dos instrucciones al mismo tiempo, cada una de 20 bits. Está formada de la siguiente manera: 
17. Explique cómo se ejecutarían los ciclos de búsqueda y ejecución en el computador IAS. 
 Durante el ciclo de captación, el codop de la siguiente instrucción es cargado en el IR y la parte que contiene la dirección es almacenada en la MAR. Esta instrucción puede ser captada desde el IBR o puede ser obtenida de la memoria cargando una palabra en el MBR y luego en IBR, IR y MAR. Se usa un solo registro para especificar la dirección en memoria para escritura o lectura y un solo registro para la fuente o el destino.
 Una vez que el codop este en el IR se lleva a cabo el ciclo de ejecución. Los circuitos de control interpretan el codop y ejecutan la instrucción, provocan que los datos se transfieran o que la ALU realice una operación. 
18. ¿Cómo se clasifica el conjunto de instrucciones del IAS?. De un ejemplo de cada una. 
 El computador IAS tiene un total de 21 instrucciones, que se clasifican en cinco 
grupos: 
· Instrucciones de transferencia de datos. Ejemplo: LOAD MQ
· Instrucciones de salto incondicional. Ejemplo: JUMP M(X, 8:19)
· Instrucciones de salto condicional. Ejemplo: JUMP +M(X, 8:19)
· Instrucciones de aritmética. Ejemplo: ADD M(X)
· Instrucciones de modificación de direcciones. Ejemplo: STOR M(X, 8:19)
19. Dado los siguientes enunciados: escriba las instrucciones en lenguaje assembler, coloque sus comentarios y luego páselas a código máquina. 
A. Escribir un programa que lea un dato de la dirección 600 de memoria y lo almacene en la dirección 601. 
LOAD				M(600)			 %transfiere el contenido de 600 a AC
STOR				M(601)			 % transfiere AC a la memoria de 601 
B. Escribir un programa que sume el número almacenado en la posición 867 más el número almacenado en la posición 562. El resultado de la suma se debe almacenar en la posición 778. 
LOAD				M(867)			% transfiere el contenido de 867 a AC
ADD				M(562)			% ACAC + M(562) 
STOR				M(778)			% transfiere AC a la memoria 778
C. Escribir un programa que divida el número almacenado en la posición 867 por 8. El resultado de la división se debe almacenar en la posición 778. 
LOAD				M(867)			% transfiere el contenido de 867 a AC
RSH							% divide el acumulador entre 2
RSH							% divide el acumulador entre 2
RSH							% divide el acumulador entre 2
STOR				M(778)			% transfiere AC a la memoria 778
20. Compare los modelos Von Neumann e IAS: similitudes, diferencias, ventajas, desventajas. 
EL MODELO DE VON NEUMANN
 El programa almacenado en memoria es el aspecto más importante del modelo.
 Sus componentes son:
• Unidad de Entrada: provee los datos e instrucciones requeridos por el sistema.
• Unidad de Memoria: almacena datos e instrucciones.
• Unidad Aritmético Lógica (ALU): procesa los datos e instrucciones.
• Unidad de Control (UC): realiza el control y dirección de todo.
• Unidad de Salida: recibe los resultados.
La ALU y la UC forman la Unidad Central de Procesamiento (CPU).
Las flechas gruesas representan RUTA DE DATOS y las flechas finas RUTAS DE
CONTROL.
 Los principales registros de esta computadora son:
• MAR (Registro de Dirección de Memoria, Memory Address Register).
• MBR (Registro Temporal de Memoria, Memory Buffer Register).
• PC (Contador de Programa, Program Counter).
• IR (Registro de Instrucción, Instruction Register).
• AC (Acumulador, Accumulator).
• INPR (Registro de Entrada, Input Register).
• OUTR (Registro de Salida, Output Register).
EL COMPUTADOR IAS
 La memoria de este modelo consiste en 1000 posiciones de almacenamiento, palabras, de 40 bits c/u.
 Con este formato de la palabra instrucción se pueden extraer dos instrucciones al mismo tiempo, cada una de 20 bits.
 Utiliza los mismos registros que el modelo de Von Neumann, y además incorpora los Registros:
– IBR (Instruction Buffer Register).
– MQ (Multiplier Quotient).
 El computador IAS tiene un total de 21 instrucciones, que se clasifican en cinco grupos:
· Instrucciones de transferencia de datos.
· Instrucciones de salto incondicional.
· Instrucciones de salto condicional.
· Instrucciones de aritmética.
· Instrucciones de modificación de direcciones.
21. Dada una hipotética maquina (computador) que maneja una Memoria de 128 MB, cuyo Procesador posee un conjunto de 3 instrucciones (sumar, leer de la memoria, escribir en la memoria). Los códigos numéricos asignados a cada operación son desde el número 0 (cero) en adelante, desde la primera operación que es la suma. Esta máquina trabaja con un formato de instrucción que puede manejar una dirección por vez. Se pide: 
a) ¿Cuántos bits se necesitan para representar las tres instrucciones? 
 Se necesitan solo 2 bits para representar las 3 instrucciones. 
b) Dibujar el formato de instrucción correspondiente, indicando el nombre de cada campo, su función y longitud. 
8 bits son para el código de operación y 12 para la dirección de memoria.
c) Con el formato del punto anterior, realizar el código máquina de la instrucción de lectura de un dato en la posición 900 de memoria. 
LOAD				M(900)			% transfiere el contenido de 900 a AC
d) Escribir la instrucción del punto anterior en lenguaje assembler, de acuerdo a la arquitectura IAS. 
00100001 011100000100
22. Dado el siguiente ejemplo de una máquina hipotética, donde las instrucciones y datos usan 16 bits (están expresados en hexadecimal). Indique ¿qué hace en sus seis pasos?, ¿cuántas instrucciones usa?, ¿cuántos ciclos de instrucción se usaron?
PASO 1: El PC contiene el valor 300. Se carga ésta instrucción en IR(esto implica el uso de MAR y MBR).
PASO 2: Los primeros 4 bits de IR (“1”) indican que el acumulador AC se va a cargar con un dato de la memoria. Los restantes 12 bits especifican la dirección (es decir “940”).
 
PASO 3: El registro PC se incrementa en uno (toma el valor 301) y se captura la siguiente instrucción (5941) que se carga en AC.
PASO 4: Los primeros 4 bits (“5”) indican que la instrucción es de la suma entre el AC y una memoria. Los siguientes 12 bits indican la dirección de memoria (“941”). El contenido anterior de AC y el de la posición 941 se suman y el resultado se almacena en AC.
 
PASO 5: El registro PC se incrementa en 1 (toma el valor 302) y se captura la siguiente instrucción (2941) desde la nueva posición de memoria, cargándola en AC.
 
PASO 6: Los primeros 4 bits indican (“2”) que el acumulador se debe almacenar en una memoria. Los siguientes 12 bits indican la dirección de la memoria (“941”). El contenido de AC se almacena en la posición 941.
 Se usaron 3 ciclos de instrucción, cada uno con un ciclo de captación y un ciclo de ejecución. Se usaron 3 instrucciones las 1940, 5941 y 2941

Continuar navegando