p2.c #define N 50 main() { int i; int a[n];

Tamaño: px
Comenzar la demostración a partir de la página:

Download "p2.c #define N 50 main() { int i; int a[n];"

Transcripción

1 Euskal Herriko Unibertsitatea Informatika Fakultatea Konputagailuen Arkitektura II, 2000 Konputagailuen Arkitektura eta Teknologia Saila Konpilazio-Teknikak Laborategi-saio honetan konpiladore komertzial batek sortzen duen kodea aztertuko dugu. Horretarako, SPARC prozesadorea erabiltzen duen SUN lan-eazio bat eta DIGITAL/COMPAQ alpha prozesadorea erabiliko ditugu. A. SUN Hiru programa hauek dauzkazu zure direktorioan, C-z idatzita: p1.c #define N 50 main() { int i; int a[n]; p2.c #define N 50 main() { int i; int a[n]; } for (i=0; i<n; i++) a[i] = a[i] + 3; } for (i=1; i<n; i++) a[i] = a[i] + a[i-1]; p3.c #define N 50 main() { int i; int a[n], b[n], c[n]; } for (i=0; i<n; i++) a[i] = b[i] + c[i] ; Programak konpilatzeko honako hau exekutatu behar da cc S -Ox izena.c -Ox optimizazio-mailak adierazteko (x = 1, 2 edo 3) -S mihiztadura lengoaian idatzitako kodea sortzeko (ez da exekutagarria sortzen) Ondorioz izena.s fitxategia sortzen da.

2 Konpila ezazu P1 programa honako lau kasu hauetan: optimizatu gabe, eta -O1, -O2 eta - O3 optimizazioak erabiliz. Kasu bakoitzean sortzen den.s fitxategia aztertuko dugu. Optimizazioen eraginaz ideia bat izateko, exekuzio-denborak neur daitezke. Horretarako, editatu p1.c fitxategia, aatu bektorearen tamaina, bat izateko, eta sartu begizta bat eragiketa 10 aiz errepikatzeko. Konpilatu berriro programa, orain -S aukera jarri gabe cc -Ox izena.c -o izena Exekutatu programa time komandoa gehituz (time izena), exekuzio-denboraren eimazio bat izateko. Errepikatu lauzpabo aiz exekuzioa eta kalkulatu exekuziodenboraren batez beea. Bete ezazu ondoko taula. ( bat osagai) t. seg ag/it t/ag d-aurr % Optimizatu gabe 1. aukera -O1 2. aukera -O2 3. aukera -O3 t.seg: exekuzio-denbora segundotan ag/it: exekutatzen den agindu-kopurua bektore-osagai bakoitzeko t/ag: agindu bat exekutatzeko denbora, batez beez, d-aurr%: aurrezten den denbora, optimizatu gabeko kasuarekin konparatuta Errepikatu aurrekoa bee bi programetarako, -P2 eta P3, baina bakarrik -O2 eta -O3 optimizazioak erabiliz. Analizatu kasu bakoitzean sortzen den kodea (.s fitxategia).

3 P1_0.S a(i) = a(i)+3 LL0:.seg "data".seg "text".proc 04.global _main _main:!#prologue# 0 sethi %hi(lf12),%g1 %g1,%lo(lf12),%g1 save %sp,%g1,%sp!#prologue# 1 %g0,[%fp+-0x4] L16: [%fp+-0x4],%o0 cmp %o0,0x32 bge L15 nop sub %fp,0xcc,%o1 [%fp+-0x4],%o2 sll %o2,0x2,%o3 [%o1+%o3],%o4 %o4,0x3,%o4 %o4,[%o1+%o3] L14: [%fp+-0x4],%o5 %o5,0x1,%o5 %o5,[%fp+-0x4] b L16 nop L15: LE12: ret reore LF12 = -272 LP12 = 64 LST12 = 64 LT12 = 64.seg "data"

4 P1_1.S a(i) = a(i)+3.seg "text".proc 4.global _main _main:!#prologue# 0!#PROLOGUE# 1 save %sp,-272,%sp %g0,[%fp-4] LY1: [%fp-4],%o2 sub %fp,204,%o1 sll %o2,2,%o2 [%o1+%o2],%o4 3,%o4 %o4,[%o1+%o2] [%fp-4],%o5 %o5 cmp %o5,50 bl LY1 %o5,[%fp-4] ret reore.seg "data"

5 P1_2.S a(i) = a(i)+3.seg "text".proc 16.global _main _main:!#prologue# 0!#PROLOGUE# 1 save %sp,-264,%sp mov 0,%i5 %fp,-200,%o0 %fp,-200,%o2 mov 200,%i4 %i4,%o2,%i4 %i5,%o0,%i5 [%i5],%o5 LY1: 3,%o5 %o5,[%i5] 4,%i5 cmp %i5,%i4 blu,a LY1 [%i5],%o5 ret reore.seg "data"

6 P1_3.S a(i) = a(i)+3.seg "text".proc 16.global _main _main:!#prologue# 0!#PROLOGUE# 1 save %sp,-264,%sp mov 0,%i5 %fp,-200,%o0 %i5,%o0,%i5 %fp,-200,%o2 mov 200,%i4 %i4,%o2,%i4 %i5,12,%o5 cmp %o5,%i4 bcc,a LY2 [%i5],%l4 [%i5],%o7 LY3: 3,%o7 %o7,[%i5] [%i5+4],%l0 3,%l0 %l0,[%i5+4] [%i5+8],%l1 3,%l1 %l1,[%i5+8] [%i5+12],%l2 3,%l2 %l2,[%i5+12] 16,%i5 %i5,12,%l3 cmp %l3,%i4 blu,a LY3 [%i5],%o7 cmp %i5,%i4 bcc L77006 nop [%i5],%l4 LY2: 3,%l4 %l4,[%i5] 4,%i5 cmp %i5,%i4 bcs,a LY2 [%i5],%l4 L77006: ret reore.seg "data"

7 P2_2.S a(i)=a(i)+a(i-1).seg "text".proc 16.global _main _main:!#prologue# 0!#PROLOGUE# 1 save %sp,-264,%sp mov 0,%i5 %fp,-204,%i4 %i5,%i4,%i4 %fp,-200,%o2 %fp,-204,%o4 mov 200,%i3 %i3,%o4,%i3 %i5,%o2,%i5 L77003: [%i4],%l0 [%i5],%l1 4,%i4 %l1,%l0,%l1 %l1,[%i5] cmp %i4,%i3 blu L ,%i5 ret reore.seg "data"

8 P2_3.S a(i)=a(i)+a(i-1) save %sp,-264,%sp mov 0,%i5 %fp,-204,%i4 %i5,%i4,%i4 %fp,-204,%o4 mov 200,%i3 %i3,%o4,%i3 %i4,12,%l0 cmp %l0,%i3 %fp,-200,%o2 bcc L77010 %i5,%o2,%i5 L77003: [%i5],%l2 [%i4],%l1 %l2,%l1,%l2 %l2,[%i5] [%i4+4],%l3 [%i5+4],%l4 %l4,%l3,%l4 %l4,[%i5+4] [%i4+8],%l5 [%i5+8],%l6 %l6,%l5,%l6 %l6,[%i5+8] [%i4+12],%l7 [%i5+12],%i0 16,%i4 %i4,12,%i1 %i0,%l7,%i0 %i0,[%i5+12] cmp %i1,%i3 blu L ,%i5 cmp %i4,%i3 bcc L77006 nop L77010: [%i4],%i2 [%i5],%o0 4,%i4 %o0,%i2,%o0 %o0,[%i5] cmp %i4,%i3 bcs L ,%i5 L77006: ret reore.seg "data"

9 P3_2.S a(i)=b(i)+c(i).seg "text".proc 16.global _main _main:!#prologue# 0!#PROLOGUE# 1 save %sp,-664,%sp mov 0,%i4 %fp,-600,%i5 %fp,-200,%i3 %i4,%i3,%i3 %i4,%i5,%i5 %fp,-400,%o4 %fp,-600,%o7 mov 200,%i2 %i2,%o7,%i2 %i4,%o4,%i4 L77003: [%i4],%l2 [%i5],%l3 4,%i5 %l2,%l3,%l2 %l2,[%i3] cmp %i5,%i2 4,%i4 blu L ,%i3 ret reore.seg "data"

10 P3_3.S a(i)=b(i)+c(i) _main: save %sp,-664,%sp mov 0,%i4 %fp,-600,%i5 %i4,%i5,%i5 %fp,-600,%o7 mov 200,%i2 %i2,%o7,%i2 %i5,12,%l2 %fp,-200,%i3 %i4,%i3,%i3 cmp %l2,%i2 %fp,-400,%o4 bcc L77010 %i4,%o4,%i4 L77003: [%i5+12],%o3 [%i5+8],%o0 [%i5+4],%l7 [%i5],%l4 [%i4+12],%o2 [%i4+8],%i1 [%i4+4],%l6 [%i4],%l3 16,%i5 %i5,12,%o5 %l3,%l4,%l3 %l6,%l7,%l6 %i1,%o0,%i1 %o2,%o3,%o2 %o2,[%i3+12] %i1,[%i3+8] %l6,[%i3+4] %l3,[%i3] cmp %o5,%i2 16,%i4 blu L ,%i3 cmp %i5,%i2 bcc L77006 nop L77010: [%i5],%l0 [%i4],%o7 4,%i5 %o7,%l0,%o7 %o7,[%i3] cmp %i5,%i2 4,%i4 bcs L ,%i3 L77006: ret reore

