PDF de programación - Curso 0: Arquitectura de Computadores

Imágen de pdf Curso 0: Arquitectura de Computadores

Curso 0: Arquitectura de Computadoresgráfica de visualizaciones

Publicado el 21 de Febrero del 2019
630 visualizaciones desde el 21 de Febrero del 2019
1,0 MB
45 paginas
Creado hace 2a (21/11/2017)
ARQUITECTURA DE COMPUTADORES

Curso 0: Arquitectura de Computadores

Carlos Garre

carlos.garre@urjc.es

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA

INFORMÁTICA

1

Índice

ARQUITECTURA DE COMPUTADORES

Representación de la Información
Introducción a la Arquitectura de Computadores
Modelo Von Neumann
Jerarquía de Memoria
El Procesador
Dispositivos de Entrada/Salida
Arquitecturas Avanzadas

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA

INFORMÁTICA

2

Representación de la Información

ARQUITECTURA DE COMPUTADORES

Codificación:

El ordenador codifica toda clase de información

utilizando únicamente dos valores:
0: ausencia de corriente eléctrica.
1: corriente eléctrica.

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA

INFORMÁTICA

3

Representación de Números

ARQUITECTURA DE COMPUTADORES

Es común que trabajemos directamente con información

numérica: contabilidad, calificaciones del máster, etc…

Pero además, el ordenador muchas veces trabaja

implícitamente con números:
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 números reales.

Cuando escribimos un texto en Word, éste debe llevar un recuento

del número de páginas, de la numeración de los capítulos, etc.

Cuando navegamos por Internet, el ordenador debe controlar las
direcciones IP y los puertos TCP y controlar muchos otros números
que permiten la conexión entre dos máquinas (números de secuencia,
sumas de comprobación, etc).

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA

INFORMÁTICA

4

Representación de Números

ARQUITECTURA DE COMPUTADORES

La forma de representar (codificar) los números es diferente

según el dominio que queramos representar:
Números naturales:

Binario natural.
BCD.

Números enteros:

Signo y Magnitud.
Representación en complementos (Ca1 y Ca2).
Representaciones en exceso.

Números reales:

Coma fija.
Coma flotante (estándar IEEE-754).

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA

INFORMÁTICA

5

Contando en binario…

ARQUITECTURA DE COMPUTADORES

¿Hasta cuánto podemos contar con los dedos de las manos?

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA

INFORMÁTICA

6

Contando en binario…

ARQUITECTURA DE COMPUTADORES

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA

INFORMÁTICA

7

Conversión 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 TÉCNICA SUPERIOR DE INGENIERÍA

INFORMÁTICA

8

Definiciones y conceptos clave

ARQUITECTURA DE COMPUTADORES

Bit: una cifra en sistema binario. Puede ser 0 o 1.
Byte: secuencia de 8 bits.
¿Cuál es el mayor número que podemos representar con un

byte?

11111111)2 = 255)10

En general, con una secuencia de N bits podemos representar

números desde 0 hasta 2N-1 (2N valores diferentes)

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA

INFORMÁTICA

9

Conversión de decimal a binario

ARQUITECTURA DE COMPUTADORES

Método de las divisiones sucesivas:
1.

2.

3.

Dividimos el número por la base (2), y obtenemos como resultado un
cociente y un resto de la división. Anotamos el resto.
Cogemos el cociente de la anterior división, y lo dividimos por la base
(2). Anotamos el resto.
Continuamos el proceso hasta que el cociente es 1. Cuando llegamos a
este punto, empezamos a escribir los bits del número convertido
siguiendo este orden de izquierda (bit más significativo) a derecha (bit
menos significativo):





1ª cifra: último cociente (siempre será 1).
2ª cifra: último resto
3ª cifra: penúltimo resto
Y así sucesivamente hasta ubicar el último bit (más a la derecha),
que será el primer resto que anotamos.

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA

INFORMÁTICA

10

Conversión de decimal a binario

ARQUITECTURA DE COMPUTADORES

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA

INFORMÁTICA

11

Representación de Números Enteros

ARQUITECTURA DE COMPUTADORES

¿Cómo representar el signo (+/-) de un número si sólo

podemos usar ceros y unos?
¡Nos inventamos un convenio!
0 = +
1 = -

Representación en Signo y Magnitud: por convenio, el primer

bit es el signo, y el resto de bits codifican un número natural.
11101 Signo: 1 (-), Magnitud: 1101 (13).

11101)SyM = -13)10

¡Concepto clave! Separación en dos campos: signo y magnitud.

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA

INFORMÁTICA

12

Representación de Números Reales

ARQUITECTURA DE COMPUTADORES

¿Cómo representamos la coma de un número real?

