มีแค่สถานะ 0 กับ 1 [คอมพิวเตอร์สำหรับอนุบาล]

Bhuridech Sudsee
odds.team
Published in
3 min readNov 2, 2019

ในคอมพิวเตอร์ทั่วไปที่เราใช้งานในปัจจุบัน (ไม่รวมถึงควอนตัมคอมพิวเตอร์) และตั้งแต่มันเริ่มสร้างมานั้นใช้หลักการเดียวกันคือมันจะมีสองสถานะที่แทนตัวมันซึ่ง เวลาหนึ่งๆ มันจะมีได้เพียงสถานะเดียว เพื่อให้เข้าใจได้ง่ายขึ้นเราจะแทนที่ 0 และ 1 ด้วยสวิทซ์ที่สามารถปิดหรือเปิดได้

อยากจะเริ่มด้วยคำถามข้อหนึ่งที่ไม่เกี่ยวกับเรื่องที่เราจะคุยกันเลยแต่เป็นโจทย์คิดวิเคราะห์ที่ว่ากันว่าชอบออกสอบสัมภาษณ์เข้าเรียนต่อมหาวิทยาลัยในสายวิศวกรรม เรามีห้อง A, B และ C ในแต่ละห้องมีหลอดไฟหนึ่งหลอด มีสวิทซ์ไฟหน้าห้อง 3 ตัวอยากรู้ว่าสวิทซ์ไหนเป็นของห้องไหน โดนที่เรามีสิทธิ์ปิดปิดไฟกี่รอบก็ได้ แต่จะมีสิทธิ์เข้าดูไปดูในห้องได้แค่ครั้งเดียวไล่จาก A, B ถึง C

สำหรับใครที่พอจะนึกออกแล้ว เฉลยก็คือว่า คุณอาจจะใช้วิธี (1) เปิดสวิทซ์สักอันทิ้งไว้สักครู่สักพักก็ปิดไปจากนั้นก็ (2) เปิดสวิซท์อีกอันทิ้งไว้ แล้ว (3) ก็ปล่อยอีกสวิทซ์ไว้ไม่ต้องทำอะไรกับมัน เมื่อคุณใช้สิทธิ์เดินเข้าดูในห้องจะมีห้องที่ (1) ไฟดับอยู่แต่หลอดไฟมันอุ่น และ (2) หลอดไฟเปิดอยู่ (3) หลอดไฟไม่ติดและไม่อุ่นเพราะคุณไม่เคยเปิด! เท่านี้คุณก็รู้หล่ะว่าสวิทซ์ไหนเป็นของปลั๊กไหน

โอเค ทีนี้มาเรื่องของเรา เพื่อนข้างห้องที่เป็นโปรแกรมเมอร์ของคุณเชิญคุณเข้ามาที่ห้องของเขา เมื่อคุณเปิดบ้านเข้ามาท่ามกลางแสงจันทร์สลัวๆ คุณก็พบกับสวิทซ์ไฟ 2 ตัว ใช่คุณต้องเปิดไฟก่อนเลย

คุณลองเปิดไฟดูสวิทซ์หนึ่งตัว

หลอดไฟยังไม่ติด คุณเริ่มรู้สึกประหลาดแล้วที่หลอดไฟมีเพียงดวงเดียวแต่สวิทซ์มีสองตัว คุณลองเปิดสวิทซ์อีกตัว

คุณพบว่าหลอดไฟติด พร้อมกับมองไปเห็นป้ายที่ติดข้างฝาว่า AND Gate

AND Gate [1]

แค่ลองเปิดสวิทซ์ดูตามสักพัก คุณก็พอเข้าใจแล้วว่ามันเป็นแบบที่เจ้าหมอนี่เขียนไว้ นอกจากนี้ยังมีโน็ตแปะไว้ว่าให้คุณมาหาใหม่ในวันหลัง คุณคิดว่าหมอนี่น่าสนใจดีแฮะ คุณจะกลับมาใหม่ในวันถัดไป!

วันถัดมาคุณกลับไปที่ห้องของเขาอีกครั้ง

สวิทซ์ไฟยังคงปิดอยู่ คุณลองเปิดสวิทซ์แรกก็พบว่าไฟติดแล้ว

