Você está na página 1de 45

ARQUITECTURA DE COMPUTADORES

Curso 0: Arquitectura de Computadores

Carlos Garre
carlos.garre@urjc.es

ESCUELA TCNICA SUPERIOR DE INGENIERA


1
INFORMTICA
ndice
ARQUITECTURA DE COMPUTADORES

 Representacin de la Informacin
 Introduccin a la Arquitectura de Computadores
 Modelo Von Neumann
 Jerarqua de Memoria
 El Procesador
 Dispositivos de Entrada/Salida
 Arquitecturas Avanzadas

ESCUELA TCNICA SUPERIOR DE INGENIERA


2
INFORMTICA
Representacin de la Informacin
ARQUITECTURA DE COMPUTADORES

 Codificacin:

 El ordenador codifica toda clase de informacin


utilizando nicamente dos valores:
 0: ausencia de corriente elctrica.
 1: corriente elctrica.
ESCUELA TCNICA SUPERIOR DE INGENIERA
3
INFORMTICA
Representacin de Nmeros
ARQUITECTURA DE COMPUTADORES

 Es comn que trabajemos directamente con informacin


numrica: contabilidad, calificaciones del mster, etc
 Pero adems, el ordenador muchas veces trabaja
implcitamente con nmeros:
 Cuando jugamos a un juego de ordenador, ste debe calcular
constantemente las coordenadas espaciales de todos los elementos
de nuestro escenario 3D, y esas coordenadas se representan como
vectores de nmeros reales.
 Cuando escribimos un texto en Word, ste debe llevar un recuento
del nmero de pginas, de la numeracin de los captulos, etc.
 Cuando navegamos por Internet, el ordenador debe controlar las
direcciones IP y los puertos TCP y controlar muchos otros nmeros
que permiten la conexin entre dos mquinas (nmeros de secuencia,
sumas de comprobacin, etc).

ESCUELA TCNICA SUPERIOR DE INGENIERA


4
INFORMTICA
Representacin de Nmeros
ARQUITECTURA DE COMPUTADORES

 La forma de representar (codificar) los nmeros es diferente


segn el dominio que queramos representar:
 Nmeros naturales:
 Binario natural.
 BCD.
 Nmeros enteros:
 Signo y Magnitud.
 Representacin en complementos (Ca1 y Ca2).
 Representaciones en exceso.
 Nmeros reales:
 Coma fija.
 Coma flotante (estndar IEEE-754).

ESCUELA TCNICA SUPERIOR DE INGENIERA


5
INFORMTICA
Contando en binario
ARQUITECTURA DE COMPUTADORES

Hasta cunto podemos contar con los dedos de las manos?

ESCUELA TCNICA SUPERIOR DE INGENIERA


6
INFORMTICA
Contando en binario
ARQUITECTURA DE COMPUTADORES

ESCUELA TCNICA SUPERIOR DE INGENIERA


7
INFORMTICA
Conversin de binario a decimal
ARQUITECTURA DE COMPUTADORES

 Base decimal:
345)10 = 3*102 + 4*101 + 5*100

 Base B:
X)B = CNCN-1 C2C1C0 = C0*B0 + C1*B1 + C2*B2 + + CN-1*BN-1 +
CN*BN

 Base binaria (B=2):


10111001101)2 = 1*20 + 0*21 + 1*22 + 1*23 + 0*24 + 0*25 +
1*26 + 1*27 + 1*28 + 0*29 + 1*210 = 1 + 4 + 8 + 64 + 128 + 256 +
1024 = 1485)10

ESCUELA TCNICA SUPERIOR DE INGENIERA


8
INFORMTICA
Definiciones y conceptos clave
ARQUITECTURA DE COMPUTADORES

 Bit: una cifra en sistema binario. Puede ser 0 o 1.


 Byte: secuencia de 8 bits.
 Cul es el mayor nmero que podemos representar con un
byte?
11111111)2 = 255)10

En general, con una secuencia de N bits podemos representar


nmeros desde 0 hasta 2N-1 (2N valores diferentes)

ESCUELA TCNICA SUPERIOR DE INGENIERA


9
INFORMTICA
Conversin de decimal a binario
ARQUITECTURA DE COMPUTADORES

 Mtodo de las divisiones sucesivas:


