Está en la página 1de 7

Trabajo Práctico N°4

Alumno: José Ignacio Nota

Comisión: 1K4
1) ¿Qué entiende por ciclo de instrucción? ¿Cómo se subdivide?

2.3 El ciclo de instrucción.


- Un ciclo de instrucción es el período que tarda la unidad central de proceso (CPU) en ejecutar una instrucción de
lenguaje máquina.
Incluye los siguientes sub-ciclos:

 Captación: llevar la siguiente instrucción de la memoria al procesador.

 Ejecución: interpretar el código de operación y llevar a cabo la operación indicada.

 Interrupción: si las interrupciones están habilitadas y ha ocurrido una interrupción, guardar el estado del
proceso actual y atender la interrupción.

2)

En la memoria RAM, ¿qué se almacenan?

La memoria de acceso aleatorio es la memoria desde donde el procesador recibe las instrucciones y guarda los
resultados.

3)

¿Qué son registros?

Se emplean para controlar las instrucciones en ejecución, manejar direccionamiento de memoria y propiciar la
capacidad aritmética.
Los registros vienen de tres tipos: datos, direcciones e índice. El tamaño de un registro depende del CPU; los más
simples tienen registros que aceptan 8 o 16 bits de datos y los más complejos tienen registros de 32, 48 o 64 bits.
4)
¿Qué es un decodificador y qué función cumpliría en una memoria?
Un decodificador o descodificador es un circuito combinacional, cuya función es inversa a la del codificador, esto es,
convierte un código binario de entrada (natural, BCD, etc.) de N bits de entrada y M líneas de salida (N puede ser
cualquier entero y M es un entero menor o igual a 2 N), tales que cada línea de salida será activada para una sola de
las combinaciones posibles de entrada.

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?

LENGUAJE MÁQUINA.
sa

Las instrucciones de máquina o instrucciones del computador son las que determinan el funcionamiento de la CPU
que las ejecuta, la CPU puede realizar una diversidad de funciones que son el reflejo de la variedad de las
instrucciones definidas para dicha CPU, el programador tiene un repertorio de instrucciones como medio para
controlar la CPU.
Las operaciones más complejas se realizan combinando estas instrucciones sencillas, que pueden ser ejecutadas
secuencialmente o mediante instrucciones de control de flujo.

 Ventajas del Lenguaje Máquina.

 Posibilidad de transferir un programa a la memoria sin necesidad de traducción posterior, lo que supone una
velocidad de ejecución superior a cualquier otro lenguaje de programación.

Desventajas del Lenguaje Máquina.

 Dificultad y lentitud en la codificación.


 Poca fiabilidad.
 Gran dificultad para verificar y poner a punto los programas.
 Los programas solo son ejecutables en el mismo procesador (CPU).

LENGUAJE ENSAMBLADOR
Uso: Fue usado principalmente en los inicios del desarrollo de software, cuando aún no se contaba con los potentes
lenguajes de alto nivel.

En la actualidad se suele usar en ambientes académicos y de investigación cuando se va a manipular Hardware, se


pretende conseguir un uso de recursos controlado y reducido, o cuando se pretende conseguir unos altos rendimientos.

Muchos dispositivos programables (como los microcontroladores) aun cuentan con el ensamblador como la única
manera de ser manipulados.

Las características más destacadas del lenguaje ensamblador son:


1) Difícil de entender directamente.
2) Poco portable.
3) Los programas son más rápidos y consumen menos recursos.
4) Se tiene un control muy preciso de las tareas que se van a realizar.
5) Se puede controlar el tiempo que tarda en ejecutarse una rutina.
6) Se puede impedir que se interrumpa un programa durante su ejecución.
dx

Su importancia: Es considerado de primera generación. A partir de el se derivaron todos los demás lenguajes hasta llegar
al de alto nivel.

6) ¿Qué hace un programa compilador y uno ensamblador

La tarea fundamental de un ensamblador es traducir un programa en leguaje de ensamblador al código


correspondiente en lenguaje de maquina

Un compilador es querer traducir un programa de un lenguaje de alto nivel a otro lenguaje de nivel
inferior(típicamente lenguaje maquina).

7) ¿Qué es el conjunto de instrucciones? ¿Es igual en todos los procesadores?

Un conjunto de instrucciones o repertorio de instrucciones, juego de instrucciones o ISA (del inglés Instruction Set
Architecture, Arquitectura del Conjunto de Instrucciones) es una especificación que detalla las instrucciones que
una CPU de un ordenador puede entender y ejecutar, o el conjunto de todos los comandos implementados por un
diseño particular de una CPU. El término describe los aspectos del procesador generalmente visibles a un
programador, incluyendo los tipos de datos nativos, las instrucciones, los registros, la arquitectura de memoria y las
interrupciones, entre otros aspectos.
Existe principalmente de 3 tipos: CISC (Complex Instruction Set Computer), RISC (Reduced Instruction Set Computer)
y SISC (Specific Instruction Set Computer).
Los procesadores de los microcontroladores PIC son de tipo RISC.
La arquitectura del conjunto de instrucciones (ISA) se emplea a veces para distinguir este conjunto de características
de la microarquitectura, que son los elementos y técnicas que se emplean para implementar el conjunto de
instrucciones. Entre estos elementos se encuentras las microinstrucciones y los sistemas de caché.

9) Explique los componentes del Modelo de Von Neumann. Nombre sus principales registros y buses.

EL MODELO DE VON NEUMANN

El programa almacenado en memoria es el aspecto más importante del modelo. Sus componentes son: • 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 Entrada: provee los datos e instrucciones
requeridos por el sistema. •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.

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.

MAR: Especifica la dirección en memoria de la palabra que va a ser escrita o leída en MBR.

MBR: Contiene una palabra que debe ser almacenada en la memoria o es usado para recibir una palabra procedente

IR: Contiene los 8 bits del código de operación de la instrucción que se va a ejecutar.

IBR: Empleado para almacenar temporalmente la instrucción contenida en la parte derecha de una palabra en memoria.

PC: contienen la dirección de la próxima pareja de instrucciones que van a ser captadas de la memoria.

AC y MQ se emplean para almacenar operandos y resultados de operaciones de la ALU Temporalmente. Por ejemplo, el
resultado de multiplicar dos números de 40 bits en un numero de 80 bits, los 40 bits más significativos se almacenan
en AC y los menos significativos se almacenan en MQ

14)

A partir del Modelo de Von Neumann, indique que otros registros se incorporan al IAS y que uso tienen

Se incorporan el IBR (instruction buffer register) y el MQ(multiplier quotient).

IBR: Empleado para almacenar temporalmente la instrucción contenida en la parte derecha de una palabra en memoria
MQ: Se emplea para almacenar operandos y resultados de operaciones de la ALU temporalmente. Por ejemplo, el
resultado de multiplicar dos números de 40 bits es un numero de 80 bits; los 40 bits mas significativos se almacenan
en AC y los menos significativos se almacenan en MQ.

15) ¿Cuántas palabras tiene la memoria del IAS?, ¿qué longitud tienen?, ¿qué tipos de palabras usa?

La memoria IAS consiste en 1000 palabras, de 40 bits cada una tanto palabras como datos se almacenan ahí; por lo
tanto, los números pueden en forma binaria y cada instrucción tiene también un código binario, cada numero se
representa con un bit de signo y 39 bits de valor. Una palabra puede contener también dos instrucciones de 20 bits,
donde cada instrucción consiste en un código de operación de 8 bits (codop) que especifica la operación que se va a
realizar, y una dirección de 12 bits que indica una de las palabras de la memoria(numeradas de 0 a 99)

16) Cuántos bits tiene una instrucción en IAS?, ¿cómo está formada?

una instrucción en IAS está compuesta por 2 partes, el codop que está formado por un rango de 0 a 8 bits, y la otra
parte es la dirección que va desde 8 a 19 bits teniendo así un total de 20 bits por instrucción.

17) Explique cómo se ejecutarían los ciclos de búsqueda y ejecución en el computador IAS.

Al principio de cada ciclo, la CPU busca una instrucción en la memoria. En la CPU hay un registro llamado contador del
programa (PC) que posee la dirección de la próxima instrucción a buscar.

La CPU después de buscar cada instrucción incrementa el valor contenido en PC, así podrá buscar la próxima instrucción
de forma secuencial.

Esta instrucción se encuentra en forma de código binario que especifica las acciones que tomara la CPU.

