Вы находитесь на странице: 1из 14

Estructura de Computadores

Objetivos del curso

Grupo de Arquitectura de Computadores, Comunicaciones y Sistemas


Departamento de Informtica
UNIVERSIDAD CARLOS III DE MADRID
Objetivo del curso

 El principal objetivo del curso es describir los principales


componentes de un computador y el funcionamiento bsico del
mismo.

?
ARCOS Estructura de Computadores 2
Entender cmo se ejecuta un programa

temp = v[k]; Lenguaje de alto nivel (C)


v[k] = v[k+1];
v[k+1] = temp;

ARCOS Estructura de Computadores 3


Entender cmo se ejecuta un programa

temp = v[k]; Lenguaje de alto nivel (C)


v[k] = v[k+1];
v[k+1] = temp;

0000 1001 1100 0110 1010 1111 0101 1000


1010 1111 0101 1000 0000 1001 1100 0110
1100 0110 1010 1111 0101 1000 0000 1001
0101 1000 0000 1001 1100 0110 1010 1111
Instrucciones mquina

ARCOS Estructura de Computadores 4


Entender cmo se ejecuta un programa

temp = v[k]; Lenguaje de alto nivel (C)


v[k] = v[k+1];
v[k+1] = temp;

lw $t0, 0($2)
lw $t1, 4($2)
sw $t1, 0($2)
Lenguaje ensamblador
sw $t0, 4($2)

0000 1001 1100 0110 1010 1111 0101 1000


1010 1111 0101 1000 0000 1001 1100 0110
1100 0110 1010 1111 0101 1000 0000 1001
0101 1000 0000 1001 1100 0110 1010 1111
Instrucciones mquina

ARCOS Estructura de Computadores 5


Entender cmo se ejecuta un programa

temp = v[k];
v[k] = v[k+1];
v[k+1] = temp; Compilador

lw $t0, 0($2)
lw $t1, 4($2)
sw $t1, 0($2) Ensamblador
sw $t0, 4($2)

0000 1001 1100 0110 1010 1111 0101 1000


1010 1111 0101 1000 0000 1001 1100 0110
1100 0110 1010 1111 0101 1000 0000 1001
0101 1000 0000 1001 1100 0110 1010 1111

ARCOS Estructura de Computadores 6


Ejemplo 1

int n;
n = 40000;
printf("%d \n", n *n );

n = 50000;
printf("%d \n", n *n );

 Es correcta esta salida?


1600000000
-1794967296

ARCOS Estructura de Computadores 7


Ejemplo 2

float x, y , z;

x = 1.0e20;
y = -1.0e20;
z = 3.14;

printf("%f\n", (x + y) + z);
printf("%f\n", x + (y + z));

 Es (x+y) + z == x + (y+z)?

ARCOS Estructura de Computadores 8


Ejemplo 3

 Cdigo 1
int a[N][N]
for (i=0; i < N; i++)
for (j=0; j < N; j++)
sum = sum + a[i][j];

 Cdigo 2
int a[N][N]
for (j=0; j < N; j++)
for (i=0; i < N; i++)
sum = sum + a[i][j];
 Hacen lo mismo?
 Tardan lo mismo en ejecutarse?

ARCOS Estructura de Computadores 9


Ejemplo 4

#include <stdio.h>
#define BLOCK_SIZE 512
void main(int argc, char **argv)
{
int fde, fds;
char buffer[BLOCK_SIZE];
int n;
fde = open(argv[1], 0);
fds = creat(argv[2], 0666);
while((n = read(fde, buffer, BLOCK_SIZE))> 0)
write(fds, buffer, n);
close(fde);
close(fds);
return;
}

 Qu ocurre si BLOCK_SIZE = 8192?

ARCOS Estructura de Computadores 10


Ejemplo 5

 Procesadores multicore

 Es ms rpido un procesador con dos ncleos o con cuatro?

ARCOS Estructura de Computadores 11


Temario

Tema 1. Introduccin a los computadores


Tema 2. Representacin de la informacin
Tema 3. Fundamentos de la programacin en ensamblador
Tema 4. El procesador
Tema 5. Sistemas de memoria
Tema 6. Sistemas de Entrada/salida

ARCOS Estructura de Computadores 12


Bibliografa

 Problemas resueltos de Estructura


de Computadores
F. Garca, J. Carretero, J. D. Garca
D. Expsito
Paraninfo, 2009

 Computer Organizacin and Design.


The Hardware/Software Interface
David. A. Patterson, John L. Hennessy
Morgan Kaufmann, 2009

ARCOS Estructura de Computadores 13


Bibliografa

 Organizacin y arquitectura de
Computadores
W. Stallings, 7 edicin, 2006
Prentice-Hall

ARCOS Estructura de Computadores 14

Вам также может понравиться