1. Dividimos el nmero por la base (2), y obtenemos como resultado un
cociente y un resto de la divisin. Anotamos el resto.
2. Cogemos el cociente de la anterior divisin, y lo dividimos por la base
(2). Anotamos el resto.
3. Continuamos el proceso hasta que el cociente es 1. Cuando llegamos a
este punto, empezamos a escribir los bits del nmero convertido
siguiendo este orden de izquierda (bit ms significativo) a derecha (bit
menos significativo):
1 cifra: ltimo cociente (siempre ser 1).
2 cifra: ltimo resto
3 cifra: penltimo resto
Y as sucesivamente hasta ubicar el ltimo bit (ms a la derecha),
que ser el primer resto que anotamos.

ESCUELA TCNICA SUPERIOR DE INGENIERA


10
INFORMTICA
Conversin de decimal a binario
ARQUITECTURA DE COMPUTADORES

ESCUELA TCNICA SUPERIOR DE INGENIERA


11
INFORMTICA
Representacin de Nmeros Enteros
ARQUITECTURA DE COMPUTADORES

 Cmo representar el signo (+/-) de un nmero si slo


podemos usar ceros y unos?
Nos inventamos un convenio!
 0=+
 1=-
 Representacin en Signo y Magnitud: por convenio, el primer
bit es el signo, y el resto de bits codifican un nmero natural.
11101  Signo: 1 (-), Magnitud: 1101 (13).
11101)SyM = -13)10

Concepto clave! Separacin en dos campos: signo y magnitud.

ESCUELA TCNICA SUPERIOR DE INGENIERA


12
INFORMTICA
Representacin de Nmeros Reales
ARQUITECTURA DE COMPUTADORES

 Cmo representamos la coma de un nmero real?


Separando en dos campos: parte entera y parte fraccionaria.
 Ejemplo: 4 bits para parte entera y 4 para parte fraccionaria:
11011101 = 11011101 = 1313
Problema: no podemos representar nmeros mayores que 15, mientras
que en binario natural con 8 bits podramos hasta 255.
Solucin: dar ms bits a la parte entera?
11011101 = 11011101 = 5525
Nuevo problema: ahora slo podemos tener x0, x25, x5, o x75!

Conclusin:
 Ms bits en la parte entera = nmeros ms grandes
 Ms bits en la parte fraccionaria = nmeros ms precisos
ESCUELA TCNICA SUPERIOR DE INGENIERA
13
INFORMTICA
Representacin de Nmeros Reales
ARQUITECTURA DE COMPUTADORES

 Entonces, cul es el mejor compromiso?


Un sistema que te permita mover la coma de izquierda a
derecha segn convenga para cada nmero:
Coma fija vs coma flotante.
 Notacin cientfica: forma habitual de representar nmeros
muy grandes y/o nmeros con parte fraccionaria:
Un trilln = 1000000000000000000 = 1018
Dos milmillonsimas = 0000000002 = 2*10-9
 Cualquier nmero se puede representar en notacin cientfica
de diferentes formas:
14567 = 145670*100 = 14567*103 =
Un trilln = 01*1020 =
ESCUELA TCNICA SUPERIOR DE INGENIERA
14
INFORMTICA
Representacin de Nmeros Reales
ARQUITECTURA DE COMPUTADORES

 En general:
X = M*10E
 Donde:
 X: nmero a representar.
 M: mantisa (nmero real).
 E: exponente (nmero entero).

 En realidad, podemos usar cualquier otra base:


X = M*BE
 Ejemplo:
145670*100 = 145670*20 = 14567*104 ~ 1778199*213

ESCUELA TCNICA SUPERIOR DE INGENIERA


15
INFORMTICA
Representacin de Nmeros Reales
ARQUITECTURA DE COMPUTADORES

 Representacin habitual de nmeros reales en el ordenador:


 Formato estndar de coma flotante (IEEE-754) donde se
establece cmo representar la base, la mantisa y el
exponente:
 Base fija = 2 (no hay que representarla).
 Exponente = 8 bits.
 Mantisa = 24 bits (incluyendo signo).
 Pero si la mantisa es a su vez un nmero real, cmo lo
