Está en la página 1de 75

Tema 1

REPRESENTACIN Y COMUNICACIN DE LA INFORMACIN.


1.1. Sistemas de numeracin y codificacin. Unidades y magnitudes informticas. 1.2. Arquitectura de un sistema microinformtico. Principios funcionales. 1.3. Anlisis de bloques funcionales sobre arquitecturas vigentes.

C E D E www.cede.es

Tema 1.2

Profesores de Enseanza Secundaria INFORMTICA

GUION - NDICE
INTRODUCCIN 1.1. SISTEMAS DE NUMERACIN Y CODIFICACIN. UNIDADES Y MAGNITUDES INFORMTICAS 1.1.1. 1.1.2. Introduccin Sistemas de Numeracin 1.1.2.1. Sistema de Numeracin decimal 1.1.2.2. Sistema de Numeracin binario 1.1.2.2.1. Conversin entre nmeros decimales y binarios 1.1.2.2.2. Operaciones aritmticas en el sistema binario 1.1.2.3. Sistema de Numeracin octal 1.1.2.4. Sistema de Numeracin hexadecimal 1.1.2.5. Conversiones entre sistemas de numeracin Sistemas de codificacin numrica 1.1.3.1. Nmeros Naturales 1.1.3.2. Nmeros Enteros 1.1.3.2.1. Signo y Magnitud 1.1.3.2.2. Complemento a 1 1.1.3.2.3. Complemento a 2 1.1.3.2.4. Codificacin en Exceso 1.1.3.3. Nmeros Reales 1.1.3.3.1. Coma Fija 1.1.3.3.2. Coma Flotante 1.1.3.4. Otros Cdigos 1.1.3.4.1. BCD 1.1.3.4.2. Siete Segmentos 1.1.3.4.3. Codigo Gray Codificacin de caracteres 1.1.4.1. ASCII 1.1.4.2. ASCII Extendido 1.1.4.3. Unicode 1.1.4.4. ISO 8859-1 Codificacin de formatos multimedia 1.1.5.1. Conversin Analgica-Digital

1.1.3.

1.1.4.

1.1.5.

C E D E www.cede.es

CEDE - C/ Cartagena, 129 - 28002 Madrid


Tel.: 91 564 42 94

Profesores de Enseanza Secundaria INFORMTICA

Tema 1.3

1.1.6.

Codificacin de Imgenes 1.1.5.2.1. Formato JPEG 1.1.5.2.2. Formato GIF 1.1.5.2.3. Formato PNG 1.1.5.2.4. Formato BMP 1.1.5.3. Codificacin de Audio 1.1.5.4. Codificacin de Vdeo Unidades y Magnitudes Informticas 1.1.6.1. Medidas de Informacin 1.1.6.2. Medidas de Frecuencia

1.1.5.2.

1.2.

ARQUITECTURA DE UN SISTEMA MICROINFORMTICO. PRINCIPIOS FUNCIONALES 1.1.2.1. Arquitectura Bsica. Introduccin 1.1.2.2. Unidad Central de Proceso (UCP) 1.2.2.1. Unidad de Control 1.2.2.2. Sistemas RISC 1.2.2.3. Sistemas CISC 1.2.2.4. Reloj de Sistema 1.2.2.5. Unidad Aritmtico-Lgica (ALU) 1.2.2.6. Registros 1.2.3. Memoria 1.2.4. Buses 1.2.4.1. Bus de datos 1.2.4.2. Bus de direcciones 1.2.4.3. Bus de control 1.2.5. Unidad de Entrada-Salida 1.2.6. Set de Instrucciones 1.2.7. Modos de direccionamiento 1.2.8. Ejecucin de una Instruccin 1.2.8.1. Ejecucin de una aplicacin paso a paso

1.3.

ANLISIS DE BLOQUES FUNCIONALES SOBRE ARQUITECTURAS VIGENTES 1.3.1. 1.3.2. Clasificacin de Arquitecturas. Taxonoma de Flynn Arquitecturas Actuales 1.3.2.1. Arquitectura x86 1.3.2.2. Arquitectura x86-64

CEDE - C/ Cartagena, 129 - 28002 Madrid


Tel.: 91 564 42 94

C E D E www.cede.es

Tema 1.4

Profesores de Enseanza Secundaria INFORMTICA

1.3.3.

Mejoras en las Arquitecturas Actuales 1.3.3.1. Instrucciones Multimedia 1.3.3.2. FPU 1.3.3.3. Segmentacin a nivel de instruccin 1.3.3.4. Cach 1.3.3.5. DMA. Acceso Directo a Memoria 1.3.3.6. Procesadores Superescalares 1.3.3.7. GPUs 1.3.3.8. Buses de Alta velocidad 1.3.3.9. Virtualizacin 1.3.3.10. Overclocking dinmico

RESUMEN BIBLIOGRAFA COMENTADA

C E D E www.cede.es

CEDE - C/ Cartagena, 129 - 28002 Madrid


Tel.: 91 564 42 94

Profesores de Enseanza Secundaria INFORMTICA

Tema 1.5

INTRODUCCIN
Los sistemas informticos estn construidos con sistemas digitales, es decir, slo reconocen dos posibles valores, el 0 y el 1 (bit), y con dichos valores, han de ser capaces de representar toda la informacin que manipulan. Se necesita pues, un sistema de codificacin que, utilizando nicamente dichos valores, se pueda almacenar, tratar y enviar todo tipo de contenidos: nmeros, caracteres, imgenes, sonidos, vdeos, etc. En este apartado, se har un repaso a los sistemas de numeracin, y las distintas formas de codificar los nmeros naturales, enteros y reales, se ver someramente el proceso de conversin de una seal analgica a digital, y la forma en que se codifican los contenidos multimedia.

1.1.
1.1.1.

SISTEMAS DE NUMERACIN Y CODIFICACIN. UNIDADES Y MAGNITUDES INFORMTICAS

INTRODUCCIN

Un sistema de numeracin es un sistema de codificacin destinado a representar nmeros. Se dice que un sistema de numeracin es no redundante cuando cada vector de dgitos, slo representa un nico nmero. Los sistemas de numeracin que utilizamos, son sistemas posicionales, esto indica que cada dgito del vector que representa el valor, tiene mayor o menor valor, dependiendo de la posicin que ocupe. El dgito con menor peso asociado se denomina el dgito menos significativo y suele encontrarse en la posicin ms a la derecha y en el lado contrario, se encuentra el dgito con mayor peso asociado, el dgito ms significativo. En cualquier sistema de numeracin posicional, una secuencia de dgitos se puede representar, formalmente, de la siguiente manera: Nb = ap1 ap2 ... a1 a0, a1 a2 ... aq + 1aq En el sistema de numeracin posicional, se conoce la base como el conjunto de nmeros permitidos de tal manera que si un sistema de numeracin posicional es de base 2, disponemos de dos smbolos (0,1) para representar cualquier nmero. Este sistema de numeracin, es el sistema binario. En el caso del sistema de numeracin decimal, que es el que solemos usar las personas, disponemos de 10 smbolos, del 0 al 9. Para evitar confusiones y saber en qu base est un nmero, se indica su base mediante un subndice. Si no existe dicho subndice, como norma general, se considera que est en base 10, que es la que normalmente utilizamos las personas. Segn esto, el nmero 10110012 est codificado en binario, y no debe confundirse con 10110018 que est en el sistema octal o 1011001 que es un nmero decimal.

CEDE - C/ Cartagena, 129 - 28002 Madrid


Tel.: 91 564 42 94

C E D E www.cede.es

Tema 1.6

Profesores de Enseanza Secundaria INFORMTICA

Existen otros sistemas ampliamente utilizados en informtica, en especial, el sistema octal, en el que disponemos de 8 smbolos, del 0 al 7, y el sistema hexadecimal, que al disponer de 16 smblos posibles, tambin utiliza letras , en concreto, de la A a la F, para representar un nmero. El esquema de este apartado, es el siguiente:

1.1.2.

SISTEMA DE NUMERACIN

A continuacin se van a estudiar los sistemas de numeracin ms importantes dentro de la informtica. 1.1.2.1. Sistema de Numeracin Decimal El sistema decimal tendra su origen en los diez dedos que tenemos en las manos, y que nos han servido de apoyo para contar, por tanto, en este sistema, disponemos del 10 smbolos, del 0 al 9. Estos smbolos se denominan nmeros rabes y son de origen hind. El sistema decimal, es un sistema posicional, es decir, las cifras de la izquierda, tienen ms peso, y puede descomponerse en una suma de productos. Por ejemplo: 2475 = 2*1000 + 4*100 + 7*10 + 5*1 o lo que es lo mismo: 2475 = 2*103 + 4*102 + 7*101 + 5*100 que bsicamente es la suma de las distintas cifras multiplicado por la base en que se encuentra, elevado a la posicin que ocupa. De una forma ms genrica, se puede escribir

Nb =

p 1 i = q

a i bi

siendo b la base en que se encuentra en nmero,

C E D E www.cede.es

CEDE - C/ Cartagena, 129 - 28002 Madrid


Tel.: 91 564 42 94

Profesores de Enseanza Secundaria INFORMTICA

Tema 1.7

i la posicin del dgito con respecto a la coma, siendo q el nmero de dgitos que hay a la derecha de la coma, p el nmero de elementos a la izquierda de la coma. a es el dgito de cada uno de los smbolos que componen el nmero N. El sumatorio anterior, desarrollada, quedara como sigue:
Nb = ap1bp1 + ap2bp2 + ... + a1b1 + a0b0 + a1b1 + a2b2 + ... + aq+1bq+1 + aqbq

ste es el denominado Teorema fundamental de la Numeracin y nos va a permitir pasar cualquier nmero en base N, a base 10.
1.1.2.2. Sistema de Numeracin binario

En el sistema de numeracin binario, slo se dispone de dos smbolos (0,1) para representar todos los nmeros. El el sistema utilizado por los ordenadores que slo son capaces de discriminar entre estos valores, ya que estn construidos con circuitos digitales. Utilizando el teorema fundamental de la numeracin, sabemos que el nmero binario 11012, se corresponde con el siguiente nmero decimal: 11012 = 1*23 + 1*22 + 0*21 + 1*20 8 + 4 + 0 + 1 = 13 y para expresar que ambas cifras son la misma cantidad, indicamos que 10112 = 1310 1.1.2.2.1. Conversin entre nmeros decimales y binarios Convertir un nmero decimal al sistema binario es muy sencillo: basta con realizar divisiones sucesivas por 2 y escribir los restos obtenidos en cada divisin en orden inverso al que han sido obtenidos. El algoritmo que se sigue, es el siguiente: 1. Sea el entero i = 0. 2. Se divide el nmero M entre 2. 3. La divisin del punto 2 genera un resto que llamaremos ai y un cociente Ci. 4. Si el cociente Ci es distinto de cero, se hace M = Ci, se incrementa i y se repite desde el punto 2. 5. Si el cociente Ci es igual a cero, el proceso finaliza. El nmero en base 8 esta formado por el conjunto de los digitos ai donde el subndice i indica la posicin que ocupa cada digito en el nmero octal, esto es, el primer resto que se obtuvo (para i = 0, a0) es el digito menos significativo y, el ltimo, el ms significativo.

CEDE - C/ Cartagena, 129 - 28002 Madrid


Tel.: 91 564 42 94

C E D E www.cede.es

Tema 1.8

Profesores de Enseanza Secundaria INFORMTICA

Por ejemplo, para convertir el nmero 4410 en base 10, a binario, haremos una serie de divisiones sucesivas entre 2 (ya que queremos convertirlo a sistema binario). Los restos que aparecen al realizar las diferentes divisiones, son los que compondrn el nmero en binario. 44 : 2 = 22 22 : 2 = 11 11 : 2 = 5 5:2=2 2:2=1 1:2=0 Resto: 0 Resto: 0 Resto: 1 Resto: 1 Resto: 0 Resto: 1

tomando los restos anteriores en orden inverso al obtenido, tenemos que 44, en base 10, se correponde con la siguiente cifra binaria: 4410 = 1011002 Se puede observar que la cantidad de dgitos necesarios para representar un nmero en el sistema binario es mayor que en el sistema decimal. En el ejemplo del prrafo anterior, para representar el nmero 44, que en el sistema decimal est compuesto tan slo por dos dgitos, han hecho falta seis dgitos en binario. Como norma general, para represntar la misma cantidad, se necesitarn ms dgitos en los sistemas de numeracin con una base menor. El sistema binario, es la menor base posible, por tanto, para representar cantidades relativamente pequeas, se necesitan nmeros con gran cantidad de dgitos. La cantidad de valores posibles representados con n dgitos binarios, es 2n 1, por tanto, con 8 bits, podremos representar como mximo 28 1 = 256 1 = 255 valores diferentes. Hemos convertido un nmero decimal en binario, ahora haremos la operacin inversa, es decir, convertir un nmero binario a decimal. Aplicaremos el teorema fundamental de la numeracin, tal y como se ha indicado anteriormente con el siguiente ejemplo: 10112 = ? 10112 = 1*23 + 1*22 + 0*21 + 1*20 8 + 4 + 0 + 1 = 13 10112 = 1310 Por tanto, el valor 1310, representa la misma cantidad que 10112.

C E D E www.cede.es

CEDE - C/ Cartagena, 129 - 28002 Madrid


Tel.: 91 564 42 94

Profesores de Enseanza Secundaria INFORMTICA

Tema 1.9

1.1.2.2.2. Operaciones aritmticas en el sistema binario


Suma Binaria

En el sistema binario, la operacin de suma, se realizac igual que en el sistema decimal, pero hay que tener en cuenta de que ahora, slo se dispone de dos smbolos, el 0 y el 1, por lo tanto, cuando sumamos 12 + 12, el resultado, tambin debe expresarse con esos dos smbolos. De hecho es 12 + 12 = 102. Hemos de recordar que 102 = 210. En esta tabla, se resume el resultado de las operaciones de suma binaria:
Operacin 0+0 0+1 1+0 1+1 Resultado 0 1 1 0 (con acarreo de 1)

Para mostrar con claridad la operacin de suma, hagamos la suma binaria de dos nmeros, por ejemplo 23 y 67. Lo primero que tenemos que hacer, es pasar dichos nmeros a binario. Segn se ha expuesto anteriormente, mediante divisiones sucesivas entre 2 y cogiendo los restos resultantes de la operacin en orden inverso, obtenemos el valor en binario puro de 2310 y 6710: 2310 = 101112 6710 = 10000112 tenemos que tener en cuenta que cuando sumanos 12 + 12, el resultado es 0 y tenemos un acarreo de 1.
Acarreo + 1 1 0 1 0 0 0 1 0 1 1 1 1 0 0 1 1 1 1 1 1 0

Por tanto 2310 + 6710 = 101112 + 10000112 = 10110102


Resta binaria

En el sistema binario, la operacin de resta, tambin se hace como en el sistema decimal, aunque hay que tener en cuenta que no existe la operacin 02 12. En la siguiente tabla, se muestra el resultado de las operaciones de resta binaria:

CEDE - C/ Cartagena, 129 - 28002 Madrid


Tel.: 91 564 42 94

C E D E www.cede.es

Tema 1.10

Profesores de Enseanza Secundaria INFORMTICA Operacin 0-0 0-1 1-0 111 Resultado 0 No cabe 1 0

Como ejemplo, hagamos la resta binaria binaria de los nmeros 67-23. En el ejemplo anterior, ya hemos hecho la conversin a binario de los nmeros 67 y 23. Hemos obtenido que: 6710 = 10000112 2310 = 101112 Hemos de tener en cuenta que 02 12 no cabe, por lo que tenemos que hacer 102 12 y llevarnos un acarreo a la siguiente cifra del sustraendo:
1 0 0 0 0 1 1 01 01 11 01 1 1 1 0 1 0 1 1 0 0

Por tanto 6710 2310 = 10000112 101112 = 01011002 Las operaciones de resta, siempre se pueden realizar como una suma, en la que uno de los sumandos, sea un nmero negativo, pero para ello, debemos de saber representar los nmeros negativos en binario.
Multiplicacin y Divisin binaria

En cuanto a la multiplicacin y a la divisin en el el sistema binario, tambin decir que se sigue el mismo procedimiento que en el sistema decimal. En la siguiente tabla, se muestra el resultado de la multiplicacin en binario.
Operacin 0*0 0*1 1*0 1*1 Resultado 0 0 0 1

Como ejemplo, se va a realizar una multiplicacin binaria de los dos nmeros que estamos utilizando en los ejemplos: 67 y 23.

C E D E www.cede.es

CEDE - C/ Cartagena, 129 - 28002 Madrid


Tel.: 91 564 42 94

Profesores de Enseanza Secundaria INFORMTICA 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 0 1 0 1 1 1 1 1 1 1 1 1

Tema 1.11

* 1 0 0 0 0

1 0 0 1 0 0 1 1 0

0 1 0 1

Por tanto: 6710 * 2310 = 10000112 * 101112 = 110000001012 En lo referente a la divisin, slo hay que hacer multiplicaciones y restas sucesivas, el proceso es metdico y sencillo, pero hay que reconocer, que , nosotros, al no estar acostumbrado a operar en binario, nos resulta un proceso largo y complicado.
1.1.2.3. Sistema de Numeracin octal

El sistema de numeracin en base 8, se llama octal, y utiliza los smbolos del 0 al 7, por lo tanto, no existen los smbolos 8 y 9. De acuerdo con lo anterior, no existen el nmero 258798, ya que ni el 8 ni el 9 son son smbolos permitidos. Convertir un nmero decimal al sistema octal es muy sencillo, ya que se siguen el mismo algoritmo que en la conversin de decimal a binarios, pero ahora, en lugar de dividir entre 2, hemos de dividir entre 8. Los restos obtenidos en las divisiones sucesivas, se cogen en orden inverso al que han sido obtenidos, y as obtenemos el nmero equivalente en octal. El algoritmo a seguir es el siguiente: 1. Sea el entero i = 0. 2. Se divide el nmero M entre 8. 3. La divisin del punto 2 genera un resto que llamaremos ai y un cociente Ci. 4. Si el cociente Ci es distinto de cero, se hace M = Ci, se incrementa i y se repite desde el punto 2. 5. Si el cociente Ci es igual a cero, el proceso finaliza. El nmero en base 8 esta formado por el conjunto de los digitos ai donde el subndice i indica la posicin que ocupa cada digito en el nmero octal, esto es, el primer resto que se obtuvo (para i = 0, a0) es el digito menos significativo y, el ltimo, el ms significativo. Por ejemplo, para convertir al sistema octal el nmero natural 74910, a octal, haremos una serie de divisiones indicadas en el procedimiento anterior, que arrojarn los restos siguientes: 74910 = ?8

CEDE - C/ Cartagena, 129 - 28002 Madrid


