Pulsa aquí para quitar la publicidad.

NOTICIA 1 de 2: De los 32 a los 64 bits: ventajas y desafíos (fuente: Xakata)

Tema en 'Noticias' iniciado por federico1203, 16 Oct 2013.

  1. federico1203

    federico1203 Simdualero de Oro

      131
      3
      25 Feb 2011
      Lima, Perú
      Estimados

      En el afán de difundir ideas, les comparto este muy bien escrito articulo, aparecido en XAKATA que explica en detalle con analogías sencillas las ventajas o no tanto de contar próximamente con tecnología de 64 bits en nuestros móviles.
      Advierto que se trata de un tema extenso, mas esta escrito en un estilo ágil y confío en que lo encontraran útil.


      Por
      Pablo Espeso - Editor Senior en XAKATA
      http://www.xataka.com/otros/de-los-...desafios-de-la-transicion-de-una-arquitectura

      De los 32 a los 64 bits: ventajas y desafíos de la transición de una arquitectura

      [​IMG]


      Este año hemos vivido la entrada del mundo móvil a los 64 bits, y esperamos que de cara a 2014 llegue la implantación masiva de esta tecnología. Una evolución que ya conocemos en sistemas de escritorio y, por tanto, podemos echar la mirada atrás para recordar lo que ocurrió por aquél 2003.

      ¿Qué son los 64 bits y qué implicaciones conllevan? ¿En qué medida afectan al rendimiento?Hoy entenderemos qué significan esos 64 bits, explicaremos lo que representan y los beneficios que podemos llegar a obtener.

      ¿Qué son esos 64 bits?
      Antes de entrar en materia es necesario repasar algunos conceptos fundamentales. El primero, ¿qué es un bit?




      Según DRAE:


      bit.
      (Del ingl. bit, acrón. de binary digit ‘dígito binario’).
      1. m. Inform. Unidad de medida de información equivalente a la elección entre dos posibilidades igualmente probables.



      [​IMG]

      Un bit es la esencia de la informática
      En informática un bit es la unidad mínima de información y puede tomar dos valores, generalmente 0 o 1. Un bit es cero o es uno, sin otras posibilidades. Otra forma de decir lo mismo es hablar de falso o verdadero; un bit puede ser falso (generalmente asignado como valor 0) o verdadero (valor 1).

      Cuando hablamos de 64 bits nos referimos a que existen 64 elementos que pueden ser 0 o 1 cada una de ellos. Con esto, una cadena de 64 bits de ejemplo sería la siguiente:

      0010101010110101101101011010110110100110111011100011101011101101
      Que se trata de un número en representación binaria. Si lo convertimos a decimal nos encontraremos con el 3077565677812202221. Un número exageradamente grande, sí. Como referencia, una cadena de 64 bits puede contener números entre 0 y 2^(64)-1, aproximadamente 1,18×(10^19). Nos puede servir para representar información numérica, pero también otro tipo de información: una cadena de bits está generalmente asociada al tamaño de los registros o a las direcciones de memoria. Esto último es importante, y lo trataremos más adelante.

      Los alumnos
      ¿Qué usos puede tener una cadena de 64 bits como la anterior? Si pensamos en la vida real podemos plantear la siguiente problemática: tenemos 64 alumnos de un colegio y queremos almacenar cuál es el género de cada uno de ellos para tenerlo disponible en nuestro ordenador.

      Con esto, lo primero que debemos hacer es ordenar alfabéticamente a todos los niños, por ejemplo con el primero de sus apellidos. Tras ello podemos utilizar el siguiente código:



      Enlaces Patrocinados: (regístrate o inicia sesión y no te molestarán más)

      Si es un niño, se le asignará un 0
      Si es una niña, se le asignará un 1
      Ahora recordemos los primeros cinco dígitos de la cadena anteriormente utilizada: 00101[…]. Rápidamente se puede concluir que los dos primeros alumnos de nuestra lista ordenada por apellido serán niños, irán seguidos por una niña, otro niño y una niña más. Algo así:

      Alonso, Felipe
      Álvarez, Juan
      Benitez, Beatriz
      Castillo, Pablo
      Canales, Lourdes

      […]
      Y seguiríamos hasta el niño número 64 que, por cierto, sería una niña (Alba Zamora, quizá). Evidentemente este es un ejemplo muy sencillo pero que nos sirve a la perfección para entender la base de funcionamiento. El siguiente paso que debemos dar es cambiar nuestro registro de 64 bits por uno de 32.

      Pasémonos a los 32 bits
      Si tenemos 64 niños podríamos haber almacenado toda la información del género en una única cadena cuya longitud sería, precisamente, 64 bits. ¿Qué ocurre si en vez de 64 bits utilizamos 32 bits? A priori la medida es tan simple como acortar el tamaño que utilizamos, y hacer uso de tantos registros de 32 bits como sean necesarios en vez de los de 64.

      Con 32 bits, nuestros 64 alumnos tendrían que utilizar dos cadenas en vez de una. Serían, justamente, las dos siguientes:

      00101010101101011011010110101101
      10100110111011100011101011101101
      Guardamos la misma información en el mismo orden. ¿El mismo orden? ¿seguro? Parece que sí, pero ¿y si por algún error cambiamos las dos filas de 32 bits?

      10100110111011100011101011101101
      00101010101101011011010110101101
      Con este cambio tan sencillo nos hemos cargado toda la mecánica, pues ahora Felipe Alonso será una niña y Lourdes Canales un niño.

      Para solucionar esta problemática podemos hacer uso de lo que generalmente se denominacabecera de datos. Los 32 bits (y antes los 64 bits) no se usan por completo para almacenar la información que nosotros queramos, si no que se guarda un espacio para poder obtener ciertainformación fundamental. En este caso sería interesante guardar un bit para determinar el orden: cuál de las dos cadenas binarias es la primera, y cuál es la segunda. Por ejemplo, podemos asignarle el valor 0 a la primera cadena, y 1 a la segunda:

      0-00101010101101011011010110101101
      1-10100110111011100011101011101101
      Sin embargo, si os fijáis bien, nos hemos salido de los 32 bits, ya que ahora utilizamos 33: 1 dígito para determinar la posición de la fila de bits junto con otros 32 dígitos para los alumnos. 33+33 = 66. Si utilizásemos cadenas de 32 bits necesitaríamos un total de tres, que podemos determinar reubicando ciertos bits (alumnos); en nuestro caso el último de cada fila lo añadimos al principio de la siguiente fila:

      0-0010101010110101101101011010110
      1-1101001101110111000111010111011
      X-01
      Esa X es un nuevo problema que nos encontramos. Un bit sólo puede registrar 0 o 1, con lo que si añadimos una nueva fila (la tercera) deberíamos asignarle el siguiente valor al 1, que en binario sería10. Esto son dos bits y es necesario almacenar otro bit en la cabecera para así ahora poder tener tres cadenas de bits:

      00-0010101010110101101101011010110
      01-1101001101110111000111010111011
      10-01
      Hemos añadido un nuevo bit en nuestra cabecera y ahora ya tenemos claro el orden de cada cadena. ¿Lo malo? Que nos hemos vuelto a pasar y almacenamos más de los 32 bits permitidos: 2+31=33 bits en cada cadena. Tenemos que volver a desplazar y mover ciertos alumnos (en nuestro caso los últimos) para reasignarlos en la siguiente cadena:

      00-001010101011010110110101101011
      01-011010011011101110001110101110
      10-1101
      Por ahora ya hemos terminado con este sencillo ejemplo. Los lectores más avanzados habrán observado que utilizando 2 bits para determinar la posición de la fila podemos tener un total de 4 filas ordenadas, definidas por 00, 01, 10 y 11 que, en formato decimal, indican 0, 1, 2 y 3. Dado que estemos permitiendo un total de 30 bits para los alumnos, podríamos tener hasta 120 (30×4) alumnos almacenados mediante este sistema. ¿Y si queremos almacenar 121 alumnos? ¿O 125? La respuesta tendrá que pensarla cada uno.

      Conclusión
      Inicialmente hemos planteado un único problema: tenemos 64 alumnos y queremos almacenar su género. Para ello podemos ordenarlos alfabéticamente a todos según el apellido, y asignarle un 0 a los niños y un 1 a las niñas.

      Con registros de 64 bits la implicación es directa: un bit para cada alumno. Tendremos una única cadena y no necesitamos más información.

      Con registros de 32 bits podemos pensar que inicialmente necesitamos dos de ellos, cuando en realidad necesitamos, al menos, tres: es necesario determinar el orden, algo que puede parecer nimio pero que es vital, pues como no tengamos esas cadenas bien ordenadas la información almacenada será incorrecta.

      [​IMG]
      Pablo Espeso
      Google+

      @whiskito

      Editor senior en Xataka​
       
      Última edición por un moderador: 31 Mar 2015
    Verificación:
    Borrador guardado Borrador eliminado

    Compartir esta página

    Galletas! Nos obligan a informar que utilizamos cookies (como casi todas las webs). Al continuar navegando aceptas su uso.