representamos?  mantisa normalizada.
11101 = 11101*20 = 11101*21 = = 11101*24
 Todo nmero se puede representar siempre con una mantisa
cuya parte entera es 1 (forma normalizada)  slo
necesitamos representar la parte fraccionaria.
ESCUELA TCNICA SUPERIOR DE INGENIERA
16
INFORMTICA
Sobre la coma flotante
ARQUITECTURA DE COMPUTADORES

 El estndar permite definir adems valores especiales para


representar , e incluso valores imposibles (0/0, etc)  NaN.
 El estndar define representaciones con mayor nmero de
bits: precisin doble (64 bits), extendida (80 bits)
 Importantes consideraciones al usar coma flotante!!!
 Hay muchos nmeros que no se pueden representar de
forma exacta (ejemplo: 07).
 La precisin es muchsimo mayor entre 0 y 1.
 Los nmeros grandes no tienen precisin.
 Las comparaciones son odiosas!
if (x == 0.5)
if (abs(x 05) < error)
ESCUELA TCNICA SUPERIOR DE INGENIERA
17
INFORMTICA
Representacin de texto
ARQUITECTURA DE COMPUTADORES

 Byte (B) = una letra


 KiloByte (KB) = 1024 bytes = una pgina
 MegaByte (MB) = 1024 KBs = un libro
 GigaByte (GB) = 1024 MBs = una librera
 TeraByte (TB) = 1024 GBs = una gran biblioteca
 PetaByte (PB) = 1024 TBs = todos los libros de un pas
 ExaByte (EB) = 1024 PBs = todos los libros del mundo
 ZettaByte (ZB) = 1024 EBs =
 YottaByte (YB) = 1024 ZBs = todos los libros de la galaxia?

Estndares de representacin de texto: ASCII, Unicode

ESCUELA TCNICA SUPERIOR DE INGENIERA


18
INFORMTICA
Representacin de imagen
ARQUITECTURA DE COMPUTADORES

 Mapas de bits:
 Discretizacin mediante una cuadrcula de pxeles.
 Resolucin: nmero de columnas x nmero de filas.
 Habitual en fotografa: JPG, BMP, GIF, ...
 Representacin vectorial:
 Formar imagen a base de primitivas: rectas, crculos, ...
 Facilitan edicin, zoom, etc, y reducen tamao, pero
imposible describir imgenes fotorealistas.
 Fuentes de letras, CorelDraw, ...
 Codificacin de color:
 Paletas de colores predefinidos.
 Colores aditivos (RGB, ...).
ESCUELA TCNICA SUPERIOR DE INGENIERA
19
INFORMTICA
Representacin de sonido
ARQUITECTURA DE COMPUTADORES

 Discretizacin de las variaciones de presin


del aire:
 Eje X = tiempo.
 Eje Y = amplitud (presin del aire).

 Calidad CD:
 Frecuencia de muestreo 44100Hz
(44100 muestras/segundo).
 16 bits por muestra (65536 posibles valores de amplitud).
 2 canales: stereo.

ESCUELA TCNICA SUPERIOR DE INGENIERA


20
INFORMTICA
Representacin de video
ARQUITECTURA DE COMPUTADORES

 Ejercicio de clculo de espacio (pelcula en DVD):


 Resolucin imagen: 720x480 pxeles.
 Color verdadero: 3 bytes por pxel.
 30 imgenes por segundo (fps).
 Duracin de la pelcula: 1h30
 Sonido en calidad 96KHz y 24 bits, con 6 canales (5.1) y 4
idiomas.

 Clculo espacio imagen: 720x480x3x30x90x60 ~ 1564 GBs


 Clculo espacio sonido: 96000x3x6x4x90x60 ~ 347 GBs
 Total ~ 191 GBs!!! (DVD = 47GBs)

ESCUELA TCNICA SUPERIOR DE INGENIERA


21
INFORMTICA
Representacin de video
ARQUITECTURA DE COMPUTADORES

 Formatos de representacin de vdeo: AVI, MPG, MOV, ...  La