Tel.: 91 564 42 94

C E D E www.cede.es

Tema 1.12

Profesores de Enseanza Secundaria INFORMTICA

749 : 8 = 93 93 : 8 = 11 11 : 8 = 1 2:8=0

Resto: 5 Resto: 5 Resto: 2 Resto: 1

74910 = 12558 Para convertir un nmero en octal a decimal, se sigue el teorema fundamental de la numeracin, por ejemplo, convirtamos el nmero 7158 a decimal. Aplicando el teorema fundamental de la numeracin, tenemos que: 7158 = ?10 7*82 + 1*81 + 5*80 448 + 8 + 5 = 461 7158 = 46110 Hemos obtenido la cantidad equivalente al nmero 7158 ahora representado en el sistema decimal: 46110. El sistema octal tiene una propiedad importante, por el hecho de ser 8 potencia de 2 (8 = 23). Esta propiedad permita la conversin entre nmeros binarios y octales de forma directa. Se puede convertir un valor en octal a binario con slo calcular el valor binarios de cada uno de los dgitos de la cifra en octal. Vemoslo con un ejemplo: 7158 = ?2 vamos a coger por separado las diferentes cifras del nmero octal, y las pasamos a binario: cogemos la cifra ms significativa y tenemos que 78 = 1112 como la segunda cifra: 18 = 0012 y por ltimo, la cifra menos significativa: 58 = 1012 situamos los valores binario obtenidos en el proceso anterior, en la posicin de la cifra en octal de la que procede, y as tenemos la conversin hecha. En el ejemplo anterior, tenemos que: 7158 = 1110011012 Hemos obtenido la cantidad equivalente al nmero 7158 en binario 1110011012 de una forma directa.

C E D E www.cede.es

CEDE - C/ Cartagena, 129 - 28002 Madrid


Tel.: 91 564 42 94

Profesores de Enseanza Secundaria INFORMTICA

Tema 1.13

1.1.2.4. Sistema de Numeracin hexadecimal

En el sistema de numeracin hexadecimal, existen 16 smbolos diferentes, por lo que no tenemos suficiente con los dgitos decimales, que son slo 10 smbolos. Para representar los smbolos que faltan, se utilizan las 6 primeras letras del abecedario (de la A la F) en mayscula, por tanto, los smbolos hexadecimales A, B, C, D, E y F equivalen, respectivamente, a los nmeros 10, 11, 12, 13, 14 y 15.
Valor hexadecimal A B C D E F Valor decimal 10 11 12 13 14 15 Valor binario 1010 1011 1100 1101 1110 1111

El procedimiento para convertir un nmero decimal a hexadecimal, es el mismo expuesto anteriormente para la base 2 y la base 8, pero ahora, hay que dividir entre 16. En la conversin del nmero 64577210, a hexadecimal, haremos una divisiones sucesivas por 16 y cogeremos los restos en orden inverso al obtenido. Esto es: 645772 : 16 = 40360 40360 : 16 = 2522 2522 : 16 = 157 157 : 16 = 9 9 : 16 = 0 Resto: 12 (se corresponde con la letra C) Resto: 8 Resto: 10 (se corresponde con la letra A) Resto: 13 (se corresponde con la letra D) Resto: 9 64577210 = 9DA8C16 = x9DA8C Como puede observarse en el resultado anterior, para indicar que un nmero est codificado en hexadecimal, se pueden seguir el mtodo general de poner el subndice 16 al final del nmero, o bien incluir un x delante del nmero. El proceso inverso, de convertir un nmero en hexadecimal a decimal, es slo aplicar, de nuevo, el teorema fundamental de la numeracin. Convirtamos el nmero 2AD416 a decimal. Hay que recordar la equivalencia entre las letras y sus valores en base 10, as que, aplicando el teorema fundamental de la numeracin, tenemos que: X2AD4 = ?10 X2AD4 = 2*163 + 10*162 + 13*161 + 4*160 8192 + 2560 + 208 + 4 = 10964 X2AD4 = 1096410

CEDE - C/ Cartagena, 129 - 28002 Madrid


Tel.: 91 564 42 94

C E D E www.cede.es

Tema 1.14

Profesores de Enseanza Secundaria INFORMTICA

Al igual que ocurra con el sistema octal, por el hecho de ser 16 potencia de 2 (16 = 24). La conversin entre nmeros binarios y hexadecimales, es directa. Cada dgito en hexadecimal, se corresponde con cuatro bits en binario, de tal manera que podemos hacer una conversin inmediata: X2AD4 = 00101010110101002 ya que x2 = 00102 xA = 10102 xD = 11012 x4 = 01002 El sistema octal y, especialmente el sistema hexadecimal, se utilizan ampliamente en el sector informtico, ya que permiten representar nmeros binarios largos con un nmero mucho menor de smbolos. El hecho que los valores expresados sean ms cortos, evitan confusiones en la escritura de los valores numricos binarios.
1.1.2.5. Conversiones entre sistemas de numeracin Conversiones hacia/desde el sistema de numeracin decimal

Hasta ahora se ha expuesto las conversiones de los sistemas binario, octal y hexadecimal a base 10, por ser stos, los sistemas de numeracin ms importantes para los sistemas informticos, pero el teorema fundamental de la numeracin se puede aplicar a cualquier base N, por tanto, el procedimiento de convertir un nmero a decimal, es el mismo, independientemente de la base en que ste se encuentre originalmente.
Conversiones entre sistemas de numeracin cuya base es potencia de dos

Tambin se ha expuesto que el paso de base octal y hexadecimal, es inmediato, por ser 8 y 16 potencia de dos. Podemos aprovechar esta propiedad para convertir nmeros entre las bases octal y hexadecimal. Para ello, se hace la conversin de la base origen a binario y de binario a la base destino.
Ejemplo

Convertir el nmero 75318 a hexadecimal. Como sabemos que 8 es potencia de 2, esto es, 8 = 2 tenemos que por cada smbolo del sistema octal, se corresponden tres dgitos binarios, asi que slo tenemos que codificar cada una de las cifras del nmero en octal con tres bits, y obtendremos en nmero en binario de forma directa. Tenemos que

C E D E www.cede.es

CEDE - C/ Cartagena, 129 - 28002 Madrid


Tel.: 91 564 42 94

Profesores de Enseanza Secundaria INFORMTICA

Tema 1.15

78 = 1112 58 = 1012 38 = 0112 18 = 0012 Por tanto 74318 = 1111010110012 una vez que tenemos el nmero en binario, si queremos pasarlo a hexadecimal, como 16 = 24, slo tenemos que agrupar los valor dado en grupos de cuatro bits, empezando desde la derecha y rellenando con 0 si fuere necesario. 1111010110012 = xF59 hemos pasado de base octal a base hexadecimal sin realizar ningn clculo matemtico. 74318 = xF59
Conversiones entre otros sistemas de numeracin

Cuando no tenemos ninguno de los casos anteriores, es decir, no estn implicados en el proceso de conversin las bases binaria, octal, hexadecimal decimal, el cambio de base de nmero se lleva a cabo realizando un primer cambio de la base de origen a la base 10 (utilizando el teorema fundamental de la numeracin), y posteriormente, otro cambio de base 10, a la base de destino mediante divisiones sucesivas.
1.1.3. SISTEMAS DE CODIFICACIN NUMRICA

En este apartado, se mostrarn la forma de representacin de los nmeros naturales, enteros y reales y cmo operar con ellos. Tambin se abordar otros sistemas de representacin numricos usados en la actualidad.

CEDE - C/ Cartagena, 129 - 28002 Madrid


Tel.: 91 564 42 94

C E D E www.cede.es

Tema 1.16

Profesores de Enseanza Secundaria INFORMTICA

1.1.3.1. Codificacin de nmeros naturales

La codificacin de los nmeros naturales en binario, se suele realizar en binario puro, es decir, basta representar el nmero en binario. El resultado, se suelen codificar en bloques de 8 bits (que se correponde con un byte), o en mltiple de stos, ya que son los bloques en los que los sistemas informticos suelen guardar la informacin. Son habituales los registros bloques de 8, 16, 32 y 64 bits. En el caso de el nmero obtenido sea menor que el tamao del registro, se rellenan con 0s las cifras ms significativas hasta completar el tamao del registro. Con un nmero determinado n de bits, se pueden representar 2n nmeros diferentes, as tenemos que los nmeros representables estn en el siguiente rango: 0 X (2n 1) Con 8 bits, podemos representar 256 nmeros diferentes, desde el 0 al 255. 0 X (27 1) es decir, 0 X 255 Con 16 bits, podemos representar 65536 nmeros diferentes, desde el 0 al 65535. 0 X (216 1) es decir, 0 X 65535 Si quisieramos representar un nmero mayor de 65535, necesitaramos aumentar el nmero de bits del registro, ya que de otra manera, tendramos un overflow. Para determinar el nmero mnimo de bits b necesarios para representar un nmero X en formato binario puro, se utiliza la siguiente frmula: b = log2 X Si queremos representar 50 nmeros diferentes utilizando una codificacin binaria, necesitamos un mnimo de

C E D E www.cede.es

CEDE - C/ Cartagena, 129 - 28002 Madrid


Tel.: 91 564 42 94

Profesores de Enseanza Secundaria INFORMTICA

Tema 1.17

b = log2 50 = 5,64 bits o sea, 6 bits


1.1.3.2. Codificacin de nmeros enteros

En la codificacin de los nmeros naturales, es suficiente con la representacin del nmero en binario, pero en los nmeros enteros, tenemos que discriminar entre valores positivos y valores negativos, por lo que se invierte uno de los bits disponibles en sealar el signo, positivo o negativo, del nmero codificado. 1.1.3.2.1. Signo y Magnitud Es la ms humana de las representaciones de nmeros con signo, puesto que, al conjunto de los bits que representa la magnitud del nmero se antepone (en la posicin ms significativa) un bit, denominado bit de signo, que toma el valor 0 para nmeros positivos y el 1, para los negativos. Un registro de 8 bits que almacene un nmero codificado en signo y magnitud, tendr el siguiente formato: S Magnitud (7 bits)

En general, si se utilizan n bits para representar un nmero con notacin signo y magnitud, el rango de valores representables son
(2(n1) 1) X (2(n1) 1)

Por tanto, un registro de 8 bits, tiene el siguiente rango de representacin: (27 + 1) X (27 1) o lo que es lo mismo 127 X 127 Como puede observarse, se pueden representar la misma cantidad de nmeros positivos que negativos, es decir, tiene un rango de representacin simtrico, sin embargo, uno de los inconvenientes que tiene es que el valor 0 tiene dos representaciones, que se corresponderan con el +0 el -0 respectivamente. Ejemplo: Representacin del nmero 69, 52 y 129 en signo y magnitud utilizando 8 bits. Como se dispone de un total de 8 bits y uno de ellos, lo hemos de destinar al signo, debemos de pasar la magnitud de los nmeros dados a binario puro utilizando slo 7 bits. Tenemos que: 6910 = 10001012 Se puede representar con 7 bits o menos.

CEDE - C/ Cartagena, 129 - 28002 Madrid


Tel.: 91 564 42 94

C E D E www.cede.es

Tema 1.18

Profesores de Enseanza Secundaria INFORMTICA

5210 = 1101002 Se puede representar con 7 bits o menos. 12910 = 100000012 No se puede representar con 7 bits o menos. Como puede observarse, el nmero 69 y 52, pueden representarse con slo 7 bits, pero el nmero 129, necesita un mnimo de 8 bits para poder representado en binario puro. Por esta razn el nmero 129, no puede ser representado en formato Signo y Magnitud con 8 bits. Como el nmero 69 es positivo, tenemos que el primer bit (el bit de signo) es 0, por lo tanto, la representacin del 69 en formato signo y magnitud es: 6910 = 010001012 Como puede observarse, esta codificacin coincide con la codificacin en binario puro utilizando 8 bits. En el caso del nmero 52, es un nmero negativo, por lo tanto el bit de signo (el ms significativo), es 1. Su representacin en formato signo y magnitud es: 5210 = 101101002 El primer bit, es 1 porque es un nmero negativo. El resto de bits, representa la magnitud, o sea, 52 en binario. 1.1.3.2.2. Complemento a 1 En este sistema de representacin, tambin existe un bit de signo que es el ms significativo, siendo su valor 0 cuando en nmero es positivo y 1 cuando es negativo. La forma de obtener el complemento a 1 (C1) de un nmero decimal, es obtener su valor absoluto en binario puro con el nmero de bits total que se indique y posteriormente, si a) El nmero es positivo, no se realiza ningn cambio, el nmero ya est codificado en C1. b) Si el nmero es negativo, se invierten todos los bits, cambiando los 0s por 1s y a la inversa. Si se desea convertir el nmero 35 y 49 en C1 utilizando 8 bits, debemos realizar las siguientes operaciones: Convertir a binario puro el valor absoluto de ambos nmeros utilizando 8 bits. 3510 = 001000112 4910 = 001100012

C E D E www.cede.es

CEDE - C/ Cartagena, 129 - 28002 Madrid


Tel.: 91 564 42 94

Profesores de Enseanza Secundaria INFORMTICA

Tema 1.19

Como el nmero 35, es positivo, no hay que realizar ninguna operacin, ya lo tenemos convertido a C1. Sin embargo, el nmero 49 es negativo, por lo que tenemos que invertir los bits, cambiando los 0 por 1 y a la inversa. C1 (3510) = 001000112 C1 (4910) = 110011102 Como puede observarse, la codificacin en Signo y Magnitud y en C1 para los nmeros positivos, es exactamente la misma. El rango de representacin de un nmero es el siguiente:
(2(n1) 1) X (2(n1) 1)

Por tanto, un registro de 8 bits, tiene el siguiente rango de representacin: (27 + 1) X (27 1) es decir, 127 X 127 Como puede observarse, el rango de representacin de nmeros, es simtrico, y el 0, tambien tiene dos representaciones, el +0 y el 0, al igual que ocurra con la representacin en signo y magnitud. Ahora ya podemos representar nmeros negativos, por lo que podemos realizar las restas como sumas en las que un sumando sea negativo.
Suma en complemento a 1 (C1)

En la aritmtica a C1, dos nmero se suman exactamente igual que en binario puro, con la nica salvedad de que si apareciera acarreo en la suma parcial de los bits ms significativos, dicho acarreo, se suma al resultado. Como se ha indicado anteriormente, la resta se puede realizar como una suma de un nmero negativo.
Ejemplo. Realizar la suma 23+12 en C1 utilizando 8 bits.

2310 = 000101112 Como es positivo C1(23) = 000101112 1210 = 000011002 Como es positivo C1(12) = 000011002 Por lo tanto,
0 0 0 1 0 1 1 1 + 0 0 0 0 1 1 0 0 0 0 1 0 0 0 1 1

La suma de 2310 = 000101112 y 1210 = 000011002 es 3510 = 001000112.

CEDE - C/ Cartagena, 129 - 28002 Madrid


Tel.: 91 564 42 94

C E D E www.cede.es

Tema 1.20

Profesores de Enseanza Secundaria INFORMTICA

Ejemplo. Realizar la resta 103-14 en C1 utilizando 8 bits.

10310 = 011001112 Como es positivo C1(103) = 011001112 1410 = 000011102 Como es negativo C1(14) = 111100012 Por lo tanto,
0 1 1 0 0 1 1 1 1 1 1 1 0 0 0 1 0 1 0 1 1 0 0 0

+ 1 (Acarreo)

Como puede observarse, esta operacin tiene acarreo, por lo tanto, al resultado, se le ha de sumar dicho acarreo.
0 0 1 0 0 0 1 1 + 1 0 0 1 0 0 1 0 0

La resta de 10310 = 011001112 y 1410 = 000011102 se ha convertido en una suma haciendo el C1 de 14. El resultado obtenido es 8910 = 010110012. 1.3.2.3. Complemento a 2 En este sistema de representacin, al igual que en Signo y Magnitud y C1, tambin existe un bit de signo que indica si el nmero es positivo (0) o negativo (1). La forma de obtener el complemento a 2 (C2) de un nmero decimal, es obtener su valor absoluto en binario puro con el nmero de bits total que se indique y posteriormente, si a) El nmero es positivo, no se realiza ningn cambio, el nmero ya est codificado en C2. b) Si el nmero es negativo, se realizan dos pasos: b1) Invierten todos los bits, cambiando los 0s por 1s y a la inversa. b2) Al resultado, se le suma 1. Si se desea convertir el nmero 72 en C2 utilizando 8 bits, debemos realizar las siguientes operaciones: Convertir a binario puro el valor absoluto del nmero utilizando 8 bits. 7210 = 010010002 como es negativo, invertimos los bits, o lo que es lo mismo, calculamos el complemento a 1 (C1) de 72. C1 (7210) = 101101112

C E D E www.cede.es

CEDE - C/ Cartagena, 129 - 28002 Madrid


Tel.: 91 564 42 94

Profesores de Enseanza Secundaria INFORMTICA

Tema 1.21

y a continuacin, le sumamos 1 unidad para convertirlo a C2.


1 0 1 1 0 1 1 1 + 1 1 0 1 1 1 0 0 0

Por lo tanto C2 (7210) = 101110002 El rango de representacin de un nmero en C2, es el siguiente:


(2(n1) 1) X (2(n1) 1)

Ahora, el rango de nmeros que se pueden representar, ya no es simtrico, y el 0, tiene una nica representacin. Por tanto, un registro de 8 bits, tiene el siguiente rango de representacin: (27) X (27 1) es decir, 128 X 127 Este complemento es ampliamente utilizado en los sistemas actuales.
Sumas y Restas en complemento a 2 (C2)

En la aritmtica a C2, dos nmero se suman exactamente igual que en C1, con la nica salvedad de que si apareciera acarreo en la suma parcial de los bits ms significativos, dicho acarreo, se desprecia. Como se ha indicado anteriormente, la resta se puede realizar como una suma de un nmero negativo.
Ejemplo. Realizar la resta 111-9 en C1 utilizando 8 bits.

11110 = 011011112 Como es positivo C2 (111) = 011011112 910 = 0000100102 Como es negativo C2 (9) = C1 +1 = 111101112 Por lo tanto,
0 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 0 1 1 0 0 1 1 0

+ 1 (Acarreo)

Como puede observarse, esta operacin tiene acarreo, pero como estamos operando en complemento a 2, dicho acarreo se desprecia.

CEDE - C/ Cartagena, 129 - 28002 Madrid


Tel.: 91 564 42 94

C E D E www.cede.es

Tema 1.22

Profesores de Enseanza Secundaria INFORMTICA

La resta de 11110 = 011011112 y 910 = 000010012 se ha convertido en una suma haciendo el C2 de 9. El resultado obtenido es 10210 = 011001102. 1.1.3.2.4. Codificacin en Exceso a 2n1 Este mtodo, no utiliza un bit de signo como tal, es decir todos los bits representan el mdulo o valor. La forma de obtenerlo, es sumando al nmero codificado en binario puro, una cantidad fija determinada por el valor 2n1, siendo n el nmero total de bits asignados. Por ejemplo, para representar con 8 bits el nmero 27 en exceso a 2n1, se han de realizar las siguientes operaciones. En primer lugar, calculo el exceso, es decir 281 = 27 = 128. A continuacin sumo al nmero el exceso, es decir 27 + 128 =155 y codifico el valor obtenido en binario puro: 15510 = 100110112 Por lo tanto, el valor en Exceso a 2n1 de 27 es 100110112. El rango de representacin de un nmero Exceso a 2n1, es el siguiente:
(2(n1) X (2(n1) 1)

Ahora, el rango de nmeros que se pueden representar, ya no es simtrico, y el 0, tiene una nica representacin. Por tanto, un registro de 8 bits, tiene el siguiente rango de representacin: (27) X (27 1) es decir, 128 X 127 Este forma de codificacin se utiliza entre otros casos, para codificar los nmeros reales, como se ver posteriormente.
1.1.3.3. Codificacin de nmeros reales

1.1.3.3.1. Codificacin en coma fija Hasta ahora, vemos visto cmo representar los nmeros naturales y enteros, pero tambin debemos de ser capaces de representar nmeros reales y poder operar con ellos. Como sabemos, los nmeros reales pueden tener un nmero de decimales infinitos, y se deben almacenar dichos nmeros

C E D E www.cede.es

CEDE - C/ Cartagena, 129 - 28002 Madrid


Tel.: 91 564 42 94

Profesores de Enseanza Secundaria INFORMTICA

Tema 1.23

en registros que tienen un nmero de bits finito. Teniendo en cuenta que los nmeros binarios necesitan muchos dgitos para representar cantidades relativamente pequeas, el problema no es trivial. La forma ms fcil de representacin de nmeros reales, es la representacin en coma fija que, bsicamente, consiste en codificar en binario puro tanto la parte entera como la parte decimal. Para almacenar nmeros reales en un registro, una porcin del registro se debe destinar para representar la parte entera, y el resto, para la parte fraccionaria. Si dedicamos, por ejemplo, tres bits para la parte fraccionaria, slo unos pocos nmeros reales pueden ser almacenados con exactitud, lo que genera errores de precisin ya sean porque se han de truncar los nmeros o porque es necesario un redondeo.
El truncado de un nmero elimina, de este, aquellos bits de la parte fraccionaria que no se pueden almacenar en el registro. El redondeo de un nmero A, tiende a almacenar dicho nmero como si fuera otro nmero B, lo ms cercano posible a A, que si sea representable con exactitud en el registro. Ejemplo: Convirtamos el nmero 24,78125 coma fija. En primer lugar, convirtamos la parte entera a binario puro

24 : 2 = 12 12 : 2 = 6 6:2=3 3:2=1 1:2=0

Resto: 0 Resto: 0 Resto: 0 Resto: 1 Resto: 1

Por tanto, 2410 = 110002. Ahora se convierte la parte decimal, es decir 0,78125 0,78125 * 2 = 1,5625 0,5625 * 2 = 1,125 0,125 * 2 = 0,25 0,25 * 2 = 0,5 0,5 * 2 = 1 Parte entera: 1 (se desprecia la parte entera para la siguiente operacin) Parte entera: 1 Parte entera: 0 Parte entera: 0 Parte entera: 1

Por tanto, 0,7812510 = 0,110012. Por tanto uniendo la parte entera y la decimal, tenemos que, en coma fija: 24,7812510 = 11000,110012 Este tipo de codificacin, es sencilla, pero, incluso con registros de 64 o 128 bits, nos permite representar un rango de nmero relativamente bajo. Por otro lado, el hecho de que la coma pueda estar

CEDE - C/ Cartagena, 129 - 28002 Madrid


Tel.: 91 564 42 94

C E D E www.cede.es

Tema 1.24

Profesores de Enseanza Secundaria INFORMTICA

en cualquier lugar, nos obliga a indicar, de alguna manera, la posicin de la coma, o dejar una porcin fija del registro a la parte real y otra a la parte decimal, algo que no soluciona el problema, pues nos provoca truncamientos de los nmeros nos obligara a redondear la cantidad que deseamos expresar. Est claro que esta forma de representacin no cumple las necesidades de representar nmero extraordinariamente grandes pequeos, es por ello por lo que se desarrolla la representacin en coma flotante que se apoya en la representacin en notacin cientfica de los nmeros. 1.1.3.3.2. Representacin en coma flotante La notacin en coma fija, es apropiada para nmeros con un orden de magnitud acotado, pero cuando se pretende aumentar el rango de nmeros representables, hemos de acudir a la denominada notacin en coma flotante. Esta representacin busca el almacenamiento del nmero real en forma de exponencial. Estos nmeros se representan mediante la mantisa y el exponente. Cualquier nmero real en base b puede ser expresado en la forma siguiente: X = m * be donde m es la mantisa. b es la raz o base. e es el exponente.

Por ejemplo, el nmero 54,287, se puede representar como 5,4287 * 101, como 0,54287 * 102 o bien, entre otros, como 5428,7 * 102. Como puede verse, un mismo nmero, puede tener distintas representaciones debido a que el punto decimal que separa la parte entera de la parte fraccionaria, se puede colocar en distinto lugar si el exponente se ajusta convenientemente. Debido a que la representacin no es nica, se debe definir lo que se denomina una mantisa normalizada, es decir, hay que determinar siempre en qu lugar se ajusta el punto decimal separador de la parte entera y la parte fraccionaria. Se podra definir, por ejemplo, una normalizacin por mantisa entera normalizacin por mantisa fraccionaria. Actualmente, est ampliamente extendido el estndar definido por el IEEE, que es el IEEE754, por lo que ser el que desarrollemos en esta seccin.
Estndar IEEE 754

Este estndar se utiliz ampliamente por los fabricantes de hardware, implementado en gran cantidad de aplicaciones y adoptado por el IEEE en 1985, siendo revisado en el ao 2008. El coprocesador aritmtico Intel 8087, lanzado en el ao 1980, fue el primer componente que implement esta forma de representacin de nmeros reales.

C E D E www.cede.es

CEDE - C/ Cartagena, 129 - 28002 Madrid


Tel.: 91 564 42 94

Profesores de Enseanza Secundaria INFORMTICA

Tema 1.25

En este estndar, se utiliza el bit ms significativo para indicar el signo, de tal manera que si el bit de signo es 0, el nmero es positivo y en caso contrario, negativo. El resto de bits se distribuye entre la mantisa, que est representada en binario puro, y el exponente, que se representa mediante notacin por exceso. El nmero a representar se ha de normalizar al formato 1,xxxxx2, es decir, estaran normalizados los nmeros 1,00100102, 1,01112 o 1,112 * 23, pero no 11,01012 o 0,1010002. Veamos como normalizar los dos valores anteriores que no estn normalizados. 11,01012 = 1,10101 * 22 0,1010002 = 1,010002 * 21 de esta manera, se da por hecho que la parte entera del nmero normalizado es siempre 1, esta manera no es necesario guardarlo, de modo que se guardan slo los bits de la forma fraccionaria. De esta forma, al ahorrarnos el guardar la parte entera, que es siempre 1, segn se especifica en la norma, se consigue aumentar el rango de nmero representables ya que disponemos de un bit ms para aumentar la precisin de la mantisa. A este bit se le denomina bit oculto, y a pesar de que no se guarde, siempre se ha de tener en cuenta. La norma indica que una vez normalizado el nmero, se represente la mantisa (obviando 1 de la parte entera) en binario puro, y el exponente, se represente en por exceso a N, donde N depende del nmero de bits totales que tengamos para representar el nmero, siguiendo la siguiente frmula: N = 2(q1) 1, donde q son el nmero de bits que se utilizan para representar el exponente. El estndar define un formato sencillo, en el que los nmeros se representan con un total de 32 bits, 1 de ellos para el signo, los 23 bits siguientes para la mantisa y los 8 bits restantes para el exponente. En este caso, al haber un total 32 bits, el exponente se representa como N = 2(81) 1 es decir, N = 2(7) 1 = 127. Formato sencillo: S Mantisa (23 bits) Exp (8 bits)

En el formato largo, se destinan 64 bits en total para representar el nmero real, de los cuales, 1 de ellos es para indicar el signo, 52 de ellos representa la mantisa y los 11 bits restantes, se utilizan para el exponente. Por tanto, al asignar 11 bits al exponente, estar representado en exceso a 1023, ya que N = 2(111) 1 = 1023. Formato largo (64 bits): S Mantisa (52 bits) Exp (11 bits)

CEDE - C/ Cartagena, 129 - 28002 Madrid


Tel.: 91 564 42 94

C E D E www.cede.es

Tema 1.26

Profesores de Enseanza Secundaria INFORMTICA

Ejemplo: Representemos el nmero 17,3125 en formato IEEE 754.

En primer lugar convertimos la parte entera: 17 : 2 = 8 8:2=4 4:2=2 2:2=1 1:2=0 Resto: 1 Resto: 0 Resto: 0 Resto: 0 Resto: 1

Por tanto, 1710 = 100012. Ahora se convierte la parte decimal, es decir 0,3125 0,3125 * 2 = 0,625 0,625 * 2 = 1,25 0,25 * 2 = 0,5 0,5 * 2 = 1 Parte entera: 0 Parte entera: 1 (se desprecia la parte entera para la siguiente operacin) Parte entera: 0 Parte entera: 1

Cogiendo las partes enteras que hemos obtenido en el proceso anterior en el mismo orden en el que los hemos obtenido, tenemos que 0,312510 = 0,01012. Por tanto uniendo la parte entera y la decimal, tenemos que 17,312510 = 10001,01012 Vamos a normalizar el nmero 10001,0102, de tal manera que nos quede como parte entera un nico 1, por tanto, hemos de correr la coma 4 posiciones, es decir, 10001,01012 = 1,000101012 * 24 ya tenemos la informacin necesaria para poder codificar el signo (positivo = 0), la mantisa (00010101) y el exponente, que tiene un valor de 4 y ha de representarse en exceso a 127 (segn se coment anteriormente). Calculamos el exceso a 127 de 4 (exponente): 127 + 4 = 131 = 100000112 Por tanto: Signo (1 bit) = 0

C E D E www.cede.es

CEDE - C/ Cartagena, 129 - 28002 Madrid


Tel.: 91 564 42 94

Profesores de Enseanza Secundaria INFORMTICA

Tema 1.27

Mantisa (23 bits) = 000101012 = 000000000000000000101012 Exponente (8 bits) = 100000112 Por tanto 17,312510 = 1 00000000000000000010101 10000011 se han incluido guiones para separar el bit de signo, la mantisa y el exponente.
Ejemplo 2: Representemos el nmero 54,4375 en formato IEEE 754 en formato largo.

En primer lugar convertimos la parte entera: 54 : 2 = 27 27 : 2 = 13 13 : 2 = 6 6:2=3 3:2=1 1:2=0 Resto: 0 Resto: 1 Resto: 1 Resto: 0 Resto: 1 Resto: 1

Por tanto, 5410 = 1101102. Ahora se convierte la parte decimal, es decir 0,4375 0,4375 * 2 = 0,875 0,875 * 2 = 1,75 0,75 * 2 = 1,5 0,5 * 2 = 1 Parte entera: 0 Parte entera: 1 (se desprecia la parte entera para la siguiente operacin) Parte entera: 1 Parte entera: 1

Cogiendo las partes enteras que hemos obtenido en el proceso anterior en el mismo orden en el que los hemos obtenido, tenemos que 0,437510 = 0,01112. Por tanto uniendo la parte entera y la decimal, tenemos que 54,437510 = 110110,01112 Vamos a normalizar el nmero 110110,01112,de tal manera que nos quede como parte entera un nico 1, por tanto, hemos de correr la coma 5 posiciones, es decir, 110110,01112 = 1,1011001112 * 25 ya tenemos la informacin necesaria para poder codificar el signo (positivo = 0), la mantisa (101100111) y el exponente, que tiene un valor de 5 y ha de representarse en exceso a 127 (segn se coment anteriormente).

CEDE - C/ Cartagena, 129 - 28002 Madrid


Tel.: 91 564 42 94

C E D E www.cede.es

Tema 1.28

Profesores de Enseanza Secundaria INFORMTICA

Calculamos el exceso a 1023 de 5 (exponente): 1023 + 5 = 1028 = 100000001002 Por tanto: Signo (1 bit) = 1 (por ser negativo) Mantisa (52 bits): 000101012 = 0000000000000000000000000000000000000000000000101012 Exponente (11 bits) = 100000001002 Por tanto:
54,437510 = 1 000000000000000000000000000000000000000000000010101 10000000100

En este estndar se definen una serie de valores especiales que son los que se indican a continuacin:
Un nmero normalizado se ha de representar con un cdigo de exponente mayor que 0 y menor que 255, es decir, 0 < exponente < 255, ya que los valores de 0 y 255, tienen un significado especial. Si el exponente = 0, y la mantisa es distinto de 0,representa un nmero desnormalizado, es decir un nmero tan pequeo que no puede ser representado de modo normalizado. Si es exponente es 255 y la mantisa es 0, se utiliza para representar el infinito, positivo o negativo en funcin del bit de signo. Si es exponente es 255 y la mantisa es distinta de 0, se utiliza para representar los caracteres NaN (Not a Number), que son cdigos especiales y no representa un nmero, si no que se utilizan para proporcionar informacin sobre lo ocurrido en una operacin en concreto, por ejemplo, se utilizara para indicar que ha habido una divisin por 0. Si es exponente es 255 y la mantisa es 0, representa el nmero infinito. El nmero 0, se representa con un valor de 0 tanto en el exponente y la mantisa. El valor de signo puede ser 0 o 1, por lo tanto tiene dos representaciones: +0 y 0. Operaciones en coma flotante

La aritmtica en coma flotante se han de considerar tanto la mantisa como el exponente, pudiendo ocurrir que el resultado de la operacin, no est normalizado, por lo que sera necesario su normalizacin para volver a representarlo en formato IEEE754. En la aritmtica de coma flotante, hay dos fuentes de errores posibles. Por un lado, debido a que la representacin de algunos nmeros no es

C E D E www.cede.es

CEDE - C/ Cartagena, 129 - 28002 Madrid


Tel.: 91 564 42 94

Profesores de Enseanza Secundaria INFORMTICA

Tema 1.29

exacta, y por otro, por la prdida de dgitos significativos al realizar la operacin. Todo ello se debe a que el nmero de bits para representar los nmeros reales, que es infinito, es limitado y por ello, se comete un error de precisin.
Sumas y restas

Para realizar sumas o restas, es necesario que los exponentes de ambos nmeros sean iguales. Para conseguirlo, es necesario desplazar la mantisa del nmero que tenga mayor exponente, tantas veces como sea necesario para conseguir un mismo exponente en ambos nmeros. Vemoslo en con un nmero en decimal: Si queremos sumar los nmeros 2*103 y 5*102, hemos de conseguir tener el mismo exponente (el menor de ellos ) en ambos nmeros, por tanto, tenemos que vamos a desplazar la mantisa con mayor exponente, hasta conseguir el mismo exponente que tiene el otro nmero implicado en la operacin, en este caso, tenemos que 2*103 = 20*102. As, ya hemos conseguido que los dos valores tengan el mismo exponente, y por tanto, podemos sumar el valor de la mantisa: 20*102 + 5*102 = 25*102 como se ha indicado anteriormente, puede ser necesario realizar una normalizacin del resultado obtenido.
Multiplicacin y divisin

Para realizar una multiplicacin, hay que multiplicar las mantisas y sumar los exponentes, y luego normalizar el resultado. En el caso de la divisin, hay que dividir las mantisas y restar los exponentes. Despus, al igual que ocurre con la multiplicacin, hay que normalizar el resultado.
1.1.3.4. Otros cdigos binarios para representar dgitos decimales

Existen otros cdigos sirven para representar los smbolos numricos, asociando a cada nmero, un cdigo. Dentro de este grupo de cdigos, nos encontramos con el cdigo BCD, el cdigo Gray el cdigo de siete segmentos. Veamos que valores tienen asociado los dgitos numricos en cada uno de estos cdigos. Estos cdigos, debido a sus limitaciones se utilizan slo en aplicaciones muy especficas. 1.1.3.4.1. Cdigo BCD El Cdigo BCD (Binary Code for Decimal digits), es cdigo de 4 bits con la siguiente correspondencia:

CEDE - C/ Cartagena, 129 - 28002 Madrid


Tel.: 91 564 42 94

C E D E www.cede.es

Tema 1.30

Profesores de Enseanza Secundaria INFORMTICA Numero Decimal 0 1 2 3 4 5 6 7 8 9 Cdigo BCD 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001

Con este cdigo, tendramos la siguientes equivalencias: 25410 = 001001010100BCD Como puede observarse, es una traduccin cifra a cifra del valor en base 10. 1.1.3.4.2. Cdigo de siete segmentos El Cdigo de siete segmentos, es un cdigo de 7 bits, utilizado para la representacin de los nmeros en los displays o pantallas de siete segmentos. Indica mediante el valor codificado, qu segmentos del display debe encenderse para representar la cifra digital. Es por un sistema no posicional, ya que los dgitos no tienen menor o mayor valor en funcin de su posicin.

Por ejemplo, el valor 0, se representa encendiendo los segmentos a, b, c, d, e y f, por lo tanto, tienen valor 1 y el segmento g debe permanecer apagado, por tanto, a valor 0. Segn esto, el valor 0, en siete segmentos se corresponde con 1111110. De la misma manera, el valor 1, se corresponde con 0110000, ya que slo se encienden los segmentos b y c. 1.1.3.4.3. Cdigo de Gray Es un cdigo que tiene la propiedad de que slo existe un bit diferente entre dos elementos consecutivos del cdigo. El cdigo Gray fue diseado originalmente para prevenir seales espurias de

C E D E www.cede.es

CEDE - C/ Cartagena, 129 - 28002 Madrid


Tel.: 91 564 42 94

Profesores de Enseanza Secundaria INFORMTICA

Tema 1.31

los switches electromecnicos. Actualmente es usado para facilitar la correccin de errores en los sistemas de comunicaciones. El cdigo Gray para tres bits, se corresponde con los siguientes valores:
Decimal 0 1 2 3 4 5 6 7 Gray 000 001 011 010 110 111 101 100 Binario 000 001 010 011 100 101 110 111

Como puede observarse, tampoco es un sistema posicional. Los cdigos BCD, de siete segementos y de Gray, son slo algunos ejemplos de codificacin numrica existentes.
1.1.4. CODIFICACIN DE CARACTERES

Hasta ahora, slo hemos representado nmeros, con mayor o menor complejidad, pero hemos recordar que no son slo nmeros lo que se debe almacenar en un sistema informtico. Existen las letras, signos de puntuacin y signos especiales como los que pueden representar una moneda. Por lo tanto, necesitamos cdigos ms amplios que incluyan estos smbolos. En este caso, se asignan un cdigo diferente a cada uno smbolos que queremos representar. El conjunto de caracteres que un sistema acepta, se denomina juego de caracteres y los ms importantes son los que se explican a continuacin.

1.1.4.1. Cdigo ASCII

ASCII significa Cdigo Estndar Americano para el Intercambio de Informacin (American Standard Code for Information Interchange). Este cdigo utiliza 7 u 8 bits para codificar los diferentes smbolos, y se denominan cdigo ASCII o cdigo ASCII extendido (8 bits). Con 7 bits, se pueden representar 128 caracteres diferentes, utilizando el octavo bit como bit de paridad para detectar problemas en la transmisin de la informacin. Podemos dividir la tabla ASCII en grupos de smbolos:

CEDE - C/ Cartagena, 129 - 28002 Madrid


Tel.: 91 564 42 94

C E D E www.cede.es

Tema 1.32

Profesores de Enseanza Secundaria INFORMTICA

Cdigos transparentes: que no se corresponden con ningn carcter alfanumrico y sirven para transmitir caracteres de control (o instrucciones), como por ejemplo: salto de lnea o retorno de carro. Nmeros y smbolos: ocupan las posiciones desde el 32 a la 64 de la tabla ASCII. Letras: Ocupa las posiciones de la tabla ASCII comprendidas entre la 65 y la 127. Estn las letras del abecedario ingls en maysculas, minsculas y smbolos de puntuacin.

El problema del cdigo ASCII es que no es capaz de representar las letras acentuadas, ni otros caracteres, fundamentales para otros idiomas como el signo de apertura de interrogacin la . A continuacin, se muestra la tabla ASCII:

1.1.4.2. ASCII extendido

Debido a las limitaciones del ASCII se definieron varios cdigos de caracteres de 8 bits, entre ellos el ASCII extendido. Sin embargo, el aadir un bit ms a la codificacin de smbolos, supone poder representar tan slo 256 smbolos diferentes, algo que es claramente insuficiente para poder codificar mensajes en lenguas como el griego, el chino o el rabe.

C E D E www.cede.es

CEDE - C/ Cartagena, 129 - 28002 Madrid


Tel.: 91 564 42 94

Profesores de Enseanza Secundaria INFORMTICA

Tema 1.33

1.1.4.3. Unicode (ISO 10646)

Como solucin a estos problemas, desde 1991 se ha acordado internacionalmente utilizar la norma Unicode, que es una gran tabla, que en la actualidad asigna un cdigo a cada uno de los ms de cincuenta mil smbolos, los cuales abarcan todos los alfabetos europeos, ideogramas chinos, japoneses, coreanos, muchas otras formas de escritura, y ms de un millar de smbolos especiales.
1.1.4.4. ISO 8859-1

La ISO 8859 es un conjunto de normas, para la codificacin de caracteres con tan slo 8 bits. Como con 8 bits no se pueden incluir todos los caracteres de todos los idiomas, por lo que esta norma se divide en versiones. La versin 1, es decir, la norma ISO 8859-1, incluye los caracteres especficos de las lenguas de Europa occidental, mientras que, por ejemplo, la versin ISO8859-7, incluye los caracteres griegos. El rango inicial de caracteres de este conjunto de normas, es el cdigo ASCII (128 caracteres), y son los siguientes 128 caracteres los que difieren de una versin a otra. Los caracteres de ISO-8859-1 son adems los primeros 256 caracteres del estndar ISO 10646 (Unicode). La norma ISO 8859-15 consisti en una revisin de la ISO 8859-1, incorporando el smbolo del Euro y algunos caracteres necesarios para dar soporte completo al francs, fins y estonio.
1.1.5. CODIFICACIN DE FORMATOS MULTIMEDIA

Hoy en da, los sistemas informticos estn muy extendidos, en parte, por la capacidad de manejar informacin multimedia: imgenes, sonidos, vdeos, etc. Las imgenes, sonido y vdeo, son seales analgicas, o sea, estn compuestas por magnitudes continuas y que por tanto, estn situadas en un rango infinito de valores posibles. Por ejemplo, entre el color azul y el color amarillo, hay un nmero infinito de tonalidades colores intermedios, sin embargo, algunos formatos de imgenes, solo admiten 256 colores diferentes.

1.1.5.1. Conversin analgica-digital

Para poder almacenar y transmitir la informacin contenida en las imgenes, el sonido el vdeo, se codifican en un formato digital, o dicho de otra manera, hay que transformarla en nmeros, con-

CEDE - C/ Cartagena, 129 - 28002 Madrid


Tel.: 91 564 42 94

C E D E www.cede.es

Tema 1.34

Profesores de Enseanza Secundaria INFORMTICA

cretamente en 0s y 1s, que son lo que entienden los sistemas digitales. El proceso bsico que se sigue para convertir una seal analgica en digital, es el que se muestra a continuacin:

En un primer paso, se filtra la seal, para quedarnos nicamente con las frecuencias que nos interesan. Posteriormente se toman muestras cada cierto tiempo de los valores de la seal analgica, a este proceso, se denomina muestreo. Debemos tomar suficientes muestras para poder reconstruir posteriormente la seal. Segn el teorema de Nyquist, se puede reconstruir una seal analgica, a partir de sus muestras, si se toman con una tasa de muestreo apropiada. Por ejemplo, la tasa de muestreo de una seal de Audio-CD, es de aproximadamente 44 kHz, lo que significa que en un segundo, se toman 44.000 muestras de la seal de audio, en una seal de voz telefnica, se toman muchas menos muestras, unas 8000. Esa es una de las razones por lo que la calidad del sonido transmitido a travs de la lnea telefnica es inferior que la que podemos escuchar de un CD de msica.

Muestreo de una seal

Una vez que tenemos muestras de la seal analgica que queremos codificar, las muestras de voz, por ejemplo, hemos de cuantificarlas. Esto significa que cada una de las muestras, que tienen un valor dentro de un rango infinito de valores, va a pasar a tener un valore dentro de un conjunto de valores posibles limitados discretos. Por ejemplo, a cada muestra de seal telefnica, se le asocia un valor entre 256 valores posibles, ya que se codifica cada muestra con 8 bits (28 = 256). A una muestra de seal de video, se le da un valor entre 65536 valores posibles, pues cada muestra se codifica con 16 bits (216 = 65536).

C E D E www.cede.es

CEDE - C/ Cartagena, 129 - 28002 Madrid


Tel.: 91 564 42 94

Profesores de Enseanza Secundaria INFORMTICA

Tema 1.35

Cuantificacin de una seal

El resultado es una seal digital con un determinado bit rate o tasa de transferencia, en una seal telefnica, como se toman 8000 muestras por segundo y cada una de ellas se codifica con 8 bits, se obtienen 64000 bits/segundo (64 kbps), para el audioCD, tenemos un bit rate de 1411kbps (22 veces superior al audio transmitido por la linea telefnica). Con los dos procesos descritos anteriormente, hemos convertido una seal analgica, que se componen de infinitos valores, a una seal digital binaria, que se compone tan slo de 0 y 1. Para volver a reconstruir la seal analgica original, se sigue el proceso inverso: se obtienen el valor de las muestras a partir de su codificacin y stas se interpolan para obtener la seal analgica original (o al menos, una seal muy parecida a la original). En realidad, siempre hay una distorsin de la seal, conocida como ruido de cuantificacin debido al redondeo que se hace en el proceso de cuantificacin. Si se dan intervalos de cuantificacin suficientes, se puede minimizar este ruido de cuantificacin en gran medida. El cdigo especifico que se utiliza en la codificacin/decodificacin de la seal, se denomina codec. Existen varios codec de audio, vdeo y formatos de imgenes disponibles y se clasifican atendiendo a distintos parmetros. Dichos paremtros pueden estar referidos a si la seal obtenida tiene prdida de informacin, o no, y si ofrecen compresin de los datos.
Cdec con/sin perdidas

Si obviamos las prdidas producidas por el error de cuantificacin, que en la mayora de los casos son inapreciables, los sistemas de codificacin, pueden aprovechar las limitaciones de los sentidos humanos, para reducir la cantidad de informacin. No debemos olvidar que, por ejemplo, para el odo humano, hay frecuencias de sonido que no es capaz de percibir, y es interesante eliminarlas para ahorrar la cantidad de informacin resultante de la codificacin.
Compresin

Al margen de que se hayan codificado o no con prdidas, se puede aplicar a los datos un algoritmo de compresin con el objetivo de reducir la cantidad de informacin resultante. A continuacin se muestran los formatos de codificacin ms importantes y sus caractersticas:

CEDE - C/ Cartagena, 129 - 28002 Madrid


Tel.: 91 564 42 94

C E D E www.cede.es

Tema 1.36

Profesores de Enseanza Secundaria INFORMTICA

1.1.5.2. Codificacin de imgenes

En la actualidad, existen muchos formatos de imgenes diferentes, aqu se van a dar algunos detalles de los ms conocidos. 1.1.5.2.1. Formato JPEG Es uno de los formatos ms difundidos en la web. En este formato tiene prdidas y compresin. La informacin que se desecha (prdidas) de la imagen original, es imperceptible por el ojo humano. Soporta ms de 16 millones de colores diferentes y es apropiado para fotografas y grficos complejos, aunque no para imgenes vectoriales o imgenes pequeas, ya que se necesita suficiente cantidad de informacin para que el proceso de compresin sea eficaz. 1.1.5.2.2. Formato GIF A diferencia del formato JPEG, es un formato sin prdidas, aunque si tiene compresin. Uno de los inconvenientes principales es que soporta solo 256 colores diferentes. Este formato puede obtener mejores resultados que el JPEG para imgenes con pocos colores, imgenes vectoriales, en blanco y negro, pero no son aptos para imgenes de calidad. Este formato admite tambin transparencias y animaciones. Se necesita licencia para poder utilizar este algoritmo de codificacin/decodificacin. 1.1.5.2.3. Formato PNG El algoritmo de este formato, es libre, por lo que se puede utilizar sin tener que pagar por utilizarlo. Mejora en muchos casos los resultados obtenidos por el algoritmo del formato GIF. No tiene prdidas tampoco, pero el algoritmo de compresin est ms optimizado que el del GIF. Como inconveniente, no soporta animaciones, pero s transparencias. 1.1.5.2.4. Formato BMP Es un formato tpico de entornos Windows. Este formato guarda las imgenes en un mapa de bits. Es apto para imgenes de alta calidad, pero el tamao de los archivos resultantes, aunque se le puede aplicar un algoritmo de compresin, es muy grande, por lo que, poco a poco, se va utilizando menos.
1.1.5.3. Codificacin del audio

El sonido se digitaliza siguiendo el esquema de filtrado, muestreo, cuantificacin y codificacin. En cuanto a los codecs de audio, aqu mostraremos las caractersticas ms importantes de los que ms se utilizan: formato AAC, FLAC, MP3, Ogg y WMA.

C E D E www.cede.es

CEDE - C/ Cartagena, 129 - 28002 Madrid


Tel.: 91 564 42 94

Profesores de Enseanza Secundaria INFORMTICA Frecuencia de muestreo 8 kHz a 192 kHz 1 Khz a 1 Mhz 8, 11.025, 12, 16, 22.05, 24, 32, 44.1, 48kHz 1 Hz a 200 kHz 8, 11.025, 12, 16, 22.05, 32, 44.1, 48, 96 kHz

Tema 1.37

Compresin AAC FLAC MPEG3 Si, con prdidas. Sin prdidas Con prdidas

Tasa de bits 8-529 Kbps (estreo) Variable

Muticanal Hasta 28 canales Hasta 8 canales

No 8, 16, 24, 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320 Kbps Variable Hasta 255 canales 4-768 kbps/variable hasta 8 canales (WMA Professional) (sin prdidas) / hasta 6 canales (WMA sin prdidas)

Ogg WMA

Con prdidas Con prdidas, sin prdidas

1.1.5.4. Codificacin de vdeo

En cuanto al vdeo, tambin existen muchos formatos de codificacin, el MPEG, es un grupo amplio de estndares de codificacin de audio y video. El ms utilizado es el MPEG-4, y se basa en las caractersticas del MPG1 y MPEG2, y de otros estndares, como el formato MP3, para el audio. El formato DIVX, se basa en el formato MPEG4 . El Xdiv, es un formato libre bajo licencia GNU/GPL, como alternativa al DIVX.
1.1.6. UNIDADES Y MAGNITUDES INFORMTICAS

Se ver en este apartado las medidas ms utilizadas de informacin y frecuencia.

1.1.6.1. Medidas de Informacin

Bit, es el acrnimo de Binary Digit, y es la mnima unidad de informacin. Con un bit, se puede discriminar slo entre dos estados, que se suelen representar como 0 y 1, o falso y verdadero. La lgica y aritmtica que utilizan bits, se denomina binaria. El lgebra de Boole, utiliza nicamente bits y es ampliamente utilizada en informtica. El bit es una unidad de informacin muy pequea, por ello, se utilizan mltiplos de esta unidad:
Nibble o cuarteto: Byte u octeto: Kilobyte (KB): Megabyte (MB): Gigabyte (GB): Terabyte (TB): Petabyte (PB): Exabyte (EB):
Tel.: 91 564 42 94

4 bits 8 bits 1024 Bytes (en Sistema Internacional: 10 bits = 1000 bits) 1024 Kbytes (en Sistema Internacional: 10 Kbytes = 1000 Kbytes) 1024 Bytes (en Sistema Internacional: 10 Mbytes = 1000 Mbytes) 1024 Gbytes (en Sistema Internacional: 10 Gbytes = 1000 Gbytes) 1024 TB (en Sistema Internacional: 10 = 1000 bits) 1024 PB (en Sistema Internacional: 10 bits = 1000 bits)

CEDE - C/ Cartagena, 129 - 28002 Madrid

C E D E www.cede.es

Tema 1.38

Profesores de Enseanza Secundaria INFORMTICA

Zettabyte (ZB): Yottabyte (YB):

1024 EB (en Sistema Internacional: 10 bits = 1000 bits) 1024 ZB (en Sistema Internacional: 10 bits = 1000 bits)

Como puede apreciarse, hay una discrepancia entre lo que propone el Sistema Internacional y el sistema binario, ya que el sistema internacional considera un Kbyte como 10 bytes, mientras que el sistema binario, lo considera como 210 = 1024, lo que puede dar lugar a confusiones. Por ello, estn tambin los denominados prefijos binarios, que en lugar de indicar KB, lo indica como kibibyte (KiB) = 1024 bytes. Asi, se utilizan los siguientes valores: Mebibyte (MiB) Gibibyte (GiB) Tebibyte (TiB) Pebibyte (PiB) Exbibyte (EiB) Zebibyte (ZiB) Yobibyte (YiB) 220 bytes 230 bytes 240 bytes 250 bytes 260 bytes 270 bytes 280 bytes

1.1.6.2. Medidas de frecuencia

Frecuencia es una magnitud que mide el nmero de repeticiones por unidad de tiempo de cualquier fenmeno o suceso peridico. En los sistemas informticos, se utiliza una seal peridica cuadrada con determinada frecuencia, como seal de reloj. Esta seal sirve para coordinar todos los componentes. Una seal peridica de 1 Hz, se repite una vez por segundo.

Los sistemas informticos, trabajan a velocidades muy altas, por que la seal cuadrada de reloj, se repite muchas veces por segundo. Son normales las seales de reloj a varios Ghz, lo que se significa que cada segundo, ofrecen miles de millones de impulsos cuadrados. La siguiente tabla muestra la relacin entre los Hz, y sus mltiplos ms comunes:

C E D E www.cede.es

CEDE - C/ Cartagena, 129 - 28002 Madrid


Tel.: 91 564 42 94

Profesores de Enseanza Secundaria INFORMTICA 1 Hz 1 Khz 1 Mhz 1 Ghz Un impulso cuadrado por segundo 1000 Hz (mil impulsos por segundo) 1000 Khz = 1000000 Hz 1000 Mhz

Tema 1.39

1.2.

ARQUITECTURA DE UN SISTEMA MICROINFORMTICO. PRINCIPIOS FUNCIONALES

A continuacin, se muestra un esquema de lo que se ver en este apartado.

1.2.1.

ARQUITECTURA BSICA. INTRODUCCIN

Los primeros sistemas informticos slo podan ejecutar una sla aplicacin, y por lo general, sta sola ser relativamente sencilla y en un memoria no voltil. Hoy en da, todava existen sistemas de este tipo, como por ejemplo, las calculadoras, que estn limitadas a realizar operaciones matemticas, siendo por tanto, sistemas diseados para un propsito especfico. Se puede considerar que en estos sistemas, ms que programar la aplicacin, la aplicaciones han sido diseadas junto con el sistema en el que se van a ejecutar. Debido a la poca flexibilidad que tienen estos tipos de sistemas, se fue evolucionando a otros que almacenan, tanto el cdigo de la aplicacin como los datos, en un tipo de memoria denominada RAM. En dicha memoria RAM, se podra cargar distintos tipos de aplicaciones y ser ejecutadas. Estos sistemas, al poder ejecutar distintas aplicaciones, son mucho ms verstiles. Fue Von Neumann el que describi en su famoso artculo First Draft of a Report on the EDVAC propuso un sistema de estas caractersticas. Propuso una arquitectura bsica del diseo de un sistema digital, cuyos bloques funcionales ms significativos eran una unidad de control , una unidad aritmtica y una memoria de acceso aleatorio donde se almacenaran, no slo los datos que maneja la aplicacin, sino la propia aplicacin en s. Tambin dispondra de mecanismos de entrada/salida para

CEDE - C/ Cartagena, 129 - 28002 Madrid


Tel.: 91 564 42 94

C E D E www.cede.es

Tema 1.40

Profesores de Enseanza Secundaria INFORMTICA

poder interactuar con el exterior. Una aproximacin a la mquina de Von Neumann, puede ser la siguiente: La idea de almacenar tanto los datos como las instrucciones a ejecutar en la memoria principal, supona que no se podran buscar datos e instrucciones al mismo tiempo, ya que, al estar almacenadas en el mismo sitio, compartan el mismo bus, concretamente el bus de datos. Esta situacin, reduce el rendimiento del sistema, y conoce como el cuello de botella de VonNeumann. Aparte del cuello de botella de Von Neumann, haba otros puntos en contra de dicha arquitectura, puesto que si las instrucciones se almacenan como si fueran un dato ms, estas instrucciones se podran modificar. Estamos hablando de la auto-modificacin de cdigo, que al principio, era una idea que gustaba, puesto que los sistemas se podran autorreprogamar y evitar la tediosa tarea de cargar nuevos programas en memoria. Sin embargo, esta idea pronto se desech, ya que las tcnicas de automodificacin de cdigo eran muy difciles de comprender, de depurar y mantener. El problema de la modificacin del cdigo por los propios programas, se hizo mayor cuando aparecieron los sistemas multiprogramados, ya que una aplicacin, no slo podra modificarse a s misma, sino que tambin podra modificar el cdigo de otra aplicacin, incluso la del sistema operativo. Hoy en da, los sistemas operativos, han incluido mecanismos de proteccin y otras formas de control de acceso para evitar las situaciones descritas anteriormente.

El hecho de que las instrucciones fueran consideradas como datos, dio tambin pie a pensar que se podran crear aplicaciones cuyo propsito fuera el de crear otras aplicaciones de una forma ms fcil, rpida y segura. Fue de esta manera como aparecieron los ensambladores, los compiladores y las herramientas para el desarrollo de aplicaciones.

C E D E www.cede.es

CEDE - C/ Cartagena, 129 - 28002 Madrid


Tel.: 91 564 42 94

Profesores de Enseanza Secundaria INFORMTICA

Tema 1.41

Pero empecemos por definir lo que es una arquitectura en informtica. Arquitectura de un sistema se define como la combinacin de la microarquitectura, que es la forma que el conjunto de instrucciones es se implementa en el procesador y el conjunto de instrucciones en s. El conjunto de instrucciones de un procesador son las instrucciones que es capaz de ejecutar. El conjunto de instrucciones condiciona el diseo de la arquitectura del sistema en general, aunque tambin es cierto que diferentes arquitecturas pueden ser compatibles entre s y poder ejecutar el mismo conjunto de instrucciones. La arquitectura de un sistema se describe como un conjunto de bloques, cada uno con una funcin definida e interconectados entre s, ya que todos ellos deben interactuar entre s. A continuacin, vamos a analizar una arquitectura basada en el modelo propuesto por Von Neumann. Dicho sistema est compuesto por los siguientes elementos:
Unidad Central de Proceso (UCP), que es la encargada de ejecutar las instrucciones. Este componente es bastante complejo y a su vez, se divide en otros bloques ms elementales. Memoria Principal es la que almacena tanto los datos, como las instrucciones. Unidad de Entrada-Salida, que gestiona los perifricos. Buses, que permiten la interconexin de los distintos elementos.

Vamos a ver cada uno de estos elementos, con mayor detalle:


1.2.2. UNIDAD CENTRAL DE PROCESO (UCP)

La Unidad Central de Proceso, como se ha comentado, es la encargada de ejecutar las instrucciones que componen una aplicacin. Est compuesta por otros elementos que se reparte distintas funciones. Dichos elementos son:
Unidad de Control. Unidad Aritmtico-Lgica. (A.L.U.). Registros.

CEDE - C/ Cartagena, 129 - 28002 Madrid


Tel.: 91 564 42 94

C E D E www.cede.es

Tema 1.42

Profesores de Enseanza Secundaria INFORMTICA

1.2.2.1. Unidad de control

La unidad de control, es el elemento ms complejo de todos, por ello, est compuesto, a su vez, por el decodificador y el secuenciador. El decodificador, como su nombre indica, decodifica las instrucciones que le van llegando desde la memoria principal. El decodificador identifica la instruccin en ejecucin de entre el conjunto de instrucciones que pueden ejecutar. Esta identificacin se realiza a travs del cdigo de operacin, que es nico para cada instruccin. Para llevar a cabo esta accin, se necesita que la operacin est almacenada en un registro denominado Registro de Instruccin (RI), por tanto, este registro se utiliza para almacenar la instruccin que se est ejecutando en ese momento.

Una vez identificada la instruccin, el otro componente relevante de la UC, el secuenciador, activa las seales de control (por el bus de control) necesarias, en orden y en tiempos adecuados para que el resto de los componentes trabajen de forma coordinada y se pueda llevar a cabo el cometido de la instruccin. Podemos decir que el secuenciador gobierna al resto de componentes mediante seales de control. El secuenciador tiene asociadas un conjunto de seales de control a cada una de las instrucciones posibles. Este conjunto de seales de control pueden estar definidas en un microprograma, que

C E D E www.cede.es

CEDE - C/ Cartagena, 129 - 28002 Madrid


Tel.: 91 564 42 94

Profesores de Enseanza Secundaria INFORMTICA

Tema 1.43

es lo que se denomina unidad de control microprogramada, o bien estar implementadas en un circuito digital, en cuyo caso sera una unidad de control cableada. El diseo cableado permite una ejecucin rpida de las instrucciones, sin embargo, es difcil su diseo, ya que para cada instruccin, hay un circuito electrnico que habilita y deshabilita las seales de control. Este diseo es poco flexible, y difcil de depurar, por lo que las instrucciones que ejecutan este tipo de unidad de control, suelen ser sencillas. Este tipo de unidad de control es que se suelen utilizar en los microprocesadores de tipo RISC, de los que hablaremos posteriormente. El diseo microprogramado, asocia un microprograma a cada instruccin. El microprograma establece el secuenciamiento de estados y ejecucin de operaciones en cada estado, que bsicamente, consiste en habilitar y deshabilitar seales de control. Este diseo simplifica el diseo de la unidad de control, siendo un diseo ms barato, menos propenso a errores y ms flexible. Tambin ofrece la posibilidad de emular diferentes conjuntos de instrucciones. Como contrapartida a todas estas ventajas, la ejecucin de la instruccin es ms lenta que para el caso de los sistemas cableados. Este tipo de implementaciones, se utilizan el los sistemas CISC.
1.2.2. SISTEMAS RISC Y CISC

En funcin del nmero de instrucciones y de la complejidad de las mismas, una CPU se puede clasificar en RISC o CISC.
1.2.2.1. Sistemas CISC

Las CPU que son consideradas CISC (Complex Instruction Set Computer) o lo que es lo mismo sistemas con un conjunto complejo de instrucciones. Poseen un amplio y detallado conjunto de instrucciones, y cada una de ellas, puede realizar taras muy complejas. Como normal general, debido a su complejidad, se basan en la microprogramacin, y el tiempo de ejecucin de algunas instrucciones, es muy largo. Las ventajas que ofrecen las CPU de tipo CISC es que simplifican los compiladores, ya que el propio procesador incluyen instrucciones que realizan tareas complejas, y por tanto,los compiladores no han de descomponerlas en tareas ms sencillas. Al haber instrucciones complejas, el nmero de instrucciones que componen la aplicacin, se reduce considerablemente, lo que no indica que sea ms rpido, pues no debemos olvidar que son instrucciones que necesitan mucho tiempo para ejecutarse. Los sistemas CISC son los ms extendidos, lo que hace que sean ms baratos y que haya ms aplicaciones disponibles para estas arquitecturas.
1.2.2.2. Sistemas RISC

Los diseos RISC, minimizan el nmero de instrucciones disponibles y su complejidad. Las instrucciones, por tanto, son ms uniformes, lo que facilita su obtencin, decodificacin y ejecucin, que

CEDE - C/ Cartagena, 129 - 28002 Madrid


Tel.: 91 564 42 94

C E D E www.cede.es

Tema 1.44

Profesores de Enseanza Secundaria INFORMTICA

suele ser extremadamente rpida. Para realizar las operaciones complejas que ofrecan las instrucciones de las CPU CISC, ahora se necesitan varias instrucciones ms sencillas, pero que se ejecutan a mayor velocidad. Las ventajas de los RISC, suelen ser los inconvenientes de los CISC y a la inversa. Las CPU de tipo RISC, al tener pocas instrucciones y sencillas, dejan mucho espacio en el interior de la CPU que suele aprovecharse para incluir una gran banco de registros de trabajo de uso general. El uso intensivo de estos registros de trabajo, hace que se ahorren muchos ciclos de memoria y por tanto, suba el rendimiento, ya que dichos registros estn dentro de la CPU. Los sistema RISC estn asociados los equipos de alta gama.
1.2.2.3. Reloj de Sistema

Para que todos los elementos estn coordinados, las seales de control se han de enviar en el orden y en tiempo adecuados, es por ello que se necesita una seal de reloj externa que llegue a todos los elementos y que permita la sincronizacin entre todos ellos. La seal de reloj no es ms que una sucesin de impulsos elctricos a intervalos constantes. Los primero sistemas utilizaban una seal de reloj con frecuencias relativamente bajas, normalmente Khz. Esto significa que tan slo se generaban unos cientos de impulsos cuadrados por segundo. Las seales de reloj de los sistemas actuales, trabajan en el orden de magnitud de los Ghz, es decir, se generan miles de millones de ciclos de reloj por segundo. A partir de estas frecuencias tan elevadas, la construccin de los circuitos se complica enormemente, ya que los conductores internos se comportan ms que como conductores elctricos, como guas de onda. Con el aumento de frecuencia tambin aumenta el problema de disipacin de energa en los componentes, ya que ahora se genera ms calor, que puede comprometer la estabilidad del circuito.Es por esta razn por la que las frecuencias de trabajo se los sistemas actuales, llevan tiempo sin aumentar, al menos de forma destacable, como se haca hasta hace relativamente poco tiempo. Ahora, para aumentar el rendimiento del sistema, se prefieren otras soluciones antes que aumentar la frecuencia de trabajo del mismo. El secuenciador, conoce cuantos ciclos de reloj se necesitan para llevar a cabo las acciones que les encomienda al resto de componentes, por lo que consigue que todos trabajen de forma coordinada. Es importante resear que el nico elemento que es consciente de que el sistema est ejecutando una instruccin es el secuenciador, el resto de elementos, slo realizan las operaciones asignadas y cuando el secuenciador se las ordena. Por ello, podramos considerarlo como el cerebro del sistema.
1.2.2.4. Unidad Aritmtico-Lgica (ALU)

La unidad aritmtico-lgica tiene implementadas en sus circuitos las operaciones aritmtico y lgicas basadas en el lgebra de Boole, y las realiza sobre los operandos que previamente se les ha depositado en sus registros (a instancia del secuenciador, quien activa la seal de control adecuada). El resultado, lo ofrece en un registro que se suele denominar Acumulador. Internamente est formada por circuitos sumadores, multiplicadores, registros de desplazamiento, etc.

C E D E www.cede.es

CEDE - C/ Cartagena, 129 - 28002 Madrid


Tel.: 91 564 42 94

Profesores de Enseanza Secundaria INFORMTICA

Tema 1.45

La ALU, dispone de un registro de estado en el que muestra informacin sobre condiciones y estados de la ltima operacin. En este registro podra mostrar, por ejemplo,si se ha intentado hacer una operacin ilegal como la de dividir por 0.

Unidad Aritmtico-Lgica

La ALU que vamos a incluir en la arquitectura que vamos a mostrar, es muy sencilla, por eso, siempre realiza las operaciones matemticas sobre el registro acumulador. Si queremos hacer una suma, se asume que uno de los sumandos, es siempre el acumulador. Por tanto, para hacer una operacin de suma, primero se tendr que cargar el primer sumando en el acumulador, y despus pedirle que lo sume a otro nmero. El resultado siempre aparece en el acumulador. La ALU, como normal general, realiza slo operaciones sencillas, por lo que en los sistemas actuales, que requieren operaciones matemticas ms complejas, se hace uso de un procesador especializado en realizar este tipo de operaciones, es el denominado coprocesador matemtico.
1.2.2.5. Registros

Los registros proporcionan un espacio de almacenamiento reducido pero de gran velocidad, ya que estn situado dentro de la propia CPU. Los registros son imprescindibles para el buen funcionamiento del sistema El tamao de los registros, como se indicaba, es pequeo y suelen contener una capacidad que es potencia de 2. Son normales los registros de 8, 16, 32, 64 y 128 bits. Existen dos tipos de registros, los que que son visibles y por tanto utilizables por las aplicaciones de usuario, y los registros de control, que se utilizan permitir el correcto funcionamiento del sistema. Los registros, se pueden clasificar de la siguiente manera:
Registros generales de datos, que sirven para que las aplicaciones almacenen datos y resultados temporales y poder tener un acceso rpido a ellos. Registros de direcciones, que contienen direcciones de memoria valores relacionados con las construccin de direcciones de memoria.

CEDE - C/ Cartagena, 129 - 28002 Madrid


Tel.: 91 564 42 94

C E D E www.cede.es

Tema 1.46

Profesores de Enseanza Secundaria INFORMTICA

Registro de estado y control. Nos muestran el estado en el que se encuentra los distintos elementos del sistema, desde la ALU, a los perifricos. Nos permiten conocer el estado en que se encuentra el sistema y en funcin de ello, tomar acciones.

Por otro lado, tambin pueden clasificarse como registros visibles por el usuario, y por tanto utilizables por las aplicaciones de usuario, y los registros de control, que se utilizan permitir el correcto funcionamiento del sistema.

Veamos los registros ms importantes del sistema, aunque a algunos de estos registros ya se ha hecho referencia cuando se han desarrollado las funciones de otros elementos del sistema informtico.
Registros visibles por el usuario: Registro de estado. Nos permiten conocer el estado en que se encuentran el resto de dispositivos, como la ALU o los perifricos. Pueden ser los registros de estado de algunos componentes, no sean visibles al usuario. Registro Acumulador. Este registro, es el ms importante de la ALU, ya que es el lugar donde ofrece el resultado de las operaciones lgico-aritmticas que realiza. Tambin puede ser utilizado como operando en estas mismas operaciones. Banco de registros de propsito general. Es un conjunto de registros que las aplicaciones de usuario pueden utilizar para almacenar resultados parciales o datos temporales en general y que estos puedan estar disponibles sin tener que ir hasta la memoria principal a por ellos, con lo que suponen un ahorro de tiempo considerable que hace subir el rendimiento general del sistema.

C E D E www.cede.es

CEDE - C/ Cartagena, 129 - 28002 Madrid


Tel.: 91 564 42 94

Profesores de Enseanza Secundaria INFORMTICA

Tema 1.47

Registros de control. Son fundamentales y en los que se apoya el sistema para su funcionamiento y a continuacin vamos a describir algunos de ellos. Contador de Programa (CP)

El contador de programa (CP), contiene la direccin de la siguiente instruccin a ejecutar. Durante la ejecucin de una instruccin, se autoincrementa para apuntar a la siguiente instruccin, de esta manera, se consigue una ejecucin secuencial del programa. Existen unas instrucciones de salto, que modifican este registro para as variar el flujo secuencial de ejecucin del programa.
Registro de Instruccin (RI)

En este registro est almacenada, de forma temporal, la instruccin que est ejecutando el sistema en este momento. Sobre este registro acta el decodificador y una vez que determina de qu instruccin se trata, el secuenciador tomar las acciones necesarias para ejecutarla. Las instrucciones, adems del cdigo de operacin, puede contener otra informacin como datos direcciones. Si tenemos la instruccin almacenada en el RI, esta informacin est fcilmente accesible.
Registro de Direcciones de Memoria (RDM)

En este registro, indicamos la direccin de memoria implicada en un ciclo de lectura/escritura de memoria, es decir, de qu direccin de memoria vamos a leer o escribir.
Registro de Intercambio de memoria (RIM)

En este registro, la memoria ofrece la informacin leda en un ciclo de lectura. En el caso de un ciclo de escritura, es de este registro de donde se recoge la informacin a almacenar en la direccin que se indique en el RDM.
1.2.3. MEMORIA

La memoria es un dispositivo de almacenamiento de la informacin. En las arquitecturas basadas en el propuesta por Von Neumann, tanto las aplicaciones como los datos que se manejan, se almacenan en la misma memoria, en contraposicin a lo que propone la arquitectura Hardvard. Las memorias estn compuestas internamente por circuitos biestables que son capaces de almacenar informacin formando lo que se denominan celdas. Las celdas pueden almacenar informacin binaria, es decir, un 1 un 0. Internamente, las celdas se organizan en palabras, por lo tanto en una palabra se pueden almacenar varios bits. Al conjunto de los bits que forma una palabra, se le denomina longitud de palabra. Cada una de estas palabras estn asociada a una direccin de memoria que las identifica de forma unvoca. La longitud de palabra y el nmero de palabras que posee la memoria, determinan la capacidad total de la memoria.

CEDE - C/ Cartagena, 129 - 28002 Madrid


Tel.: 91 564 42 94

C E D E www.cede.es

Tema 1.48

Profesores de Enseanza Secundaria INFORMTICA

La memoria siempre ha sido un recurso escaso, por lo que la optimizacin del uso de la memoria ha sido siempre una prioridad. Actualmente, gracias al avance en la tecnologa de integracin de circuitos, aunque sigue siendo un recurso muy apreciado, suele haber una mayor disponibilidad de memoria.

Memoria Principal

Sobre la memoria, se pueden realiza operaciones de lectura y escritura. En las operaciones de escritura, se almacena la informacin (una palabra) en una posicin de memoria dada y en las operaciones de lectura, se lee una palabra de la memoria principal. Sobre el funcionamiento de la memoria, hemos de responder a algunas preguntas: cmo le indicamos a la memoria la direccin de memoria desde la que queremos leer o donde queremos escribir? De donde coge la memoria principal los datos que queremos escribir en memoria? Donde nos ofrece la memoria principal los datos que estamos leyendo? Para resolver las cuestiones planteadas, necesitamos el uso de registros auxiliares, el RDM y el RIM. El RDM -Registro de direcciones de memoria, es el registro donde le indicamos la posicin de memoria con la que queremos realizar la operacin, ya sea de lectura o de escritura. El registro RIM, o registro de intercambio de memoria, sirve para depositar los datos que queremos que la memoria almacene, recoger la informacin que la memoria ha ledo de la direccin indicada en el registro RDM. El selector de memoria, es el elemento que transforma la direccin del registro de direccin (que es un dato numrico) en una direccin efectiva, activando y desactivando las correspondientes lneas de los circuitos internos para acceder al lugar fsico donde se almacena la informacin. La memoria principal, es un tipo de memoria denominada RAM, o memoria de acceso aleatorio, esto quiere decir que el tiempo de acceso a cada una de las palabras de memoria, es prcticamente el mismo. A diferencia de otros dispositivos de almacenamiento, tiene la ventaja de trabajar a velocidades comparables con la CPU, por lo tanto, es factible el poder pedir a la memoria las instrucciones, una a una, conforme van siendo ejecutadas. La arquitectura que veremos de ejemplo, funcionar de esta

C E D E www.cede.es

CEDE - C/ Cartagena, 129 - 28002 Madrid


Tel.: 91 564 42 94

Profesores de Enseanza Secundaria INFORMTICA

Tema 1.49

manera, aunque las arquitecturas actuales disponen de mecanismos para mejorar el proceso de adquisicin de instrucciones a ejecutar. Uno de los inconvenientes de la memoria, es que es voltil, es decir, que se necesita estar continuamente suministrando energa elctrica para que no se pierdan los datos que almacena. Si el sistema se apaga, se pierde todo el contenido de la memoria principal. Las aplicaciones, por tanto, se han de almacenar en algn perifrico que permita el almacenamiento masivo y permanente de la informacin. Este tipo de perifricos, como puede ser el disco duro, a pesar de permitir almacenar gran cantidad de informacin de forma permanente, no deja de ser un perifrico, y por tanto, su velocidad de trabajo, en comparacin con la CPU, es muy reducida. Por ello, los sistemas necesitan cargar las aplicaciones desde los perifricos de almacenamiento masivo a la memoria principal, antes de poder ejecutarlas, puesto que la memoria principal si tiene una velocidad de trabajo mucho mayor.
1.2.4. BUSES

Los buses son lneas elctricas u pticas a travs de las cuales, se comunican las distintas unidades del sistema. Se define el ancho del bus como el nmero de lneas paralelas que posee el bus, y por lo tanto, la cantidad de bits que puede transmitir de forma simultnea. Existen tres tipos de buses, el bus de datos, de direcciones y el de control.
1.2.4.1. Bus de datos

Por el bus de datos se establece el intercambio de datos entre la CPU y el resto de unidades. La transmisin de la informacin por los buses de hace forma paralela. El ancho del bus de datos determina el tamao de los bloques de informacin con los que el sistema trabaja. Suelen variar desde los 8 bits de los sistemas antiguos, a los 64 bits de la mayora de los sistemas actuales. Es importante destacar que como en la Arquitectura de Von Neumann la instrucciones y los datos se almacenan en la memoria, por el bus de datos viajan no slo los datos como tales, sino tambin las instrucciones que van a ser ejecutadas en la CPU.
1.2.4.2. Bus de direcciones

Transmite las direcciones con las que debe trabajar la memoria. Trabaja de forma coordinada con el bus de datos gracias a las seales de reloj. Del ancho del bus de direcciones depende el volumen de memoria directamente direccionable por la CPU, aunque los sistemas actuales, utilizan registros auxiliares para poder direccionar una mayor cantidad de memoria.
1.2.4.3. Bus de control

Este es un bus especial por el cual el secuenciador, enva las seales de memoria al resto de los componentes del sistema Si tuviramos que hacer una analoga con el cuerpo humano, el bus de control sera el sistema nervioso que enva rdenes a todas las partes del cuerpo.

CEDE - C/ Cartagena, 129 - 28002 Madrid


Tel.: 91 564 42 94

C E D E www.cede.es

Tema 1.50

Profesores de Enseanza Secundaria INFORMTICA

1.2.5.

UNIDAD DE ENTRADA/SALIDA

El objetivo de la interfaz de Entrada/Salida, es comunica la CPU con el exterior a travs de los perifricos. Muchos de los perifricos, estn adaptados para poder presentar o adquirir la informacin en un formato en el que a las personas, les resulte familiar, como pueden ser el teclado o la pantalla. Los perifricos plantan varios problemas al sistema, uno de ellos, es que suelen ser dispositivos muy lentos, entre otras cosas, porque muchos de ellos, an funcionan con dispositivos mecnicos. Por otro lado, otro inconveniente que presentan es que son dispositivos muy heterogneos, es decir, entre ellos mismos, son muy diferentes. Pensemos por ejemplo en el modo de funcionamiento de una webcam, un teclado una impresora. Por ello, es necesario disponer de un controlador, que haga de interfaz entre el sistema y el perifrico propiamente dicho. De esta manera, el controlador ofrece a la CPU una interfaz comn a todos los perifricos, sean del tipo que sean. Un controlador puede controlar uno o varios perifricos, y en la arquitectura de ejemplo que vamos a presentar, se muestra como la Unidad de Entrada/Salida.

Unidad Entrada/Salida y perifricos

El controlador ofrece a la CPU los siguientes registros:


Registros de datos, que permiten intercambiar informacin con el perifrico. Registros de control, para enviar rdenes al perifrico. Registros de estado, muestra el estado en que se encuentra el perifrico.

En el Registro de Datos, se deposita la informacin que intercambia la CPU con el perifrico. En el registro de control, la CPU escribe las operaciones que desea que realice el perifrico, como puede ser leer un dato del teclado escribir un carcter en pantalla. A travs del registro de estado, el perifrico informa a la CPU de la situacin en que se encuentra, por ejemplo, si est disponible para imprimir un nuevo carcter est an ocupado y no acepta ms informacin. En algunos casos, los registros que se utilizan para gestionar la memoria, estn mapeados en memoria, es decir, que el sistema trata a estos registros como si fueran una direccin de memoria ms. Al estar asociados a una direccin de memoria, el escribir o leer en ellos, se realiza de la misma manera que escribir o leer en una direccin de memoria, por tanto, no diferencia entre el acceso a memoria y el

C E D E www.cede.es

CEDE - C/ Cartagena, 129 - 28002 Madrid


Tel.: 91 564 42 94

Profesores de Enseanza Secundaria INFORMTICA

Tema 1.51

acceso a los registros de E/S. Este esquema tiene el inconveniente de que se pierden direcciones de memoria, que ahora estn asociadas a los perifricos, y que las aplicaciones de usuario, tienen dificultadas para acceder a esos registros de E/S. Si los registros de E/S no estn mapeados en memoria, se solucionan los problemas anteriores, pero se necesitan aadir instrucciones de E/S para poder acceder a dichos registros, normalmente instrucciones del tipo IN y OUT. La interaccin entre la CPU y los perifricos de E/S, se puede realizar por medio de dos mtodos:
Encuesta Interrupcin.

En la E/S por encuesta, la CPU es la responsable de consultar con cierta frecuencia, el registro de estado del cada uno de los perifricos, para conocer el estado en que se encuentran. Esta consulta se hace de forma peridica. Cuando tenemos un esquema por interrupciones, es el dispositivo el que habilita una seal para informar a la CPU de que algn suceso extraordinario ha ocurrido y que requiere su atencin. En un esquema por interrupciones, la CPU no ha de perder tiempo consultando los distintos dispositivos y puede dedicarse a realizar otras tareas, lo que supone una mejora del rendimiento global importante. El inconveniente de este esquema es que se complica el hardware, ya que la CPU, ha de dejar lo que estaba haciendo, salvar el estado en que se encuentra, para as poder atender al perifrico. Una vez atendido el perifrico mediante la rutina de atencin a la interrupcin, ha de recuperar el estado en el que se encontraba antes de producirse la interrupcin, para continuar en el mismo punto en que dej la aplicacin interrumpida. El atender a la interrupcin, no es la nica complicacin, ya que se puede dar la situacin en que interrumpan varios dispositivos de forma simultnea y, primeramente, se tendr que distinguir qu perifricos han interrumpido y posteriormente, establecer una prioridad en el tratamiento de las interrupciones. Tambin puede darse la situacin en la que cuando se est atendiendo la interrupcin de un dispositivo, interrumpa otro perifrico que puede ser considerado de mayor prioridad. Todo lo anterior hace que este modo de gestin de los perifricos sea ms complicado que el mtodo por encuesta, an as, el mtodo por encuesta hace perder tanto tiempo a la CPU, que son inaceptables. Incluso los sistemas de gestin por E/S por interrupcin son esquemas que hacen perder mucho tiempo a la CPU cuando las cantidad de informacin a intercambiar es importante, as que hoy en da, existen otros esquemas mucho ms avanzadas como el DMA o acceso directo a memoria que liberan de esta sobrecarga de trabajo a la CPU.
1.2.6. SET O CONJUNTO DE INSTRUCCIONES

Ante el diseo de un sistema informtico, hay que plantearse qu instrucciones vamos a incluir, es decir, qu conjunto de instrucciones va a ser capaz el sistema de ejecutar.

CEDE - C/ Cartagena, 129 - 28002 Madrid


Tel.: 91 564 42 94

C E D E www.cede.es

Tema 1.52

Profesores de Enseanza Secundaria INFORMTICA

Para ello, han de tenerse en cuenta las siguientes consideraciones:


El conjunto de instrucciones, ha de ser completo, es decir, que se puedan construir con ellas aplicaciones que resuelvan algoritmos reales. El juego de instrucciones, han de ser eficientes, las funciones ms comunes, deben de poder ser fcilmente realizadas con pocas instrucciones. El conjunto de instrucciones debe ser simtrico, por ejemplo, si existen una funcin de desplazamiento a la derecha, debe haber tambin una funcin de desplazamiento a la izquierda, y adems, deben ser ortogonales, es decir, que puedan combinarse, en la medida de lo posible, todas las operaciones con todos los tipos de datos y modos de direccionamiento. En ocasiones, se pide que guardar compatibilidad con un conjunto de instrucciones anterior.

Un formato de instruccin comn, tiene el siguiente formato: Cdigo Operacion (CO)


Tipos de Instrucciones

Cdigo de Direccin (CD)

Un sistema, puede funcionar con un conjunto reducido de instrucciones, de hecho, la mquina de Turing slo tiene 4 instrucciones, y la arquitectura de ejemplo que se muestra aqu, slo 8. Un conjunto de instrucciones tpico, incluye al menos los siguientes tipos de instrucciones:

Instrucciones de transferencia de datos

Este tipo de operaciones, nos permiten mover datos e instrucciones de un lugar a otro del sistema y son fundamentales para que el sistema funcione correctamente. A este tipo de instrucciones, necesitan que se le indique el origen y el destino de los datos a mover. A veces, el origen el destino de los datos, puede ser implcito.
Instrucciones aritmtico-lgicas

La inmensa mayora de las aplicaciones de cierta complejidad, necesitan realizar operaciones aritmticas y/o lgicas, por lo que la necesidad de incluir este tipo de instrucciones est mas que justificada. Este tipo de instrucciones incluyen las operaciones de suma, resta, multiplicacin divisin, aunque con la operacin de suma, se pueden implementar otras operaciones, ya que la resta es una suma de un nmero negativo, la multiplicacin es una sucesin de sumas y la operacin de divisin se puede

C E D E www.cede.es

CEDE - C/ Cartagena, 129 - 28002 Madrid


Tel.: 91 564 42 94

Profesores de Enseanza Secundaria INFORMTICA

Tema 1.53

implementar mediante multiplicaciones y restas. En lo que se refiere a las operaciones lgicas, tambin son de importancia las operaciones bsicas del lgebra de Boole, como la operacin AND, OR, NOT y XOR.
Instrucciones de control de flujo

Las instrucciones se ejecutan, como normal general, de forma secuencial, es decir, en el mismo orden en el que aparecen en la aplicacin. Por esta razn, el contador de programa (CP), se va autoincrementando en una unidad en cada ciclo de instruccin, sin embargo, en algunas ocasiones, se necesita modificar el flujo, sobre todo despus de la evaluacin de un suceso. En funcin de dicha evaluacin, se puede requerir que se ejecuten unas instrucciones u otras, y para ello se utilizan las instrucciones de control de flujo. Para este tipo de instrucciones, son fundamentales los bits de estado que ofrecen la ALU o los dispositivos.
Instrucciones de Entrada-Salida

Las instrucciones de Entrada-Salida, son necesarias para permitir la comunicacin entre la CPU y los perifricos, en el caso en el que los perifricos no hayan sido mapeados a memoria.
1.2.7. MODOS DE DIRECCIONAMIENTO

La mayora de las instrucciones, realizan operaciones sobre uno o varios operandos, por lo tanto, se debe incluir en la propia instruccin alguna forma de localizar el operando sobre el que se desea realizar la operacin en cuestin, por tanto, el modo de direccionamiento, permite conocer la ubicacin de un dato o instruccin. Los objetivos que se persiguen al utilizar el direccionamiento, son los siguientes:
Dar versatilidad de programacin al usuario proporcionando distintas formas de acceder a los datos. Reducir el espacio ocupado en memoria por las instrucciones.

Los modos de direccionamiento pueden parecer en principio complicados de entender y manejar, sin embargo, aportan una gran flexibilidad a la hora de escribir aplicaciones mas eficientes en cuanto al nmero de instrucciones y tiempo de ejecucin. La direccin que obtenemos al aplicar un modo de direccionamiento, la denominamos direccin efectiva. A continuacin se muestra un esquema con los modos de direccionamiento.

CEDE - C/ Cartagena, 129 - 28002 Madrid


Tel.: 91 564 42 94

C E D E www.cede.es

Tema 1.54

Profesores de Enseanza Secundaria INFORMTICA

A continuacin, se explicarn brevemente cada uno de ellos.


Direccionamiento implcito

A este modo de direccionamiento, tambin se le llama inherente, ya que el operando se especifica en la misma definicin de la instruccin. Un ejemplo lo podemos encontrar con las instrucciones que trabajan con la pila (instrucciones PUSH y POP), en los que se sabe, de forma implcita, con qu elementos se trabaja.
Direccionamiento Inmediato

En este tipo de direccionamiento, la propia instruccin contiene el operando sobre el que se ha de operar, sin realizar ningn tipo de transformacin. El formato que tiene la instruccin, por tanto, es el siguiente: El tamao del operando viene determinado por el espacio reservado para l en el formato de la instruccin.
Direccionamiento directo (o absoluto)

En el modo de direccionamiento directo absoluto, la instruccin contiene la direccin de memoria exacta donde se encuentra el operando, por tanto, el operando se encuentra en memoria y hay que realizar un ciclo de memoria ms para obtenerlo. El rango del cdigo de direccin (CD), debe ser capaz de direccionar toda la memoria, por lo que puede hacer que el tamao de la instruccin sea muy elevado, adems, dificulta la relocalizacin de los programas, es decir, que el cdigo de los programas, no dependa de su ubicacin fsica.
Direccionamiento directo por registro

En este caso, el operando, se haya contenido en un registro. La ventaja de este tipo de direccionamiento, es que es muy rpido, ya que el acceso al registro es inmediato y se ahorra un ciclo de memoria. Un dato tpico que se almacena utilizando este tipo de direccionamiento es el ndice de los bucles.

C E D E www.cede.es

CEDE - C/ Cartagena, 129 - 28002 Madrid


Tel.: 91 564 42 94

Profesores de Enseanza Secundaria INFORMTICA

Tema 1.55

El nmero de bits para especificar el registro, es mucho menor que el que se utiliza en el modo directo (absoluto), ya que el nmero de registros es mucho menor que el nmero de posiciones de memoria existentes.
Direccionamiento directo relativo a registro

Este modo de direccionamiento hace uso de la propiedad muy generalizada de las aplicaciones que es la localidad de referencia, y que consiste en que las direcciones de memoria referenciadas en los programas, no suelen alejarse mucho unas de otras, por lo tanto, estn concentradas en una zona de memoria relativamente pequea. Aprovechando esta circunstancia, se toma como referencia un punto de la memoria y en la instruccin se incluye la diferencia entre ese punto de referencia y la direccin efectiva del operando. La direccin que se toma como referencia, suele residir en un registro de la CPU, y por tanto, si sumamos el contenido de ese registro con el campo de direccin contenido en la instruccin, obtenemos la direccin efectiva. Este modo de direccionamiento es usado con frecuencia en programas cuyo cdigo deba ser independiente de la ubicacin fsica del programa en memoria. Tambin es muy til en las instrucciones de bifurcacin. Otros direccionamientos como por base y desplazamiento, indexado, los auto y postincrementales, son versiones de este tipo de direccionamiento.
Direccionamiento indirecto

En este caso, se aade un eslabn ms a la cadena que nos permite localizar la direccin efectiva. El operando se encuentra en memoria y la instruccin contiene una direccin cuyo contenido, es la verdadera direccin de memoria del objeto buscado. En general, todos los modos de direccionamiento tienen su versin inmediata. Por ejemplo, existe un direccionamiento indirecto por registro, en el que, el registro especificado en la instruccin, contiene la verdadera direccin de memoria del objeto buscado. Se han incluido los modos de direccionamiento bsico ms comunes, pero en las arquitecturas reales, con frecuencia, existen combinaciones de estos modos de direccionamiento.
1.2.8. EJECUCIN DE UNA INSTRUCCIN

No debemos olvidar que la funcin ltima de la CPU, es la ejecucin de instrucciones que forman una aplicacin y que se hayan almacenadas en Memoria Principal. El juego de instrucciones que un sistema es capaz de ejecutar, condiciona en gran medida el resto de la arquitectura. Una instruccin est formada por un cdigo de operacin, y en la mayora de los casos, tambin incluye uno o varios operandos que especifican sobre qu datos debe aplicarse la instruccin asociada a ese cdigo de operacin.

CEDE - C/ Cartagena, 129 - 28002 Madrid


Tel.: 91 564 42 94

C E D E www.cede.es

Tema 1.56

Profesores de Enseanza Secundaria INFORMTICA

1.2.8.1. Ejecucin de una aplicacin paso a paso

Recordemos la Arquitectura de Von Neumann.

Se van a ver los pasos que se dan el sistema en la ejecucin de un programa sencillo. Lo que hace este programa es cargar el contenido de la direccin de memoria 5, en el acumulador. Sumarle al acumulador el contenido de la direccin de memoria 6, y e resultado, almacenarlo en la direccin de memoria nmero 7. El programa, es el siguiente:
LD /5 ADD /6 ST /7 Instruccin LD /4

El cometido de esta instruccin es cargar el acumulador el contenido de la direccin de memoria 5 en el Acumulador.


Fase 1. Fase de Bsqueda de la instruccin LD /4

Al iniciarse la ejecucin del programa, el contador de programa est establecido a 0. En principio, slo sabemos que vamos a ejecutar la instruccin que haya en la posicin 0, pero no se sabr que instruccin es hasta que no la decodifique el decodificador. Pues lo que se tendr que hacer es llevar el

C E D E www.cede.es

CEDE - C/ Cartagena, 129 - 28002 Madrid


Tel.: 91 564 42 94

Profesores de Enseanza Secundaria INFORMTICA

Tema 1.57

contenido de la posicin de memoria 0 a la Unidad de Control, para que pueda ser decodificada y ejecutada. Para ello, se pasa el contenido del Contador de Programa (CP), que en principio vale 0, al Registro de Direcciones de Memoria (RDM), y se activa la seal de control de Lectura LEC de la memoria. De esta manera, se leer el contenido de la posicin de memoria 0, y se depositar en el Registro de Intercambio de Memoria. A travs del bus de datos, la instruccin viajar desde el Registro de Intercambio de Memoria hasta el Registro de Instruccin, situado en la Unidad de Control. En la siguiente figura se muestran los elementos implicados.

Fase 2. Fase de Ejecucin de la instruccin LD /4

Estando la primera instruccin en el Registro de Instruccin (RI), ya se puede decodificar las instruccin, algo que lleva a cabo el Decodificador. Una vez que se ha decodificado la instruccin, el Secuenciador sabe qu seales de control debe activar, a qu elemento y en que orden para que la instruccin se ejecute. Esta informacin, puede estar codificada en un microprograma, o bien puede haber una lgica cableada que active las seales de forma apropiada. En este caso en particular, se ha decodificado una instruccin de carga de informacin desde la memoria al acumulador. (LD /4), por lo tanto el Secuenciador deber movilizar a todos los elementos necesarios para que la informacin contenida en la direccin de memoria 4, pase al acumulador, para ello, inicia un nuevo ciclo de memoria, pasando la direccin de memora /4 desde el Registro de intercambio, al registro de direcciones de Memoria (RDM). Se muestran los elementos implicados.

CEDE - C/ Cartagena, 129 - 28002 Madrid


Tel.: 91 564 42 94

C E D E www.cede.es

Tema 1.58

Profesores de Enseanza Secundaria INFORMTICA

A continuacin, se lanza otro ciclo de lectura de memoria para leer el dato que habr de llevarse al acumulador. Para ello, se activa la seal de control de lectura de la memoria y se deposita el dato ledo (en este caso DATA 12), en el Registro de Intercambio de memoria (RIM), y de aqu, al acumulador. En este caso, la ALU es muy sencilla y tiene como restriccin que uno de los operandos ha de ser siempre el valor del acumulador. Es por ello que establece en el registro de Oper1, el mismo valor que hay en el acumulador. De forma paralela, se enva seal de control INCR al contador de programa (CP), para que incremente su valor en uno y as para apuntar a la siguiente instruccin a ejecutar.

C E D E www.cede.es

CEDE - C/ Cartagena, 129 - 28002 Madrid


Tel.: 91 564 42 94

Profesores de Enseanza Secundaria INFORMTICA

Tema 1.59

Una vez que el dato que hay en la posicin de memoria 4, ha pasado al acumulador, se ha completado ejecucin la instruccin LD /4 y el sistema est preparado para ejecutar la siguiente instruccin, esto es ADD /5. La instruccin ADD /5, lo que hace es sumar el contenido de la direccin de memoria /5 al valor que haya en ese momento en el acumulador (ACUM).
Instruccin ADD /5 Fase 1. Fase de Bsqueda de la instruccin ADD /5

En la ejecucin de la primera instruccin, el contador de programa se ha incrementado en una unidad a instancia del Secuenciador que le ha enviado la seal de control INCR, por lo tanto, ahora el contenido del contador de programa es 1. Para continuar con la ejecucin del programa, se pasa el contenido del Contador de Programa (CP), que ya vale 1, al Registro de Direcciones de Memoria (RDM), y se activa la seal de control de Lectura LEC de la memoria. De esta manera, se leer el contenido de la posicin de memoria 1, y se depositar en el Registro de Intercambio de Memoria. A travs del bus de datos, la instruccin viajar desde el Registro de Intercambio de Memoria hasta el Registro de Instruccin, situado en la Unidad de Control. En la siguiente figura se muestran los elementos implicados.

Fase 2. Fase de Ejecucin de la instruccin ADD /5

Una vez que la instruccin est en el Registro de Instruccin (RI), se decodifica las instrucciones y el secuenciador al ser informado de que es una instruccin ADD, sabe qu seales de control debe activar.

CEDE - C/ Cartagena, 129 - 28002 Madrid


Tel.: 91 564 42 94

C E D E www.cede.es

Tema 1.60

Profesores de Enseanza Secundaria INFORMTICA

En este caso, el Secuenciador habilita las seales de control para que la direccin del dato a sumar pase del Registro de Instruccin al Registro de Direcciones de memoria (RDM). Se muestran los elementos implicados.

A continuacin, se lanza otro ciclo de lectura de memoria para leer el dato que habr de ser sumado al contenido del acumulador.. Para ello, se activa la seal de control de lectura de la memoria y se deposita el dato ledo (en este caso DATA 7), en el Registro de Intercambio de memoria (RIM), y de aqu a uno de los registros que la ALU tiene para almacenar los operandos. Paralelamente, se enva seal de control INCR al contador de programa (CP), para que incremente su valor en uno y as para apuntar a la siguiente instruccin a ejecutar.

C E D E www.cede.es

CEDE - C/ Cartagena, 129 - 28002 Madrid


Tel.: 91 564 42 94

Profesores de Enseanza Secundaria INFORMTICA

Tema 1.61

Una vez que el dato se encuentra en la ALU, ya tenemos lo dos sumandos con los que realizar la operacin, por lo que el Secuenciador enva una orden de control a la ALU, para que realice la operacin. El resultado aparece en el Acumulador.
Instruccin ST /6

El cometido de esta instruccin es almacenar la informacin contenida en el acumulador, en la memoria, concretamente en la direccin de memoria 6.
Fase 1. Fase de Bsqueda de la instruccin ST /6

En la anterior instruccin, el contador de programa se ha incrementado en una unidad, pasando su valor de 1 a 2. Para continuar con la ejecucin del programa, se pasa el contenido del Contador de Programa (CP) al Registro de Direcciones de Memoria (RDM), y se activa la seal de control de Lectura LEC de la memoria. De esta manera, se leer el contenido de la posicin de memoria 2, y se depositar en el Registro de Intercambio de Memoria. A travs del bus de datos, la instruccin viajar desde el Registro de Intercambio de Memoria hasta el Registro de Instruccin, situado en la Unidad de Control. En la siguiente figura se muestran los elementos implicados.

Fase 2. Fase de Ejecucin de la instruccin ST /6

Una vez que la instruccin est en el Registro de Instruccin (RI), se decodifica las instrucciones y el secuenciador al ser informado de que es una instruccin ST , sabe qu seales de control debe activar.

CEDE - C/ Cartagena, 129 - 28002 Madrid


Tel.: 91 564 42 94

C E D E www.cede.es

Tema 1.62

Profesores de Enseanza Secundaria INFORMTICA

En este caso, el Secuenciador habilita las seales de control para que la direccin del dato a almacenar pase del Registro de Instruccin al Registro de Direcciones de memoria (RDM). Se muestran los elementos implicados.

A continuacin, se lanza un ciclo de escritura de memoria para enviar el dato desde al acumulador, a la memoria principal. Paralelamente, se enva seal de control INCR al contador de programa (CP), para que incremente su valor en uno y as para apuntar a la siguiente instruccin a ejecutar.

C E D E www.cede.es

CEDE - C/ Cartagena, 129 - 28002 Madrid


Tel.: 91 564 42 94

Profesores de Enseanza Secundaria INFORMTICA

Tema 1.63

Una vez que el dato resultado de la suma (y contenido en el acumulador) ha pasado a la direccin de memoria /6, se ha completado ejecucin la instruccin ST /6.

1.3.

ANLISIS DE BLOQUES FUNCIONALES SOBRE ARQUITECTURAS VIGENTES

En este apartado, se estudiarn las arquitecturas actuales en los sistemas microinformticos y se vern qu mejoras se han ido introduciendo para mejorar el rendimiento de los sistemas.

1.3.1.

CLASIFICACIN DE ARQUITECTURAS. TAXONOMA DE FLYNN

Hasta ahora, se han visto arquitecturas en las que las instrucciones se ejecutan, de forma secuencial sobre un determinado dato, pero actualmente, los sistemas han evolucionando, y casi todos los procesadores modernos incorporan algn tipo de paralelismo. Es por ello que se hicieron nuevas clasificaciones que recogiera esta nueva variedad de arquitecturas. La ms conocida es la definida por Flynn, que se basa en el nmero de instrucciones que se ejecutan concurrentemente y en los flujos de datos sobre los que operan dichas instrucciones.
SISD (Single Instruction, Single Data, o Una instruccin, un dato)

Se ejecuta una sla instruccin sobre un slo dato. No explota el paralelismo en las instrucciones ni en flujos de datos. Este es el concepto de arquitectura de Von Neumann y a menudo se les llama tambin computadores serie escalares. Ninguno de los procesadores actuales estara en esta categora por incorporar algn tipo de paralelismo.

CEDE - C/ Cartagena, 129 - 28002 Madrid


Tel.: 91 564 42 94

C E D E www.cede.es

Tema 1.64

Profesores de Enseanza Secundaria INFORMTICA

MISD (Multiple instruction, Single Data o Mltiples instrucciones, un dato)

Esta arquitectura no se ha desarrollado debido a que normalmente, cuando se ejecutan muchas instrucciones, se suele hacer sobre mltiples datos, pero se pueden utilizar para sistemas redundantes.
SIMD (Single Instruction, Multiple Data, o Una instruccin, mltiples datos)

En este caso, una misma instruccin se ejecuta sobre un conjunto de datos. Se pueden aprovechar para determinadas aplicaciones, como las multimedia, donde se realiza la misma operacin para grandes volmenes de datos. Tambin se les llama procesadores matriciales.
MIMD (Multiple Instructions, Multiple Data o Mltiples instrucciones, mltiples datos)

Varios procesadores autnomos que ejecutan simultneamente instrucciones diferentes sobre datos diferentes. Los sistemas distribuidos, son ejemplo de este tipo de arquitectura, aunque cualquier sistema que tenga varios procesadores independientes ejecutando varios procesos, estaran dentro de esta categora.
1.3.2. ARQUITECTURA ACTUALES

1.3.2.1. La arquitectura x86

La arquitectura x86, es una denominacin genrica de una serie de procesadores compatibles entre s. Este tipo de arquitectura contempla desde el procesador que le dio el nombre, el 8086, hasta procesadores muchos ms avanzados, como pueden ser los primeros Pentiums. Esta arquitectura fue lanzada por Intel, y tuvo grn xito ya que tenan suficiente potencia para poder ejecutar aplicaciones de propsito general y por tanto, de ser comercializado para el gran pblico. IBM lanz una lnea de ordenadores basada en el 8080, precursor del 8086, y el xito fue importante. Poco a poco, fueron evolucionando los procesadores de la serie, todos compatibles con los antecesores. Uno de los grandes avances que se incluyeron fue la posibilidad de ejecutar varias aplicaciones de forma simultnea, al incluir el modo de ejecucin protegido. El 8086 era un procesador de 16 bits, pero el 30386, era de 32 bits, lo que supuso un avance importante en rendimiento. Fue este procesador el que dio lugar a la denominacin de arquitectura i386 IA32. Conforme fueron evolucionando, se fueron aadiendo mejoras, como la inclusin de cach en el procesador, las instrucciones multimedia o el coprocesador matemtico (FPU). Intel tuvo el liderazgo en este tipo de arquitectura y el resto de fabricantes, tuvieron que ofrecer compatibilidad con la misma, sin embargo, AMD, que siempre fue a la saga de Intel, lanz una nueva arquitectura, que estaba basada en la x86, pero ahora con 64 bits, compatible con sistemas operativos y aplicaciones de 32 bits. Esta arquitectura, se denomin, en principio x86-64, para posteriormente pasarse a llamar AMD64.

C E D E www.cede.es

CEDE - C/ Cartagena, 129 - 28002 Madrid


Tel.: 91 564 42 94

Profesores de Enseanza Secundaria INFORMTICA

Tema 1.65

1.3.2.2. Arquitectura x86-64

La arquitectura de 64 bits, fue, como se ha comentado, lanzada por AMD y en este caso, fue Intel el que se vi obligado a sacar sus procesadores compatibles con la nueva arquitectura (salvo alguna excepcin). Los primeros procesadores de este tipo, fueron los K8, que incluan a los Athlon, de gama media, Sempron, de gama baja y los Phenom, de gama alta. Ahora se ofrece varios modos de funcionamiento, el modo largo, donde se pueden ejecutar sistemas operativos y aplicaciones de 64bits, aunque las aplicaciones pueden ser de 32 bits(en modo largo-compatiblidad). Por otro lado, el modo herencia, permite ejecutar sistemas operativos de 32 bits y aplicaones de 32 o 16 bits. Obviamente, para sacar todo el potencial al sistema, se debe trabajar con sistemas operativos y aplicaciones de 64 bits. La lnea de Intel de 64 bits, se denomina Intel 64 y est disponible desde los ltimos Pentiums, a los procesadores actuales. Por otro lado, Intel, tambin dise una arquitectura propia de 64 bits, pero que en este caso, estaba destinada a los equipos servidores, la denominada IA-64.
1.3.3. MEJORAS EN LAS ARQUITECTURAS ACTUALES

1.3.3.1. Instrucciones multimedia

La importancia que han adquirido las aplicaciones multimedia en la sociedad actual, ha propiciado que los fabricantes hayan incluido un conjunto de instrucciones para mejorar el rendimiento en la ejecucin de estas aplicaciones. Las primeras instrucciones de este tipo, fueron las instrucciones MMX, en los procesadores Pentium. La inclusin de estas instrucciones, supuso la aparicin de nuevos registros internos, que en realidad no eran tales, sino un renombrado de los registros de la Unidad en coma flotante (FPU), de tal manera que no pueden ejecutar con la FPU y las instrucciones MMX de forma simultnea. Otra caracterstica en contra de las instrucciones MMX es que slo soportan trabajar con enteros. A pesar de todos los inconvenientes sealados, se obtena mejor rendimiento en las aplicaciones que manejan contenido multimedia, y AMD se vio obligada a sacar compatibilidad con MMX, a las que aadi un juego de instrucciones para operar en coma flotante, las conocidas como 3DNow! Los problemas de las instrucciones MMX, fueron solventados con la llegada de las instruciones SSE, con soporte en coma flotante y un sistema de registros independientes de la FPU. SSE evolucin a SSE2 y despues a SSE3, todas las cuales, incluyen a las anteriores.

CEDE - C/ Cartagena, 129 - 28002 Madrid


Tel.: 91 564 42 94

C E D E www.cede.es

Tema 1.66

Profesores de Enseanza Secundaria INFORMTICA

1.3.3.2. FPU

Otras de las mejoras aadidas, fue la inclusin de la unidad en coma flotante FPU. La FPU es un componente especializado en el clculo de operaciones complejas, como pueden ser operaciones en coma flotante, clculos trigonomtricos exponenciales. La FPU, viene pues a aliviar a la ALU de estas operaciones que le supondran una sobrecarga.
1.3.3.3. Segmentacin a nivel de instrucciones

Esta tcnica que es muy utilizada por los microprocesadores, microcontroladores y DSPs, lo que persigue, no es que se ejecuten las instrucciones ms rpido, sino que ejecucin de las instrucciones se haga en paralelo. El funcionamiento es similar a las cadenas de montaje, en la que varios operarios realiza parte del proceso total en paralelo. La segmentacin se aprovecha de las diferentes fases por las que pasa una instruccin, desde que se localiza, hasta que se termina de ejecutar. Un ejemplo muy sencillo de segmentacin, mientras que una instruccin se busca, otra se puede decodificar, otra puede realizar operaciones con la ALU, otra puede buscar un operando, etc. Cada una de esta etapas usa, en exclusiva, un hardware determinado del procesador y en principio, son fases independientes unas de las otras. En los procesadores RISC, la segmentacin es ms fcil de implementar, ya que al ser todas las instrucciones muy sencillas y homogneas, la divisin de fases est mucho mas clara que en las instrucciones propias de los procesadores RISC, esta es una de las razones por la que los procesadores RISC han tenido tradicionalmente ms rendimiento que los procesadores CISC. Los procesadores CISC, para aprovechar la segmentacin a nivel de instruccin, traducen cada instruccin a microopereciones de tipo RISC. La arquitectura Hardvard, es ms propicia a la segmentacin de instrucciones al tener las instrucciones y los datos de las aplicaciones en memorias separadas. En el caso del procesador DLX, podemos encontrar las siguientes etapas de ejecucin: IF: Bsqueda. ID: Identificacin. EX: Ejecucin de la Unidad Aritmtico-Lgica. MEM: Memoria. WB: Escritura de resultados. En los procesadores actuales, son comunes ms de 20 etapas de ejecucin. Est claro que la segmentacin, mejora considerablemente el rendimiento del sistema, pero tambin plantea problemas, por ejemplo, si se est ejecutando una instruccin de salto, puede ser que las siguientes instrucciones, que ya han empezado a ejecutarse, tengan que ser descartadas. Para evitar esta circunstancia, se intenta predecir los saltos que se van a realizar, es lo que se se denomina, Brach Predictor, o prediccin de saltos. La prediccin de saltos, se basa en la informacin obtenida en la misma instruccin condicional, para intentar averiguara si se producir el salto o no.

C E D E www.cede.es

CEDE - C/ Cartagena, 129 - 28002 Madrid


Tel.: 91 564 42 94

Profesores de Enseanza Secundaria INFORMTICA

Tema 1.67

Tambin puede ocurrir que una instruccin modifique el dato de una instruccin posterior, y que esa instruccin, ya haya cogido el valor desactualizado del dato. Por ejemplo, las siguientes instrucciones, si se ejecutan en paralelo, puede dar un resultado errneo, ya que puede ser que el valor de la variable c, no se haya actualizado cuando ya se est ejecutando la segunda instruccin: Instruccin 1 Instruccin 2 c=a+b d=c+f

La segmentacin de instrucciones, complica el hardware del procesador, sin embargo, el aumento de rendimiento que proporciona, lo hace indispensable.
1.3.3.4. Cach

La cach se utiliza para reducir el tiempo medio de espera que se necesita en el acceso a la memoria. La cach tiene un tamao relativamente reducido en comparacin con la memoria principal, pero tiene la ventaja de que es mucho ms rpida que sta, al estar incluida en el propio procesador. La cach almacena una copia de parte de la memoria principal. La localizacin de la memoria cach dentro de la pirmide de jerarqua de memoria, es la siguiente:

Los sistemas que tienen memoria cach, tambin tienen una mejora de rendimiento importante, ya que la memoria cach aprovecha el principio de localidad de referencia. Este principio, indica que si una posicin de memoria ha sido referenciada en un instante dado, probablemente las posiciones contiguas, sern referenciadas en los instantes posteriores (localidad espacial), y se debe a que la ejecucin de un programa, a no ser que aparezca una instruccin de salto, es secuencial. Por otro lado, tambin aprovecha el principio de localidad temporal, que indica que si una posicin de memoria ha sido referenciada, es muy posible que se referencia prximamente. La localidad temporal, se apoya en que las aplicaciones, tienen bucles, que repiten varias veces la ejecucin de un conjunto de instrucciones.

CEDE - C/ Cartagena, 129 - 28002 Madrid


Tel.: 91 564 42 94

C E D E www.cede.es

Tema 1.68

Profesores de Enseanza Secundaria INFORMTICA

Cuando los datos buscados por el procesador estn en la memoria cach, se dice que ha habido un acierto de la cach, y nos permite ahorrar un ciclo de memoria. Sin embargo, cuando el dato buscado no se encuentra en la cach, se dice que ha habido un fallo de cach, y se ha de actualizar la memoria cach. En este caso, se traen de la memoria principal el contenido de las direcciones de memoria que se han referenciado y la de la direcciones contiguas, que probablemente sean referenciadas prximamentente (localidad espacial). Estos datos se traen en bloque, normalmente pginas de memoria. El hecho de tener que traer el contenido de una pgina de memoria a la memoria cach, obliga a tener que desalojar datos de la memoria cach, que es una sobrecarga importante, pero de esto, se encarga el sistema operativo. El uso de la cach, tambin plantea problemas como la inconsistencia de datos entre la memoria principal y la memoria cach, que recordemos, tiene una copia de una parte de la memoria principal. Esta situacin es algo que se agrava en los sistemas con varios procesadores. Los primeros procesadores que incluyeron memoria cach, fueron los procesadores RISC, que incluan unos cuantos Kbytes de memoria cach. Hoy en da, es normal la inclusin de 6, 8 y 12 Mbytes de memoria cach. La cach suele dividirse en distintos niveles de cach. As, tenemos cach de nivel 1, de nivel 2 e incluso de nivel 3. En los antiguos procesadores, la cach de nivel ms alto, estaba fuera del encapsulado del procesador, pero hoy en da, todos la incluyen dentro del mismo. En los sistemas multicore, la cach de nivel 3, suele estar compartida entre los distintos cores. La cach de niveles inferiores, es ms rpida que la de niveles superiores, pero de un tamao ms reducido (ver jerarqua de memoria). Cmo puede ocurrir esto, si todas ellas estn dentro del propio procesador? Ocurre porque simplemente la cach de niveles inferiores, al tener menor cantidad de datos, son ms fcilmente localizables y accesibles. Por hacer una analoga, es ms fcil encontrar a una persona dentro de una habitacin, que en un concierto. Se ha dado el caso en que la diferencia entre un procesador de gama alta, se ha diferenciado un procesador de gama baja, slo por la cantidad de cach que incluan. Ese fue el caso algn procesador Pentium, de gama alta, y el Celeron, de gama baja.
1.3.3.5. DMA. Acceso directo a memoria

Anteriormente se ha comentado que a los perifricos se les poda gestionar mediante un esquema de atencin por encuesta, en los que eran consultados por la CPU continuamente para conocer su estado, o por un esquema ms avanzado: las interrupciones. An as, las interrupciones son insuficientes cuando se han de transferir gran cantidad de datos entre el perifrico y la memoria, pensemos, por ejemplo, en la transferencia de datos entre un disco duro y la Memoria Principal. Por ello se desarroll el acceso directo a memoria (DMA), que permite una comunicacin entre el perifrico y la Memoria Principal, a alta velocidad, sin apenas intervencin de la CPU. Con el DMA, se configura la cantidad de datos a transferir al controlador de DMA y en qu zona de memoria, y se le cede el uso de los buses para que ser realice la transaccin.

C E D E www.cede.es

CEDE - C/ Cartagena, 129 - 28002 Madrid


Tel.: 91 564 42 94

Profesores de Enseanza Secundaria INFORMTICA

Tema 1.69

Cabe destacar que aunque no se necesite la CPU, si se necesitan los buses de comunicacin, por lo que puede haber un conflicto por el uso de dichos buses entre la CPU y el DMA. La memoria cach, soluciona en parte este problema, ya que la CPU puede coger los datos de la cach, que contiene una rplica de parte de la Memoria Principal, y el controlador DMA, atacar directamente a la Memoria Principal, pero esto da lugar a otro problema, la coherencia de cach. Ahora, los datos que hay en la cach y en la Memoria Principal, no son los mismos. Este problema puede solucionarse mediante procedimientos hardware, mediante la invalidacin de lneas de cach, mediante software, en este caso sera el sistema operativo el que tiene que resolver la mayor parte del sistema. Tambin se puede optar por una solucin hbrida. Vemos que, como casi siempre, las tcnicas que mejoran el rendimiento, plantean tambin problemas, que se pueden resolver, pero a costa de hacer los sistemas mucho ms complejos.
1.3.3.6. Procesadores superescalares

Estos procesadores, segn la taxonoma de Flynn, son de tipo MIMD, es decir, se ejecutan mltiples instrucciones, sobre mltiples datos. Se trata de utilizar no slo el paralelismo a nivel de instruccin, sino tambin a nivel de flujo, o lo que es lo mismo, que haya varios flujos de instrucciones ejecutndose de forma paralela, todo ello, gracias a una estructura en pipeline. Un procesador superescalar de grado 4, que adems proporcione segmentacin a nivel de instruccin, puede tener cuatro instrucciones leyndose, otras cuatro decodificndose, etc. Para que un procesador sea superescalar, ha de multiplicar las unidades funcionales del sistema, es decir, deber tener varias ALUs, varios decodificadores, etc. Si en un procesador segmentado, las instrucciones de salto son un problema, si adems es un procesador superescalar, el problema se multiplica, ya que se puede tener que descartar un mayor nmero de instrucciones. La diferencia entre un procesador superescalar y un procesador multicore, es que en los superescalares, solo tienen unidades funcionales redundantes, mientras que en los multicore, son varios procesadores. Un procesador multicore, puede ser o no, tambin un procesador superescalar.
1.3.3.7. GPU (Graphic Processing Unit-Unidad de proceso grfico)

El mayor grado de integracin de los circuitos y razones comerciales, han hecho que se incluyan en el procesador, componentes que tradicionalmente, han sido independientes. La arquitectura que era comn hasta ahora, incluye dentro del chipset, un puente norte y un puente sur. El puente norte, se encarga de gestionar los dispositivos que trabajan a alta velocidad, como la memoria y la tarjeta grfica. Est unida al procesador a travs del FSB(Frontal Side Bus). Un esquema como el siguiente:

CEDE - C/ Cartagena, 129 - 28002 Madrid


Tel.: 91 564 42 94

C E D E www.cede.es

Tema 1.70

Profesores de Enseanza Secundaria INFORMTICA

Sin embargo, la tendencia actual es que el controlador de memoria, y en algunos casos, tambin la GPU (procesador de grficos) se incluyan en algunos procesadores. Por tanto, estos procesadores asumen la funcin que realizan la tarjeta grfica y tambin la del chipset, concretamente, parte la funcin del puente norte, que siempre ha gestionado la memoria y las conexiones con la tarjeta grfica (buses AGP o PCIx). Ahora el chipset tiene slo la funcin de controlar los dispositivos de baja velocidad.

C E D E www.cede.es

CEDE - C/ Cartagena, 129 - 28002 Madrid


Tel.: 91 564 42 94

Profesores de Enseanza Secundaria INFORMTICA

Tema 1.71

Obviamente, la GPU que se incluye dentro de la CPU, tiene menor potencia que las tarjetas grficas dedicadas, pero para equipos que requieran poca potencia grfica, puede ser suficiente. Sin embargo, los fabricantes de tarjetas grficas, no tienen intencin de que la GPU pase a segundo plano dentro del procesador, sino todo lo contrario, se propone otra lnea de innovacin, consistente en utilizar la GPU de las tarjetas grficas como apoyo al procesador, es decir, que no sean utilizadas exclusivamente para las aplicaciones grficas sino tambin para otras aplicaciones de uso general. Se trata de explotar las ventajas de la GPU frente a la CPU de uso general, utilizando la capacidad de procesamiento paralelo de sus mltiples ncleos. La ejecucin de mltiples tareas independientes es para lo que estn diseadas las GPU) Para obtener un buen rendimiento, es necesario que las aplicaciones estn diseadas para aprovechar utilizar muchos hilos de ejecucin independiente.

Diagrama del Intel Core

Actualmente, existen varios supercomputadores basados en GPUs, que tienen rendimiento similar a los supercomputadores basados en otros procesadores, pero con un coste muchas veces inferior. En definitiva, la CPU y la GPU, se influyen mutuamente. Por un lado la GPU se acerca a la CPU en el plano software, de hecho, los fabricantes de tarjetas grficas ofrecen entornos de desarrollo de aplicaciones para sus productos, por ejemplo CUDA de Nvidia o CAL de AMD/ATI, y por otro lado, las CPUs, se estn influenciando a nivel hardware de la GPU, por ejemplo, la microarquitectura Larrabee de Intel o Fusion de AMD, sin contar los procesadores Cell de Sony-Toshiba-IBM presente en las videoconsolas.
1.3.3.8. Buses alta velocidad. QuickPath-Hypertransport

Otro elemento importante a destacar es la eliminacin de bus frontal (FSB), que una la CPU con el chipset (Puente norte) a altas velocidades. Sin embargo, el FSB, trabaja con un ancho de bus relativamente grande, por lo que se ha sustituido por otros tipos de buses, que, a pesar de tener un ancho de bus mucho menor, funcionan a mayor frecuencia, consiguiendo as un ancho de banda mayor. Estos buses, conocidos comercialmente como QuickPath (Intel) o HyperTransport(AMD) y en algunos caso, como el HyperTransport, no solo se utilizan para conectar el procesador con otros elementos funcionales.

CEDE - C/ Cartagena, 129 - 28002 Madrid


Tel.: 91 564 42 94

C E D E www.cede.es

Tema 1.72

Profesores de Enseanza Secundaria INFORMTICA

1.3.3.9. Virtualizacin

La virtualizacin, consiste en la posibilidad de utilizacin de los mismos recursos hardware , por mltiples sistemas operativos. La virtualizacin tiene muchas ventajas, sobre todo en cuanto a versatilidad y aprovechamiento de recursos, por ello, los fabricantes de hardware, especialmente en procesadores y chipsets, han aadido soporte a sus productos para facilitarla. AMD proporciona en sus procesadores la extensin AMD-Virtualizacin (AMD-V) y por su parte, Intel, ofrece la tecnologa VT-x.
1.3.3.10. Overclocking dinmico

El overclocking dinmico es una tecnologa que permite ajustar la frecuencia de trabajo de los procesadores, as como el nmero de procesadores que estn activos, para adaptarla a la demanda de trabajo que tiene el sistema en cada momento. Para los procesadores de definen una serie de lmites, sobre todo en cuanto a frecuencia y temperatura de trabajo, que no deben sobrepasarse, pero mientras no se superen estos lmites, la frecuencia de uno o varios ncleos, puede incrementarse para atender picos de trabajo. Es tambin una forma de ahorrar energa porque se pueden aumentar la frecuencia de trabajo de unos ncleos, y permitir que otros puedan seguir en reposo. Cuando se alcanzan los lmites definidos de temperatura, la frecuencia de trabajo se decrementa para volver a situarse dentro de los lmites normales de trabajo. Los nombres comerciales utilizados para estas tecnologas, son el TurboBoost de Intel y el TurboCore de AMD, que es una extensin del Cool'n Quiet.

RESUMEN
La sociedad actual ha avanzado mucho, en parte, gracias a la gran cantidad de informacin disponible y que se comparte a travs de Internet, por ello, a menudo se le denomina sociedad de la informacin. Dicha informacin, ha de estar en formato digital para que pueda ser almacenada e intercambiada entre ordenadores. Si tenemos en cuenta que los sistemas informticos tienen el mayor potencial para compartir informacin y que stos, slo son capaces de manejar bits, no tenemos ms alternativa que codificar toda la informacin utilizando tan slo 1 y 0s .En este tema se aborda la codificacin de los nmeros, los caracteres y los formatos multimedia tal y como los manipula el ordenador. La codificacin numrica se ha llevado a cabo desde los orgenes de los sistemas informticos, de hecho, se basa en el sistema de numeracin binario, sin embargo, para facilitar las operaciones lgicas y matemticas, se han creado otros cdigos como el C1 o el C2. Tambin nos hemos visto en la necesidad de representar con cierta precisin, nmeros cada vez ms grandes o extremadamente pequeos y el formato IEEE754, es un estndar ampliamente aceptado ha venido a dar respuesta a esta necesidad. La representacin de caracteres , tambin ha planteado nuevos retos debido a que ahora, la informacin se comparte globalmente y se debe dar cabida a todos los smbolos de las diversas lenguas