คุณลองปิดแล้วสลับไปเปิดสวิทซ์อีกตัว

อีกครั้งที่เขาทิ้งโน็ตไว้ให้คุณ OR Gate

OR Gate [1]

และอีกครั้งเจ้าหมอนี่เขียนไว้แปะโน็ตไว้ว่าให้คุณมาหาใหม่ในวันหลัง

วันถัดมาคุณกลับไปที่ห้องของเขาอีกครั้ง ครั้งนี้คุณฉุนเฉียวกับการล้อเล่นของเขา คุณจึงไม่รอให้ถึงตอนเย็นเหมือนที่ผ่านมา คุณไปที่ห้องของเข้าในตอนเช้าและพบว่าหลอดไฟเปิดอยู่ แต่สวิซท์ทั้งคู่อยู่ในสถานะปิดอยู่

คุณลองเปิดสวิทซ์ตัวหนึ่งและก็พบว่าหลอดไฟมันยังคงติดอยู่

คุณลองเปิดสวิทซ์ทั้งสองตัว และพบว่าหลอดไฟดับไป

คุณทราบได้ทันทีเลยว่านี่คือ NAND Gate หรือ AND NOT Gate ถ้าเอาให้ง่ายกว่านี้ก็คือเอาค่าผลลัพธ์ของ AND Gate มากลับจาก 0 เป็น 1 จาก 1 เป็น 0

NAND Gate [1]

คุณคิดว่าหมอนี่มันเจ๋งดีแฮะ และความเจ๋งของการสร้าง NAND Gate ได้ก็คือมันเป็นเกตที่ครอบจักรวาลสามารถใช้ NAND Gate ไปทำ Gate อื่นๆ ได้เช้น NOT Gate ก็สามารถเกิดขึ้นได้จากการเอาขา Input A และ Input ฺB มาเชื่อมเข้าหากัน (เพราะเสมือนว่า NOT รับ Input ตัวเดียว)

ตัวอย่าง Gate ที่สร้างจาก NAND [2]

ด้วยความสามารถดังกล่าวทำให้ SSD ที่เราใช้ๆ งานกันอยู่ทุกวันนี้สร้างจาก NAND Gate นั่นเองถามว่าเกตอื่นสร้างได้ป่าว ตอบเลยว่าดั้ยยโลด แต่เนื่องจากหากใช้ NOR Gate ต้องใช้พื้นที่มากขึ้น 60% [3] คำถามต่อมีคือเจ้า NAND Gate นี้มันทำงานยังไงนะ ?
ผมขออธิบายง่ายๆ ความความเข้าใจของผมคือเนื่องจากมีตัวต้านทานโผล่เข้ามาในวางจร และมีการเปลี่ยนจุดเชื่อมต่อของสวิทซ์ใหม่ให้อยู่หลังตัวต้านทานนี้แล้ว หากสวิทซ์อย่างน้อยหนึ่งตัวปิดอยู่จะทำให้ไฟฟ้าไม่ครบวงจรในเส้นสีดำทำให้ไฟติด

แต่ถ้าเราเปิดสวิทซ์ทั้งคู่จะทำให้วงจรไฟฟ้าตามเส้นสีชมพูครบวงจรกระแสไฟฟ้าจะไหลลงตามแนวสวิทซ์ไฟแทนทำให้ไฟไม่ติด

ทั้งหมดทั้งมวลที่กล่าวมาแล้วจะนำไปสู่การประมวลผลของคอมพิวเตอร์ยุคปัจจุบันที่ไม่มีอะไรมากไปกว่าสวิทซ์เปิดปิดไฟพวกนี้เป็นร้อยหรือพันล้านครั้งต่อวินาที และเมื่อเรารู้ว่า NAND Gate เป็นเกตที่เอาไว้แทนเกตอื่นที่มีได้ทั้งหมดเพียงเท่านี้เราก็สามารถเข้าใจการทำงานของคอมพิวเตอร์ได้แล้ว

References
[1] https://www.studytonight.com/computer-architecture/logic-gates
[2] https://www.electronics-tutorials.ws/logic/logic_5.html
[3] https://arstechnica.com/information-technology/2012/06/inside-the-ssd-revolution-how-solid-state-disks-really-work/2/

--

--