1 / 19

การประยุกต์ Logic Gates ภาค 2

การประยุกต์ Logic Gates ภาค 2. บทที่ 7. การลบเลข. ในคอมพิวเตอร์แท้จริงแล้วไม่สามารถลบได้ จะใช้การบวก ตัวลบ จะต้องมีการแปลงเป็น 2 ’ s complement แล้วนำมาบวกกับตัวตั้ง. วิธีหา 2’s complement. กลับบิท แล้วบวกด้วย 1. วิธีหา 2 ’ s complement. 0111. 1000. 7. + 1. 1001.

sadie
Download Presentation

การประยุกต์ Logic Gates ภาค 2

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. การประยุกต์ Logic Gates ภาค 2 บทที่ 7

  2. การลบเลข • ในคอมพิวเตอร์แท้จริงแล้วไม่สามารถลบได้ • จะใช้การบวก • ตัวลบ จะต้องมีการแปลงเป็น 2’s complement • แล้วนำมาบวกกับตัวตั้ง วิธีหา 2’s complement กลับบิท แล้วบวกด้วย 1

  3. วิธีหา 2’s complement 0111 1000 7 + 1 1001 0011 12 1100 + 1 0100

  4. ทำการลบโดยการบวก 12 - 7 กรณีตัวตั้งมากกว่าตัวลบ 1100 + 1001 10101 ตัดทิ้ง ได้ 1 แสดงว่า เป็นค่า + จะได้ 5

  5. ทำการลบโดยการบวก 7 - 12 กรณีตัวตั้งน้อยกว่าตัวลบ 0111 + 0100 1011 0 หา 2’s complement ได้ 0 แสดงว่า เป็นค่า - 0100 + 1 101 จะได้ -5

  6. การสร้างวงจรลบ • หากต้องการลบโดยไม่ใช้วิธี 2’s complement จะกล่าวถึง การประยุกต์ในภายหลัง (Full Subtractor)

  7. ประโยชน์ของ 2’s complement • ใช้แทนค่าลบของตัวเลขในเครื่องคอมพิวเตอร์ที่เก็บใน RAM • ใช้ signed bit 0 = ค่าลบ 1 = ค่าบวก signed bit สมมติว่าหน่วยความจำของเรามีขนาด 4 บิท จะได้ 24 = 16 ดังนั้น จะเหลือ 3 บิทเก็บข้อมูล ดังนั้นข้อมูลจริงๆมีจำนวน 23 = 8 0/1 xxx

  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 0 -1 -2 -3 -4 -5 -6 -7 -8 + 2’s complement -

  9. ถ้าหน่วยความจำ 8 บิทจะเก็บเลขได้เท่าไร • ประกาศตัวแปร byte • 28 = 256 • หาร 2 ได้ 128 • ดังนั้น ค่าบวกจะได้ = 0 ถึง 127 • ค่าลบจะได้ –1 ถึง -128 127 01111111 … … 00000001 00000000 11111111 … … 10000001 10000000 int 16 บิท float 32 บิท -128

  10. รหัส BCD • Binary coded decimal • ใช้แทนเลขฐาน 10 • เลขฐาน 10 จำนวน 1 ตัว สร้างได้จากเลขฐาน 2 จำนวน 4 ตัว • ตัวอย่าง • 0100 0101 • 0101 0010 • 27 0010 0111 • 5 0100 0101

  11. การตรวจสอบความผิดพลาดของ BCD code • หากค่าเกิน 9 จะ ERROR (เลข 0-9) • แก้ไขได้โดยบวกด้วย 6 • เช่น 72 + 44 0111 0010 0100 0100 + 1011 0110 1011 + 0110 +6 ได้ 10001 1 1 6

  12. Multiplexer แบบ 2 อินพุท • เราสามารถนำข้อมูลจากหลายๆอินพุทมารวมกันให้ออกเป็น Output เดียวได้ เรียกว่า การ Multiplex • วงจรที่ทำงานนี้คือ Multiplexer • ใช้หลักการของการสลับข้อมูลไปตามช่วงเวลาเล็กๆ 1 MUX 2 321 3

  13. วงจร Multiplexer แบบ 2 อินพุท • A ทำงานเป็น Address Input ซึ่งใช้เลือก Input ที่ต้องการส่งข้อมูล

  14. การทำงาน • อินพุทที่เราต้องการ Multiplex มี 2 ตัว ได้แก่ x1 และ x2 • A ทำหน้าที่เลือกอินพุทที่จะส่งออกไป Output • ดังนั้น หากเราส่งข้อมูลไปที่ A สลับกัน (0,1) ข้อมูลของ x1 และ x2 ก็จะสลับกันไปด้วย • ในการส่งเราอาจส่งข้อมูลไปที่ A แบบสัญญาณนาฬิกาก็ได้ • แต่ข้อมูลทั้งหมดจะต้องเข้าจังหวะกัน (Synchronize)

  15. สัญญาณ Clock • เป็นสัญญาณแรงดันไฟฟ้าขึ้นและลง ตามช่วงเวลาที่คงที่ • สัญญาณ 0 และ 1 สลับกัน

  16. วงจร Multiplexer แบบ 4 อินพุท ใช้ A, B ในการเลือกอินพุท

  17. 2-to-4 Demultiplexer

  18. ทำการทดลอง • ให้ลองต่อวงจร Multiplexer และ Demultiplexer ตามรูปที่แสดงมาแล้ว

  19. การทำงาน • ข้อมูลเข้ามาที่ IN • A และ B เป็นตัวเลือกว่าจะส่งไปออกที่ Output ตัวไหน • A และ B นี้จะนำไป Synch กับ A และ B ที่ตัว Multiplexer

More Related