Separando en dos campos: parte entera y parte fraccionaria.

Ejemplo: 4 bits para parte entera y 4 para parte fraccionaria:

11011101 = 1101’1101 = 13’13
Problema: no podemos representar números mayores que 15, mientras
que en binario natural con 8 bits podríamos hasta 255.
Solución: ¿dar más bits a la parte entera?
11011101 = 110111’01 = 55’25
Nuevo problema: ¡ahora sólo podemos tener x’0, x’25, x’5, o x’75!

Conclusión:

Más bits en la parte entera = números más grandes
Más bits en la parte fraccionaria = números más precisos

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA

INFORMÁTICA

13

Representación de Números Reales

ARQUITECTURA DE COMPUTADORES

Entonces, ¿cuál es el mejor compromiso?

Un sistema que te permita mover la coma de izquierda a
derecha según convenga para cada número:
Coma fija vs coma flotante.

Notación científica: forma habitual de representar números

muy grandes y/o números con parte fraccionaria:
Un trillón = 1000000000000000000 = 1018

Dos milmillonésimas = 0’000000002 = 2*10-9

Cualquier número se puede representar en notación científica

de diferentes formas:

14567 = 14567’0*100 = 14’567*103 = …

Un trillón = 0’1*1020 = …

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA

INFORMÁTICA

14

Representación de Números Reales

ARQUITECTURA DE COMPUTADORES

En general:

Donde:

X = M*10E

X: número a representar.
M: mantisa (número real).
E: exponente (número entero).

En realidad, podemos usar cualquier otra base:

X = M*BE

Ejemplo:

14567’0*100 = 14567’0*20 = 1’4567*104 ~ 1’778199*213

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA

INFORMÁTICA

15

Representación de Números Reales

ARQUITECTURA DE COMPUTADORES

Representación habitual de números reales en el ordenador:
Formato estándar de coma flotante (IEEE-754) donde se

establece cómo 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 número real, ¿cómo lo

representamos? mantisa normalizada.

11101 = 11101*20 = 1110’1*21 = … = 1’1101*24

Todo número se puede representar siempre con una mantisa

cuya parte entera es 1 (forma normalizada) sólo
necesitamos representar la parte fraccionaria.

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA

INFORMÁTICA

16

Sobre la coma flotante…

ARQUITECTURA DE COMPUTADORES

El estándar permite definir además valores especiales para

representar ±∞, e incluso valores imposibles (0/0, etc) NaN.

El estándar define representaciones con mayor número de

bits: precisión doble (64 bits), extendida (80 bits)…

¡¡¡Importantes consideraciones al usar coma flotante!!!

Hay muchos números que no se pueden representar de

forma exacta (ejemplo: 0’7).

La precisión es muchísimo mayor entre 0 y 1.
Los números grandes no tienen precisión.
“¡Las comparaciones son odiosas!”
if (x == 0.5)

if (abs(x – 0’5) < error)

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA

INFORMÁTICA

17

Representación de texto

ARQUITECTURA DE COMPUTADORES

Byte (B) = una “letra”
KiloByte (KB) = 1024 bytes = una página
MegaByte (MB) = 1024 KBs = un libro
GigaByte (GB) = 1024 MBs = una librería
TeraByte (TB) = 1024 GBs = una gran biblioteca
PetaByte (PB) = 1024 TBs = todos los libros de un país
ExaByte (EB) = 1024 PBs = todos los libros del mundo
ZettaByte (ZB) = 1024 EBs = …
YottaByte (YB) = 1024 ZBs = ¿todos los libros de la galaxia?

Estándares de representación de texto: ASCII, Unicode…

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA

INFORMÁTICA

18

Representación de imagen

ARQUITECTURA DE COMPUTADORES

Mapas de bits:

Discretización mediante una cuadrícula de píxeles.
Resolución: número de columnas x número de filas.
Habitual en fotografía: JPG, BMP, GIF, ...

Representación vectorial:

Formar imagen a base de primitivas: rectas, círculos, ...
Facilitan edición, zoom, etc, y reducen tamaño, pero

imposible describir imágenes fotorealistas.

Fuentes de letras, CorelDraw, ...

Codificación de color:

Paletas de colores predefinidos.
Colores aditivos (RGB, ...).

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA

INFORMÁTICA

19

Representación de sonido

ARQUITECTURA DE COMPUTADORES

Discretización de las variaciones de presión
del aire:

Eje X = tiempo.
Eje Y = amplitud (presión del aire).

Calidad CD:

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

ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA

INFORMÁTICA

20

Representación de video

ARQUITECTURA DE COMPUTADORES

(ci
  • Links de descarga
http://lwp-l.com/pdf15301

Comentarios de: Curso 0: Arquitectura de Computadores (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad