viernes, 3 de octubre de 2014

¿Que es una computadora? y como funciona.

¿Que es una computadora?

Una computadora es una máquina electrónica usada para procesar la información. Sin embargo, podemos hacer un trabajo mas amplio con las computadoras que apenas calcular números o imprimir datos. Podemos dibujar cuadros, escribimos notas, informes, e incluso nos comunicamos con otros usuarios de computadoras alrededor del mundo, el hecho de que usted este leyendo este trabajo de Proyecto Salón Hogar, es evidencia de ello.

Los educadores en Puerto Rico y el mundo entero pueden utilizar la computadora para escribir los planes de la escuela, sus estudios y trabajos particulares asi como avisos, para hacer ayudas visuales, para crear presentaciones de su escuela o para compartirlas y para colaborar con otros profesores alrededor del mundo.


Hay dos parte básicas que explicar para entender la computadora, estas partes son: el hardware y el software.
El hardware es un término genérico para todos los componentes físicos de la computadora.
El software es un término genérico para los programas que funcionan en una computadora.

Por ejemplo el programa de Proyecto Salón Hogar, se puede considerar como un software que le da vida a su Hardware. Sin embargo es Windows el sistema operativo o programa de funcionamiento el que realmente viene a darle la vida a su computadora, es asi como usted puede ver luego este otro programa.

Hardware
El hardware es el término comunmente utilizado para los componentes físicos de una computadora. Éste es el nivel más básico en el cual la computadora funciona. El punto dominante a recordar es que toda la información está procesada electrónicamente por el Hardware. La PC está preparada como su computadora personal, aunque esa abreviatura (PC) es a menudo asociada con la computadora con la cual funciona el sistema operativo de Windows. Debajo está un cuadro de una PC (computadora personal) estándar con cada pieza del hardware etiquetada. La foto a la derecha demuestra cómo el monitor, el teclado y el ratón están conectados con la unidad del sistema.

Las herramientas escenciales en la entrada de datos son los llamados:

Dispositivos de entrada:


Los dispositivos de entrada incorporan la información en la unidad del sistema de la PC.
Los tipos comunes de dispositivos de entrada incluyen el teclado y el ratón.

La función principal del ratón, "mouse", es seleccionar algo con su lado izquierdo En el lado derecho se nos presentan varias opciones.

Toda la información que procesamos obviamente debe tener por donde salir para ser aprovechada, los medios actuales son:

El monitor o pantalla, el printer o impresora, bocinas o speakers

Entender el Internet

Para entender el Internet, usted primero necesita entender el concepto de las redes de ordenadores, o cómo las computadoras están conectadas.

¿Red De Área Local (Lan)?
Un grupo de computadoras conectado junto a través de los cables de la red (e.g. este laboratorio de la computadora) en los cuales usted puede compartir la información y datos de la computadora a la computadora.



¿Cuál es una red de área amplia (WAN)?
Un grupo de varias redes (LAN) en diversas localizaciones conectadas juntas sobre un área amplia (e.g. universidad de Puerto Rico, conectada con la U.C.L.A.)

¿Que es el Internet?
El Internet, a veces llamado simplemente "la red," es un sistema mundial de las redes de computadoras - una red de las redes en las cuales los usuarios en cualquier una computadora pueden, si tienen permiso, consigue la información de cualquier otra computadora (y hable a veces directamente con los usuarios en otras computadoras). Esta Red fue concebida por la agencia de los proyectos de investigación avanzada (ARPA) del gobierno de ESTADOS UNIDOS en 1969 y era primera conocida como el ARPANET.

La historia del Internet
Mucha gente piensa que el Internet es una innovación reciente, cuando de hecho la esencia de ella ha estado funcionando hace alrededor de un cuarto de siglo (25 años). El Internet comenzó como Arpanet, un proyecto de ESTADOS UNIDOS del Departamento de Defensa que vino a crear una red de computadoras a nivel nacional que continuaría funcionando incluso si una porción grande de ella fue destruida en una guerra nuclear o un desastre natural. Durante las dos décadas próximas, la red que se desarrolló fue utilizada sobre todo por las instituciones académicas, los científicos y el gobierno para la investigación y las comunicaciones. La súplica del Internet a estos cuerpos era obvia, pues permitió que las instituciones dispares (no asociadas) se conectaran cada uno con otros y compartieran sus sistemas y bases de datos de cálculo, así como enviar o recibir datos via E-Mail. La naturaleza del Internet cambió precipitadamente en 1992, cuando el gobierno de ESTADOS UNIDOS comenzó salirse de la dirección y dominio de la red, y las entidades comerciales ofrecieron el acceso del Internet al público en general por primera vez. Este cambio en marcó el principio de la extensión asombrosa del Internet.


¿Cómo el Internet trabaja?


El Internet es una colección mundial de redes de computadoras, cooperando con unos con otros para intercambiar datos usando un estándar común del software. Con las redes del teléfono y los acoplamientos basados en los satélites, los usuarios del Internet pueden compartir la información en una variedad de formas. El tamaño, el alcance y el diseño del Internet permite a usuarios:
Conectarse fácilmente con las computadoras personales ordinarias y los números de teléfono locales.
Intercambiar correo electrónico (E-mail) con amigos y colegas con cuentas en el Internet.
Introduce información para que otros tengan acceso a ella, como este de Proyecto Salón Hogar.
Tener acceso a información multimedia que incluye imágenes e incluso video, fotográfias,etc...
Tener acceso a las variadas y diversas perspectivas alrededor del mundo.


¿Cómo tengo acceso al Internet?

Su computadora necesita ser conectada con la red global
- a través de las líneas telefónicas
- a través de los satélites
Usted necesita utilizar un web browser en su Internet Explorer de la computadora o Netscape Navigator

¿Que es el World Wide Web?
La parte más extensamente posible usada del Internet es el World Wide Web (WWW) a menudo abreviado "o llamado" la RED"

¿Que es un web browser ?
Un web browser es un programa o pantalla que permite que usted pueda ver y que obre recíprocamente con la información escrita en HTML (la lengua del margen de beneficio del hypertext.) Usted necesita un web browser para tener acceso a la información del Internet o el World Wide Web:


¿Que es un acoplamiento de hypertext?
Un acoplamiento de hypertext es la característica más excepcional de un Web page pues es un método de hacer una remisión. Los acoplamientos pueden ser texto, botones, imágenes, o porciones de las imágenes que son "clickable." Si usted mueve el indicador sobre un punto en un Web site y el indicador cambia en una mano, éste indica que usted puede hacer "clic" y ser transferido a otra página, para visión un cuadro, o a un sonido.


¿Cuál es HTML?
El HTML (o lengua del margen de beneficio del hypertext) es un lenguaje de programación usado para construir sitios de la red. Contiene los códigos estándares (o las etiquetas) que se determinan cómo un Web page mira cuando su browser la exhibe. Las etiquetas del HTML también hacen posible los hyperlinks (enlaces) que conectan la información que aparece en el World Wide Web.
El HTML parece esto:

Es gracías a este lenguaje de programación que se pueden comunicar las computadoras entre ellas mismas y darse instrucciones. Si el lenguaje entre ellas fuera diferente, entonces no se entenderian y seria imposible la obtención de datos.


Que tal si la entendemos mejor!!

INTRODUCCIÓN

Según la Real Academia Española, la INFORMÁTICA es el conjunto de conocimientos científicos y técnicas que hacen posible el tratamiento automático de la información por medio de ordenadores (computadoras electrónicas).

En definitiva trabajaremos con el siguiente sistema, en el que las salidas dependerán de las entradas:

La COMPUTADORA es una máquina capaz de aceptar unos datos de entrada, efectuar con ellos operaciones lógicas y aritméticas y proporcionar la información resultante a través de un medio de salida; todo ello bajo el control de un programa de instrucciones previamente almacenado en la propia computadora.

Los DATOS son un conjunto de símbolos utilizados para expresar o representar un valor numérico, un hecho, un objeto o una idea, en la forma adecuada para ser objeto de tratamiento. Por ejemplo son datos la dirección de una persona, el NIF, el hecho de que se haya producido una venta, etc.

Dado que el lenguaje escrito es la forma más habitual de transmitir, comunicar o almacenar información en la sociedad actual, los caracteres resultarán muy útiles debido a la gran variedad de información que con ellos podemos representar. Los grafismos o caracteres utilizados usualmente en informática, tanto en la entrada como en la salida, son: caracteres numéricos, caracteres alfabéticos y caracteres especiales.

1.1 - CODIFICACIÓN DE LA INFORMACIÓN

La CODIFICACIÓN es una transformación que representa los elementos de un conjunto mediante los de otro, de forma que a cada elemento del primer conjunto le corresponda un elemento distinto del segundo. De esta forma comprimimos y estructuramos la información.

En la computadora esta información se almacena y se transfiere de un sitio a otro según un código que utiliza sólo dos valores (código binario) representados por 0 y 1.

La unidad más elemental de información es un valor binario, conocido como BIT (del inglés Binary digiT). Es una posición o variable que toma el valor 0 ó 1. Representa la ocurrencia o no de un suceso entre dos posibilidades distintas.

La información se representa mediante caracteres, y estos se codifican internamente mediante un código binario, es decir, bits. Por lo tanto, a cada carácter le va a corresponder un cierto número de bits. Un BYTE será el número de bits necesarios para almacenar un carácter. Generalmente un byte son 8 bits, aunque dependerá del código que utilice la computadora.

Como el byte es una unidad muy pequeña, para medir la capacidad de almacenamiento se suelen utilizar múltiplos:

1 Kilobyte = 1024 bytes = 2'Sistemas informáticos monousuario y multiusuario'
bytes 'Sistemas informáticos monousuario y multiusuario'
10'Sistemas informáticos monousuario y multiusuario'
bytes

1 Megabyte = 1024 Kb = 2'Sistemas informáticos monousuario y multiusuario'
kb = 2'Sistemas informáticos monousuario y multiusuario'
bytes 'Sistemas informáticos monousuario y multiusuario'
10'Sistemas informáticos monousuario y multiusuario'
bytes

1 Gigabyte = 1024 Mb = 2'Sistemas informáticos monousuario y multiusuario'
Mb = 2'Sistemas informáticos monousuario y multiusuario'
kb = 2'Sistemas informáticos monousuario y multiusuario'
bytes 'Sistemas informáticos monousuario y multiusuario'
10'Sistemas informáticos monousuario y multiusuario'
bytes

1 Terabyte = 1024 Gb = 2'Sistemas informáticos monousuario y multiusuario'
Gb = 2'Sistemas informáticos monousuario y multiusuario'
Mb = 2'Sistemas informáticos monousuario y multiusuario'
kb = 2'Sistemas informáticos monousuario y multiusuario'
bytes 'Sistemas informáticos monousuario y multiusuario'
10'Sistemas informáticos monousuario y multiusuario'
bytes

Ya hemos visto que la información se le da al ordenador en la forma usual escrita que utilizamos, es decir, con ayuda de un alfabeto o un conjunto de símbolos que denominamos caracteres.

Además de los caracteres gráficos, los caracteres que constituyen el alfabeto suelen agruparse en cuatro categorías:

*

Caracteres alfabéticos: mayúsculas y minúsculas del alfabeto inglés (no se incluyen Ñ ni ñ).
*

Caracteres numéricos: 0, 1, 2, …, 9.
*

Caracteres especiales: ), ¿, /, Ñ, ñ, …
*

Caracteres de control: por ejemplo el fin de línea.

Como ya hemos dicho, la computadora almacena toda la información por medio de dos valores (bit), representados por 0, 1. Por lo tanto, para traducir la información habrá que establecer una correspondencia entre el conjunto de todos los caracteres:

 " {A, B, …, Z, a, b, …, z, 0, 1, 2, …, 9, +, /….},

y el conjunto binario:

 " {0, 1}

A cada elemento de  le corresponderá un elemento distinto de  (n bits). Codificamos los elementos de un conjunto mediante los de otro.

A estos códigos de transformación se les denomina códigos de Entrada/Salida o códigos externos. Se pueden definir de forma arbitraria, aunque existen códigos normalizados utilizados por diferentes constructores de computadoras.

Para las operaciones aritméticas utilizaremos el sistema de numeración en base dos.

1.2 - SISTEMAS DE NUMERACIÓN USUALES EN INFORMÁTICA

Las computadoras suelen efectuar las operaciones aritméticas utilizando una representación para los datos numéricos basada en el sistema de numeración de base dos o binario natural.

También se utilizan otros sistemas de numeración, preferentemente el octal y el hexadecimal, para obtener códigos intermedios, con el fin de poder pasar más fácilmente del código binario al decimal y viceversa.

1.2.1 - REPRESENTACIÓN POSICIONAL DE LOS NÚMEROS

Un sistema de numeración en base "b" utiliza para representar los números un alfabeto compuesto por "b" símbolos o cifras. Así, todo número se expresa por un conjunto de cifras, contribuyendo cada una de ellas con un valor. Este valor dependerá de la cifra en sí y de la posición que ocupa dentro del número.

En el sistema de numeración decimal, (sistema en base 10) que es el que habitualmente se utiliza, b = 10 y el alfabeto está constituido por diez símbolos, denominados también cifras decimales:

{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}

Por ejemplo, el número 5.629,93 puede obtenerse de la siguiente forma:

5.629,93 = 5000 + 600 + 20 + 9 + 0,9 + 0,03 = 5x10³ + 6x10² + 2x10¹ + 9x10º + 9x10¹ + 3x10²

Cada posición, por lo tanto tiene un peso y un nombre específicos:

Posición 0: peso bº, unidades (9).

Posición 1: peso b¹, decenas (2).

Posición 2: peso b², centenas (6).

Posición 3: peso b³, millares (5).

………………………………………

Generalizando:

N " …n n n n n n n…

N " ...n'Sistemas informáticos monousuario y multiusuario'
b'Sistemas informáticos monousuario y multiusuario'
+ n'Sistemas informáticos monousuario y multiusuario'
b'Sistemas informáticos monousuario y multiusuario'
+ n'Sistemas informáticos monousuario y multiusuario'
b'Sistemas informáticos monousuario y multiusuario'
+ n'Sistemas informáticos monousuario y multiusuario'
b'Sistemas informáticos monousuario y multiusuario'
+ n'Sistemas informáticos monousuario y multiusuario'
b'Sistemas informáticos monousuario y multiusuario'
+ n'Sistemas informáticos monousuario y multiusuario'
b'Sistemas informáticos monousuario y multiusuario'
+ n'Sistemas informáticos monousuario y multiusuario'
b'Sistemas informáticos monousuario y multiusuario'
...

Ejemplo: sistema de numeración en base ocho, b = 8 y  " {0, 1, 2, 3, 4, 5, 6, 7}

625,36'Sistemas informáticos monousuario y multiusuario'
= 6x8² + 2x8¹ + 5x8º + 3x8¹ + 6x8² = 407,88'Sistemas informáticos monousuario y multiusuario'

1.2.2 - SISTEMA DE NUMERACIÓN EN BASE DOS

Ya vimos que las operaciones aritméticas se suelen realizar utilizando una representación para los datos y resultados en binario natural.

En este sistema la base en b = 2 y se utilizan solamente dos elementos para representar cualquier número {0, 1}, cifras binarias o bits.

Para transformar un número de binario a decimal, basta con tener en cuenta la generalización que hemos visto.

Ejemplos:

110100'Sistemas informáticos monousuario y multiusuario'
= 1x2'Sistemas informáticos monousuario y multiusuario'
+ 1x2'Sistemas informáticos monousuario y multiusuario'
+ 0x2'Sistemas informáticos monousuario y multiusuario'
+ 1x2'Sistemas informáticos monousuario y multiusuario'
+ 0x2'Sistemas informáticos monousuario y multiusuario'
+ 0x2'Sistemas informáticos monousuario y multiusuario'
= 32 + 16 + 4 = 52'Sistemas informáticos monousuario y multiusuario'

0,10100'Sistemas informáticos monousuario y multiusuario'
= 0x2'Sistemas informáticos monousuario y multiusuario'
+ 1x2'Sistemas informáticos monousuario y multiusuario'
+0x2'Sistemas informáticos monousuario y multiusuario'
+1x2'Sistemas informáticos monousuario y multiusuario'
+0x2'Sistemas informáticos monousuario y multiusuario'
+0x2'Sistemas informáticos monousuario y multiusuario'
= 0,5 + 0,125 = 0,625'Sistemas informáticos monousuario y multiusuario'

10100,001'Sistemas informáticos monousuario y multiusuario'
= 1x2'Sistemas informáticos monousuario y multiusuario'
+1x2'Sistemas informáticos monousuario y multiusuario'
+1x2'Sistemas informáticos monousuario y multiusuario'
= 16 + 4 + 0,125 = 20,125'Sistemas informáticos monousuario y multiusuario'

Si nos fijamos, para pasar un número de binario natural a decimal, basta con sumar los pesos de las posiciones en las que hay un uno.

Para transformar un número decimal a binario dividimos entre dos sucesivamente la parte entera del decimal y multiplicamos sucesivamente por dos la parte fraccionaria.

Ejemplo: 26,1875

26 2

06 13 2

0 1 6 2

0 3 2

1 1

26,1875'Sistemas informáticos monousuario y multiusuario'
= 11010,0011'Sistemas informáticos monousuario y multiusuario'

1.3 - OPERACIONES ARITMÉTICAS Y BOOLEANAS CON VARIABLES BINARIAS

Una variable binaria, que toma los valores 0 ó 1, hemos visto que puede representar un valor numérico en el sistema de numeración en base dos. Por lo tanto, podremos realizar operaciones aritméticas.

Como la representación en binario natural es una notación ponderada (N = …n'Sistemas informáticos monousuario y multiusuario'
b'Sistemas informáticos monousuario y multiusuario'
+ n'Sistemas informáticos monousuario y multiusuario'
b'Sistemas informáticos monousuario y multiusuario'
+ n'Sistemas informáticos monousuario y multiusuario'
b'Sistemas informáticos monousuario y multiusuario'
+...) las operaciones aritméticas en binario serán similares a las realizadas en decimal, aunque será necesario utilizar las siguientes tablas:

Suma aritmética con variables binarias

0 + 0 = 0

0 + 1 = 1

1 + 0 = 1

1 + 1 = 0 y me llevo una

Resta aritmética con variables binarias

0 - 0 = 0

0 - 1 = 1 y debo una

1 - 0 = 1

1 - 1 = 0

Producto aritmético de variables binarias

0 x 0 = 0

0 x 1 = 0

1 x 0 = 0

1 x 1 = 1


Ejemplos:

1110101 1101010

+ 1110110 1010111

11101011 0010011

1010011

x10

1101010

1101010

100111110

Si nos fijamos bien, podemos comprobar que multiplicar por 10'Sistemas informáticos monousuario y multiusuario'
(es decir, 2 en el sistema decimal) equivale a añadir un cero a la derecha (es similar a multiplicar por 10 en el sistema decimal). De igual forma, dividir por 10'Sistemas informáticos monousuario y multiusuario'
(2 en el sistema decimal) se hace desplazando la coma decimal a la izquierda o eliminando ceros a la derecha.

Además de las operaciones aritméticas, podemos realizar operaciones lógicas con variables binarias u operaciones booleanas. ¿Cuál es el origen de todo esto?. En 1854 un matemático inglés, llamado George Boole, publicó un libro titulado "Las leyes del pensamiento", que consistía en representar la lógica mediante símbolos matemáticos. El álgebra de Boole (álgebra booleana o álgebra lógica) sirve de base hoy en día a los ordenadores, y les confiere una forma de "pensar".

Las operaciones booleanas u operaciones lógicas con variables binarias (consideradas como variables de conmutación) más importantes son:

*

Suma lógica: +, unión, función OR (o).
*

Producto lógico: x, intersección, función AND (y).
*

Complementación: -, inversión, negación, función NOT (no).

Estas operaciones se rigen según las siguientes tablas:

Suma booleana o unión

0 + 0 = 0

0 + 1 = 1

1 + 0 = 1

1 + 1 = 1

Producto booleano o inersección

0 x 0 = 0

0 x 1 = 0

1 x 0 = 0

1 x 1 = 1

Complementación o inversión booleana

= 1

= 0

También es frecuente utilizar operaciones combinadas:

*

NAND: AND con NOT.
*

NOR: OR con NOT.


Función lógica NAND

A


b


axb


0


0


0


1

0


1


0


1

1


0


0


1

1


1


1


0

Función lógica NOR

a


b


a + b


0


0


0


1

0


1


1


0

1


0


1


0

1


1


1


0

Las operaciones lógicas no se realizan como las aritméticas, sino que se opera bit a bit:.

Ejemplos :

10000 + 11110 = 11110 (OR)

111011 x 011011 = 011011 (AND)

= 001011 (NOT)

== 00000 (NOR)

== 10011 (NAND)

4 - REPRESENTACIÓN EN COMPLEMENTOS

Para representar un número negativo, en cualquier sistema de numeración, podemos utilizar el "complemento de ese número a la base o a la base menos uno" del sistema de numeración utilizado. De esta forma las sumas y restas quedan reducidas a sumas, independientemente de los signos de los operandos.

Para el ordenador este sistema de representación es muy importante, ya que al utilizarlo se reduce la complejidad de los circuitos de la Unidad Aritmético-Lógica, es decir, no son necesarios circuitos específicos para restar.

4.1 COMPLEMENTO A LA BASE MENOS UNO de un número N, es el número que resulta de restar cada una de las cifras de N a la base menos uno del sistema de numeración que se esté utilizando.

Se pueden restar dos números sumando al minuendo el complemento a la base menos uno del sustraendo. La cifra que se arrastra del resultado se descarta y se suma al resultado así obtenido.

- En base 10.

Supongamos que deseamos hacer las operaciones 77 - 63 y 1100 - 16. Podemos hacerlo de la forma habitual:

77 - 63 = 14

1100 - 16 = 1.084

O bien podemos utilizar el complemento a 9 de los sustraendos:

- Complemento a 9 de 63: 99 - 63 = 36

- Complemento a 9 de 16 (utilizo el mismo número de cifras que tiene el minuendo): 9999 - 0016 = 9983

Sumamos ahora al minuendo el complemento a 9 del sustraendo y el acarreo lo sumamos al resultado:

- 77 + 36 = (1)13; 13 + 1 = 14

- 1100 + 9983 = (1)1083; 1083 + 1 = 1.084

- En base dos.

Seguimos el mismo procedimiento que en el caso del sistema decimal.

Ejemplo:

1000111 - 10010 = 0110101

Calculamos el complemento a 1 de 10010 teniendo en cuenta que el minuendo tiene 7 cifras:

1111111 - 010010 = 1101101

Vemos que para transformar un número binario N a complemento a 1, basta con cambiar en N los ceros por unos y los unos por ceros.

1000111 + 1101101 = (1)0110100; 0110100 + 1 = 0110101

4.2 COMPLEMENTO A LA BASE de un número N, es el número que resulta de restar cada una de las cifras del número N a la base menos uno del sistema de numeración que se esté utilizando y posteriormente sumar uno a la diferencia así obtenida.

Así, se pueden restar dos números sumando al minuendo el complemento a la base del sustraendo, despreciando el acarreo del resultado.

- En base 10.

Supongamos que queremos efectuar la siguiente operación: 100 - 16 = 84

El complemento a 10 de 16, teniendo en cuenta que 100 tiene una cifra más: 999 - 16 = 983; 983 + 1 = 984.

Sumamos al minuendo el complemento a 10 del sustraendo: 100 + 984 = (1)084

- En base dos.

Supongamos que queremos efectuar la siguiente resta: 11001 - 10010 = 00111.

El complemento a 2 de 10010, teniendo en cuenta el número de cifras del minuendo, será: 11111 - 10010 = 01101;

01101 + 1 = 1110.

Sumamos al minuendo el complemento a 2 del sustraendo y despreciamos el acarreo del resultado:

11001 + 1110 = (1)00111

Como se puede ver, para transformar un número binario N a complemento a 2, basta con cambiar los unos por ceros y los ceros por unos en N, y sumar uno al resultado.

Generalizando se tiene que:

*

Complemento a la base b de un número N de n cifras es: (b - N).
*

Complemento a la base menos uno, b-1, de un número N de n cifras es: (b - N - 1).

5 - CÓDIGOS INTERMEDIOS

Los códigos intermedios, octal y hexadecimal, se fundamentan en la facilidad de transformar un número en base 2 a otra base que sea una potencia de dos: 2²= 4, 2³= 8, etc.

Generalmente se utilizan el sistema de numeración en base 8 (u octal) y en base 16 (o hexadecimal).

*

BASE OCTAL

La base de este sistema de numeración es b = 8 y el conjunto de símbolos {0, 1, 2, 3, 4, 5, 6, 7}.

Para transformar un número binario a octal se hacen grupos de tres cifras binarias a partir del punto decimal hacia la izquierda y hacia la derecha. Posteriormente se efectúa directamente la conversión a octal de cada grupo individual, teniendo en cuenta la siguiente tabla:

Decimal/Octal


Binario

0


000

1


001

2


010

3


011

4


100

5


101

6


110

7


111

Ejemplo:

10 001 101 100,110 10= 2154,64

Para pasar de octal a binario convertimos individualmente a binario cada cifra octal, manteniendo el orden del número original:

Ejemplo:

537,24= 101 011 111,010 100

Para pasar de octal a decimal utilizamos la expresión que ya conocemos, con base 8.

Ejemplo:

1367,25= 1x8³+ 3x8² 6x8¹+ 7x8º+ 2x8¹+ 5x8² = 512 + 192 + 48 + 47 + 7 + 0,25 + 0,078125 = 759,328125

Para pasar de decimal a octal hacemos divisiones y multiplicaciones sucesivas como en el caso del sistema binario, pero teniendo en cuenta que en este caso la base es 8.

Ejemplo:

760,33= 1370,2507

760 8

40 95 8

0 15 11 8

7 3 1

*

BASE HEXADECIMAL

Para representar un número en base hexadecimal b = 16, necesitamos disponer de un conjunto o alfabeto de 16 símbolos. Se suele utilizar el siguiente conjunto:

{0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F}

Siendo la tabla de equivalencias la siguiente:

Hexadecimal


Binario


Decimal

0


0000


0

1


0001


1

2


0010


2

3


0011


3

4


0100


4

5


0101


5

6


0110


6

7


0111


7

8


1000


8

9


1001


9

A


1010


10

B


1011


11

C


1100


12

D


1101


13

E


1110


14

F


1111


15

Para pasar de binario a hexadecimal, como b = 16 =2, y viceversa, se pueden hacer las conversiones de igual forma que con el sistema octal. En este caso utilizaremos grupos de 4 bits en lugar de 3 bits.

Ejemplo:

010 0101 1101 1111, 1011 101= 25DF,BA

Para pasar de hexadecimal a decimal, utilizamos la misma expresión que en los casos anteriores.

Ejemplo:

A798C,1E= 10x16+ 7x16+ 9x16+ 8x16+ 12x16+ 16+ 14x16= 655360 + 28672 + 2304 + 128 + 12 + 0,0625 + 0,0546875 = 686476,11

Para pasar de decimal a hexadecimal, hacemos multiplicaciones y divisiones sucesivas de la forma que conocemos, teniendo en cuenta que la base es 16.

Ejemplo:

4573,79= 11DD,CA3D

4573 16

137 285 16

093 115 17 16

13 13 1 1

6 - CÓDIGOS DE ENTRADA/SALIDA: BCD, EBCDIC, ASCII

Ya hemos visto que el ordenador utiliza combinaciones de bits para representar los caracteres. Codifica la información en la Entrada y la decodifica en la Salida para que nosotros podamos entenderla.

En definitiva, un código externo o código de Entrada/Salida no es más que una correspondencia entre los conjuntos:

 " {0, 1, 2, …, 9, A, B, …, Z, a, b, …, z, *, /, $, …}

 " {0, 1}

Supongamos que solamente utilizamos dos bits para codificar los caracteres, ¿cuántas combinaciones puedo realizar?:

0 0

0…1

1…0

1…1

Con tres bits se pueden hacer 8 = 2³ combinaciones distintas, podré representar 8 caracteres. Con n bits podré codificar 2 símbolos, y por lo tanto  sólo podrá estar formado por un conjunto de m = 2 elementos

*

CÓDIGO BCD DE INTERCAMBIO NORMALIZADO ( Standard Bynary Coded Decimal Interchange Code)

Este código utiliza 6 bits, con lo que con él se pueden representar m = 64 caracteres. A veces se añade a su izquierda un bit adicional para verificar posibles errores en la transmisión o grabación del código, de forma que cada carácter queda representado por n = 7 bits.

Las cuatro posiciones de la derecha se denominan bits de posición. Para los caracteres numéricos del 1 al 9, el código de los bits de posición coincide con la representación en binario natural de dichos números, y para el 0 coincide con la representación del 10. Los dos siguientes bits se denominan bits de zona, siendo estos 00 para los caracteres numéricos. El último bit, que es un bit opcional, es el bit de verificación.

*

CÓDIGO EBCDIC (Extended Binary Coded Decimal Interchange Code)

Este código utiliza 8 bits para representar cada carácter, por lo tanto se pueden codificar hasta m = 256 símbolos distintos, incluyendo mayúsculas y minúsculas y mayor número de caracteres especiales.