mayora son slo contenedores con informacin sobre:
 Cmo se codifica la imagen (cdec de vdeo).
 Cmo se codifica el sonido (cdec de audio).
 Cdecs de vdeo:
 Compresin con prdida.
 Keyframes + variaciones entre frames.
 Se instalan en el Sistema Operativo.
 DivX, xVid, QuickTime, WMV, ...
 Cdecs de audio:
 Compresin con prdida.
 Divisin en bandas de frecuencia modelo psicoacstico
 MP3, Ogg, AAC, WMA...
ESCUELA TCNICA SUPERIOR DE INGENIERA
22
INFORMTICA
ndice
ARQUITECTURA DE COMPUTADORES

 Representacin de la Informacin
 Introduccin a la Arquitectura de Computadores
 Modelo Von Neumann
 Jerarqua de Memoria
 El Procesador
 Dispositivos de Entrada/Salida
 Arquitecturas Avanzadas

ESCUELA TCNICA SUPERIOR DE INGENIERA


23
INFORMTICA
Arquitectura de Computadores
ARQUITECTURA DE COMPUTADORES

 Profesores del mster: la mayora del Departamento de


Arquitectura y Tecnologa de Computadores.
 Arquitectura: estudia la forma en que se deben disponer una
serie de elementos bsicos (columnas, muros, ...) para el
diseo de un edificio de unas determinadas caractersticas.
 Arquitectura de computadores: estudia la forma en que se
deben disponer una serie de elementos bsicos (que iremos
viendo...) para el diseo de un computador de unas
determinadas caractersticas.
 Tecnologa de computadores: estudia el diseo de esos
componentes bsicos (los arquitectos no se dedican a fabricar
ladrillos...).

ESCUELA TCNICA SUPERIOR DE INGENIERA


24
INFORMTICA
Arquitectura de Computadores
ARQUITECTURA DE COMPUTADORES

ESCUELA TCNICA SUPERIOR DE INGENIERA


25
INFORMTICA
ndice
ARQUITECTURA DE COMPUTADORES

 Representacin de la Informacin
 Introduccin a la Arquitectura de Computadores
 Modelo Von Neumann
 Jerarqua de Memoria
 El Procesador
 Dispositivos de Entrada/Salida
 Arquitecturas Avanzadas

ESCUELA TCNICA SUPERIOR DE INGENIERA


26
INFORMTICA
Modelo Von Neumann
ARQUITECTURA DE COMPUTADORES

ESCUELA TCNICA SUPERIOR DE INGENIERA


27
INFORMTICA
Modelo Von Neumann
ARQUITECTURA DE COMPUTADORES

Memoria Principal:
 En ella se almacenan los datos e instrucciones necesarios para ejecutar
los programas.
 Memoria principal = Datos + Instrucciones.
 Cada posicin de memoria tiene asociada una direccin.

Arquitectura Von Neumann:


 Una nica memoria.
Arquitectura Harvard:
 Dos memorias separadas: Datos, Instrucciones
ESCUELA TCNICA SUPERIOR DE INGENIERA
28
INFORMTICA
Modelo Von Neumann
ARQUITECTURA DE COMPUTADORES

Unidad Central de Proceso (CPU)


 En ella se ejecutan las instrucciones que se leen de la memoria.
 En el caso de un computador, normalmente se trata de un
Microprocesador.

Microprocesador:
 Unidad central de proceso implementada sobre un circuito integrado
formado por millones de transistores.

ESCUELA TCNICA SUPERIOR DE INGENIERA


29
INFORMTICA
Modelo Von Neumann
ARQUITECTURA DE COMPUTADORES

Unidad de Entrada/Salida:
 Permite la comunicacin entre el microprocesador y los perifricos.
 Perifricos de entrada: ratn, teclado,
 Perifricos de salida: monitor, impresora,
 Perifricos de entrada/salida: tarjeta de red, tarjeta de sonido,

ESCUELA TCNICA SUPERIOR DE INGENIERA


30
INFORMTICA
Modelo Von Neumann
ARQUITECTURA DE COMPUTADORES

Dispositivos de Memoria Secundaria:


 Son perifricos de entrada/salida.
 Permiten almacenar cantidades masivas de datos.
 Almacenan los datos que no se estn utilizando en ese momento.
 Diferentes niveles en funcin de su capacidad/velocidad.
 Ejemplos: disco duro, DVD, CD, pendrive, tarjeta SD,

