วันอังคารที่ 24 สิงหาคม พ.ศ. 2553

หน่วยประมวลผลทางคณิตศาสตร์และตรรกะ

หน่วยคำนวณและตรรกะ (อังกฤษ: Arithmetic Logic Unit: ALU) เป็นวงจรเชิงผสมรูปแบบหนึ่งโดยออกแบบมา เพื่อให้ทำตัวเองเป็นวงจรที่ดำเนินการทางการคำนวณ (Arithmetic) และตรรกะ (Logic) ได้ โดยมีสัญญาณคำสั่ง (command) เป็นตัวควบคุม

ALU เป็นส่วนประกอบที่เป็นอิเล็กทรอนิกส์ที่ใช้พื้นฐานทางดิจิตอลลอจิก ทำหน้าที่ประมวลผลในคอมพิวเตอร์ทั้งทางด้านคณิตศาสตร์และตรรกะ โดยซีพียูจะมี ALU ประกอบอยู่ภายในซีพียู โดยซีพียูจะใช้งาน ALU ร่วมกับหน่วยควบคุม (Control Unit) รีจิสเตอร์ หน่วยความจำ และอุปกรณ์อินพุต/เอาต์พุต รูป 3.1 จะเห็นว่า ALU อยู่ภายในซีพียูโดยมีซีพียูควบคุมการทำงาน และมีรีจิสเตอร์สำหรับส่งข้อมูลเข้าสู่ ALU หลังจากนั้นผลลัพธ์ที่เกิดจากการประมาลผลของ ALU จะเก็บไว้ที่รีจิสเตอร์เช่นกัน รีจิสเตอร์นี้ทำหน้าที่เป็นหน่วยเก็บข้อมูลชั่วคราว หลังจากนั้นจะนำมาเก็บไว้ในหน่วยความจำโดยการควบคุมของซีพียู

การเปลี่ยนค่าตรงข้าม
@ : ใช้ sign-and-magnitude
+21 = 00010101
-21 = 10010101 sign-and-magnitude
@ : ใช้ 2’s complement
+21 = 00010101 2’s complement
= 11101010 กลับค่าแต่ละบิต
+ 1
-21 = 11101011
การบวกและการลบ
@ : ใช้ 2’s complement :
- ใช้หลัก a-b = a+(-b)
- ไม่คิดตัวทด และค่าสูงสุดไม่เกินของจำนวนบิต

การบวกและการลบ
@ : ใช้ 1’s complement :
- ถ้ามีตัวทดเกิดขึ้น จะนำไปบวกเข้ากับค่าผลลัพธ์ที่ได้



การคูณ
@ : จำนวนเต็มไม่มีเครื่องหมาย :
- ตั้งตัวคูณให้ตำแหน่งขวาสุดตรงกับตัวตั้ง
- ผลคูณย่อยที่เกิดขึ้นตำแหน่งขวาสุดให้ตรงตัวคูณ
- นำผลคูณย่อยมารวมกัน



@ : จำนวนเต็มมีเครื่องหมาย (บวก)


@ : จำนวนเต็มมีเครื่องหมาย (ลบ)



ผิด


ถูก

@ : อัลกอริทึ่มของบูธ



การคูณ


การหาร





การบวกและลบเลขทศนิยม
: การตรวจสอบค่า 0
: การปรับเลขชี้กำลังให้เท่ากัน
: ทำการบวกหรือลบค่าของจำนวนนั้น (Mantissa)
: ปรับให้อยู่ในรูปแบบทั่วไป



โฟลว์ชาร์ตแสดงการบวกและลบเลขทศนิยม (Z <--X+-Y)
การคูณเลขทศนิยม



โฟลว์ชาร์ตแสดงการคูณเลขทศนิยม (Z <--X x Y)
การหารเลขทศนิยม


โฟลว์ชาร์ตแสดงการคูณเลขทศนิยม (Z <--X / Y)

Haft Adder และ Full Adder







ตารางความจริงของการบวกเลข 2 บิต และวงจรสำหรับบวกเลข 2 บิต



ตารางค่าความจริงการบวกเลข 3 บิต (2 บิตและมีตัวทด) และสัญลักษณ์






Full Adder วงจร Full Adder ที่เกิดจาก Haft Adder 2 ตัว
Ripple-Carry Adder

Ripple-Carry Adder (ขนาด 4 บิต)


ตัวบวกขนาด 16 บิตที่เกิดจากการเรียงต่อกันของ Ripple-Carry Adder 4 ตัว

ไม่มีความคิดเห็น:

แสดงความคิดเห็น