También es posible codificar caracteres de control con las combinaciones que empiezan por 00, por ejemplo los que suministran órdenes o señales de control para impresoras, pantallas o para coordinar las transmisiones de información.

Las cuatro posiciones de la derecha se denominan bits de posición y las cuatro de la izquierda bits de zona. Y se establece lo siguiente:

*

Para los dos bits que están más a la izquierda:

*

00 Caracteres de control y sin usar.
*

01 Caracteres especiales.
*

10 Caracteres alfabéticos en minúsculas.
*

11 Caracteres numéricos y alfabéticos en mayúsculas.

*

Para los dos siguientes bits:

*

00 De la A a la I.
*

01 De la J a la R.
*

10 De la S a la Z.
*

11 Numérico.

También van a coincidir los bits de posición, para las 10 cifras decimales, con su representación en binario natural

*

CÓDIGO ASCII (American Standard Code for Information Interchange)

Este código utiliza 7 bits y hoy día es de los más usuales. Se puede decir que la mayor parte de las transmisiones de datos entre dispositivos se realizan en esta codificación. Usualmente también se introduce un bit más para controlar los posibles errores.

7. EFICIENCIA DE UN CÓDIGO

se define como el cociente entre el número de símbolos que representa realmente (m) y el número de símbolos que en total pueden representarse (m'). Es decir, con códigos binarios en los que m' = 2, se tiene que:

r = m/m' = m/2 donde 0 " r " 1

Obviamente, cuanto más eficiente sea el código, mayor será r.

Ejemplo: Supongamos que utilizamos el código ASCII, sin bit de verificación, para representar 95 símbolos. La eficiencia de esta codificación será:

r = 95/2= 95/128 = 0,742

Si introducimos un bit adicional, la nueva eficiencia sería r = 95/256 = 0,371.

Un código que es poco eficiente, se dice que es redundante. Se define la REDUNDANCIA como:

R = (1 - r) x 100%

Ejemplo: En los dos casos del ejemplo anterior

R = (1 - 0,742) = 25,8% sin el bit de control

R = (1 - 0,371) = 62,9% con el bit de control

Se observa que cuanto más eficiente sea un código, menos redundante será.

Sin embargo, a veces las redundancias se introducen deliberadamente para poder detectar posibles errores en la transmisión o grabación de la información. Por ejemplo, si queremos representar 8 símbolos {A, B, C, D, E, F, G, H}, y se hace con un código sin redundancias, se necesitan 3 bits:

ALFABETO


CÓDIGO I


CÓDIGO II

A


000


0000

B


001


0001

C


010


0010

D


011


0011

E


100


0100

F


101


0101

G


110


0110

H


111


0111

Con el código I, si varía alguno de los bits obtengo otro símbolo del mismo alfabeto, que considerado aisladamente no podría ser detectado como erróneo.

Sin embargo, si utilizamos un código redundante como el II, existirían posibilidades de detectar errores. Si en la H, por un error, se cambiase el primer bit, podría detectarse el error porque no correspondería a ninguno de los símbolos posibles de nuestro alfabeto (1111 no está en la tabla).

La introducción de las redundancias no se hace de forma arbitraria, sino de acuerdo con algún algoritmo predeterminado. De esta forma, los códigos pueden ser verificados automáticamente por circuitos de la computadora.

Uno de estos algoritmos añade al código inicial de cada carácter un nuevo bit denominado BIT DE PARIDAD. Existen dos criterios para introducir este bit:

*

BIT DE PARIDAD, CRITERIO PAR: se añade un bit (0 ó 1) de forma tal que el número total de unos del código que resulte sea par.
*

BIT DE PARIDAD, CRITERIO IMPAR: se añade un bit (0 ó 1) de forma tal que el número total de unos del código que resulte sea impar.

El bit de paridad se introduce antes de transmitir o grabar la información (hay circuitos generadores de bits de paridad y circuitos comprobadores del bit de paridad). Si algún bit cambiase, se detectaría el error al recibir o leer la información, ya que el número de unos dejaría de ser par o impar (según el criterio). Obviamente, si cambiasen dos bits simultáneamente, el error no se detectaría, aunque es muy poco probable que esto ocurra.

Otro sistema de introducir redundancia para poder detectar errores es el de VERIFICACIÓN DE CUENTA FIJA. En este tipo de sistema todos los códigos correspondientes a los caracteres tienen un número fijo de unos y ceros, siendo la posición relativa de los mismos la que determina el carácter a que corresponden. Por ejemplo, si quisiéramos codificar 70 símbolos distintos podríamos utilizar 8 bits de los cuales siempre 4 deben ser unos y los otros 4 ceros. Los circuitos de verificación tendrían que detectar en recepción o lectura si el número de unos (o ceros) de cada carácter coincide con el número prefijado.

8 - REPRESENTACIÓN INTERNA DE LA INFORMACIÓN

En la memoria y el procesador central la información se transmite y procesa en unidades denominadas palabras. Las palabras de memoria son las posiciones en las que está dividida la memoria interna, y cada palabra está formada por un número determinado de bits.

La longitud de las palabras dependerá de la organización o estructura física de la computadora, siendo usuales las siguientes longitudes: 8, 16, 32 y 64 bits. Cada computadora según el modelo, tendrá asignada una longitud de palabra determinada.

Para escribir o leer un dato o instrucción almacenado en la memoria principal se da la dirección de la palabra donde se quiere escribir o leer. La operación de escritura o lectura se efectúa simultáneamente para todos los bits que constituyen una palabra. Es decir, desde el punto de vista del procesador central, los intercambios de información con la memoria se hacen en unidades o bloques denominados palabras y no en caracteres (bytes). Esto quiere decir que toda la información, a la hora de ser procesada por la unidad aritmético-lógica o ser transferida a la memoria principal, debe estructurarse en palabras.

¿Cómo haremos un buen aprovechamiento de la memoria?. La longitud de la palabra debe ser un múltiplo entero del número de bits utilizados para representar un carácter. Así, por ejemplo las computadoras de 8, 16, 32, 64 bits, utilizan códigos de entrada/salida con n = 8 bits, como el EBCDIC y el ASCII con bit de paridad.

- REPRESENTACIÓN INTERNA DE DATOS

Los datos se introducen inicialmente en la computadora según un código de Entrada/Salida. En el caso de los caracteres numéricos, con los que generalmente se realizan operaciones aritméticas, parece que la representación simbólica obtenida con el código de E/S no es la más adecuada para operar.

Por ejemplo, supongamos que queremos operar con el número 326, y nuestro código de E/S es el ASCII con bit de paridad par:

3= 63= 110011

2=62= 110010

6= 66= 110110

326= 0110011 1110010 0110110

Si este número lo representamos en binario:

326= 111000110

Vemos que, por una parte, el número de bits que necesito para representar este valor en binario (9) es mucho menor que el que necesito para representarlo mediante el código ASCII (21); y por otra parte, resulta más adecuado operar con un sistema de numeración convencional (que para eso se ideó, para facilitar los cálculos) que con el código de E/S.

Por ello, y teniendo en cuenta que la unidad aritmético-lógica utiliza las "palabras" para operar, se va a realizar una conversión de las notaciones de la representación del código de E/S a otra notación que vamos a denominar REPRESENTACIÓN INTERNA.

¿De qué va a depender esta representación interna?:

*

De la coutadora.
*

Del lenguaje de programación utilizado.
*

Del uso que el programador desee hacer con los datos.

Por ejelo, estamos realizando un programa en un lenguaje determinado. Podemos tener constantes, parámetros o instrucciones. Al introducir el programa por ejelo desde el teclado, todos los caracteres se graban según el código E/S. Posteriormente, según las reglas del lenguaje de programación y las especificaciones del programador, se realiza una reconversión de la representación de los datos.

Los datos incluidos en el programa se reestructuran cuando se traduce el programa, y los datos que el programa lee se reconvierten en el momento de ejecutarse las instrucciones, que nos indican claramente el tipo de representación deseada.

¿Qué tipos de datos podemos representar internamente?. Dependerá del lenguaje de programación que estemos utilizando. Por ejelo los lenguajes para realizar cálculos matemáticos suelen contelar datos de tipo:

*

Entero.
*

Real sile precisión.
*

Real doble precisión.
*

Colejo sile precisión.
*

Colejo doble precisión.
*

Lógico.
*

Carácter.

Los datos de tipo carácter no se reconvierten, pues con ellos no tenemos que operar. Según el código de E/S, se representan las cadenas de caracteres ensambladas en las palabras del ordenador.

Los datos colejos se representan como parejas de números reales almacenados en posiciones consecutivas de memoria, es decir, son un caso particular de números reales.

La representación de los datos de tipo lógico dependerá del tipo de coutadora con la que trabajemos.

Se distinguen dos formas de representar en el interior de la coutadora los datos de tipo entero:

*

Representación binaria.
*

Representación de dígitos decimales codificados en binario o representación BCD.

*

DATOS DE TIPO ENTERO REPRESENTADOS EN BINARIO

Los datos de tipo entero se denominan también datos de punto fijo o coma fija.

Existen dos alternativas de representación de datos de tipo entero en binario: sin signo y con signo.

a - Enteros sin signo: En este caso todos los bits del dato representan su valor absoluto. Con 8 bits podré representar del 0 al 255.

b - Enteros con signo.

El signo se representa en el bit situado más a la izquierda de la palabra. Si el número es positivo el bit será 0, y si el número es negativo el bit será uno.

Si el número es positivo, a continuación del bit del signo se almacena directamente el número en binario.

Si el número es negativo, dependerá del tipo de coutadora que se almacene el número en binario, el colemento a 1 ó el colemento a 2. Es decir, la representación se puede hacer en SIGNO Y MAGNITUD, en COMPLEMENTO A 1 o en COMPLEMENTO A 2.

Una coutadora utiliza el siguiente organigrama para transformar un número N de su representación en decimal a la representación interna:

Ejelo: Supongamos que en una coutadora con palabras de 8 bits y que utiliza la notación del colemento a 2 para los negativos, queremos conocer la representación interna de -37 en la máquina.

Paso 1: representamos el número en el sistema de numeración hexadecimal.

37= 25

Paso 2: el número es negativo, por lo tanto calculamos el colemento a la base menos uno del valor numérico calculado en el paso 1.

FF

- 25

DA

Paso 3: la coutadora utiliza la representación de los valores negativos en colemento a 2, en ese caso le sumo 1 al resultado obtenido en el paso 2.

DA

+ 1

DB

Paso 4: pasamos a la representación en binario natural el número calculado en el paso 3.

11011011

De igual forma, puedo obtener la representación externa de un número entero a partir de su representación interna, según el siguiente algoritmo:

Ejelo: supongamos que tenemos una coutadora con palabras de 8 bits, y que utiliza el colemento a 2 para representar internamente los números negativos. ¿Cuál es la representación externa de 10101110?.

Paso 1: representamos este conjunto de bits en el sistema de numeración hexadecimal.

10101110= AE

Paso 2: el bit que está más a la izquierda es 1, por lo tanto el número es negativo; calculo el colemento a la base menos uno.

FF

- AE

51

Paso 3: sumo uno al resultado porque utilizamos el colemento a 2.

51

+ 1

52

Paso 4: paso el resultado a decimal.

52= 5x16 + 2 = 80 + 2 = 82(No debemos olvidar que el número es negativo: - 82)

9. DATOS DE TIPO REAL

Cuando se opera con números muy grandes se suele utilizar, al igual que hace la coutadora con todos los números reales, la notación exponencial. Con esta notación, por ejelo el número 13257,3285 puede representarse, entre otras, de las siguientes formas:

13257,3285 = 13257,3285x10= 1,32573285x10= 0,132573285x10= 132573285x10= 13257328500x10

Es decir, todo número se puede expresar de la forma:

N = m x B

Se puede transformar la representación de N conservando su valor, cambiando el exponente e, y reajustando adecuadamente la mantisa m: si aumentamos o disminuimos en una unidad el exponente, debemos dividir o multiplicar la mantisa por B.

Este tipo de representación de los números se denomina notación exponencial, aunque también recibe otros nombres como notación científica, o notación en punto o coma flotante.

Para representar en las coutadoras los datos de tipo real se utiliza la notación exponencial, siguiéndose tradicionalmente las siguientes convenciones:
#

El exponente siere se ajusta de forma que la parte entera del número sea cero, es decir, se va a representar la parte fraccionaria o mantisa del número.

Por ejelo, si la máquina trabajase con el sistema decimal: 13257,3285 = 0,13257328x10.
#

La base del exponente, B, está predeterminada, por lo que solamente será necesario almacenar m y e (mantisa y exponente).

Se utiliza un bit para representar el signo (s) del número, cierto número fijo de bits (n) para representar el exponente y otro cierto número fijo de bits (n) para representar la parte fraccionaria o mantisa del número.

Es decir, si n es el número total de bits utilizados para representar el número real, se verifica:

n= n+ n+ 1

Los números n, n, n dependerán de la coutadora o del traductor del lenguaje utilizado.

El orden para representar al número será signo, exponente, mantisa:

s e m
#

El bit de signo es cero para los números positivos y uno para los negativos. La mantisa se representa por el valor binario natural correspondiente.

El exponente se almacena sumándole siere el valor C = 2. Es decir, se almacena en "exceso a C".

El exponente así representado se denomina característica (c):

c = C + e = 2+ e

De esta forma, en los bits reservados al exponente se pueden incluir exponentes positivos o negativos sin utilizar un bit de signo.

Ejelo: supongamos que el exponente se almacena en 7 bits, n= 7. En este caso la representación del exponente se obtiene sumándole el valor C = 2= 2= 64.

Exponente


Característica


Característica almacenada

0


64 + 0 = 64


100 0000

+2


64 + 2 = 66


100 0010

+63


64 + 63 = 127


111 1111

-1


64 - 1 = 63


011 1111

-64


64 - 64 = 0


000 0000

Si observamos los bits que finalmente se almacenan, podemos considerar que el bit más a la izquierda del exponente es el signo (1 si es positivo, 0 si es negativo) y los exponentes negativos se expresan en colemento a 2.
#

Las bases de exponente que se suelen utilizar son B = 2 ó B = 16.

En resumen, si un número tiene la representación interna s c m , su valor será:

N = (-1) [0,m] x B

Ejelo: trabajamos con una coutadora en la que n= 9 y B = 16, obtener el valor decimal correspondiente a las siguientes representaciones internas de números en coma flotante:
#

010111100

s = 0

c = 1011

m = 1100

C = 2= 2 = 8= 1000

e = 1011 - 1000 = 0011= 3

m = 0,1100= 2+ 2= 0,5 + 0,25 = 0,75

N = 0,75 x 16= 0,75 x 4.096 = 3.072
#

101110011

s = 1

c = 0111

m = 1100

C = 2= 2 = 8= 1000

e = 1011 - 1000 = - 1

m = 0,0011= 2+ 2= 0,1875

N = (-1)x [0,1875] x 16= - 0,01171875

Si B = 2, aumentar una unidad al exponente equivale a dividir por dos la mantisa, es decir, desplazar el punto decimal una posición a la izquierda.

Si B = 16, aumentar una unidad al exponente equivale a dividir por 16 la mantisa, es decir, desplazar el punto decimal cuatro posiciones a la izquierda.

Ejelo:

0,0010110 x 2= 0,1011000 x 2

0,00000101 x 16= 0,01010000 x 16

0,1011010 x 2= 0,0101101 x 2

0,101010000 x 16= 0,000010101 x 16
#

Al transformarse un número real a su representación interna y después de cualquier tipo de operación, se reajustan el exponente y la mantisa de forma tal que la cifra más significativa no nula de la mantisa esté lo mas próxima posible al comienzo de la mantisa. Esta operación se denomina normalización.

REPRESENTACIÓN EN SIMPLE PRECISIÓN Y DOBLE PRECISIÓN

Son las dos posibilidades de representar los números reales. En doble precisión se suele utilizar el doble número de bits que en sile precisión, aumentando considerablemente el número de bits dedicados a la mantisa, mejorándose por tanto la precisión de la representación y de los cálculos.

Hay coutadoras que incluso admiten precisión aliada o cuádruple precisión.

En una coutadora con palabras de 16 bits, la representación interna de los datos de tipo real será:

0


1


7


8


15




palabras

s


c


m


1


m


2


16






31




SIMPLE PRECISIÓN

0


1


7


8


15




palabras

s


c


m


1


m


2


m


3


m


4


48






63




DOBLE PRECISIÓN

En una coutadora con palabras de 32 bits, la representación interna de los datos de tipo real será:

0


1


7


8


32




palabra

s


c


m


1


SIMPLE PRECISIÓN

0


1


7


8


31




palabras

s


c


m


1


m


2


32






63




DOBLE PRECISIÓN

COMPUTADORA

ENTRADAS

Datos de entrada e

instrucciones

Datos de salida o

resultados

SALIDAS

Añadimos un cero a la izquierda

Añadimos un cero a la derecha



1101,01 101

101 10,101...

00110

101

00110

101

001

FIN

N)i N)H

positivo

colemento a 2

N)H'Sistemas informáticos monousuario y multiusuario'
N)H +1

colemento a 1

notación

¿

N FF FF - N

negativo

Signo

N

N N)10

INICIO

FIN

N )10 N)H

positivo

colemento a 2

N'Sistemas informáticos monousuario y multiusuario'
N+1

colemento a 1

notación

¿

N FF FF - N

negativo

N (0)

7

N N

INICIO

Universidad Metropolitana de Puerto Rico:
(UMET)
Curso: introducción de la coutadora a la justicia criminal.
Nivel: 1

0 comentarios:

Publicar un comentario