ESCUELA TCNICA SUPERIOR DE INGENIERA


31
INFORMTICA
Modelo Von Neumann
ARQUITECTURA DE COMPUTADORES

Bus de Sistema:
 Mecanismo de comunicacin entre los componentes del computador.

Bus de Datos
 Circulan los datos que se transfieren entre dos componentes.
Bus de Direcciones
 Localiza la ubicacin de los datos dentro de una memoria o un perifrico.
Bus de Control
 Transmite las seales de control para coordinar las comunicaciones.

ESCUELA TCNICA SUPERIOR DE INGENIERA


32
INFORMTICA
ndice
ARQUITECTURA DE COMPUTADORES

 Representacin de la Informacin
 Introduccin a la Arquitectura de Computadores
 Modelo Von Neumann
 Jerarqua de Memoria
 El Procesador
 Dispositivos de Entrada/Salida
 Arquitecturas Avanzadas

ESCUELA TCNICA SUPERIOR DE INGENIERA


33
INFORMTICA
Jerarqua de Memoria
ARQUITECTURA DE COMPUTADORES

 Ejecutar un programa es como leer un libro:


 Tenemos una biblioteca llena de libros, de
la que escogeremos el que queremos leer.
 El libro contiene toda la informacin con la que vamos a
trabajar. Es imposible realizar la tarea de leer el libro sin
tener el libro en la mano.
 Para un programador slo existen dos tipos de memoria:
 Memoria principal: contiene los datos con los que
estamos trabajando en este momento (libro). En
programacin: variables.
 Memoria secundaria: contiene todos los posibles datos
con los que podramos querer trabajar en algn momento
(biblioteca). En programacin: ficheros en el disco duro.
ESCUELA TCNICA SUPERIOR DE INGENIERA
34
INFORMTICA
Jerarqua de Memoria
ARQUITECTURA DE COMPUTADORES

 Aunque el programador pueda abstraerse normalmente de


esto, en realidad no slo hay dos memorias. Fsicamente hay
toda una serie de memorias dispuestas de forma jerrquica
que facilitan el acceso a la informacin de forma eficiente.
 El procesador es como un trabajador que realiza tareas sobre
su mesa de trabajo. Imaginemos que es un carpintero

ESCUELA TCNICA SUPERIOR DE INGENIERA


35
INFORMTICA
Jerarqua de Memoria
ARQUITECTURA DE COMPUTADORES

 El carpintero slo tiene una o dos piezas de madera en su


mesa.
 Cuando termina de trabajar con esas piezas, va a la tienda a
comprar ms madera.
Si la tienda tiene las piezas en stock, el carpintero slo ha
perdido un par de horas.
Si la tienda no tiene stock, hay que esperar a que las traiga
el distribuidor.
o Si el distribuidor tiene las piezas, perdemos uno o dos das.
o Si no tiene las piezas, hay que fabricarlas y podemos perder varios
das.
Cmo evitar estos retrasos? Teniendo todas las piezas de la
fbrica en la mesa!! evidentemente, es imposible
ESCUELA TCNICA SUPERIOR DE INGENIERA
36
INFORMTICA
Jerarqua de Memoria
ARQUITECTURA DE COMPUTADORES

 La jerarqua de memoria habitual en los computadores se


puede resumir en 4 niveles:

Precio/bit Velocidad Capacidad

ESCUELA TCNICA SUPERIOR DE INGENIERA


37
INFORMTICA
Registros
ARQUITECTURA DE COMPUTADORES

 Se encuentran fsicamente dentro del procesador.


 Contienen los datos con los que el procesador est operando
en un momento dado (A = B + C).
 Habitualmente son muy pocos (entre 1 y 32).
 Son las piezas de la mesa de trabajo.

El programador normalmente no es consciente de que existen


los registros. Son gestionados automticamente por el
compilador.

ESCUELA TCNICA SUPERIOR DE INGENIERA


38
INFORMTICA
Memoria Principal
ARQUITECTURA DE COMPUTADORES

 Se encuentra fsicamente cerca del procesador, pero es un


mdulo hardware diferente.
 Contienen todos los datos del programa que el procesador
