ar quite ctur a deber

15
UNIVERSIDAD DE CUENCA Nombre: Bryan Coronel Asignatura: Organización y Arquitectura de Computadores Tema: Ejercicios de aplicación Docente: Ing. Magali Mejía Ciclo: Marzo 2015- Agosto 2015

Upload: chuwi

Post on 24-Jan-2016

17 views

Category:

Documents


0 download

DESCRIPTION

sistema de debers ucuenca

TRANSCRIPT

UNIVERSIDAD DE CUENCA

Nombre: Bryan Coronel

Asignatura: Organización y Arquitectura de Computadores

Tema: Ejercicios de aplicación

Docente: Ing. Magali Mejía

Ciclo: Marzo 2015- Agosto 2015

ARQUITECTURA Y ORGANIZACION DE COMPUTADORAS

Encontrar la palabra o frase en la lista debajo que mejor empate con la descripción en las siguientes preguntas. Use los números de la izquierda de las palabras in las respuestas. Cada respuesta debería ser usada por una.

1.1.1 Computador usado para ejecutar grandes problemas y por lo general se accede a través de una red. 3. supercomputadoras.

1.1.2 10 elevado (15) or 2 elevado(50) 7.Petabyte

1.1.3 Computadoras compuestas de cientos o miles de procesadores y terabytes de memoria. 5. Sservidores

1.1.4 Las aplicaciones de ciencia ficción que probablemente serán viables en un futuro cercano.

1. Virtual worlds

1.1.5 1.1.5 Un tipo de memoria llamada random Access memory. 12.RAM

1.1.6 Parte de una computadora llamada Central Procesor Unit 13.CPU

1.1.7 Miles de computadores formando un gran cluster8.Datacenter.

1.1.8 Un microprocesador 10. Multicore processors

1.1.9 Computadora de escritorio sin pantalla o teclado usualmente visitada vía un red4.Low-end-Servers

1.1.10 Actualmente la mayor clase de computadoras que corren una aplicación o un conjunto de aplicaciones relacionadas. 2.Desktop computer

1.1.11 Lenguaje especial usado para describir componentes de hardware. VHDL

1.1.12 Computadora personal entregando un buen rendimiento a un solo usuario a un costo bajo.9. Embedded computers

1.1.13 Programa que traduce oraciones en un alto nivel a lenguaje ensamblador.15.Compiler.

1.1.14 Programa que traduce instrucciones simbólicas a instrucciones binarias.

18.Assembly language

1.1.15 Lenguaje de alto nivel para procesamiento de datos de negocio.25.Cobol

1.1.16 Lenguaje binario que el procesador puede entender. 18.assembly language

1.1.17 Comandos que el procesador entiende.19.machine language

1.1.18 Lenguaje de alto nivel para las ciencias de la computación.26. Fortran

1.1.19 Representación simbólica de una máquina de instrucciones.18.ensamblador

1.1.20 Interface entre el usuario del programa y el hardware proporcionando un variedad de servicios y funciones de supervisión. 14.Operating system.

1.1.21 Software y programas desarrollados por los usuarios.24.aplication software.

1.1.22 Binario digit (value 1 or 1)16.Bit.

1.1.23 Capa de software entre la aplicación software y el hardware que incluye el sistema operativo y los compiladores.23.System software

1.1.24 Lenguaje de alto nivel usado para escribir aplicaciones y sistemas de programas.20.C

1.1.25 Lenguaje portable compuesto de palabras y expresiones algebraicas que deberían ser traducidas dentro del lenguaje ensamblador antes de correr en una computadora.17.Lenguaje de alto nivel

1.1.26 10 elevado (12) or 2 elevado(40)

6. terabyte

Ejercicio 1.3 Considere los tres diferentes procesadores p1, p2, p3 ejecutando la misma instrucción con la siguiente tabla:

1.3.1 Cual procesador tiene el más alto rendimiento

Nos proporcionan la frecuencia, y los ciclos por instrucción y sabemos que se ejecuta solo una instrucción podemos utilizar la siguiente formula:

T deCpu1=0.75s

T de Cpu2= 0.6666666667s

T de Cpu3= 0.8333333333s

Observamos que el procesador 2 es el que tiene más alto rendimiento.

1.3.2 Si cada procesador ejecuta un programa en 10 segundos, encontrar el número de ciclos y numero de instrucciones.

Utilizamos esta fórmula despejando el número de ciclos del programa sabiendo que la frecuencia se mantiene y el tiempo de 10 segundos:

N de ciclosdel programa=T deCPU x Frecuenciade Reloj

Ncp1=20 Gc

Ncp2=15 Gc

Ncp3=30 Gc

Ahora calculamos el número de instrucciones del programa con la formula

N de instruccioines=T deCPU x Frecuencia de RelojCPI

N instuc1=13.33333333

N instruc2=15

N instruc3=12

1.3.3 Estamos tratando de reducir el tiempo un 30% pero esto conduce un incremento del 20% del CPI, Que freecuencia deberian tener para conseguir la reduccion en el tiempo.

Datos conocidos:

Tiempo= 10 segundos -> Nuevo tiempo= (10 - 10*30%) = 7

CPI= CPIo+(CPIo*20%)

Y sabemos el número de instrucciones dado para cada uno: entonces despejando de la formula la frecuencia tenemos:

Frecuencia=N instrucciones x CPITiempoCpu

Las frecuencias son:

F1=3.42 Ghz

F2 = 2.57 GHZ

F3= 5.14 GHz

Para los siguientes problemas usar la siguiente información:

1.3.4 Encontrar la IPC para cada procesador)mal

Usamos la fórmula del Tiempo de CPU despejando el CPI:

CPI¿TiempoCPU x frecuencia

Nu instrucciones

CPI1= 7x10-7

CPI2=5x10-10

CPI3=3x10-10

1.3.5 Encontrar la frecuencia de p2 que reduzca el tiempo de ejecución al de p1

De la formula anterior despejamos la frecuencia y consideramos el nuevo tiempo de 7s:

Y obtenemos una frecuencia= 2.14GHz

1.3.6 Encontrar el número de instrucciones para p2 que reduzca su ejecución a la de P3.

De igual manera despejamos ahora el número de instrucciones y resolvemos:

Numinstrucciones=Tiempo CPU x frecuenciaCPI

Con Tiempo= 9 segundos tenemos:

Num instrucciones = 5.4 x1010

Ejercicio 1.4 Considerar las dos diferentes implementaciones del conjunto de instrucciones. Hay 4 clases de instrucciones A,B,C and D. se da la frecuencia y el CPI en la tabla.

1.4.1 Dado un programa con 106 instrucciones dividido en clases asi: 10% class A, 20% class B, 50% class C and 20% class D, cual implementación es la más rápida?

Podemos calcular el núm

ero de instrucciones por cada una de las calases con los porcentages:

Num instrucc A= 100000

Num instrucc B=200000

Num instrucc C=500000

Num instruc D= 200000

Entonces utilizamos la formula

T de CPU1=¿NuminstA∗CPIa+NuminstB∗CPIb+NuminstC∗CPIc+NuminstD∗CPId

Frecuenciade reloj

T de CPU1=1.866x10-3 s

T de CPU2¿NuminstA∗CPIa+NuminstB∗CPIb+NuminstC∗CPIc+NuminstD∗CPId

Frecuenciade reloj

T de CPU2=1x10-3 s

T de CPU2 es menor lo cual indica que la implementación P2 es más rápida.

1.4.2 Cual es el CPI total para cada implementación.

Conocemos el tiempo total de cada implementación, la frecuencia, y cada uno de los números de instrucciones ejecutadas.

Haciendo la media ponderada con los CPI que nos proporcionan debido a los diferentes pesos (porcentajes) que tienen cada uno en cuanto a las instrucciones.

CPI total1= 1x 0.1+2∗0.2+3 x 0.50+4 x0.2

0.1+0.2+0.5+0.2=2.8

CPI total1= 2x 0.1+2∗0.2+2x 0.50+2 x0.2

0.1+0.2+0.5+0.2=2

1.4.3 Encontrar los ciclos de reloj en ambos casos.

Poseemos los CPIS y los números de instrucciones utilizamos la fórmula:

Ciclos CPU1= (1x106)x2.8= 2800000

Ciclos CPU1= (1x106)x2= 2000000

La siguiente tabla muestra el número de instrucciones para un programa:

1.4.4 Asumiendo que las instrucciones de Arith toman 1 ciclo, load and store 5 ciclos y branch 3 ciclos. Cuál es el tiempo de ejecución de un programa en un procesador de 2GHz

Utilizando la fórmula :

T deCPU= NociclosFrecuencia dereloj

=1+5+5+22Ghz

T de CPU= 6.5s

1.4.5 Encontrar el CPI para el programa.

Ahora que conocemos el T de CPU , las instrucciones y la frecuencia de reloj es posible calcular CPI así:

CPI¿TiempoCPU x frecuencia

Nu instrucciones

CPI= 0.0185

1.4.6 Si el número de instrucciones de Load puede ser reducido una mitad que velocidad, Cual es la aceleración y el CPI?

Num instrucciones total 650.

Load= 50 instrucciones y toma 2.5 ciclos

Sacamos el nuevo tiempo:

T deCPU= NociclosFrecuencia dereloj

=1+5+2.5+22Ghz

T deCPU=5.25

Para calcular la aceleración encontramos n:

n= ¿deCPUT deCPU

= 6.55.25

=1.24

Decimos que con la variación es 1.24 veces más rápido.

1.6 Compiladores tienen un gran impacto en el rendimiento de las aplicaciones sobre un procesador dado. Este problema se explorara el impacto que los compiladores tienen en el tiempo de ejecución.

