ตัวตั้งหาร: Dividend, ตัวหาร: Divisor, ผลลัพธ์: Quotient, เศษ: Remainder
ซึ่งค่าต่างๆ มีความสัมพันธ์ดังต่อไปนี้
โดยที่เศษจะน้อยกว่าตัวหาร ซึ่งการคำนวณในหลายลักษณะจะมีการคำนวณเอาเศษ มากกว่าผลลัพธ์ 3.1 ในเบื้องต้นจะทำการสมมุติให้ตัวตั้ง กับตัวหารเป็นบวก ดังนั้นค่าผลลัพธ์ และเศษก็เป็นค่าบวกเช่นเดียวกัน
รูป 3.9 แสดงฮาร์ดแวร์ที่ทำการหารตามวิธีการปกติที่เรียนกันในระดับประถมศึกษา โดยเริ่มจากการตั้งค่าผลลัพธ์เป็น 0 ทั้ง 32 บิต ในแต่ละขั้นตอนของการดำเนินการตัวหารจะถูกเลื่อนไปทางขวาครั้งละ 1 บิต โดยเริ่มจากนำตัวหารใส่ไว้ในทางซ้ายของรีจีสเตอร์ขนาด 64 บิต การเลื่อนทางขวาของตัวหารจะเลื่อนให้สอดคล้องกับ ตัวตั้งหาร ในรีจีสเตอร์ของ Remainder จะถูกตั้งค่าเริ่มแรกให้เป็นตัวตั้งหาร รูป 3.10 แสดงขั้นตอนต่างๆ สามขั้นตอนในการหาร เริ่มจากขั้นตอนแรกโดยการลบตัวหารออกจากตัวตั้งหารใน Remainder Register และเก็บผลลัพธ์ไว้ใน Remainder Register จากนั้นทำการหาว่าตัวตั้งหารน้อยกว่าตัวหารหรือไม่ ถ้าค่าเศษมีค่ามากกว่าศูนย์ หมายถึงตัวตั้งหารมีค่ามากกว่าหรือเท่ากับตัวหาร เราจึงใส่ค่า 1 ที่ ผลลัพธ์ (2a) ถ้าค่า Remainder มีค่าเป็นลบ ฮาร์ดแวร์จะทำการคืนค่าเก่าโดยบวกตัวหารกลับเข้าไปในเศษ และใส่ค่า 1 ที่ ผลลัพธ์ (2b) ตัวหารจะถูกเลื่อนไปทางขวา และเริ่มกระบวนการอีกครั้งหนึ่ง โดยที่ผลลัพธ์จะอยู่ในรีจีสเตอร์ต่างๆ หลังกระบวนการเสร็จสิ้น
|