est ejecutando: instrucciones + datos.
 Es una memoria de acceso aleatorio (RAM): el tiempo de
acceso a un dato es independiente de su ubicacin.
 Los datos se encuentran en direcciones numeradas.
 El tamao habitual en la actualidad es de unos pocos GBs.

Las variables que maneja el programador se almacenan en


memoria principal.

ESCUELA TCNICA SUPERIOR DE INGENIERA


39
INFORMTICA
Memoria Cach
ARQUITECTURA DE COMPUTADORES

 Problema: el acceso a la memoria principal es lento.


 Solucin: tener un stock de piezas haciendo una previsin de
las que podremos necesitar.
 La memoria cach es una memoria inteligente que predice
qu datos puede necesitar el procesador en breve. Los datos
que predice los va trayendo desde memoria principal sin que
el procesador se entere y, cuando el procesador necesita ese
dato, lo puede obtener de la cach a gran velocidad.

La cach se gestiona automticamente a nivel de hardware.

ESCUELA TCNICA SUPERIOR DE INGENIERA


40
INFORMTICA
Memoria Cach
ARQUITECTURA DE COMPUTADORES

 La cach funciona en base a dos principios:


 Localidad temporal: cuando se accede a un dato es muy
probable que ese dato se vuelva a utilizar en breve  la
cach mantiene los datos solicitados por la CPU en stock
durante un tiempo.
 Localidad espacial: cuando se accede a un dato es muy
probable que en breve se vaya a acceder a datos
consecutivos  cuando la CPU solicita un dato que se
encuentra en la direccin N, la cach traer de memoria
principal adems las direcciones N+1, N+2
 Las instrucciones de un programa se almacenan secuencialmente.
 Es muy habitual trabajar con datos almacenados en vectores
(arrays), que se almacenan secuencialmente.

ESCUELA TCNICA SUPERIOR DE INGENIERA


41
INFORMTICA
Memoria Cach
ARQUITECTURA DE COMPUTADORES

 El diseo de una cach implica tomar varias decisiones:


 Organizacin: cmo se ubican los datos en la cach en relacin a su
localizacin en memoria.
 Polticas de extraccin y escritura: qu datos de memoria copiar a la
cach y en qu momento. tratamiento de los fallos.
 Poltica de reemplazo: qu dato borrar de la cach cuando no queda
espacio libre.
 Etc
 En la actualidad, se utilizan varios niveles de cach
(habitualmente 3) siguiendo el mismo principio jerrquico.
 Tamaos habituales en la actualidad (ejemplo i7 quad):
 Cach L1: 4 x 2 x 32 KBs
 Cach L2: 4 x 256 KBs
 Cach L3: 8 MBs
ESCUELA TCNICA SUPERIOR DE INGENIERA
42
INFORMTICA
Memoria Secundaria
ARQUITECTURA DE COMPUTADORES

 Es el almacn masivo en el que se encuentran todos los


posibles programas y datos con los que potencialmente
podremos trabajar en algn momento.
 Cuando ejecutamos un nuevo programa, hay que moverlo
desde memoria secundaria hacia memoria principal.
 Tambin se puede dividir en varios niveles, aunque
bsicamente tenemos los dispositivos internos (discos duros)
y los externos reemplazables (CD, DVD, SD, PenDrive).
 Tamaos actuales: disco duro (1 TB), CD (700 MBs), DVD
(47GBs), PenDrive (16 GBs)
El acceso a memoria secundaria puede ser gestionado
automticamente por el sistema operativo, o bien bajo
demanda por el usuario/programador.
ESCUELA TCNICA SUPERIOR DE INGENIERA
43
INFORMTICA
Jerarqua de Memoria
ARQUITECTURA DE COMPUTADORES

 Con todo lo que hemos visto, tenemos una jerarqua de


memoria ms completa:

Precio/bit Velocidad Capacidad

ESCUELA TCNICA SUPERIOR DE INGENIERA


44
INFORMTICA
ARQUITECTURA DE COMPUTADORES

Curso 0: Arquitectura de Computadores

Carlos Garre
carlos.garre@urjc.es

ESCUELA TCNICA SUPERIOR DE INGENIERA


45
INFORMTICA