C E D E www.cede.es

CEDE - C/ Cartagena, 129 - 28002 Madrid


Tel.: 91 564 42 94

Profesores de Enseanza Secundaria INFORMTICA

Tema 1.73

con las que se publica la informacin, por ello, las normas actuales de codificacin de caracteres, admiten gran cantidad de smbolos diferentes. En lo que a la informacin multimedia se refiere, ha tenido un auge espectacular, y ha supuesto un problema serio para los sistemas informticos, ya que porque son contenidos que necesitan un gran volumen de volumen de informacin para ser almacenados (y distribuidos), y los recursos, son limitados. Las imgenes, el audio y el vdeo, son contenidos que normalmente provienen de seales analgicas, as que, necesitamos aplicar un proceso de digitalizacin para que stas puedan ser tratadas por los ordenadores. El proceso de conversin de una seal analgica a digital, es un proceso complejo, pero se puede simplificar a un esquema en que se toman muestras de la seal analgicas, que se asocian a un valor concreto dentro de un rango de valores discreto y posteriormente, se codifica este valor con un conjunto de bits. En la actualidad, para reducir el volumen de datos generado, se utilizan mtodos de compresin e incluso se descarta la informacin que no sea apreciable por el ser humano, que es a quien, al fin y al cabo, va dirigido el contenido multimedia. En lo que se refiere a las arquitecturas de los sistemas informticos, tambin han evolucionado, debido, entre otras razones, a los avances en el campo de la electrnica con el uso de los semiconductores. Estos avances han permitido incluir millones de circuitos electrnicos en un espacio muy reducido, y con un consumo de energa relativamente bajo. Los sistemas actuales, han tenido como base la arquitectura propuesta por Von Neumann, a la que progresivamente se ha ido aadiendo ms elementos y nuevas tecnologas para mejorar su rendimiento. Es bastante comn que la inclusin de nuevos elementos que haga aumentar el rendimiento, genere a su vez otros problemas, que han se solucionarse complicando an ms la arquitectura, por ello, las arquitecturas actuales, son realmente complejas. En este tema, se ha descrito una arquitectura que toma como referencia, la Arquitectura de Von Neumann, y se ha explicado el funcionamiento de todos sus elementos, entre los que cabra destacar la Unidad de Control, la Unidad Aritmtico-Lgica y la Memoria Principal. En esta arquitectura se ha ejecutado paso a paso un sencillo programa de tan slo tres instrucciones, pero que es suficiente para mostrar el funcionamiento de los sistemas informticos a bajo nivel. Una de las mejoras tpicas que se solan incluir en los sistemas informticos, ha sido el aumento de frecuencia de trabajo de sistema, y es que, cuanto ms rpido vaya el sistema, ms instrucciones ejecuta por segundo. Sin embargo, esta alternativa no est exenta de problemas, ya que a partir de cierta frecuencia, se genera un calentamiento excesivo de los circuitos, y stos tienen problemas para disiparlo, as que se vuelven inestables. Por la razn anterior, a parte de incluir nuevos elementos como la cach, la FPU o las instrucciones multimedia, se ha optado por trabajar en paralelo, en lugar de seguir aumentando las frecuencias de trabajo. Una forma de hacerlo, es ejecutar varias instrucciones de forma simultnea aprovechando que las instrucciones pasan por diferentes fases, y que estas fases son independientes entre ellas, es lo que se denomina segmentacin a nivel de instruccin. La segmentacin a

