Mengapa topeng bit disebut "topeng" dan tujuan apa yang mereka layani?

79

Mengapa "topeng bit" disebut seperti ini?

Saya tahu bahwa mereka terutama digunakan untuk operasi bitwise dan penggunaan bit mask lebih efisien daripada penggunaan variabel yang terpisah.

Namun pertanyaan saya adalah mengapa dan kapan bit mask ditemukan? Apakah mereka digunakan sejak awal komputasi? Apakah ada jenis "topeng" selain topeng bit di domain TI?

yoyo_fun
sumber
14
Fotolitografi (menggunakan fitur sinar UV untuk mengetsa ke dalam silikon wafer) menggunakan "photomask" untuk secara selektif memblokir sumber cahaya UV sehingga area yang terbuka dari silikon memiliki pola yang benar.
Levi
1
Juga, berbagai en.wikipedia.org/wiki/Mask_(disambiguation)
OrangeDog
14
Pernah melakukan pekerjaan cat dan menggunakan selotip?
gnasher729
1
Jenis lain dari topeng: deteksi tabrakan pixel sempurna adalah semua tentang mendeteksi topeng 2D tumpang tindih.
aluriak

Jawaban:

101

Masker (dari jenis wajah) adalah sesuatu yang menutupi beberapa bagian wajah Anda dan membiarkan bagian lain terlihat. Terminologi digunakan oleh analogi dalam komputasi: bitmask menutupi (menyaring) beberapa bit dalam bitset dan memungkinkan orang lain untuk lulus.

Apakah ada jenis "topeng" selain topeng bit di domain TI?

Tak jauh dari kepala saya, topeng sering digunakan dalam pemrosesan gambar. Ini adalah konsep yang serupa: Anda membuat gambar hitam-putih yang menunjukkan bentuk apa yang harus ditutup dan apa yang harus dilewati.

Mason Wheeler
sumber
33
Topeng Subnet juga cukup umum .
Matthieu M.
38
@ MatthieuM. tetapi bukankah subnet mask juga bitmasks? Mereka digunakan untuk menyaring alamat jaringan dan alamat host.
yoyo_fun
22
@JenniferAnderson Bukankah gambar hitam-putih hanya bitmask piksel juga?
Bergi
8
Masker gambar fisik digunakan dalam produksi chip silikon, sebagai bagian dari teknik yang berevolusi dari fotografi tradisional dan proses pencetakan. en.wikipedia.org/wiki/Photolithography
Jander
20
Masking juga merupakan istilah artistik untuk melindungi satu area dari perubahan sekaligus memungkinkan perubahan lainnya. Ini sering digunakan dalam melukis. Itulah gunanya Masking Tape: jadi Anda tidak melukis pada hal-hal yang tidak ingin Anda lukis sementara masih bisa melukis pada hal-hal yang ingin Anda lukis.
Nate Diamond
54

Topeng bit digunakan untuk menutupi beberapa bit dari bidang bit sambil mengekspos yang lain:

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

Ini telah digunakan sebelum menghitung dalam elektronik dengan gerbang logis (DAN, ATAU ...) atau transistor atau dalam elektromekanik dengan relay.

