Neden bit maskeleri “maskeler” olarak adlandırılıyor ve hangi amaca hizmet ediyorlar?


79

Neden "bit maskeleri" böyle adlandırılıyor?

Bunların çoğunlukla bitsel işlemler için kullanıldığını ve biti maskelerinin kullanılmasının ayrı değişkenlerin kullanılmasından daha verimli olduğunu biliyorum.

Ancak benim sorum, neden ve ne zaman bit maskeleri icat edildi? Erken bilişimden beri kullanılmışlar mıydı? BT alanındaki bit maskelerinin yanı sıra başka bir "maske" türü var mı?


14
Fotolitografi (özellikleri silikon gofretlere asmak için UV ışığı kullanarak) UV ışık kaynağını seçici olarak engellemek için silikonun maruz kalan alanlarının doğru düzende olmasını sağlamak için bir "fotomask" kullanır.
Levi



14
Hiç boya işi yaptınız ve maskeleme bandı kullandınız mı?
gnasher729

1
Başka bir maske tipi: piksellerin mükemmel çarpışma algılaması , 2B maskelerin üst üste binmelerini algılamakla ilgilidir.
aluriak

Yanıtlar:


101

Bir maske (yüz çeşitliliği) yüzünüzün bazı kısımlarını örten ve diğer parçaların ortaya çıkmasına izin veren bir şeydir. Terminoloji hesaplamada analoji tarafından kullanılır: bir bit maskesi bir bit setindeki bazı bitleri kapatır (filtreler) ve diğerlerinin geçmesine izin verir.

BT alanındaki bit maskelerinin yanı sıra başka bir "maske" türü var mı?

Kafamın hemen yukarısında, maskeler görüntü işlemede sıkça kullanılıyor. Benzer bir kavram: neyin maskeleneceğini ve neyin geçmesine izin verildiğini gösteren siyah-beyaz bir görüntü yaratıyorsunuz.


33
Alt ağ maskeleri de oldukça yaygındır .
Matthieu M.

38
@MatthieuM. ama alt ağ maskeleri de bit maskeleri değil midir? Ağ adresini ve ana bilgisayar adresini filtrelemek için kullanılırlar.
yoyo_fun

22
@JenniferAnderson Siyah beyaz bir görüntü de sadece bir piksel bit maskesi değil mi?
Bergi

8
Fiziksel görüntü maskeleri, geleneksel fotoğrafçılık ve işlem baskısından oluşan bir tekniğin bir parçası olarak silikon çip üretiminde kullanılır. en.wikipedia.org/wiki/Photolithography
Jander

20
Maskeleme aynı zamanda bir alanı değişime karşı korurken diğerini değiştirmeye izin veren sanatsal bir terimdir. Resimde sıklıkla kullanılır. Maskeleme bandı bunun içindir: yani boyamak istediğiniz şeyleri boyamaya çalışırken boyamak istemediğiniz şeyleri boyamazsınız.
Nate Diamond

54

Bir bit maskesi, bazı alanların bazı bitlerini maskelemek için kullanılırken diğerlerini açığa çıkarır:

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

Bu, elektronikten mantıksal kapılı (AND, OR ...) veya transistörlerde veya röleli elektromekanikte hesaplamadan önce kullanılmıştır.


6
“Biraz maske biraz bit alanın bazı kısımlarını maskelemek için kullanılırken diğerlerini açığa çıkarır:” Daha önce hiç böyle düşünmemiştim ama çok mantıklı geliyor. Açıklama için teşekkür ederim :)
yoyo_fun

1
@mouvicel bana elektronikte mantık kapıları olan bit maskelerinin nasıl kullanıldığına dair bazı bağlantıları gösterir misiniz? Amaç neydi, bu operasyonlarda ne tür sistemler kullanıldı ve bu teknik ne zaman başladı?
yoyo_fun

4
açıklığa kavuşturmak için: ilk değer maske ile birlikte ANDed'dir ve bu nedenle yalnızca "1" deki maske bitleri orijinal bitleri başlangıç ​​değerinden tutar (bit olarak, "1 ve 1 = 1" ve "0 ve 1 = 0" gibi) ), ve başlangıç ​​değerinin diğer bitleri (bitsel) "0 ve 0 = 0" ve "1 ve 0 = 0") 0 olarak ayarlanmıştır (çünkü "Ve" bunu söyler "çünkü yalnızca ilk bit VE 2. bit 1 olarak ayarlanır, sonuç a ise 1. diğerleri "0" şeklinde sonuçlanır. (VEYA: 1. bit ile 1 VEYA 2. bit 1 ile sonuç 1 olur. vb.) bakın. en.wikipedia. org / wiki /…
Olivier Dulac

2
@JenniferAnderson: Mantıksal bit maskelerinin yanı sıra, gerçek maskeler elektronikte kullanılır: lehim maskesi, lehim pastasını PCB'lerin üzerine yerleştirmek için kullanılan bir şablondur (bir kart parçası). Maskeyi PCB'nin üzerine yerleştirin, maskenin üzerine lehim pastasını sürmek için bir silecek kullanın, ardından maskedeki delikler pastanın yalnızca lehim pastasına ihtiyacınız olan alanları doğru bir şekilde kaplamasını sağlar ( youtube.com/watch?v=EqJN1CTCOQs ) . Talaş imalatında maskeler silikon üzerine yapı oluşturmak veya asmak için kullanılır. Bu "maske" kelimesinin kullanımı matbaa endüstrisinden geliyor.
Slebetman

4
@JenniferAnderson: İngilizce olarak "mask" kelimesinin bir şeyi kapsayacak şekilde kullanılması daha genel ve muhtemelen çok daha eskidir. Mesela İngilizcede parfümün kötü kokuyu gizlemek için kullanılabileceğini söylüyoruz.
slebetman

39

Bit maskeleri çok eski. İlki için bir referans bulamadım, ancak 8-bit işlemcilerin ortaya çıkmasıyla kesinlikle popülerdiler ve muhtemelen 4-bit işlemcilerde de kullanıldılar.

Bit maskelerinin ardındaki fikir, bitsel paralellikten yararlanmaktır. 8 bitlik bir bilgisayar, tek bir yerel sözcüğe (bir kayıt defterine sığması anlamına gelir) paketlenmişse aynı bit işlemi bir kerede 8 bite yapabilir.

İsim, etkileşim kurmak istemediğiniz alanları örtmek için genel bir yaklaşım olan maskelemeden gelir. Örneğin, bir duvarın alanlarını maskelemek için bu şablonu düşünün (şablon, resmi göstermek için boyadıktan sonra taşınmış)

Kalıplar

Maskeler fotoğrafçılıkta da kullanılırlar; burada “şablon” yerine “kaçma” terimiyle geçerler. Bir alanı aydınlatmak için yazdırma sırasında ışığın bir kısmını gizlemek için maske kullanabilirsiniz.

Fotoğraf maskeleri

Terim aynı zamanda doğrudan entegre devreleri yapmak için kullanılan teknik olan fotolitografide de kullanılır. Maske ışığın çip üzerine boyanmış fotorezist'e ulaşmasını önler ve bu daha sonra çip üzerindeki yüzleşme desenlerine yol açar. (Aşağıdaki resim, merak ediyorsanız , Intel 8080A işlemci maskelerinden biridir )

Fotolitografi maskesi

Aynı şekilde, bit maskelemede, çalışmak istediğiniz sözcüğün bölümlerini seçiyorsunuz, kalan kısımları maskeliyorsunuz. Aşağıdaki örnekte, girişi yalnızca 3., 4. ve 8. bitlerin göstereceği şekilde maskelemek için "ve" işlemini kullanıyorum. Gerisi "maskelenmiş" ve 0'lılar. Kullandığım maske 00110001. Aşağıda #0 ve .temsil 1 ile gösteriyorum, çünkü bit maskesinin görsel görünümünü yukarıdaki fiziksel maskelerinkine benzer kılıyor ve maskelenmemiş bitleri gösteren "seçilen bitler" satırını gösteriyorum ( "seçilen bitler" aslında olan mantıklı bir işlem değil ... işlemci gerçekten girdi VE maskeden çıktıya bir adımda çıkıyor, ama görsel imgeyi netleştirdiğini düşünüyorum)

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

Bahsettiğim gibi, bitmasking korkunç derecede eski çünkü işlemcinin verimliliğini önemli ölçüde arttırıyor. 4 bit işlemcide, işlemciyi 4x daha hızlı hale getirebilir. 8 bitlik bir işlemde, ya da 8 kat daha hızlı hale getirebilir (elbette, yalnızca bitsel işlemlerde).

Bunun için büyüleyici bir kullanım satranç motorları. Satranç tahtasında 64 kare var. Modern motorlar 64 bit tam sayıya sahiptir. Bu oldukça uygun bir şans, yani satranç motorları çoğu zaman bu güçten faydalanır. Parçaların yerlerini içeren sözde " bitboard " a sahipler . Bu, tek bir adımda tüm piyon hamlelerini aramak gibi her tür optimizasyonu yapmanızı sağlar.


33

İngilizce'deki en genel kullanımında maske, bir şeyi gizleyen bir cihazdır. Serigrafi başka bir cevapta belirtilmiştir. Boya bandı üzerine boya yapmamak için bir şey maskeler. 'Bir PC kartındaki Lehim Maskesi, lehimlenmeyecek bölgeden lehimlenecek alanı maskeler.

"Bit maskeleme" durumunda, bazı bitler "gizlenir" veya göz ardı edilir, böylece daha fazla ilgi çeken diğer kişiler daha kolay manipüle edilebilir veya basitçe görüntülenebilir.

Bit maskeleme sadece 'eski' bir teknik değildir, en eski işlemcilerden bildiğim kadarıyla tüm makine talimatlarında olmasa da ilkel bir işlemdir. Tipik olarak bu, "bitleri başka bir yazmaçta maskelemek için bu yazmaçtaki bit desenini kullanma" şeklindedir.


12
"Resim bandı" terimini duymadım. Sanırım buna "maskeleme bandı" diyeceğim.
thelem