11 B. ALPHA Bigarren makina honetan aurrekoan egindako analisi bera errepikatu dugu. Bi programa hauek erabiliko ditugu p1.c #define N 50 int a[n]; main() { int i; p2.c #define N 50 main() { int i; int a[n]; } for (i=0; i<n; i++) a[i] = a[i] + 3; } for (i=0; i<=n; i++) a[i] = a[i-1] + 3; Programak modu berean konpilatzen dira: cc S -Ox unroll n izena.c -Ox optimizazio-maila adierazteko (x = 1, 2, 3, 4) -S mihiztadura lengoaian idatzitako kodea sortzeko (ez da exekutagarria sortzen) Ondorioz izena.s fitxategia sortzen da. -unroll n begizta zenbat aiz (n) zabau behar den adierazteko (1 ez egitea) Konpilatu P1 programa O4 unroll 1 (ez zabau) aukerekin. Aztertu.s fitxategia. Zer egin du konpiladoreak? Errepikatu aurrekoa, baina P2 programarekin. Zer egin du konpiladoreak? Konpilatu berriz P2 programa, baina begizta bi aiz zabauz. Eta orain? Bukatzeko, egin ezazu berriz aurrekoa P1 programarekin, begizta bi aiz zabauz (-unroll 2). Eta orain, zer egin du konpiladoreak?

12

13 P1_O4_u1.s a(i) = a(i) + 3.set noat.set noreorder.comm a 200.data $$1:.text.align 4.file 1 "p1.c".loc 1 3 # 3 main().globl main.ent main.loc 1 3 main: # ah $gp, ($27)!gpdisp!1 a $gp, ($gp)!gpdisp!1.frame $sp, 0, $26.save_ra $0.prologue 1.loc 1 6 # 4 { # 5 int i; # 6 for(i=0; i<n; i++) a[i] = a[i]+3; q $1, a($gp)!literal!2 # l $3, ($1)!lituse_base!2 a $2, 4($1)!lituse_base!2 l $31, 60($2) a $1, 200($1)!lituse_base!2 cmpult $2, $1, $5 l $3, 3, $3 beq $5, L$4 L$5: a $2, 4($2) l $31, 64($2) l $6, -4($2) cmpult $2, $1, $16 l $3, -8($2) l $6, 3, $3 bne $16, L$5 L$4: l $3, -4($2).loc 1 7 # 7 } clr $0 # ret ($26).end main

14 P1_O4_u2.s a(i) = a(i) + 3.set noat.set noreorder.comm a 200.data $$1:.text.align 4.file 1 "p1.c".loc 1 3 # 3 main().globl main.ent main.loc 1 3 main: # ah $gp, ($27)!gpdisp!1 a $gp, ($gp)!gpdisp!1.frame $sp, 0, $26.save_ra $0.prologue 1.loc 1 6 # 4 { # 5 int i; # 6 for(i=0; i<n; i++) a[i] = a[i]+3; q $2, a($gp)!literal!2 # l $31, 48($2)!lituse_base!2 a $1, 200($2)!lituse_base!2 a $2, 8($2)!lituse_base!2 cmpult $2, $1, $4 beq $4, L$4 l $31, 48($2) l $5, -8($2) a $2, 8($2) cmpult $2, $1, $8 l $5, 3, $5 l $6, -12($2) beq $8, L$6 L$7: l $16, -8($2) l $6, 3, $17 l $31, 48($2) l $6, -4($2) a $2, 8($2) l $5, -24($2) cmpult $2, $1, $22 l $17, -20($2) l $16, 3, $5 bne $22, L$7 L$6: l $6, 3, $24.loc 1 7 # 7 } clr $0 # loc 1 6 l $23, -8($2) # l $6, -4($2) l $5, -16($2) l $23, 3, $5 l $6, 3, $6 l $24, -12($2) l $5, -8($2) l $6, -4($2).loc 1 7 ret ($26) # L$4:.loc 1 6 l $3, -8($2) # l $6, -4($2).loc 1 7 clr $0 # loc 1 6 l $3, 3, $5 # l $6, 3, $6 l $5, -8($2) l $6, -4($2).loc 1 7 ret ($26)

15 .end main #

16 P2_O4_u1.s a(i) = a(i-1) + 3.set noat.set noreorder.text.align 4.file 1 "p2.c".loc 1 2 # 2 main().globl main.ent main.loc 1 2 main: # a $sp, -208($sp).frame $sp, 208, $26.prologue 0.loc 1 6 # 3 { # 4 int i; # 5 int a[n]; # 6 for(i=0; i<n; i++) a[i] = a[i-1]+3; mov $sp, $0 # a $1, 200($sp) L$2: l $3, -4($0) a $0, 4($0) cmpult $0, $1, $4 l $3, 3, $3 l $3, -4($0) bne $4, L$2.loc 1 7 # 7 } clr $0 # a $sp, 208($sp) ret ($26).end main

17 P2_O4_u2.s a(i) = a(i-1) + 3.set noat.set noreorder.text.align 4.file 1 "p2.c".loc 1 2 # 2 main().globl main.ent main.loc 1 2 main: # a $sp, -208($sp).frame $sp, 208, $26.prologue 0.loc 1 6 # 3 { # 4 int i; # 5 int a[n]; # 6 for(i=0; i<n; i++) a[i] = a[i-1]+3; mov $sp, $0 # a $1, 200($sp) L$2: l $31, 44($0) l $3, -4($0) a $0, 8($0) l $3, 3, $3 cmpult $0, $1, $4 l $3, -8($0) l $3, 3, $3 l $3, -4($0) bne $4, L$2.loc 1 7 # 7 } clr $0 # a $sp, 208($sp) ret ($26).end main

18 Universidad del País Vasco Facultad de Informática Arquitectura de Computadores II, 2000 Dep. de Arquitectura y Tecnología de Computadores Técnicas de compilación En ea sesión de laboratorio vamos a examinar el código generado por compiladores comerciales de C. Trabajaremos con una eación de trabajo SUN que utiliza el procesador SPARC y con un DIGITAL/COMPAQ con el procesador alpha. A. SUN En el directorio encontrarás eos tres programas de prueba en C: p1.c #define N 50 main() { int i; int a[n]; p2.c #define N 50 main() { int i; int a[n]; } for (i=0; i<n; i++) a[i] = a[i] + 3; } for (i=1; i<n; i++) a[i] = a[i] + a[i-1]; p3.c #define N 50 main() { int i; int a[n], b[n], c[n]; } for (i=0; i<n; i++) a[i] = b[i] + c[i] ; Para compilar los programas hay que ejecutar cc -Ox -S programa.c -Ox indica el nivel de optimización (x = 1, 2 o 3) -S genera el fichero programa.s con el código traducido a lenguaje ensamblador (no genera un fichero ejecutable)

19 Compila el programa P1 en eos cuatro casos: sin optimizar y con las optimizaciones - O1, -O2 y -O3. En cada caso examinaremos el fichero.s que se genera. Para tener una idea del efecto de eas optimizaciones podemos medir el tiempo de ejecución de cada programa. Para obtener unos tiempos de ejecución medibles edita el fichero p1.c, cambia el tamaño del vector a e introduce un bucle externo que repita la operación 10 veces. Compila nuevamente el programa, pero sin la opción -S: cc -Ox nombre.c -o nombre Ejecuta el programa anteponiendo el comando time (time nombre), para obtener una eimación del tiempo de ejecución. Repite 4 o 5 veces la ejecución y promedia los tiempos obtenidos. Rellena la tabla adjunta. ( de elementos) t. seg inr/elem t/inr % red. Sin optimizar 1. opción -O1 2. opción -O2 3. opción -O3 t.seg: tiempo de ejecución en segundos inr/elem: número de inrucciones que se ejecutan por elemento del vector t/inr: tiempo promedio de ejecución de una inrucción %red: reducción de tiempo conseguida frente a la ejecución no optimizada Repite el proceso anterior para los otros dos programas, P2 y P3. Utiliza sólo las opciones O2 y O3. Analiza en cada caso el código generado (fichero.s).

20 P1_0.S a(i) = a(i)+3 LL0:.seg "data".seg "text".proc 04.global _main _main:!#prologue# 0 sethi %hi(lf12),%g1 %g1,%lo(lf12),%g1 save %sp,%g1,%sp!#prologue# 1 %g0,[%fp+-0x4] L16: [%fp+-0x4],%o0 cmp %o0,0x32 bge L15 nop sub %fp,0xcc,%o1 [%fp+-0x4],%o2 sll %o2,0x2,%o3 [%o1+%o3],%o4 %o4,0x3,%o4 %o4,[%o1+%o3] L14: [%fp+-0x4],%o5 %o5,0x1,%o5 %o5,[%fp+-0x4] b L16 nop L15: LE12: ret reore LF12 = -272 LP12 = 64 LST12 = 64 LT12 = 64.seg "data"

21 P1_1.S a(i) = a(i)+3.seg "text".proc 4.global _main _main:!#prologue# 0!#PROLOGUE# 1 save %sp,-272,%sp %g0,[%fp-4] LY1: [%fp-4],%o2 sub %fp,204,%o1 sll %o2,2,%o2 [%o1+%o2],%o4 3,%o4 %o4,[%o1+%o2] [%fp-4],%o5 %o5 cmp %o5,50 bl LY1 %o5,[%fp-4] ret reore.seg "data"

22 P1_2.S a(i) = a(i)+3.seg "text".proc 16.global _main _main:!#prologue# 0!#PROLOGUE# 1 save %sp,-264,%sp mov 0,%i5 %fp,-200,%o0 %fp,-200,%o2 mov 200,%i4 %i4,%o2,%i4 %i5,%o0,%i5 [%i5],%o5 LY1: 3,%o5 %o5,[%i5] 4,%i5 cmp %i5,%i4 blu,a LY1 [%i5],%o5 ret reore.seg "data"

23 P1_3.S a(i) = a(i)+3.seg "text".proc 16.global _main _main:!#prologue# 0!#PROLOGUE# 1 save %sp,-264,%sp mov 0,%i5 %fp,-200,%o0 %i5,%o0,%i5 %fp,-200,%o2 mov 200,%i4 %i4,%o2,%i4 %i5,12,%o5 cmp %o5,%i4 bcc,a LY2 [%i5],%l4 [%i5],%o7 LY3: 3,%o7 %o7,[%i5] [%i5+4],%l0 3,%l0 %l0,[%i5+4] [%i5+8],%l1 3,%l1 %l1,[%i5+8] [%i5+12],%l2 3,%l2 %l2,[%i5+12] 16,%i5 %i5,12,%l3 cmp %l3,%i4 blu,a LY3 [%i5],%o7 cmp %i5,%i4 bcc L77006 nop [%i5],%l4 LY2: 3,%l4 %l4,[%i5] 4,%i5 cmp %i5,%i4 bcs,a LY2 [%i5],%l4 L77006: ret reore.seg "data"

24 P2_2.S a(i)=a(i)+a(i-1).seg "text".proc 16.global _main _main:!#prologue# 0!#PROLOGUE# 1 save %sp,-264,%sp mov 0,%i5 %fp,-204,%i4 %i5,%i4,%i4 %fp,-200,%o2 %fp,-204,%o4 mov 200,%i3 %i3,%o4,%i3 %i5,%o2,%i5 L77003: [%i4],%l0 [%i5],%l1 4,%i4 %l1,%l0,%l1 %l1,[%i5] cmp %i4,%i3 blu L ,%i5 ret reore.seg "data"

25 P2_3.S a(i)=a(i)+a(i-1) save %sp,-264,%sp mov 0,%i5 %fp,-204,%i4 %i5,%i4,%i4 %fp,-204,%o4 mov 200,%i3 %i3,%o4,%i3 %i4,12,%l0 cmp %l0,%i3 %fp,-200,%o2 bcc L77010 %i5,%o2,%i5 L77003: [%i5],%l2 [%i4],%l1 %l2,%l1,%l2 %l2,[%i5] [%i4+4],%l3 [%i5+4],%l4 %l4,%l3,%l4 %l4,[%i5+4] [%i4+8],%l5 [%i5+8],%l6 %l6,%l5,%l6 %l6,[%i5+8] [%i4+12],%l7 [%i5+12],%i0 16,%i4 %i4,12,%i1 %i0,%l7,%i0 %i0,[%i5+12] cmp %i1,%i3 blu L ,%i5 cmp %i4,%i3 bcc L77006 nop L77010: [%i4],%i2 [%i5],%o0 4,%i4 %o0,%i2,%o0 %o0,[%i5] cmp %i4,%i3 bcs L ,%i5 L77006: ret reore.seg "data"

26 P3_2.S a(i)=b(i)+c(i).seg "text".proc 16.global _main _main:!#prologue# 0!#PROLOGUE# 1 save %sp,-664,%sp mov 0,%i4 %fp,-600,%i5 %fp,-200,%i3 %i4,%i3,%i3 %i4,%i5,%i5 %fp,-400,%o4 %fp,-600,%o7 mov 200,%i2 %i2,%o7,%i2 %i4,%o4,%i4 L77003: [%i4],%l2 [%i5],%l3 4,%i5 %l2,%l3,%l2 %l2,[%i3] cmp %i5,%i2 4,%i4 blu L ,%i3 ret reore.seg "data"

27 P3_3.S a(i)=b(i)+c(i) _main: save %sp,-664,%sp mov 0,%i4 %fp,-600,%i5 %i4,%i5,%i5 %fp,-600,%o7 mov 200,%i2 %i2,%o7,%i2 %i5,12,%l2 %fp,-200,%i3 %i4,%i3,%i3 cmp %l2,%i2 %fp,-400,%o4 bcc L77010 %i4,%o4,%i4 L77003: [%i5+12],%o3 [%i5+8],%o0 [%i5+4],%l7 [%i5],%l4 [%i4+12],%o2 [%i4+8],%i1 [%i4+4],%l6 [%i4],%l3 16,%i5 %i5,12,%o5 %l3,%l4,%l3 %l6,%l7,%l6 %i1,%o0,%i1 %o2,%o3,%o2 %o2,[%i3+12] %i1,[%i3+8] %l6,[%i3+4] %l3,[%i3] cmp %o5,%i2 16,%i4 blu L ,%i3 cmp %i5,%i2 bcc L77006 nop L77010: [%i5],%l0 [%i4],%o7 4,%i5 %o7,%l0,%o7 %o7,[%i3] cmp %i5,%i2 4,%i4 bcs L ,%i3 L77006: ret reore

28 B ALPHA En ea segunda máquina vamos a repetir el análisis anterior, pero con eos dos programas: p1.c #define N 50 int a[n]; main() { int i; p2.c #define N 50 main() { int i; int a[n]; } for (i=0; i<n; i++) a[i] = a[i] + 3; } for (i=0; i<=n; i++) a[i] = a[i-1] + 3; Los programas se compilan de la misma manera: cc S -Ox unroll n nombre.c -Ox nivel de optimización (x = 1, 2, 3, 4) -S genera código en ensamblador (genera el fichero nombre.s) -unroll n para indicar el nivel de desenrolle del bucle (1 no desenrollar) Compila el programa P1 con las opciones O4 unroll 1 (no desenrollar). Analiza el fichero.s. Qué ha hecho el compilador? Repite lo anterior con el programa P2. Qué ha hecho el compilador? Desenrolla el bucle P2 dos veces. Y ahora? Para terminar, desenrolla dos veces el programa P1 (-unroll 2). Qué hace el compilador ea vez?

29

30 P1_O4_u1.s a(i) = a(i) + 3.set noat.set noreorder.comm a 200.data $$1:.text.align 4.file 1 "p1.c".loc 1 3 # 3 main().globl main.ent main.loc 1 3 main: # ah $gp, ($27)!gpdisp!1 a $gp, ($gp)!gpdisp!1.frame $sp, 0, $26.save_ra $0.prologue 1.loc 1 6 # 4 { # 5 int i; # 6 for(i=0; i<n; i++) a[i] = a[i]+3; q $1, a($gp)!literal!2 # l $3, ($1)!lituse_base!2 a $2, 4($1)!lituse_base!2 l $31, 60($2) a $1, 200($1)!lituse_base!2 cmpult $2, $1, $5 l $3, 3, $3 beq $5, L$4 L$5: a $2, 4($2) l $31, 64($2) l $6, -4($2) cmpult $2, $1, $16 l $3, -8($2) l $6, 3, $3 bne $16, L$5 L$4: l $3, -4($2).loc 1 7 # 7 } clr $0 # ret ($26).end main

31 P1_O4_u2.s a(i) = a(i) + 3.set noat.set noreorder.comm a 200.data $$1:.text.align 4.file 1 "p1.c".loc 1 3 # 3 main().globl main.ent main.loc 1 3 main: # ah $gp, ($27)!gpdisp!1 a $gp, ($gp)!gpdisp!1.frame $sp, 0, $26.save_ra $0.prologue 1.loc 1 6 # 4 { # 5 int i; # 6 for(i=0; i<n; i++) a[i] = a[i]+3; q $2, a($gp)!literal!2 # l $31, 48($2)!lituse_base!2 a $1, 200($2)!lituse_base!2 a $2, 8($2)!lituse_base!2 cmpult $2, $1, $4 beq $4, L$4 l $31, 48($2) l $5, -8($2) a $2, 8($2) cmpult $2, $1, $8 l $5, 3, $5 l $6, -12($2) beq $8, L$6 L$7: l $16, -8($2) l $6, 3, $17 l $31, 48($2) l $6, -4($2) a $2, 8($2) l $5, -24($2) cmpult $2, $1, $22 l $17, -20($2) l $16, 3, $5 bne $22, L$7 L$6: l $6, 3, $24.loc 1 7 # 7 } clr $0 # loc 1 6 l $23, -8($2) # l $6, -4($2) l $5, -16($2) l $23, 3, $5 l $6, 3, $6 l $24, -12($2) l $5, -8($2) l $6, -4($2).loc 1 7 ret ($26) # L$4:.loc 1 6 l $3, -8($2) # l $6, -4($2).loc 1 7 clr $0 # loc 1 6 l $3, 3, $5 # l $6, 3, $6 l $5, -8($2) l $6, -4($2).loc 1 7 ret ($26)

