jueves, 5 de noviembre de 2015

HARDWARE

1 Bit

                Un bit es un dígito del sistema de numeración binario. La capacidad de almacenamiento de una memoria digital también se mide en bits. Se representan por ejemplo 8 bits, 32 bits, 64 bits, 16 bits, etc; una memoria binaria tiene una capacidad efectiva de representación de un bit.
               Mientras que en el sistema de numeración decimal se usan diez dígitos, en el binario se usan solo dos dígitos, el 0 y el 1.El bit es la unidad mínima de información empleada en informática, en cualquier dispositivo digital.


1.1 Combinaciones de bits

              Con un bit podemos representar dos diferentes estados, que suelen representarse como 0 y 1. Para representar o codificar más información en un dispositivo digital, necesitamos una mayor cantidad de bits.

1.2 Valor de posición 

              El valor de los dígitos depende de la posición en que se encuentren, Por ejemplo el digito 5   puede valer 5 si está en la posición de las unidades, pero vale 50 si está en la posición de las decenas. Generalizando, cada vez que nos movemos una posición hacia la izquierda el dígito vale 10 veces más.
             Cuando se trabaja con varios sistemas de numeración o cuando no está claro con cual se está trabajando, es típico usar un subíndice para indicar el sistema de numeración con el que se ha representado un número. El 10 es el subíndice para los números en el sistema decimal y el 2 para los del sistema binario.

1.3 Bits más y menos significativos

             Un conjunto o grupo de bits, como por ejemplo un byte, representa un conjunto de elementos ordenados. Se llama bit más significativo al bit que tiene un mayor peso (mayor valor) dentro del conjunto, análogamente, se llama bit menos significativo al bit que tiene un menor peso dentro del conjunto. 
             En cualquier caso, el bit más significativo es el que generalmente se representa en el extremo izquierdo y el menos significativo el del extremo derecho. Esto es análogo al sistema decimal, en donde el dígito más significativo es el de la izquierda y el menos significativo el de la derecha.

1.4 Little endian y Big endian 

              Little endian y big endian se refieren al orden que las máquinas asignan a los bytes que representan números o valores numéricos. Una máquina little endian asigna los bytes menos significativos en el extremo más bajo de la memoria, mientras que una máquina big endian asigna los bytes menos significativos en el extremo más alto. En los computadores, cada byte se identifica con su posición en la memoria.
        - Little-endian (como Intel)
        - Big-endian (como Motorola) 
             Independiente de si la máquina es de arquitectura little endian o big endian, los bits dentro de cada byte siempre están en el mismo orden, con el bit más significativo a la izquierda y el menos significativo a la derecha. Los registros del procesador, que pueden ser de 4 a 64 bits, y más, también tienen sus bits en el mismo orden en ambos tipos de máquina. La diferencia entre little y big endian solo existe externamente, en el orden en que los bytes se representan en memoria.

1.5 Arquitecturas de 4, 8, 16, 32 y 64 bits 

              Cuando se habla de CPUs o microprocesadores de 4, 8, 16, 32, 64 bits, se refiere al tamaño, en número de bits, que tienen los registros internos del procesador y también a la capacidad de procesamiento de la Unidad aritmético lógica.
              Los procesadores de 16, 32 y 64 bits tienen registros y ALU de 16, 32 y 64 bits respectivamente, y generalmente pueden procesar los datos, tanto en el tamaño en bits de sus registros.
              Cuando se habla de procesadores de, nos referimos a su capacidad de procesar datos en hasta 32 bits simultáneamente. La denominación de “microprocesador de 32 bits” no se refiere al tamaño del bus de datos del CPU ni del bus de direcciones, sino a su capacidad de trabajar con los datos en el número máximo de bits


2. Byte

             Byte es la unidad de información de base utilizada en computación y en telecomunicaciones, y que resulta equivalente a un conjunto ordenado de bits (generalmente 8 bits por lo que en español también se le denomina octeto)

2.1 Visión general y definición 

             Se usa como unidad de información digital en combinación con los prefijos del SI o los prefijos binarios.
             Byte es la cantidad más pequeña de datos que un ordenador podía “morder” a la vez. El cambio de letra no solo redujo la posibilidad de confundirlo con bit, sino que también era consistente con la afición de los primeros científicos en computación en crear palabras y cambiar letras
             Es una secuencia contigua de bits en un flujo de datos serie.
             Es un tipo de datos o un sinónimo en ciertos lenguajes de programación. En el lenguaje C por ejemplo, se define byte como la “unidad de datos de almacenamiento direccionable lo suficientemente grande como para albergar cualquier miembro del juego de caracteres básico del entorno de ejecución”
   
2.2 Historia 

            El término byte fue acuñado por Werner Buchholz en 1957 durante las primeras fases de diseño del IBM 7030 Stretch, un tamaño fijo de byte de 8 bits se adoptó posteriormente.

2.3 Visión detallada 

           Originalmente el byte fue elegido para ser un submúltiplo del tamaño de palabra de un ordenador, desde cinco a doce bits.
            Bit: El IEEE 1541 especifica “b” (minúscula) como el símbolo para bit. Sin embargo la IEC 60027 y el MIXF especifican “bit” (por ejemplo Mbit para megabit), teniendo la máxima desambiguación posible de byte. “b” vs. “B": la confusión parece ser suficientemente común para haber inspirado la creación de una página web dedicada b no es B.
            Octeto: El término octeto (octet en francés, derivado del latín octo y del griego okto, que significa ocho) se utiliza ampliamente como un sinónimo preciso donde la ambigüedad es indeseable (por ejemplo, en definiciones de protocolos). Los bytes de 8 bits a menudo se llaman “octetos” en contextos formales como los estándares industriales.
    -  kibibyte = 1024 B = 210 bytes.
    -  kilobyte = 1000 B = 103 bytes.

2.4 Unidades relacionadas 

             Los primeros microprocesadores, como el Intel 8008 podían realizar un número pequeño de operaciones en 4 bits, como la instrucción DAA y el flag "half carry" que eran utilizados para implementar rutinas de aritmética decimal. Estas cantidades de cuatro bits se llamaron "nibbles" en honor al equivalente de 8 bits “bytes”.
            A la mitad de un byte de ocho bits se llama nibble o un dígito hexadecimal
            La información fraccional normalmente se mide en bits, Nibbles, nats o bans, donde las últimas dos se utilizan especialmente en el contexto de la teoría de la información y no se utilizan en otros campos de la computación e investigación.


3. Sistema binario

           El sistema binario, llamado también sistema diádico[1] en ciencias de la computación, es un sistema de numeración en el que los números se representan utilizando solamente las cifras cero y uno (0 y 1); Es uno de los que se utilizan en las computadoras.

3.1 Historia del sistema binario y Aplicaciones

               Una serie completa de 8 trigramas y 64 hexagramas (análogos a 3 bits) y números binarios de 6 bits eran conocidos en la antigua China en el texto clásico del I Ching.
                En 1605 Francis Bacon habló de un sistema por el cual las letras del alfabeto podrían reducirse a secuencias de dígitos binarios. En 1854, el matemático británico George Boole publicó un artículo que marcó un antes y un después, detallando un sistema de lógica que terminaría denominándose Álgebra de Boole.
                 En 1937, Claude Shannon realizó su tesis doctoral en el MIT, en la cual implementaba el Álgebra de Boole y aritmética binaria utilizando relés y conmutadores por primera vez en la historia
                 El 8 de enero de 1940 terminaron el diseño de una “Calculadora de Números Complejos”, laal era capaz de realizar cálculos con números complejos.

3.2 Representación 

                  Un número binario puede ser representado por cualquier secuencia de bits, que suelen representar cualquier mecanismo capaz de usar dos estados mutuamente excluyentes.
                  El valor numérico representado en cada caso depende del valor asignado a cada símbolo. En una computadora, los valores numéricos pueden representar dos voltajes diferentes; también pueden indicar polaridades magnéticas sobre un disco magnético. Un “positivo”, “sí", o “sobre el estado” no es necesariamente el equivalente al valor numérico de uno; esto depende de la nomenclatura usada.

3.3 Conversión entre binario y decimal 

                    Se divide el número del sistema decimal entre 2, cuyo resultado entero se vuelve a dividir entre 2, y así sucesivamente hasta que el dividendo sea menor que el divisor, 2.
                    Otra forma de conversión consiste en un método parecido a la factorización en números primos. Es relativamente fácil dividir cualquier número entre 2.Existe un último método denominado de distribución. Consiste en distribuir los unos necesarios entre las potencias sucesivas de 2 de modo que su suma resulte ser el número decimal a convertir.
                    Para transformar un número del sistema decimal al sistema binario:
           1. Se transforma la parte entera a binario. (Si la parte entera es 0 en binario será 0, si la parte entera es 1 en binario será 1, si la parte entera es 5 en binario será 101 y así sucesivamente).
           2. Se sigue con la parte fraccionaria, multiplicando cada número por 2. Si el resultado obtenido es mayor o igual a 1 se anota como un uno (1) binario. Si es menor que 1 se anota como un 0 binario.
           3. Después de realizar cada multiplicación, se colocan los números obtenidos en el orden de su obtención.
           4. Algunos números se transforman en dígitos periódicos, por ejemplo: el 0.1.

Para realizar la conversión de binario a decimal, realice lo siguiente:
            1. Inicie por el lado derecho del número en binario, cada cifra multiplíquela por 2 elevado a la potencia consecutiva (comenzando por la potencia 0, 20 ).
            2. Después de realizar cada una de las multiplicaciones, sume todas y el número resultante será el equivalente al sistema decimal.

3.4 Operaciones con números binarios 

             La tabla de sumar para números binarios es la siguiente:
Las posibles combinaciones al sumar dos bits son:
            • 0 + 0 = 0
            • 0 + 1 = 1
            • 1 + 0 = 1
            • 1 + 1 = 10
             El algoritmo de la resta en sistema binario es el mismo que en el sistema decimal.Los términos que intervienen en la resta se llaman minuendo, sustraendo y diferencia.
             La tabla de multiplicar para números binarios es la siguiente:
El algoritmo del producto en binario es igual que en números decimales; aunque se lleva a cabo con más sencillez, ya que el 0 multiplicado por cualquier número da 0, y el 1 es el elemento neutro del producto.
             La división en binario es similar a la decimal; la única diferencia es que a la hora de hacer las restas, dentro de la división, estas deben ser realizadas en binario.

3.5 Conversión entre sistema binario y octal 

             Debido a que el sistema octal tiene como base 8, que es la tercera potencia de 2, y que dos es la base del sistema binario, es posible establecer un método directo para convertir de la base dos a la base ocho, sin tener que convertir de binario a decimal y luego de decimal a octal.
Para realizar la conversión de binario a octal, realice lo siguiente:
             1) Agrupe la cantidad binaria en grupos de 3 en 3 iniciando por el lado derecho. Si al terminar de agrupar no completa 3 dígitos, entonces agregue ceros a la izquierda.
             2) Posteriormente vea el valor que corresponde de acuerdo a la tabla:
             3) La cantidad correspondiente en octal se agrupa de izquierda a derecha.

             Cada dígito octal se convierte en su binario equivalente de 3 bits y se juntan en el mismo orden.

3.6 Conversión entre binario y hexadecimal 

Para realizar la conversión de binario a hexadecimal, realice lo siguiente:
            1) Agrupe la cantidad binaria en grupos de 4 en 4 iniciando por el lado derecho. Si al terminar de agrupar no completa 4 dígitos, entonces agregue ceros a la izquierda.
            2) Posteriormente vea el valor que corresponde de acuerdo a la tabla:
            3) La cantidad correspondiente en hexadecimal se agrupa de derecha a izquierda.

            Note que para pasar de Hexadecimal a binario, se remplaza el número Hexadecimal por el equivalente de 4 bits, de forma similar a como se hace de octal a binario.

4. ASCII 

           ASCII (acrónimo inglés de American Standard Code for Information Interchange — Código Estándar Estadounidense para el Intercambio de Información), pronunciado generalmente, es un código de caracteres basado en el alfabeto latino, tal como se usa en inglés moderno. Fue creado en 1963 por el Comité Estadounidense de Estándares como una refundición o evolución de los conjuntos de códigos utilizados entonces en telegrafía.
          El código ASCII utiliza 7 bits para representar los caracteres, aunque inicialmente empleaba un bit adicional que se usaba para detectar errores en la transmisión.
          Casi todos los sistemas informáticos actuales utilizan el código ASCII o una extensión compatible para representar textos y para el control de dispositivos que manejan texto como el teclado.

4.1 Vista general 

            Las computadoras solamente entienden números. El código ASCII es una representación numérica de un carácter.
             ASCII es, en sentido estricto, un código de siete bits, lo que significa que usa cadenas de bits representables con siete dígitos binarios (que van de 0 a 127 en base decimal) para representar información de caracteres.
             En el momento en el que se introdujo el código ASCII muchas computadoras trabajaban con grupos de ocho bits (bytes u octetos), como la unidad mínima de información; donde el octavo bit se usaba habitualmente como bit de paridad con funciones de control de errores en líneas de comunicación u otras funciones específicas del dispositivo.  

4.2 Historia
            
El código ASCII se desarrolló en el ámbito de la telegrafía y se usó por primera vez comercialmente como un código de teleimpresión impulsado por los servicios de datos de Bell. Bell había planeado usar un código de seis bits, derivado de Fieldata, que añadía puntuación y letras minúsculas al más antiguo código de teleimpresión Baudot, pero se les convenció para que se unieran al subcomité de la Agencia de Estándares Estadounidense.
           ASCII se define estrictamente solamente por los estándares ASA/ANSI:
• La Asociación Europea de Fabricantes de Computadores
• La Organización Internacional de Estandarización
• La Unión Internacional de Telecomunicaciones
• DIN publicó una versión de ASCII
• El Grupo de Trabajo en Ingeniería de Internet
• La versión de IBM

4.3 Los caracteres de control ASCII 
           El código ASCII reserva los primeros 32 códigos (numerados del 0 al 31 en decimal) para caracteres de control: códigos no pensados originalmente para representar información imprimible, sino para controlar dispositivos que usaban ASCII.
          Dos de los caracteres de control de dispositivos, comúnmente llamados XON y XOFF generalmente ejercían funciones de caracteres de control de flujo para controlar el flujo hacia un dispositivo lento desde un dispositivo rápido, de forma que los datos no saturasen la capacidad de recepción del dispositivo lento y se perdiesen.

4.4 Caracteres imprimibles ASCII 
          El carácter 'espacio', designa al espacio entre palabras, y se produce normalmente por la barra espaciadora de un teclado. Los códigos del 33 al 126 se conocen como caracteres imprimibles, y representan letras, dígitos, signos de puntuación y varios símbolos.. El ASCII de siete bits proporciona siete caracteres “nacionales” y, si la combinación concreta de hardware y software lo permite.

4.5 Rasgos estructurales 
        • Los dígitos del 0 al 9 se representan con sus valores prefijados con el valor 0011 en binario
        • Las cadenas de bits de las letras minúsculas y mayúsculas sólo difieren en un bit, simplificando de esta forma la conversión de uno a otro grupo

4.6 Otros nombres para ASCII 

          La RFC 1345 (publicada en junio de 1992) y el registro IANA de códigos de caracteres, reconocen los siguientes nombres alternativos para ASCII para su uso en Internet.

• ANSI_X3.4-1968
• ANSI_X3.4-1986
• ASCII
• US-ASCII (nombre MIME recomendado)
 • us
 • ISO646-US
• ISO_646.irv:1991
• iso-ir-6 4.7.

VARIANTES DE ASCII

 • IBM367
• cp367
• csASCII

4.7 Variantes de ASCII 

              A medida que la tecnología informática se difundió a lo largo del mundo, se desarrollaron diferentes estándares y las empresas desarrollaron muchas variaciones del código ASCII para facilitar la escritura de lenguas diferentes al inglés que usaran alfabetos latinos.
             La tecnología mejoró y aportó medios para representar la información codificada en el octavo bit de cada byte, liberando este bit, lo que añadió otros 128 códigos de carácter adicionales que quedaron disponibles para nuevas asignaciones. Por ejemplo, IBM desarrolló páginas de código de 8 bits, como la página de códigos 437, que reemplazaba los caracteres de control con símbolos gráficos como sonrisas, y asignó otros caracteres gráficos adicionales a los 128 bytes superiores de la página de códigos
           Unicode y Conjunto de Caracteres Universal (UCS) ISO/IEC 10646 definen un conjunto de caracteres mucho mayor, y sus diferentes formas de codificación han empezado a reemplazar ISO 8859 y ASCII rápidamente en muchos entornos. Mientras que ASCII básicamente usa códigos de 7-bits, Unicode y UCS usan “code points” o apuntadores relativamente abstractos.
         La abreviatura ASCIIZ o ASCIZ se refiere a una cadena de caracteres terminada en cero.

4.8 Arte ASCII 

         El código de caracteres ASCII es el soporte de una disciplina artística minoritaria, el arte ASCII, que consiste en la composición de imágenes mediante caracteres imprimibles ASCII.
        Aunque se puede componer arte ASCII manualmente mediante un editor de textos, también se pueden convertir automáticamente imágenes y vídeos en ASCII mediante software, como la librería Aalib (de licencia libre), que ha alcanzado cierta popularidad.

No hay comentarios:

Publicar un comentario