12
@thelem: "Maskeleme bandı" terimi, en azından ABD’de, kolay yırtılan bir kumaş bazlı bant anlamına gelir. Boyama için kullanıldığında, biraz "bulanık" bir kenar oluşturur. Bu tür bir bant birçok başka amaç için kullanıldığından, boyama için daha iyi olan (ancak daha pahalı olan ve başka amaçlar için daha az uygun olan) yeni bantlara "ressamın bandı" denir.
SuperCat

2
@Barmar Hırdavat mağazasının resim bölümüne giden herkes kendi aralarında geçecek.
chrylis

5
Ressam değilim ve ressamın ve maskeleme bandının iki farklı türde bant olduğunu biliyorum. Belki de sadece "Maskeleme bandı, opaklığı için kullanılan ve üzerine yazılması kolay bir bant türüdür."
valbaca

2
Yerel (Avustralya) dev donanım mağazasının web sitesinde arama yapmaya çalıştım ve "boyama bandı" için ilk hit "maskeleme bandı" olarak etiketlenmiş bir üründü, bu yüzden sanırım. ;) İyi eski terminoloji bölgeleri arasındaki farklar, sanırım. İnsanlar nerede yaşadıklarına bağlı olarak, aynı zamanda gaffer kaseti sayılan şey konusunda da seçici davranıyorlar.
Trejkaz

10

Bir bit maskesi , ekran yazdırmaya benzer . Sonuca alınacak belirli bir bit konumu seçersiniz:

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

Maskenin diğer bir anlamı , kullanıcının veri girebileceği bir grafik kullanıcı arayüzündeki sayfadır .


3

Bit maskeleri birkaç nedenden dolayı icat edildi:

  • Donanım kayıtları bitişik bit kümesine eşlendi
  • Bellek alanı çok uzak olmayan geçmişte çok sınırlıydı.

Bir bit açmak için ÇALIŞTIĞINIZ bit parçalarını nasıl gördüğünüze ya da bitleri kapatmak için ANDing'e baktığınızda, bir maske gibi görünür.

En yaygın maske (bit maskelerini temel alan) bir Görüntü maskesidir (başlangıçta dahil ettiğim bağlantıya bakın).


2
Bir bayrak değeri bit eşlemi, boolher bir bayrağın ayrı bir baytta bulunmasından başka bir yol dizisinden veya bir bayrak kümesinden geçmek için hala uygun ve daha etkili bir yoldur . Bu, if (x & (FLAG_A | FLAG_B))yerine yapmak gibi şeyler verimli bir şekilde yapmak mümkün kılar if (xflags[FLAG_A] || xflags[FLAG_B]). Özellikle maske sabit değilse; Bir maskeyi bir tamsayı olarak geçirebilmek, kontrol edilecek bir bayrak listesini geçmekten çok daha ucuzdur. Dolayısıyla, bellek ve önbellek sınırsız olsa bile, bazı durumlarda bit ve maskeleri kullanmak hala çok daha etkili olacaktır.
Peter Cordes

Asla faydalı olmadığını söylemedi. Az önce kökenlerin, donanım kayıtları ve sınırlı hafıza ile uğraşmakta kökleri olduğunu söyledi. Soruna uygun olduklarında hala bit maskeleri kullanıyorum.
Berin Loritsch 26:17

1
Söylemek istediğim, kökenlerin muhtemelen eski yavaş bilgisayarlarda eşit parça belleği ve performansı olduğu idi.
Peter Cordes

1
Kabul. Bir Commodore 64'ü programladıktan sonra, grafik, ses, seri ve paralel G / Ç ile bir şeyler yapmak için bit maskeleri bilmeniz gerekiyordu. Denetleyici yongaları, bu adres içindeki bitlere eşlenen pinlerle birlikte bellek adreslerine eşlenmiştir. Sanırım bit maskesinin donanım arayüzünü etkileyip etkilemediğini veya bunun tam tersini tartışabilirsiniz. Her iki durumda da, yararlı bir şeyler yapmaları için onları tanımanız gerekiyordu.
Berin Loritsch

@BerinLoritsch Cevap için teşekkür ederiz. "Donanım kayıtları bitişik bir bit kümesine eşleştirildi" ile ne demek istediğinizi açıklayabilir misiniz? Donanım kayıtları birbirinden bağımsız olarak erişilemiyor mu?
yoyo_fun

3

BT'deki bir başka fiziksel maske türü, silikon bir gofretin sadece bir kısmını oymak için kullanılan litografik fotoğraf maskesidir. Bu ilk bilgisayarların üretilmesinde kullanılmamıştı, ancak son elli yılda sektörde çalışan herkes bunun farkındaydı.

“Bit maskesi” teriminin tam olarak ne zaman ortaya çıktığını bilmiyorum, ancak işlemin kendisi sadece bit yönünde ve bu da her bir ikili bilgisayarın temel bir talimatı.


"Her ikili bilgisayarda temel komut" için +1. İnsanlar bilgisayarlar bilmemiz gerekiyor vardır onlar bu şekilde neden ve.
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.