32 .end main #

33 P2_O4_u1.s a(i) = a(i-1) + 3.set noat.set noreorder.text.align 4.file 1 "p2.c".loc 1 2 # 2 main().globl main.ent main.loc 1 2 main: # a $sp, -208($sp).frame $sp, 208, $26.prologue 0.loc 1 6 # 3 { # 4 int i; # 5 int a[n]; # 6 for(i=0; i<n; i++) a[i] = a[i-1]+3; mov $sp, $0 # a $1, 200($sp) L$2: l $3, -4($0) a $0, 4($0) cmpult $0, $1, $4 l $3, 3, $3 l $3, -4($0) bne $4, L$2.loc 1 7 # 7 } clr $0 # a $sp, 208($sp) ret ($26).end main

34 P2_O4_u2.s a(i) = a(i-1) + 3.set noat.set noreorder.text.align 4.file 1 "p2.c".loc 1 2 # 2 main().globl main.ent main.loc 1 2 main: # a $sp, -208($sp).frame $sp, 208, $26.prologue 0.loc 1 6 # 3 { # 4 int i; # 5 int a[n]; # 6 for(i=0; i<n; i++) a[i] = a[i-1]+3; mov $sp, $0 # a $1, 200($sp) L$2: l $31, 44($0) l $3, -4($0) a $0, 8($0) l $3, 3, $3 cmpult $0, $1, $4 l $3, -8($0) l $3, 3, $3 l $3, -4($0) bne $4, L$2.loc 1 7 # 7 } clr $0 # a $sp, 208($sp) ret ($26).end main

35 P1_O4_u2.s a(i) = a(i) (bis) L$7: a $1, 200($2)!lituse_base!2 a $2, 8($2)!lituse_base!2 cmpult $2, $1, $4 beq $4, L$4 l $31, 48($2) l $5, -8($2) a $2, 8($2) cmpult $2, $1, $8 l $5, 3, $5 l $6, -12($2) beq $8, L$6 l $16, -8($2) l $6, 3, $17 l $31, 48($2) l $6, -4($2) a $2, 8($2) l $5, -24($2) cmpult $2, $1, $22 l $17, -20($2) l $16, 3, $5 bne $22, L$7 L$6: l $6, 3, $24.loc 1 7 # 7 } clr $0.loc 1 6 l $23, -8($2) l $6, -4($2) l $5, -16($2) l $23, 3, $5 l $6, 3, $6 l $24, -12($2) l $5, -8($2) l $6, -4($2).loc 1 7 ret ($26) # # #

EXAMEN ORDINARIO DE ORGANIZACIÓN DE COMPUTADORES

EXAMEN ORDINARIO DE ORGANIZACIÓN DE COMPUTADORES 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

Más detalles

BACHILLERATO BATXILERGOA

BACHILLERATO BATXILERGOA BACHILLERATO NORMATIVA En 2º de Bachillerato se puede repetir curso sólo con las asignaturas suspendidas. De 1º a 2º se puede pasar con dos asignaturas pendientes como máximo. Si se repite curso deberán

Más detalles

Práctica 3: Programación con subrutinas

Práctica 3: Programación con subrutinas Práctica 3: Programación con subrutinas 3.1 Objetivos El objetivo de esta práctica es estudiar el soporte del ensamblador del ARM para la gestión de subrutinas, para lo que resulta necesario familiarizarse

Más detalles

Pregunta correcta= 0,3 Pregunta no contestada= 0 Pregunta incorrecta (tipo test)= -0,15

Pregunta correcta= 0,3 Pregunta no contestada= 0 Pregunta incorrecta (tipo test)= -0,15 Pregunta correcta= 0,3 Pregunta no contestada= 0 Pregunta incorrecta (tipo test)= -0,15 Sistemas operativos, arquitectura von Neumann, configuración del PC (3 puntos) 1) Señale la opción correcta: [_]

Más detalles

Plataformas de soporte computacional: arquitecturas avanzadas,

Plataformas de soporte computacional: arquitecturas avanzadas, Plataformas de soporte computacional: arquitecturas avanzadas, sesión 2 Diego. Llanos, Belén Palop Departamento de Informática Universidad de Valladolid {diego,b.palop}@infor.uva.es Índice 1. Segmentación

Más detalles

ISA (Instruction Set Architecture) Arquitectura del conjunto de instrucciones

ISA (Instruction Set Architecture) Arquitectura del conjunto de instrucciones ISA (Instruction Set Architecture) Arquitectura del conjunto de instrucciones Instruction Set Architecture (ISA) Arquitectura del conjunto de instrucciones software Conjunto de instrucciones hardware Universidad

Más detalles

PRÁCTICAS DE ARQUITECTURA DE COMPUTADORES

PRÁCTICAS DE ARQUITECTURA DE COMPUTADORES PRÁCTICAS DE ARQUITECTURA DE COMPUTADORES PRACTICA 7 Repaso del Lenguaje Ensamblador CURSO 2005-2006 Arquitectura de Computadores. Práctica 7: Repaso del lenguaje Ensamblador 1 PRÁCTICA 7 ASPECTO TRATADO:

Más detalles

LABORATORIO DE ARQUITECTURA DE COMPUTADORES. I. T. I. SISTEMAS / GESTIÓN GUÍA DEL ALUMNO

LABORATORIO DE ARQUITECTURA DE COMPUTADORES. I. T. I. SISTEMAS / GESTIÓN GUÍA DEL ALUMNO LABORATORIO DE ARQUITECTURA DE COMPUTADORES. I. T. I. SISTEMAS / GESTIÓN GUÍA DEL ALUMNO Práctica 2: La Unidad Aritmético - Lógica Objetivos Comprender cómo se realiza un sumador con propagación de acarreo

Más detalles

Entorno de Programación Visual Studio 6

Entorno de Programación Visual Studio 6 Entorno de Programación Visual Studio 6 Pedro Corcuera Dpto. Matemática Aplicada y Ciencias de la Computación Universidad de Cantabria corcuerp@unican.es Programación en C 1 Proceso de Programación Edición

Más detalles

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

Práctica 4. Introducción a la programación en lenguaje ensamblador Enunciados de prácticas Práctica 4. Introducción a la programación en lenguaje ensamblador Laboratorio de Estructura de Computadores I. T. Informática de Gestión / Sistemas Curso 2008-2009 Práctica 4:

Más detalles

Mariaren Lagundia Ikastola; Orientazioa

