¿Por qué las máscaras de bits se denominan "máscaras" y para qué sirven?

79

¿Por qué las "máscaras de bits" se llaman así?

Sé que se usan principalmente para operaciones bitwise y el uso de máscaras de bits es más eficiente que el uso de variables separadas.

Sin embargo, mi pregunta es ¿por qué y cuándo se inventaron las máscaras de bits? ¿Fueron utilizados desde la computación temprana? ¿Hay algún otro tipo de "máscaras" además de las máscaras de bits en el dominio de TI?

    
pregunta yoyo_fun 26.09.2017 - 14:10

7 respuestas

101

Una máscara (de la variedad facial) es algo que cubre algunas partes de su cara y permite que otras partes se vean. La terminología se usa por analogía en la computación: una máscara de bits cubre (filtra) algunos bits de un conjunto de bits y permite que otros pasen.

  

¿Hay algún otro tipo de "máscaras" además de las máscaras de bits en el dominio de TI?

Desde la parte superior de mi cabeza, las máscaras se usan con frecuencia en el procesamiento de imágenes. Es un concepto similar: creas una imagen en blanco y negro que muestra la forma de lo que debes enmascarar y dejar pasar.

    
respondido por el Mason Wheeler 26.09.2017 - 14:16
55

Se utiliza una máscara de bits para enmascarar algunos bits de un campo de bits mientras se exponen otros:

initial value: 011011001
bit mask.....: 111110000
result value.: 011010000

Se ha utilizado antes de computar en electrónica con compuertas lógicas (AND, OR ...) o transistores o en electromecánica con relés.

    
respondido por el mouviciel 26.09.2017 - 14:21
39

Las máscaras de bits son terriblemente antiguas. No he podido encontrar una referencia a la primera, pero sin duda fueron populares por el advenimiento de los procesadores de 8 bits, y probablemente también se usaron en procesadores de 4 bits.

La idea detrás de las máscaras de bits es aprovechar el paralelismo a nivel de bits. Una computadora de 8 bits puede realizar la misma operación en modo bit a 8 bits a la vez si están empaquetados en una sola palabra nativa (lo que significa que se ajusta a un registro).

El nombre proviene de enmascaramiento, que es un enfoque general para cubrir áreas con las que no desea interactuar. Por ejemplo, considere esta plantilla para enmascarar las áreas de una pared (la plantilla se ha movido después de pintar para mostrar el patrón)

Lasmáscarastambiénseutilizanenfotografía,dondeseutilizaneltérmino"esquivar" en lugar de "plantilla". Puede usar una máscara para ocultar parte de la luz durante la impresión para aclarar un área.

Eltérminotambiénseusadirectamenteenlafotolitografía,queeslatécnicautilizadaparahacercircuitosintegrados.Lamáscaraevitaquelaluzlleguealafotoprotecciónpintadaenelchip,loquecreapatronesqueluegoconducenalospatronesfacinantesenelchip.(Lasiguienteimagenesunadelasmáscarasdel procesador Intel 8080A , si lo re curioso)

Delmismomodo,enelenmascaramientodebits,estáseleccionandolaspartesdelapalabraquedeseautilizar,enmascarandotodoelrestodelosbits.Enelsiguienteejemplo,usolaoperación"y" para enmascarar la entrada, de modo que solo se muestren los bits 3, 4 y 8. El resto están "enmascarados" de modo que son 0. La máscara que uso es 00110001 . Lo muestro a continuación con # representando 0 y . representando 1 porque eso hace que la apariencia visual de la máscara de bits sea similar a la de las máscaras físicas anteriores, y muestro una fila de "bits seleccionados" que muestra los bits de la salida que no se enmascararon (los "bits seleccionados" no son realmente una operación lógica que ocurre ... el procesador realmente va desde la entrada Y la máscara a la salida en un solo paso, pero creo que aclara la imagen visual)

Input          10010111
Mask           ##..###.  (aka 00110001)
-----------------------
(selected)       01   1
Input AND Mask 00010001

Como mencioné, la máscara de bits es terriblemente antigua porque aumenta la productividad del procesador de manera espectacular. En un procesador de 4 bits, puede hacer que el procesador sea 4 veces más rápido. En un proceso de 8 bits, o puede hacerlo 8 veces más rápido (solo en operaciones bitwise, por supuesto).

Un uso fascinante para esto es motores de ajedrez. El tablero de ajedrez tiene 64 casillas. Los motores modernos tienen enteros de 64 bits. Esto es un poco de suerte terriblemente conveniente, por lo que los motores de ajedrez a menudo lo aprovechan. Tienen los llamados " bitboards " que contienen las ubicaciones de las piezas. Esto te permite realizar todo tipo de optimizaciones, como buscar todos los movimientos de peones en un solo paso.

    
respondido por el Cort Ammon 26.09.2017 - 19:08
34

En su uso más general en inglés, una máscara es un dispositivo que oculta algo. La serigrafía se menciona en otra respuesta. La cinta de pintura "enmascara" algo para evitar que se pinte, etc. La máscara de soldadura en la placa de un PC "enmascara" el área que se va a soldar del área que no se va a soldar.

En el caso de "enmascaramiento de bits", algunos bits están 'ocultos' o se ignoran, de modo que otros que son de mayor interés pueden manipularse o verse más fácilmente.

El enmascaramiento de bits no es simplemente una técnica 'antigua', es una operación primitiva en la mayoría de las instrucciones de la máquina, si no en todas, por lo que sé desde los primeros procesadores. Por lo general, esto es en la forma de "usar el patrón de bits en este registro para enmascarar los bits en algún otro registro".

    
respondido por el mickeyf 26.09.2017 - 14:32
10

Una máscara de bits es similar a impresión de pantalla . Seleccionas una cierta posición de bit para ser tomada en el resultado:

source value = 42 -> 00101010b
mask = 51 -> 00110011b
result 42&51 = 00100010b -> 34

Otro significado de máscara es una página en interfaz gráfica de usuario donde el usuario puede ingresar datos.

    
respondido por el Timothy Truckle 26.09.2017 - 14:24
3

Máscaras de bits se inventaron por un par de razones:

  • Los registros de hardware se asignaron a un conjunto de bits contiguos
  • El espacio de memoria era muy limitado en un pasado no muy lejano

Cuando miras cómo ves el patrón de bits que estás NOS PEDIDOS para activar un bit o ANDing para desactivar los bits, parece una máscara.

La máscara más común (basada en máscaras de bits) es una máscara de imagen (vea el enlace que incluí al principio).

    
respondido por el Berin Loritsch 26.09.2017 - 14:18
3

Otro tipo de máscara física en TI es la fotomáscara litográfica utilizada para grabar solo parte de una oblea de silicio. Eso no se utilizó para fabricar las primeras computadoras, pero cualquier persona que trabaje en la industria en los últimos cincuenta años lo habría sabido.

No sé cuándo apareció el término exacto "máscara de bits", pero la operación en sí es solo a modo de bits y, que es una instrucción básica de cada computadora binaria.

    
respondido por el Davislor 26.09.2017 - 16:35

Lea otras preguntas en las etiquetas

Comentarios Recientes

¿Son máscaras de protección química contra la pigmentación del atardecer? ¿Son máscaras de protección mecánica contra la lluvia que protege la arena con un paño? ¿Podrían ayudar a las personas que llaman con alarma de gecko, a las focas con cáscara de frágiles animales y algunos anfibios, y a los monitores de llamadas de emergencia, como monitores del clima, inundaciones, huracanes y tornados o contenido de video de alerta química encontrado en helicópteros o satélites? Vale la pena explorar con más... Lee mas