การประยุกต์ Logic Gates ภาค 2 บทที่ 7
การลบเลข กลับบิท แล้วบวกด้วย 1 ในคอมพิวเตอร์แท้จริงแล้วไม่สามารถลบได้ จะใช้การบวก ตัวลบ จะต้องมีการแปลงเป็น 2’s complement แล้วนำมาบวกกับตัวตั้ง วิธีหา 2’s complement กลับบิท แล้วบวกด้วย 1
วิธีหา 2’s complement 0111 1000 7 + 1 1001 0011 12 1100 + 1 0100
ทำการลบโดยการบวก กรณีตัวตั้งมากกว่าตัวลบ 12 - 7 1100 + 1001 10101 ตัดทิ้ง ได้ 1 แสดงว่า เป็นค่า + จะได้ 5
ทำการลบโดยการบวก กรณีตัวตั้งน้อยกว่าตัวลบ 7 - 12 0111 + 0100 1011 1011 ได้ 0 แสดงว่า เป็นค่า - หา 2’s complement 0100 + 1 101 จะได้ -5
การสร้างวงจรลบ หากต้องการลบโดยไม่ใช้วิธี 2’s complement จะกล่าวถึง การประยุกต์ในภายหลัง (Full Subtractor)
ประโยชน์ของ 2’s complement ใช้แทนค่าลบของตัวเลขในเครื่องคอมพิวเตอร์ที่เก็บใน RAM ใช้ signed bit 0 = ค่าลบ 1 = ค่าบวก signed bit สมมติว่าหน่วยความจำของเรามีขนาด 4 บิท จะได้ 24 = 16 ดังนั้น จะเหลือ 3 บิทเก็บข้อมูล ดังนั้นข้อมูลจริงๆมีจำนวน 23 = 8 0/1 xxx
24 = 16 ทั้งหมด 16 ค่า, 23 = 8 ค่า + และ - 24 = 16 ทั้งหมด 16 ค่า, 23 = 8 ค่า + และ - 0111 0110 0101 0100 0011 0010 0001 0000 1111 1110 1101 1100 1011 1010 1001 1000 7 6 5 4 3 2 1 -1 -2 -3 -4 -5 -6 -7 -8 + - 2’s complement
ถ้าหน่วยความจำ 8 บิทจะเก็บเลขได้เท่าไร ประกาศตัวแปร byte 28 = 256 หาร 2 ได้ 128 ดังนั้น ค่าบวกจะได้ = 0 ถึง 127 ค่าลบจะได้ –1 ถึง -128 127 01111111 … 00000001 00000000 11111111 10000001 10000000 int 16 บิท float 32 บิท -128
รหัส BCD Binary coded decimal ใช้แทนเลขฐาน 10 เลขฐาน 10 จำนวน 1 ตัว สร้างได้จากเลขฐาน 2 จำนวน 4 ตัว ตัวอย่าง 0100 0101 0101 0010 27 0010 0111 5 0100 0101
การตรวจสอบความผิดพลาดของ BCD code หากค่าเกิน 9 จะ ERROR (เลข 0-9) แก้ไขได้โดยบวกด้วย 6 เช่น 72 + 44 0111 0010 0100 0100 + 1011 0110 1011 + 0110 +6 ได้ 10001 1 1 6
Multiplexer แบบ 2 อินพุท เราสามารถนำข้อมูลจากหลายๆอินพุทมารวมกันให้ออกเป็น Output เดียวได้ เรียกว่า การ Multiplex วงจรที่ทำงานนี้คือ Multiplexer ใช้หลักการของการสลับข้อมูล ไปตามช่วงเวลาเล็กๆ 1 MUX 2 321 3
วงจร Multiplexer แบบ 2 อินพุท A ทำงานเป็น Address Input ซึ่งใช้เลือก Input ที่ต้องการส่งข้อมูล
การทำงาน อินพุทที่เราต้องการ Multiplex มี 2 ตัว ได้แก่ x1 และ x2 A ทำหน้าที่เลือกอินพุทที่จะส่งออกไป Output ดังนั้น หากเราส่งข้อมูลไปที่ A สลับกัน (0,1) ข้อมูลของ x1 และ x2 ก็จะสลับกันไปด้วย ในการส่งเราอาจส่งข้อมูลไปที่ A แบบสัญญาณนาฬิกาก็ได้ แต่ข้อมูลทั้งหมดจะต้องเข้าจังหวะกัน (Synchronize)
สัญญาณ Clock เป็นสัญญาณแรงดันไฟฟ้าขึ้นและลง ตามช่วงเวลาที่คงที่ สัญญาณ 0 และ 1 สลับกัน
วงจร Multiplexer แบบ 4 อินพุท ใช้ A, B ในการเลือกอินพุท
2-to-4 Demultiplexer
ทำการทดลอง ให้ลองต่อวงจร Multiplexer และ Demultiplexer ตามรูปที่แสดงมาแล้ว
การทำงาน ข้อมูลเข้ามาที่ IN A และ B เป็นตัวเลือกว่าจะส่งไปออกที่ Output ตัวไหน A และ B นี้จะนำไป Synch กับ A และ B ที่ตัว Multiplexer