Mariaren Lagundia Ikastola; Orientazioa ORIENTAZIO PROZESUA PROCESO DE ORIENTACIÓN PROZESU FORMATIBOA PROCESO FORMATIVO * AUTOGALDEKETA TESTAK (gaitasunak, nortasuna, errendimendu akademikoa...) TESTS DE AUTOCORRECCIÓN (aptitudes, personalidad,

Más detalles

Sesión 11 Implementación de sentencias condicionales

Sesión 11 Implementación de sentencias condicionales INGENIERÍATÉCNICA EN INFORMÁTICA DE GESTIÓN. CURSO 2001-2002 LABORATORIO DE ESTRUCTURA Y TECNOLOGÍA DE COMPUTADORES Sesión 11 Implementación de sentencias condicionales INSTRUCCIONES DE COMPARACIÓN Y SALTOS

Más detalles

Práctica 1. Introducción al SIEMENS 80C167

Práctica 1. Introducción al SIEMENS 80C167 Práctica 1 Introducción al SIEMENS 80C167 1 Objetivos Toma de contacto con los recursos de la tarjeta PHY80C167 basada en el microcontrolador SIEMENS 80C167 Familiarizarse con la herramienta de desarrollo

Más detalles

INSTALACIÓN DEL SPSS 15.0 DESDE UN SERVIDOR

INSTALACIÓN DEL SPSS 15.0 DESDE UN SERVIDOR INSTALACIÓN DEL SPSS 15.0 DESDE UN SERVIDOR Este manual sólo es válido para los sistemas operativos Windows 2000 y Windows XP. Para aquellos de Uds. que dispongan de otro sistema operativo distinto a los

Más detalles

Planificación estática

Planificación estática Planificación estática Planificación de bloques básicos Planificación de bucles Planificación global Serafín Benito AIC: Planificación estática 1 Planificación de bloques básicos.. Técnica sencilla. Eficiencia

Más detalles

Práctica 2: El problema de la sección crítica

Práctica 2: El problema de la sección crítica Práctica 2: El problema de la sección crítica Programación de Sistemas Concurrentes y Distribuidos Grado de Ingeniería Informática Dpto. de Informática e Ingeniería de Sistemas, Escuela de Ingeniería y

Más detalles

Informática I para Bachillerato

Informática I para Bachillerato CIMAT Introducción a la programación en C/C++ CIMAT Sesión 1 Temario Evaluación Noticias y Material del Curso Sobre la clase: Tareas Objetivo del Curso Inicio de curso Temario: 1 Introducción a la Programación

Más detalles

Lehenengoa. Agindu honetan dagoen baimen-emate honek ez dauka bere baitan, inola ere, hezkuntza-itunen araubidearen bitartezko laguntzak lortzea.

Lehenengoa. Agindu honetan dagoen baimen-emate honek ez dauka bere baitan, inola ere, hezkuntza-itunen araubidearen bitartezko laguntzak lortzea. EHAA - 2005eko urtarrilak 7, ostirala N.º 4 ZK. BOPV - viernes 7 de enero de 2005 199 besteko eraikinek bete beharreko baldintzei buruzkoa (urriaren 4ko 2177/1996 Errege Dekretuak onartua), bai eta indarreko

Más detalles

TEMA 3. EL PROCESO DE COMPILACIÓN, DEL CÓDIGO FUENTE AL CÓDIGO MÁQUINA

TEMA 3. EL PROCESO DE COMPILACIÓN, DEL CÓDIGO FUENTE AL CÓDIGO MÁQUINA TEMA 3. EL PROCESO DE COMPILACIÓN, DEL CÓDIGO FUENTE AL CÓDIGO MÁQUINA Programa: Algoritmo (secuencia no ambigua, finita y ordenada de instrucciones para la resolución de un determinado problema) traducido

Más detalles

"Programación en Ensamblador del microprocesador Pentium (I)"

Programación en Ensamblador del microprocesador Pentium (I) PRÁCTICA 3 "Programación en Ensamblador del microprocesador Pentium (I)" ÍNDICE 3.1.- El microprocesador Pentium. 3.2.- Inserción de ensamblador en Visual Studio. 3.3.- Facilidades para la depuración de

Más detalles

Introducción a Protégé

Introducción a Protégé FACULTAD DE INFORMÁTICA LICENCIATURA EN DOCUMENTACIÓN SISTEMAS DE REPRESENTACIÓN Y PROCESAMIENTO AUTOMÁTICO DEL CONOCIMIENTO Práctica 1 1ª Parte Introducción a Protégé Febrero 2003 1. Objetivo La presente

Más detalles

Tema 2 Conceptos básicos de programación. Fundamentos de Informática

Tema 2 Conceptos básicos de programación. Fundamentos de Informática Tema 2 Conceptos básicos de programación Fundamentos de Informática Índice Metodología de la programación Programación estructurada 2 Pasos a seguir para el desarrollo de un programa (fases): Análisis

Más detalles

Correo Electrónico: Webmail: Horde 3.1.1

Correo Electrónico: Webmail: Horde 3.1.1 CONTENIDOS: PAGINA Qué es Webmail?. 2 Acceder a Webmail. 2 Instilación del Certificado UCO. 4 Instilación Certificado I.explorer. 4 Instilación Certificado Firefox. 7 Opciones Webmail. 8 Opciones Información

Más detalles

Tema 1: Introducción

Tema 1: Introducción Tema 1: Introducción Procesamiento de Lenguajes Dept. de Lenguajes y Sistemas Informáticos Universidad de Alicante Procesamiento de Lenguajes Tema 1: Introducción 1 / 12 Definición de compilador Un compilador

Más detalles

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

INFORMÁTICA BÁSICA 1ª PARTE (DURACIÓN TOTAL DEL EXAMEN: 2 HORAS Y 15 MINUTOS) INFORMÁTICA BÁSICA 1ª PARTE (DURACIÓN TOTAL DEL EXAMEN: 2 HORAS Y 15 MINUTOS) Los dos ejercicios de esta parte se contestarán en la misma hoja (o varias hojas si es necesario). Es preciso responder razonadamente

Más detalles

1 INSTALACIÓN DE LA TARJETA DE COMUNICACIONES CP5613 EN EL PC (para Windows 2000 pro)

1 INSTALACIÓN DE LA TARJETA DE COMUNICACIONES CP5613 EN EL PC (para Windows 2000 pro) 1 INSTALACIÓN DE LA TARJETA DE COMUNICACIONES CP5613 EN EL PC (para Windows 2000 pro) La tarjeta CP5613 nos permite el enlace del PC con la red profibús. La utilizaremos para acceder a los distintos aparatos

Más detalles

Esta es una excelente herramienta de análisis y seguimiento de la facturación. Dispone usted de cantidad de criterios por los que analizar las ventas.

Esta es una excelente herramienta de análisis y seguimiento de la facturación. Dispone usted de cantidad de criterios por los que analizar las ventas. ANÁLISIS DE FACTURACION Esta es una excelente herramienta de análisis y seguimiento de la facturación. Dispone usted de cantidad de criterios por los que analizar las ventas. Debe comprender que la información

Más detalles

Estructura de Computadores

Estructura de Computadores Estructura de Computadores Tema 4. El procesador Departamento de Informática Grupo de Arquitectura de Computadores, Comunicaciones y Sistemas UNIVERSIDAD CARLOS III DE MADRID Contenido Elementos de un

Más detalles

Práctica 5. Curso 2014-2015

Práctica 5. Curso 2014-2015 Prácticas de Seguridad Informática Práctica 5 Grado Ingeniería Informática Curso 2014-2015 Universidad de Zaragoza Escuela de Ingeniería y Arquitectura Departamento de Informática e Ingeniería de Sistemas

Más detalles

Carlos Castro Grande 1

Carlos Castro Grande 1 QUÉ ES VISUAL BASIC.NET? GUIA DE LABORATORIO I TALLER DE DESARROLLO I VB.NET 2012 Es un lenguaje de programación de alto nivel orientado a objetos y eventos que soporta encapsulación, herencia y polimorfismo.

Más detalles

4 o Ingeniería Informática

4 o Ingeniería Informática Esquema del tema 1. Introducción 4 o Ingeniería Informática II26 Procesadores de lenguaje Estructura de los compiladores e intérpretes 2. Etapas del proceso de traducción 3. La interpretación 4. La arquitectura

Más detalles

IZENA EMATEKO ORRIA HOJA DE INSCRIPCIÓN COLONIAS EN INGLES 2014 HAURRA NIÑO/A

IZENA EMATEKO ORRIA HOJA DE INSCRIPCIÓN COLONIAS EN INGLES 2014 HAURRA NIÑO/A IZENA EMATEKO ORRIA HOJA DE INSCRIPCIÓN Izen-abizenak Nombre y apellidos Neska Chica Helbidea Dirección Udalerria Municipio Ikastetxea Centro de enseñanza Ez du ulertzen No lo entiende Mutila Chico Adiera

Más detalles

Matemáticas II PRUEBA DE ACCESO A LA UNIVERSIDAD 2012 BACHILLERATO FORMACIÓN PROFESIONAL CICLOS FORMATIVOS DE GRADO SUPERIOR.

Matemáticas II PRUEBA DE ACCESO A LA UNIVERSIDAD 2012 BACHILLERATO FORMACIÓN PROFESIONAL CICLOS FORMATIVOS DE GRADO SUPERIOR. PRUEBA DE ACCESO A LA UNIVERSIDAD 0 Matemáticas II BACHILLERATO FORMACIÓN PROFESIONAL CICLOS FORMATIVOS DE GRADO SUPERIOR Examen Criterios de Corrección y Calificación UNIBERTSITATERA SARTZEKO PROBAK 0ko

Más detalles

Colección de problemas de. Poder de Mercado y Estrategia

Colección de problemas de. Poder de Mercado y Estrategia de Poder de Mercado y Estrategia urso 3º Grado en Economía 0-03 ñaki guirre Jaromir Kovarik Marta San Martín Fundamentos del nálisis Económico Universidad del País Vasco UPV/EU Tema. Teoría de Juegos y

Más detalles

MANUAL DE USO DE LA PLATAFORMA E-LEARNING. TUTOR TÉCNICO:

MANUAL DE USO DE LA PLATAFORMA E-LEARNING. TUTOR TÉCNICO: MANUAL DE USO DE LA PLATAFORMA E-LEARNING. TUTOR TÉCNICO: tecnico@anfap.com NOTAS IMPORTANTES: Siempre se pueden mandar las tareas a los tutores pedagógicos directamente por e-mail (consulta tu tutor pedagógico

Más detalles

INSTALACIÓN DE OPENOFFICE

INSTALACIÓN DE OPENOFFICE INSTALACIÓN DE OPENOFFICE Una vez descomprimido el archivo.zip del programa, buscamos dentro de la carpeta creada, la carpeta install: Al hacer doble clic sobre ella veremos un archivo ejecutable, que

Más detalles

EKAINAK 3 JUNIO Turismo kolaboratiboa (Airbnb, BlaBla Car, Couchsurfing )

EKAINAK 3 JUNIO Turismo kolaboratiboa (Airbnb, BlaBla Car, Couchsurfing ) EKAINAK 3 JUNIO Turismo kolaboratiboa (Airbnb, 18 eta 30 urte bitarteko gazteentzat Ekonomia-krisialdia oraindik ere aldean dugula, Interneten bidez joera berri batek indarra hartu du: zerbitzuak erabili

Más detalles

SISTEMAS INFORMÁTICOS EN TIEMPO REAL 2º Ingeniería Industrial MANUAL DE HERRAMIENTAS SOFTWARE PARA PROGRAMACIÓN EN UNIX

SISTEMAS INFORMÁTICOS EN TIEMPO REAL 2º Ingeniería Industrial MANUAL DE HERRAMIENTAS SOFTWARE PARA PROGRAMACIÓN EN UNIX 1 OBJETIVO Este manual describe las herramientas básicas necesarias para programar y gestionar una estación UNIX remota. El software necesario es gratuito y está disponible en la página web de la asignatura

Más detalles

MICROSOFT FRONTPAGE Contenido

MICROSOFT FRONTPAGE Contenido MICROSOFT FRONTPAGE Contenido CREAR UN SITIO WEB... 2 MARCOS... 5 FONDO DE LA PÁGINA... 7 MARQUESINAS... 8 CREAR HIPERVÍNCULOS... 9 BOTONES ACTIVABLES... 11 LOS MAPAS DE IMÁGENES... 13 INSERTAR SONIDOS...

Más detalles

Hardware: componentes físicos (UCP, discos, impresora, circuitos de E/S,...) Software: componentes lógicos (lo que no es hardware)

Hardware: componentes físicos (UCP, discos, impresora, circuitos de E/S,...) Software: componentes lógicos (lo que no es hardware) 1. Niveles de organización de computadoras Hardware y software Enfoque de máquina multinivel Clasificación de computadoras Hardware y Software Hardware: componentes físicos (UCP, discos, impresora, circuitos

Más detalles

Edición de audio. Parte III

Edición de audio. Parte III Empecemos! En el mundo de la edición multimedia, específicamente en lo que se refiere a audio, encontraremos diversidad de clientes, exigencias y programas. En el caso de los programas de edición, algunos

Más detalles

Estructuras de Datos y Algoritmos Tecnólogo en Informática

Estructuras de Datos y Algoritmos Tecnólogo en Informática Estructuras de Datos y Algoritmos Tecnólogo en Informática INSTRUCTIVO DEL COMANDO MAKE ESTRUCTURAS DE DATOS Y ALGORITMOS - TECNÓLOGO EN INFORMÁTICA 1 Contenido Introducción... 3 El archivo makefile...

Más detalles

1.2 Algoritmo. Proceso de solución de un problema. Resolviendo problemas con la computadora. Programación

1.2 Algoritmo. Proceso de solución de un problema. Resolviendo problemas con la computadora. Programación Universidad Autónoma de Baja California Facultad de Ingeniería Mexicali Programación Unidad I - Metodología para la solución de s 1.2 Algoritmo 1. Definición de 2. Características de un 3. Pruebas de escritorio

Más detalles

Este programa mueve cada motor de forma independiente, y cuando termina una línea pasa a la siguiente.

Este programa mueve cada motor de forma independiente, y cuando termina una línea pasa a la siguiente. 1 Programa 1 Utilizando el icono añadimos un movimiento a por cada línea de programa. Podremos usar 8 posibles líneas de programa (Base, Hombro, Codo, Muñeca, Pinza, Salida 1, Salida 2 y línea en blanco).

Más detalles

Aumentar visitas en su web de manera efectiva

Aumentar visitas en su web de manera efectiva Tiempo estimado de lectura 10 minutos Seminario PM Office @ SFIC 08 Márketing 0. Introducción y y publicidad contenidos en Internet Aumentar visitas en su web de manera efectiva Marketing y publicidad

Más detalles

1. Manejo de memoria estática 2. Manejo de memoria dinámica

1. Manejo de memoria estática 2. Manejo de memoria dinámica 1. Manejo de memoria estática 2. Manejo de memoria dinámica *La administración de memoria de una computadora es una tarea fundamental debido a que la cantidad de memoria es limitada. *El sistema operativo

Más detalles

MEDIDA DE LA VELOCIDAD DEL SONIDO. TUBO DE RESONANCIA

MEDIDA DE LA VELOCIDAD DEL SONIDO. TUBO DE RESONANCIA eman ta zabal zazu Departamento de Física de la Materia Condensada universidad del país vasco euskal herriko unibertsitatea FACULTAD DE CIENCIA Y TECNOLOGÍA UNIVERSIDAD DEL PAÍS VASCO DEPARTAMENTO de FÍSICA

Más detalles

RESULTADOS PRUEBAS DE INGLÉS GLOBAL TRAINING 2014 UPV/EHU INGELESA PROBAREN EMAITZAK - GLOBAL TRAINING 2014 UPV/EHU

RESULTADOS PRUEBAS DE INGLÉS GLOBAL TRAINING 2014 UPV/EHU INGELESA PROBAREN EMAITZAK - GLOBAL TRAINING 2014 UPV/EHU RESULTADOS PRUEBAS DE INGLÉS GLOBAL TRAINING 2014 UPV/EHU A continuación se presenta la valoración de la prueba de inglés realizada la semana pasada, así como las personas que no tuvieron que hacer la

Más detalles

El Producto: Software

El Producto: Software Este material está basado en el curso preparado por A.Navarro, UCM U (que a su vez sigue el texto del libro de Pressman) El Producto: Software Ingeniería del Software de Gestión 1 Facultad de Informática

Más detalles

BIDEO ERREPRODUZITZAILEA REPRODUCTOR DE VÍDEO

BIDEO ERREPRODUZITZAILEA REPRODUCTOR DE VÍDEO BIDEO ERREPRODUZITZAILEA REPRODUCTOR DE VÍDEO 47 DEFINIZIOA Zer da? Bideo-erreproduzitzailea bideo-artxiboak erreproduzitzen dituen aplikazioa edo tresna da. Erreproduzitzaile gehienek bideoa eta audioa

Más detalles

Taller Práctico Creación de un LO IMS/SCORM

Taller Práctico Creación de un LO IMS/SCORM Taller Práctico Creación de un LO IMS/SCORM Madrid 2005 Por: Jorge Dieguez Cobo (xml_pro@hotmail.com) Índice: - Introducción - Paso 1: Copiar los ficheros - Paso 2: Crear el Paquete SCORM - Paso 3: Crear

Más detalles

Práctica 0. Emulador XENON de la computadora CESIUS

Práctica 0. Emulador XENON de la computadora CESIUS Práctica 0. Emulador XENON de la computadora CESIUS 1. Introducción El objeto de la presente práctica es permitir al alumno ensayar y familiarizarse con los conceptos de programación de computadoras digitales

Más detalles

PRÁCTICA 10. Configuración de Correo y Publicar en la Web

PRÁCTICA 10. Configuración de Correo y Publicar en la Web PRÁCTICA 10. Configuración de Correo y Publicar en la Web INFORMÁTICA BÁSICA Publicidad y Relaciones Públicas y Periodismo. Curso 2006/2007 1. Configuración del correo Gestores de correo en la máquina

Más detalles

Tema 6: Generación de código (parte 2)

Tema 6: Generación de código (parte 2) Tema 6: Generación de código (parte 2) Procesamiento de Lenguajes Dept de Lenguajes y Sistemas Informáticos Universidad de Alicante Procesamiento de Lenguajes Tema 6: Generación de código (parte 2) 1 /

Más detalles

Ejercicios de fundamentos de los computadores

Ejercicios de fundamentos de los computadores Ejercicios de fundamentos de los computadores José Luis Sánchez Romero Antonio Jimeno Morenilla David Gil Méndez Universidad de Alicante Mª Asunción Pomares Mas IES Misteri d Elx, Elche (Alicante) Título:

Más detalles

MANUAL BÁSICO CORREO WEB ULPGC ÍNDICE

MANUAL BÁSICO CORREO WEB ULPGC ÍNDICE MANUAL BÁSICO CORREO WEB ULPGC ÍNDICE 1.- ACCESO A LA APLICACIÓN...1 1.1.- Pantalla de acceso... 1 1.2.- Panel principal... 2 2.- BANDEJA DE ENTRADA...3 2.1.- Leer el correo recibido... 3 2.2.- Descargar

Más detalles

Manual de Automatización de Inventario de Equipos de Computo

Manual de Automatización de Inventario de Equipos de Computo INTRODUCCIÓN El siguiente manual indicara el procedimiento a seguir para la correcta instalación y ejecución de la aplicación OCS Inventory encargada de realizar el inventario de software de los equipos

Más detalles

ARQUITECTURA DE DISTRIBUCIÓN DE DATOS

ARQUITECTURA DE DISTRIBUCIÓN DE DATOS 4 ARQUITECTURA DE DISTRIBUCIÓN DE DATOS Contenido: Arquitectura de Distribución de Datos 4.1. Transparencia 4.1.1 Transparencia de Localización 4.1.2 Transparencia de Fragmentación 4.1.3 Transparencia

Más detalles

Práctica Nº 4 Entorno de Programación

Práctica Nº 4 Entorno de Programación REPÚBLICA BOLIVARIANA DE VENEZUELA MINISTERIO DE LA DEFENSA UNIVERSIDAD NACIONAL EXPERIMENTAL POLITÉCNICA DE LA FUERZA ARMADA DEP. DE ING. ELECTRÓNICA LABORATORIO DE ARQUITECTURA DEL COMPUTADOR Objetivos:

Más detalles

MANUAL PARA EL OPERADOR DE LA RED ANTARTICA DE LOS NILU

MANUAL PARA EL OPERADOR DE LA RED ANTARTICA DE LOS NILU MANUAL PARA EL OPERADOR DE LA RED ANTARTICA DE LOS NILU MEDIDAS DIARIAS Extracción automática de los datos Para capturar los datos se usará el programa wnilusender.exe y para graficar la salida de los

Más detalles

Estructuras de repetición hacer-mientras y repita hasta

Estructuras de repetición hacer-mientras y repita hasta Estructuras de repetición hacer-mientras y repita hasta Programación 1 Cátedra de Programación Departamento de Computación Escuela de Ingeniería de Sistemas Hacer mientras Diagrama de flujo Acciones S1

Más detalles

Módulo 1 El lenguaje Java

Módulo 1 El lenguaje Java Módulo 1 El lenguaje 1.1 Presentación de es un lenguaje de programación desarrollado por la empresa Sun Microsystems en 1991 como parte de un proyecto secreto de investigación llamado Green Proyect, con

Más detalles

Uso del simulador Modelsim

Uso del simulador Modelsim Introducción al laboratorio: Uso del simulador Modelsim Diseño y Simulación de Circuitos Electrónicos por Asistido por Computador Ingeniería Técnica Industrial Electrónica Modelsim es un software que administra

Más detalles

Cómo crear una encuesta online básica con encuestafacil

Cómo crear una encuesta online básica con encuestafacil Cómo crear una encuesta online básica con encuestafacil nº 1 Tutoriales 111 CONTENIDO En este tutorial vamos a aprender cómo iniciar la sesión en http://encuestafacil.com con una cuenta ORO, previamente

Más detalles

Arquitectura de Computadores: Exámenes y Controles

Arquitectura de Computadores: Exámenes y Controles 2º curso / 2º cuatr. Grado en Ing. Informática Doble Grado en Ing. Informática y Matemáticas Arquitectura de Computadores: Exámenes y Controles Examen de Prácticas AC 05/07/2013 resuelto Material elaborado

Más detalles

PARTE II: Programación en ensamblador

PARTE II: Programación en ensamblador Cuaderno de Prácticas Laboratorio de Fundamentos de Computadores PARTE II: Programación en ensamblador Autor: Rafael Moreno Vozmediano Facultad de Informática La Máquina Rudimentaria: Arquitectura del

Más detalles

IS23 Mantenimiento de Instalaciones Informáticas Práctica 7. Análisis de redes

IS23 Mantenimiento de Instalaciones Informáticas Práctica 7. Análisis de redes IS23 Mantenimiento de Instalaciones Informáticas Práctica 7. Análisis de redes 1 Objetivos Ingeniería Técnica Informática de Sistemas Curso 2003/2004 En la presente sesión se pretende familiarizar al alumno

Más detalles

1. Introducción. 1.1 Ejercicio 1: Estación Meteorológica (4.0 pts.)... 1 1.2 Ejercicio 2: Gestión Académica: Alumnos (5.0 pts.)...

1. Introducción. 1.1 Ejercicio 1: Estación Meteorológica (4.0 pts.)... 1 1.2 Ejercicio 2: Gestión Académica: Alumnos (5.0 pts.)... Examen Junio Grupo A Programación en C++ Pág. 1 ÍNDICE ÍNDICE... 1 1. Introducción.... 1 1.1 Ejercicio 1: Estación Meteorológica (4.0 pts.)... 1 1.2 Ejercicio 2: Gestión Académica: Alumnos (5.0 pts.)...

Más detalles

Dibujo técnico II PRUEBA DE ACCESO A LA UNIVERSIDAD 2014 BACHILLERATO FORMACIÓN PROFESIONAL CICLOS FORMATIVOS DE GRADO SUPERIOR.

Dibujo técnico II PRUEBA DE ACCESO A LA UNIVERSIDAD 2014 BACHILLERATO FORMACIÓN PROFESIONAL CICLOS FORMATIVOS DE GRADO SUPERIOR. Dibujo técnico II BACHILLERATO FORMACIÓN PROFESIONAL CICLOS FORMATIVOS DE GRADO SUPERIOR Examen Criterios de Corrección y Calificación UNIBERTSITATERA SARTZEKO PROBAK ko EKAINA MARRAZKETA TEKNIKOA II PRUEBAS

Más detalles

Informática I para Bachillerato

Informática I para Bachillerato CIMAT Introducción a la programación en C/C++ CIMAT Sesión 2 Cual es el lenguaje máquina? El lenguaje utilizado por el procesador se denomina lenguaje máquina. Se trata de datos tal como llegan al procesador,

Más detalles

Tiempo de Compilación. Programa fuente. Secuencia. de caracteres. Scanner. Secuencia. de símbolos Parser. Compilador.

Tiempo de Compilación. Programa fuente. Secuencia. de caracteres. Scanner. Secuencia. de símbolos Parser. Compilador. ORGANIZACIÓN DE LA MEMORIA EN TIEMPO DE EJECUCIÓN Compilador Tiempo de Compilación Programa fuente Secuencia de caracteres Scanner Secuencia de símbolos Parser Árbol sintáctico Analizador semántico Generador

Más detalles

CLASE # 5 TÉCNICAS DE CAJA BLANCA

CLASE # 5 TÉCNICAS DE CAJA BLANCA CLASE # 5 TÉCNICAS DE CAJA BLANCA 750105M - TÉCNICAS DE PRUEBAS DE SOFTWARE INGENIERÍA DE SISTEMAS Y COMPUTACIÓN UNIVERSIDAD DEL VALLE SEMESTRE 2013A - DOCENTE BEATRIZ FLORIAN GAVIRIA Basado Parcialmente

Más detalles

TRANSFERENCIA DE INFORMACIÓN CON FTP

TRANSFERENCIA DE INFORMACIÓN CON FTP TRANSFERENCIA DE INFORMACIÓN CON FTP La finalidad de Internet es el intercambio de información. Existe la necesidad de transferir grandes archivos desde un punto de la red a otro punto (punto a punto),

Más detalles

1.-Descargar las herramientas y configurarlas. Para editar pseudolenguaje y poder ejecutarlo descargar y configurar las siguientes herramientas:

1.-Descargar las herramientas y configurarlas. Para editar pseudolenguaje y poder ejecutarlo descargar y configurar las siguientes herramientas: 7.- Guía de uso Todo funcionará como usted espera, a no ser que sus expectativas sean incorrectas. - Hyman Rosen En este apartado se intentan ver todos los pasos que hay que realizar para que un fichero

Más detalles

Prácticas Sistemas y Tecnologías de Información Práctica 5

Prácticas Sistemas y Tecnologías de Información Práctica 5 Prácticas Sistemas y Tecnologías de Información Práctica 5 Profesores: Jaime Gómez Rafael Romero Antonio Requena Ramón Rubio Jesús Hermida Manuel Marco (coord) Andrés Montoyo 2011-2012 Grado en Ingeniería

Más detalles

Tema 2. Diseño del repertorio de instrucciones

Tema 2. Diseño del repertorio de instrucciones Soluciones a los problemas impares Tema 2. Diseño del repertorio de instrucciones Arquitectura de Computadores Curso 2009-2010 Tema 2: Hoja: 2 / 16 Tema 2: Hoja: 3 / 16 Base teórica Al diseñar un computador,

Más detalles

Como ejecutar el programa PRUF. Cía. HASAR saic

Como ejecutar el programa PRUF. Cía. HASAR saic -- Programa pruf.exe -- 1 Uso dell prrogrrama PRUF..EXE El programa pruf.exe ha sido pensado para que resulte un buen asistente para el programador durante la etapa de desarrollo y/o adaptación de su aplicación,

Más detalles

Capítulo 1: Introducción a los Sistemas de Gestión de Bases de Datos (SGBD)

Capítulo 1: Introducción a los Sistemas de Gestión de Bases de Datos (SGBD) Capítulo 1: Introducción a los Sistemas de Gestión de Bases de Datos (SGBD) Fernando Cano Espinosa Universidad de Oviedo. Departamento de Informática fcano@uniovi.es Produced with L A T E X seminar style

Más detalles

14 - AR R AN Q U E Y P U E S T A E N M AR C H A

14 - AR R AN Q U E Y P U E S T A E N M AR C H A 14 - AR R AN Q U E Y P U E S T A E N M AR C H A D E F R E S AD O R A D E C O N T R O L N U M É R I C O C O M P U T E R I Z AD O AUTOR: Francisco Javier Fernández Torroba CENTRO TRABAJO: CIP Virgen del

Más detalles

UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS ESCUELA DE COMPUTACIÓN

UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS ESCUELA DE COMPUTACIÓN UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS ESCUELA DE COMPUTACIÓN CICLO: 02/2015 GUIA DE LABORATORIO #11 Nombre de la Práctica: Administración de cursos haciendo uso de Moodle Lugar de Ejecución:

Más detalles

Tema 1: y el lenguaje Java 1.Programación orientada a objetos 2.El lenguaje Java 3.Compilación, bytecode y JVMs 4.Entornos de desarrollo Java 5.Java vs otros lenguajes OO Programación orientada a objetos

Más detalles

ClowdsStoragePlugin Documentation

ClowdsStoragePlugin Documentation ClowdsStoragePlugin Documentation Publicación alpha Igeko 05 de May de 2015 Índice general 1. Bienvenido a la documentación de Clowds 1 1.1. Para empezar bien..............................................

Más detalles

1.- Introducción 2.- Requisitos de Hardware y Software: 2.1.- Plataformas y Sistemas Operativos 2.2.- Requisitos adicionales 3.

1.- Introducción 2.- Requisitos de Hardware y Software: 2.1.- Plataformas y Sistemas Operativos 2.2.- Requisitos adicionales 3. 1.- Introducción 2.- Requisitos de Hardware y Software: 2.1.- Plataformas y Sistemas Operativos 2.2.- Requisitos adicionales 3.- Generación del archivo de identificación de servidor 4.- Instalación del

Más detalles

Capítulo 1 Introducción a la Computación

Capítulo 1 Introducción a la Computación Capítulo 1 Introducción a la Computación 1 MEMORIA PRINCIPAL (RAM) DISPOSITIVOS DE ENTRADA (Teclado, Ratón, etc) C P U DISPOSITIVOS DE SALIDA (Monitor, Impresora, etc.) ALMACENAMIENTO (Memoria Secundaria:

Más detalles

Introducción al laboratorio de Programación I

Introducción al laboratorio de Programación I Introducción al laboratorio de Programación I Manuel Montenegro montenegro@fdi.ucm.es es Despacho B12 Compilación Es el proceso de transformación de un programa escrito en un lenguaje de alto nivel (en

Más detalles

Introducción al.net Framework. Introducción al.net Framework. Diseño Basado en Componentes. Curso 2008 / 09. Diseño Basado en Componentes

Introducción al.net Framework. Introducción al.net Framework. Diseño Basado en Componentes. Curso 2008 / 09. Diseño Basado en Componentes Introducción al.net Framework Diseño Basado en Componentes Introducción al.net Framework Arquitectura.NET Herramientas, lenguajes y tecnologías.net.net Framework Ingeniería Informática Universidad Carlos

Más detalles

Apellidos Nombre DNI

Apellidos Nombre DNI A continuación se muestra el listado de un programa cuyo objetivo es encontrar una palabra dentro de una cadena de caracteres de la sección de datos y copiar dicha palabra en otra zona de la sección de

Más detalles

Computación Evolutiva - Mutación: Cruza, Inversión y Mutación para Permutaciones

Computación Evolutiva - Mutación: Cruza, Inversión y Mutación para Permutaciones Computación Evolutiva - Mutación: Cruza, Inversión y Mutación para Permutaciones Dr. Gregorio Toscano Pulido Laboratorio de Tecnologías de Información Centro de Investigación y de Estudios Avanzados del

Más detalles

APLICAR MANTENIMIENTO PREVENTIVO AL SOFTWARE

APLICAR MANTENIMIENTO PREVENTIVO AL SOFTWARE APLICAR MANTENIMIENTO PREVENTIVO AL SOFTWARE PARA CONSERVAR EL EQUIPO DE CÓMPUTO AGUILAR CAMACHO GLORIA CAROLINA CAN MAY TELMA DANIELA. INTRODUCCIÓN Cuando tenemos una computadora nueva o ensamblada su

Más detalles

Evaluación del rendimiento de procesadores Intel Nehalem. Modelos x7550, x5670 y x5570

Evaluación del rendimiento de procesadores Intel Nehalem. Modelos x7550, x5670 y x5570 Evaluación del rendimiento de procesadores Intel Nehalem. Modelos x7550, x5670 y x5570 Juan Carlos Fernández Rodríguez. Área de HPC. Centro Informático Científico de Andalucía (CICA) Junta de Andalucía

Más detalles

Introducción al lenguaje Java

Introducción al lenguaje Java Tipo de entrega: Fecha límite: Lugar: Introducción al lenguaje Java por grupos de prácticas sesión de laboratorio Atenea Objetivos de la práctica: Escribir aplicaciones simples en Java Utilizar el entorno

Más detalles

GUIA DE LABORATORIO #6 Nombre de la Practica: Antivirus ClamAV Laboratorio de Redes Tiempo Estimado: 2 Horas y 30 Minutos 1.

GUIA DE LABORATORIO #6 Nombre de la Practica: Antivirus ClamAV Laboratorio de Redes Tiempo Estimado: 2 Horas y 30 Minutos 1. UNIVERSIDAD DON BOSCO FACULTAD DE ESTUDIOS TECNOLÓGICOS ESCUELA DE COMPUTACIÓN CICLO: I-2015 GUIA DE LABORATORIO #6 Nombre de la Practica: Antivirus ClamAV Lugar: Laboratorio de Redes Tiempo Estimado:

Más detalles

Es un software de simulación que ejecuta programas en lenguaje de ensamblador para procesadores con arquitectura MIPS32.

Es un software de simulación que ejecuta programas en lenguaje de ensamblador para procesadores con arquitectura MIPS32. Arquitectura de Computadoras Jose Luis Tecpanecatl Xihuitl, Ph.D. Es un software de simulación que ejecuta programas en lenguaje de ensamblador para procesadores con arquitectura MIPS32. SPIM lee e inmediatamente

Más detalles

Manual básico de Robomid

Manual básico de Robomid Manual básico de Robomid Elaborado por: Daniel Gónzález Índice 1. Introducción a Robomind... 3 2. Uso del programa Robomind 2.6... 7 3. Ejercicios... 9-2- 1. Introducción a Robomind 1.1. Introdución Robo

Más detalles

Ejercicios. 5.2 [5] < 5.3> Este ejercicio es similar al 5.1, pero ahora considere los fallos causados por permanecer en 1 (la señal es siempre 1).

Ejercicios. 5.2 [5] < 5.3> Este ejercicio es similar al 5.1, pero ahora considere los fallos causados por permanecer en 1 (la señal es siempre 1). Ejercicios 5.1 [5] < 5.3> Describa el efecto que un simple fallo permanecer como 0 (es decir, independiente de lo que debería ser, la señal es siempre 0) provocaría en los multiplexores en el camino de

Más detalles

Cultura audiovisual PRUEBA DE ACCESO A LA UNIVERSIDAD 2013 BACHILLERATO FORMACIÓN PROFESIONAL CICLOS FORMATIVOS DE GRADO SUPERIOR.

Cultura audiovisual PRUEBA DE ACCESO A LA UNIVERSIDAD 2013 BACHILLERATO FORMACIÓN PROFESIONAL CICLOS FORMATIVOS DE GRADO SUPERIOR. PRUEBA DE ACCESO A LA 2013 Cultura audiovisual BACHILLERATO FORMACIÓN PROFESIONAL CICLOS FORMATIVOS DE GRADO SUPERIOR Examen Criterios de Corrección y Calificación Azterketa honek bi aukera ditu. Haietako

Más detalles

Manual Mage Translator by Interactiv4 Versión 1.0.7 13/06/2013

Manual Mage Translator by Interactiv4 Versión 1.0.7 13/06/2013 Manual Mage Translator by Interactiv4 Versión 1.0.7 13/06/2013 1 1.- Quién es interactiv4 Interactiv4 es Magento Solution Partner Interactiv4 es un partner Magento reconocido y con muchos proyectos de

Más detalles

Wagner Dávila, Maynor De la Rosa EDIFICIO: EPS SECCIÓN: A SALÓN DEL CURSO: EPS-1 SALÓN DEL LABORATORIO: T-3 401 HORAS POR SEMANA DEL CURSO: AUXILIAR:

Wagner Dávila, Maynor De la Rosa EDIFICIO: EPS SECCIÓN: A SALÓN DEL CURSO: EPS-1 SALÓN DEL LABORATORIO: T-3 401 HORAS POR SEMANA DEL CURSO: AUXILIAR: NOMBRE DEL CURSO: PRÁCTICAS INTERMEDIAS PARA INGENIERÍA EN CIENCIAS Y SISTEMAS http://sitiosingeniería-usacedugt/eps/ CÓDIGO: 2036 CRÉDITOS: SIN CRÉDITOS ESCUELA: ÁREA A LA QUE PERTENECE: EPS PRE REQUISITO:

Más detalles

Compilación y ejecución de programas en Java.

Compilación y ejecución de programas en Java. Java Virtual Machine La mayoría de los lenguajes de programación se caracterizan por ser interpretados o compilados, lo que determina la manera en como serán ejecutados en una computadora. Java tiene la

Más detalles