mouviciel
sumber
6
"Topeng bit digunakan untuk menutupi beberapa bidang bit sambil mengekspos yang lain:" Saya tidak pernah berpikir seperti ini tetapi itu membuat banyak akal. Terima kasih atas penjelasannya :)
yoyo_fun
1
@mouvicel bisa tolong tunjukkan saya ke beberapa tautan tentang bagaimana topeng bit digunakan dalam elektronik dengan gerbang logis. Apa tujuannya, sistem seperti apa operasi ini digunakan dan kapan teknik ini dimulai?
yoyo_fun
4
untuk memperjelas: nilai awal ANDed dengan mask, dan hanya mask bit di "1" yang menyimpan bit asli dari nilai awal (seperti, bitwise, "1 and 1 = 1" dan "0 dan 1 = 0" ), dan bit lain dari nilai awal diatur ke 0 sebagai (bitwise) "0 dan 0 = 0" dan "1 dan 0 = 0") (karena "Dan" mengatakan bahwa "hanya ketika bit pertama DAN ke-2 bit diatur ke 1, adalah hasilnya 1. semua yang lain menghasilkan 0 ". (ATAU berarti: baik dengan bit 1 itu 1 ATAU bit ke-2 adalah 1 akan hasilnya menjadi 1. dll). lihat en.wikipedia. org / wiki / ...
Olivier Dulac
2
@JenniferAnderson: Terlepas dari topeng bit logis, topeng sebenarnya digunakan dalam elektronik: topeng solder adalah stensil (selembar kartu) yang digunakan untuk menyimpan pasta solder ke PCB. Anda meletakkan masker ke PCB, gunakan alat pembersih karet untuk mengolesi pasta solder di atas masker kemudian lubang-lubang di masker akan membiarkan pasta melalui untuk secara akurat hanya menutupi area yang Anda butuhkan pasta solder ( youtube.com/watch?v=EqJN1CTCOQs ) . Dalam pembuatan chip masker digunakan untuk membangun atau mengetsa struktur ke silikon. Penggunaan kata "topeng" ini berasal dari industri percetakan.
slebetman
4
@JenniferAnderson: Penggunaan kata "topeng" dalam bahasa Inggris berarti mencakup sesuatu yang lebih umum dan mungkin jauh lebih tua. Misalnya dalam bahasa Inggris kita mengatakan parfum dapat digunakan untuk menutupi bau.
slebetman
39

Bitmasks sudah sangat tua. Saya belum dapat menemukan referensi ke yang pertama, tetapi mereka pasti populer dengan munculnya prosesor 8-bit, dan kemungkinan juga digunakan dalam prosesor 4-bit.

Gagasan di balik bitmasks adalah untuk memanfaatkan paralelisme bitwise. Komputer 8 bit dapat melakukan operasi bitwise yang sama hingga 8 bit sekaligus jika mereka dikemas ke dalam satu kata asli (yang artinya cocok dalam register).

Nama berasal dari masking, yang merupakan pendekatan umum untuk menutupi area yang tidak ingin berinteraksi dengan Anda. Sebagai contoh, pertimbangkan stensil ini untuk menutupi area dinding (stensil telah dipindahkan setelah lukisan untuk menunjukkan polanya)

Stensil

Masker juga digunakan dalam fotografi, di mana mereka pergi dengan istilah "menghindar" daripada "stensil." Anda dapat menggunakan topeng untuk mengaburkan sebagian cahaya selama pencetakan untuk meringankan suatu area.

Masker fotografi

Istilah ini juga digunakan secara langsung dalam fotolitografi, yang merupakan teknik yang digunakan untuk membuat sirkuit terpadu. Topeng mencegah cahaya dari mencapai photoresist dicat pada chip, yang menciptakan pola yang kemudian mengarah pada pola facinating pada chip. (Gambar di bawah ini adalah salah satu topeng untuk prosesor Intel 8080A , jika Anda penasaran)

Topeng photolithography

Demikian juga, dalam penyembunyian bit, Anda memilih bagian dari kata yang ingin Anda operasikan, menutup semua sisa bit. Dalam contoh di bawah ini, saya menggunakan operasi "dan" untuk menutupi input sehingga hanya bit 3, 4, dan 8 yang terlihat. Sisanya "bertopeng" sehingga mereka adalah 0's. Topeng yang saya gunakan adalah 00110001. Saya menunjukkannya di bawah ini dengan #mewakili 0 dan .mewakili 1 karena itu membuat tampilan visual bitmask mirip dengan topeng fisik di atas, dan saya menunjukkan baris "bit terpilih" yang menunjukkan bit dari output yang tidak ditutup ( "bit yang dipilih" sebenarnya bukan operasi logis yang terjadi ... prosesor benar-benar berjalan dari input DAN mask ke output dalam satu langkah, tapi saya pikir ini memperjelas gambar visual)

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

Seperti yang saya sebutkan, bitmasking sudah sangat tua karena meningkatkan produktivitas prosesor secara dramatis. Pada prosesor 4 bit, itu dapat membuat prosesor 4x lebih cepat. Pada proses 8 bit, atau dapat membuatnya 8x lebih cepat (pada operasi bitwise saja, tentu saja).

Salah satu penggunaan yang menarik untuk ini adalah mesin catur. Papan Catur memiliki 64 kotak. Mesin modern memiliki bilangan bulat 64 bit. Ini adalah keberuntungan yang sangat nyaman, sehingga mesin catur sering memanfaatkannya. Mereka memiliki apa yang disebut " bitboard " yang berisi lokasi potongan-potongan. Ini memungkinkan Anda melakukan segala macam optimasi, seperti mencari semua gerakan gadai dalam satu langkah.

Cort Ammon
sumber
33

Dalam penggunaannya yang paling umum dalam bahasa Inggris, topeng adalah perangkat yang menyembunyikan sesuatu. Sablon disebutkan dalam jawaban lain. Lukisan tape 'topeng' sesuatu untuk menghindari cat di atasnya, dll. Solder Mask pada papan PC 'menutupi' area yang akan disolder dari area yang tidak disolder.

Dalam kasus "bit masking", beberapa bit 'disembunyikan' atau diabaikan sehingga yang lain yang lebih menarik dapat lebih mudah dimanipulasi atau dilihat.

Bit masking bukan hanya teknik 'lama', itu adalah operasi primitif di sebagian besar atau tidak semua instruksi mesin, sejauh yang saya tahu dari prosesor paling awal. Biasanya ini dalam bentuk "gunakan pola bit dalam register ini untuk menutupi bit dalam register lain."

mickeyf
sumber
12
Saya belum pernah mendengar istilah "Lukisan tape". Saya menganggap inilah yang saya sebut "selotip".
themem
12
@ thelem: Istilah "selotip", setidaknya di AS, merujuk pada pita berbasis kain yang mudah sobek. Ketika digunakan untuk melukis, itu menghasilkan tepi yang agak "kabur". Karena pita semacam itu digunakan untuk banyak tujuan lain, pita baru yang lebih baik untuk melukis (tetapi lebih mahal, dan mungkin kurang cocok untuk keperluan lain) disebut "pita pelukis".
supercat
2
@Barmar Siapa pun yang pergi ke bagian pengecatan di toko perangkat keras akan menemui mereka.
chrylis -on strike-
5
Saya bukan pelukis dan saya tahu bahwa pita pelukis dan selotip adalah dua jenis pita yang sangat berbeda. Mungkin hanya mengatakan bahwa "Masking tape adalah jenis tape yang digunakan untuk kekaburannya dan mudah untuk ditulis."
valbaca
2
Saya mencoba mencari situs web toko perangkat keras raksasa lokal (Australia) dan hit pertama untuk "tape lukis" adalah produk yang diberi label "selotip", jadi saya rasa itu saja. ;) Perbedaan terminologi lama yang baik antar daerah, saya kira. Orang-orang benar-benar pilih-pilih tentang apa yang dianggap sebagai rekaman gaffer juga, tergantung di mana mereka tinggal.
Trejkaz
10

Sebuah sedikit topeng mirip dengan sablon . Anda memilih beberapa posisi bit tertentu untuk diambil alih ke dalam hasil:

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

Arti lain dari topeng adalah halaman dalam antarmuka pengguna grafis di mana pengguna dapat memasukkan data.

Timothy Truckle
sumber
3

Topeng bit diciptakan karena beberapa alasan:

  • Register perangkat keras dipetakan ke satu set bit yang berdekatan
  • Ruang memori sangat terbatas di masa lalu yang tidak terlalu jauh

Ketika Anda melihat bagaimana Anda melihat pola bit yang Anda ATAU untuk menghidupkan sedikit atau DAN untuk mematikan bit, itu terlihat seperti topeng.

Topeng yang paling umum (berdasarkan bit mask) adalah Image mask (lihat tautan yang saya sertakan di awal).

Berin Loritsch
sumber
2
Bitmap nilai flag masih merupakan cara yang tepat dan lebih efisien untuk mengedarkan satu set flag daripada array boolatau beberapa cara lain untuk memiliki setiap flag dalam byte yang terpisah. Itu memungkinkan untuk melakukan hal-hal seperti secara efisien if (x & (FLAG_A | FLAG_B))daripada if (xflags[FLAG_A] || xflags[FLAG_B]). Terutama jika topengnya tidak konstan; bisa melewati topeng sebagai bilangan bulat jauh lebih murah daripada melewati daftar bendera yang akan diperiksa. Jadi bahkan jika memori dan cache tidak terbatas, masih akan jauh lebih efisien untuk menggunakan bitet dan mask dalam beberapa kasus.
Peter Cordes
Tidak pernah mengatakan itu tidak berguna. Hanya mengatakan asal-usul memiliki akar dalam berurusan dengan register perangkat keras dan memori terbatas. Saya masih menggunakan topeng bit ketika mereka sesuai dengan masalah.
Berin Loritsch
1
Yang ingin saya katakan adalah bahwa asal-usulnya mungkin bagian memori dan kinerja yang sama pada komputer lambat lama.
Peter Cordes
1
Sepakat. Setelah memprogram Commodore 64, Anda juga perlu tahu topeng bit untuk melakukan hal-hal dengan grafis, suara, serial dan paralel I / O. Chip pengontrol dipetakan ke alamat memori dengan pin dipetakan ke bit dalam alamat itu. Saya kira Anda bisa berdebat apakah topeng bit mempengaruhi antarmuka perangkat keras atau sebaliknya. Either way, Anda harus tahu mereka untuk mendapatkan sesuatu yang bermanfaat dilakukan.
Berin Loritsch
@BerinLoritsch Terima kasih atas jawabannya. Bisakah Anda menjelaskan apa yang Anda maksud dengan "Register perangkat keras telah dipetakan ke serangkaian bit yang berdekatan"? Bukankah register perangkat keras diakses secara independen satu sama lain?
yoyo_fun
3

Jenis lain dari topeng fisik dalam TI adalah photomask litograf yang digunakan untuk menghilangkan hanya sebagian dari wafer silikon. Itu tidak digunakan untuk memproduksi komputer paling awal, tetapi siapa pun yang bekerja di industri ini dalam lima puluh tahun terakhir akan menyadarinya.

Saya tidak tahu kapan istilah tepat "bitmask" muncul, tetapi operasi itu sendiri hanya sedikit dan, yang merupakan instruksi dasar dari setiap komputer biner.

Davislor
sumber
+1 untuk "instruksi dasar di setiap komputer biner". Orang-orang perlu tahu apa komputer yang , dan mengapa mereka seperti itu.