CEDE - C/ Cartagena, 129 - 28002 Madrid


Tel.: 91 564 42 94

C E D E www.cede.es

Tema 1.74

Profesores de Enseanza Secundaria INFORMTICA

nivel de instruccin, no es la nica forma de paralelismo, se pueden incluir tambin a mltiples de unidades de procesamiento en un mismo encapsulado. Es decir, ahora, dentro de un mismo procesador, hay distintos cores, que pueden llevar la ejecucin de hilos de instrucciones independientes. Las unidades de procesamiento grfico, estn tambin en el punto de mira, ya que, al fin y al cabo, son microprocesadores diseados para trabajar en paralelo, y que pueden utilizarse, no slo para las aplicaciones grficas, sino tambin para las de propsito general. Los fabricantes de tarjetas grficas estn fomentando el uso de las tarjetas grficas en este sentido. Por su parte, los fabricantes de procesadores, han sido capaces de incluir las primeras GPU en sus microprocesadores. Si consideramos todos los avances producidos en la tecnologa informtica y el poco tiempo en el que se est produciendo, podemos decir que es uno de los sectores que avanzan con mayor rapidez, y por ahora, todo apunta a que va a seguir sindolo porque las innovaciones se suceden una tras otra, y cada vez en menos tiempo.

BIBLIOGRAFA COMENTADA
Los siguientes libros, tratan en profundidad los sistemas de numeracin y codificacin, as como la arquitectura de un sistema microinformticos y avances en las arquitecturas actuales.
STALLINGS, William (2006). Organizacin y arquitectura de computadores. Prentice Hall. Ed. 7. FERNNDEZ, Gregorio. Conceptos Bsicos de Arquitectura y Sistemas Operativos. UPM. PATTERSON, David A. y HENNESSY, John L. (2011). Estructura y Diseo de Computadores. Ed. Revert. CARTER, Nicholas (2004). Arquitectura de Computadores. Editorial McGraw-Hill. ORTEGA, Julio; ANGUITA, Mancia; PRIETO, Alberto (2005). Arquitectura de Computadores. Ed. Thomson.

El libro siguiente libro, ofrece un simulador ficticio, denominado Simplez, con el que se explica de forma clara y sencilla las fases de ejecucin de las instrucciones en un sistema informtico.
FERNNDEZ, Gregorio. Conceptos Bsicos de Arquitectura y Sistemas Operativos.

En cuanto a los bloques funcionales de las arquitecturas actuales, una buena referencia es el siguiente libro:
HERRERAS REY, J.E. El PC: Hardware y Componentes. Anaya.

C E D E www.cede.es

CEDE - C/ Cartagena, 129 - 28002 Madrid


Tel.: 91 564 42 94

Profesores de Enseanza Secundaria INFORMTICA

Tema 1.75

PGINAS WEB DE INTERS www.intel.es Pgina oficial del fabricante del procesadores Intel. www.amd.es Pgina oficial del fabricante del procesadores y GPUs, AMD. http://www.nvidia.com Pgina oficial del fabricante de GPUs. www.tomshardware.com/ Pgina de referencia con completa informacin en hardware. Interesantes comparativas y artculos sobre las novedades en hardware.

CEDE - C/ Cartagena, 129 - 28002 Madrid


Tel.: 91 564 42 94

C E D E www.cede.es

También podría gustarte