1.6.1 Para el mismo programa, dos diferentes compiladores fueron usados. La tabla nos muestra el tiempo de ejecución de los dos programas compilados. Encontrar CPI medio para cada programa dado que el procesador tiene un ciclo de reloj de 1 ns.

Periodo 1 ns = 1x10-9 segundos

Para obtener el CPI utilizamos la siguiente formula:

Despejamos el CPI:

CPI= T deCPUNo instrucciones x Periodo

CPIaA= 1

CPIbA=0.8

CPIaB=1.17

CPIbB=0.58

1.62 Asumir los cpi promedio encontrados en 1.6.1, pero que los programas compilados se ejecutan en dos procesadores de diferencia. Si los tiempos de ejecución en los dos procesadores son los mismos, cuánto más rápido es el reloj del procesador que ejecuta código de compilador de A versus el reloj del procesador que ejecuta código de compilador de B

Para realizar esta comparación sabemos que los tiempos son los mismos, además el número de instrucciones deben ser los mismos para que la comparación sea justa, también sabemos los CPIs que obtuvimos.

De la Ecuación del tiempo de ejecución igualamos los tiempos y obtenemos:

(num instrucciones)(CPI )(Perido1)=(numinstruccciones )(CPI)(Periodo 2)

(num instrucciones)(1.085)(Perido1)=(numinstruccciones )(0.69)(Periodo2)

Simplificando(Perido1)=(0.64)(Periodo 2)

Él tiempo en que se ejecuta el ciclo con el compilador A es 1.57 veces más lento que con el compilador B.

1.63 Un nuevo compilador es desarrollado que utiliza sólo 600 millones de instrucciones y el CPI promedio de 1.1. ¿Cuál es la aceleración de la utilización de este nuevo compilador frente a la utilización del compilador A o B en el procesador original de 1.6.1

Entonces encontramos los tiempos de CPU para el caso del ejercicio 1.6.1 y para este nuevo compilador y los comparamos.

T de Cpu(1.6.1)=(1E+9)(1.085)(1E-9)=1.085s

T de Cpu(comp C)=(600E+6)(1.1)(1E-9)=0.66s

Obteniendo n dividiento los tiempos =1.64

Decimos que el nuevo compilador es 1.64 más rápido que el anterior.

Considerar 2 diferentes implementaciones, P1 y P2, del mismo conjunto de instrucciones. Hay 5 clases de instrucciones (A, B, C, D y E) en el conjunto de instrucciones. P1 tiene una frecuencia de reloj 4GHz y P2 de 6GHz. La media del número de ciclos para cada clase de instrucción está en la siguiente tabla:

1.6.4 Supongamos que el rendimiento máximo se define como la tasa más rápida que una computadora puede ejecutar cualquier secuencia de instrucciones. ¿Cuáles son los rendimientos máximos de P1 y P2 expresan en instrucciones por segundo

Primero encontramos los tiempos de CPU para P1 y P2:

CPI1 medio= 3

CPI2 medio= 2.8

T de CPU p1= N de Instrucciones x3

4GHz

T de CPU p2= N de Instrucciones x2.8

6GHz=¿

Ahora encontramos los rendimientos:

Rendimiento1= 4 (1/seg )

3 x nintrucciones∗n instrucciones

nintrucciones =

1.333333333(n instrucciones )∗¿2

(ninstrucciones / seg)

Rendimiento2= 6(1 /seg)

2.8 x nintrucciones∗n instrucciones

nintrucciones =

2.14(n instrucciones )∗¿2

(ninstrucciones / seg)

1.6.5 si el número de instrucciones ejecutadas en un determinado programa se divide en partes iguales entre las clases de instrucciones en el problema 2.36.4 excepción de la clase A, Que se produce dos veces más que cada uno de los demás, cuánto más rápido es que p2 p1?

T deCPU 1=2∗ninstruc (1 )+n instruc (2 )+n instruc (3 )+n instruc (4 )+ninstruc (5)

4GHz

T deCPU 1=2∗ninstruc (2 )+n instruc (2 )+n instruc (2 )+n instruc ( 4 )+ninstruc (4)

6GHz

T de CPU1=16 n instruc/4 GHz =4 n instruc(s).

T de CPU2=16 n instruc / 6Ghz = 2.67 n instruc (s)

Ahora obtenemos n:

Se simplifica el número de instrucciones y tenemos que Pe es 1.49 veces más rápida que P1.

1.6..6 ¿A qué frecuencia P2 tiene el mismo rendimiento que P1 para la mezcla de instrucción dada en 1.6.5

Este cociente debe ser uno

Tendríamos:

4 x n instrucciones1

= 16 x n intrucfrecuenciade reloj2

Simplificamos número de instrucciones y despejamos la frecuencia buscada y obtenemos:

Frecuencia de reloj2 =4 gHz