Esta última, interpreta cada instrucción y lleva a cabo las acciones requeridas

18) ¿Cómo se clasifica el conjunto de instrucciones del IAS?. De un ejemplo de cada una.

Existen principalmente 3 tipos de conjuntos de inst.

1 CISC complex intruction set computer

2 RISC reduced intruction set computer

3 SISC simple intruction set computer.

* Se caracterizan por ser muy amplias y permiten operaciones complejas entre operadores situados en la memoria o en
los registros internos

Ej: Zilog Z80, Intel X86, AMDx86-64

* Se caracteriza por que sus instrucciones son de tamaño fijo y presentadas en un numero reducido de formatos solo las
instrucciones de carga y almacenamiento acceden a la memoria de datos. El objetivo de diseñar maquinas con esta
arquitectura es posibilitar la segmentación y el paralelismo en la ejecución de instrucciones y reducir los accesos de
memoria.

Ej: Power PC, DEC Alpha, MIPS, ARM

*Orientada al procesamiento de tareas en paralelo.

Esto se da mediante el uso de la tecnología VLSI, que permite a múltiples dispositivos de bajo costo que se utilizan
conjuntamente para resolver un problema particular dividido en partes disjuntas

Ej: DSP.

19)

Escribe un programa que lea un dato de la dirección 600 de memoria y lo almacena en la dirección 601

Load M(600) Transfiere M(x) a AC

Storm M(601) Transferencia el contenido de AC a la posición.


20) Escribir un programa que sume el numero almacenado en la posición 867 más el numero almacenado en la
posición 562 el resultado de la suma (sin considerar acarreo) se debe almacenar en la posicion778

Load M(867) Transferir M(x) a AC.

ADD M(562) %AC <- AC + M(562)

Storm M(778) %Transfiere AC a la memoria 778

21)Escribe un programa que divida el numero almacenado en la posición 867 por 8. El resultado de la división (sin
considerar el resto ni la parte fraccionaria se debe almacenar en la posición 778.

LOAD M(867) %Transfiere el contenido del 867 a AC

RSH %Divide el contenido del AC en 2

RSH %Divide el contenido del AC en 2

RSH %Divide el contenido del AC en 2

STORM M(778) %Transfiere el contenido del AC a la memoria.

22) Dado el siguiente programa:

Se pide que: A. Escriba el comentario de lo que hace cada instrucción. B. Pase el programa a lenguaje de máquina.

00000001 LOAD M(1048) %Transfiere el contenido de M(1048) a AC

00000101 ADD M(1049) %AC<- AC+M(1049)

00010101 RSH %Divide el contenido del AC en 2

00100001 STOR M(1050) %Transfiere el contenido de AC a la posición de memoria X

… 1048 55

1049 11

1050 0

23. Dada una hipotética maquina (computador) que maneja una Memoria de 128 MB, en donde cada registro de
memoria tiene una longitud de 16 bits, 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? b) Dibujar el formato de instrucción correspondiente, indicando el nombre de cada campo, su
función y longitud. 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. c) Escribir la instrucción del punto anterior en lenguaje assembler, de
acuerdo a la arquitectura IAS.

Memoria= 128 MB =2^27

Instrucciones sumar 0 (10) 00 (2)

Leer de M 1 (10) 01 (2)

Escribir en M 2 (10) 10 (2)

a) Se necesitan 2 bits para representar el codop de las tres instrucciones.

29 bits para las direcciones enteras

b) Codop Dirección

2bits 27bits
c)

Código Maquina

01 ooooooooooooooooo111oooo1oo

d)

Load M(900)

24. Dado el ejemplo de una máquina hipotética, indique ¿qué hace en sus seis pasos?, ¿cuántas instrucciones
usa?, ¿cuántos ciclos de instrucción se usaron?

En el primer paso en la dirección de memoria 300 va a la registro ir donde va a contener los 8 bits del código de
operación de la instrucción que se va a ejecutar

1)Se lee la pc que tiene dirección 800 en la dirección 300 esta guarda la instrucción 1940 y se lo guarda en el ir
(registro de instrucción).

El codop 1 corresponde a leer y 940 es la dirección que hay que ver

2)Se realiza la letra de memoria lo que hay guardado en la dirección 940 se lo manda al acumulador y se incrementa
1 al pc

También podría gustarte