Binary numbers
(And some other useful bases)
Tại sao sử dụng hệ nhị phân?
• Máy tính sử dụng số nhị phân vì:
– Dễ thực hiện mạch: 1=1V, 0=0V (in the past 3.3V or 5V)
– Dễ thiết kế các mạch phức tạp với các cổng (transistors)
• Có thể sử dụng nhiều mức điện áp?…
– 1=1V, 2=2V, 3=3V, etc.
– Nhiễu sẽ phá huỷ mạch
– Digital logic is noise tolerant:
• No noise: 1 + 0 → 1
• With noise: 0.9 + 0.4 → 1, not 1.3
– Analog circuits carry noise through:
• 1.4V + 3.4V → 4.8V (closer to 5 than 4!)
• What’s interesting about computer: Arithmetic is how much we can do with a limited number of bits
Hệ cơ số 2 (binary)
Các hệ cơ số
LSBs và MSBs
• LSB = Least Significant Bit - > Bit có trọng số thấp
• MSB = Most Significant Bit -> bit có trọng số cao
• Example: 0101 1101 1110 1001
MSB – largest value
LSB– lowest value
digit
digit
Phép cộng, nhớ, phép nhân
Phép cộng và phép nhân
Thiết kế bộ nhân
• Bộ nhân NxN có tích số 2N bit ra
– Câu hỏi: Phép nhân thực hiện như thế nào trong MIPS khi sử dụng thanh ghi 32 bit?
– Trả lời: Hai thanh ghị đặc biệt Hi và Lo lưu kết quả phép nhân 32 bit mỗi thanh ghi
• Phép nhân chiếm nhiều tài ngun: Có thể cân đối về tài nguyên và thời gian
Serial multiplication 1
Serial multiplication 2
Serial multiplication 3
Serial multiplication 4
Check LSB and add if 1
Serial multiplication 5
Serial multiplication 6
Check LSB and add if 1
Serial multiplication 7
Shift multiplicand left and multiplier right
Serial multiplication 8
Check LSB and add if 1
Serial multiplication 9
• Nhân nối tiếp
Serial multiplication does each partial product one ager another.
• Mỗi bước là dịch và cộng nếu LSB bằng 1
→ Cần 1 bộ cộng, nhưng thực hiện nhiều bước
Bộ nhân song song
• Cần n bộ cộng một lúc
• Nhanh hơn nhưng tốn nhiều phần cứng hơn
Ví dụ về bộ cộng
Số có dấu
Làm thế nào để biểu diễn số có dấu
• Có 3 chuẩn biểu diễn
– Trường dấu
– Mã bù 1
– Mã bù 2
• Trong 3 chuẩn trên MSB là bit dấu (1 = negative)
• Mã bù 1 khơng được sử dụng nhưng vẫn phải tính
• Ln sử dụng mã bù 2 cho số nguyên
• Trường dấu được sử dụng biểu diễn số thực dấu phẩy động
Trường dấu
Đơn giản là bit đầu tiên là bit dấu: +/‐
Một số vấn đề về số có dấu
Kiểm sốt được dấu và trường dấu:
– Nếu A âm và B âm, A+B → âm (A + B)
– Nếu A dương và B dương, A+B → dương (A + B)
Phức tạp hơn với đấu trừ:
Tràn số trong mã bù 2
• Khác với các số khơng dấu (có carry out)
• Tràn số có nghĩa là số khơng được biểu diễn
• Trong phép cộng số bù 2:
– Các số trái dấu nhau thì khơng tràn số
– Tràn số nếu các số có cùng dấu lại cho kết quả khác dấu
– Quy tắc: carry in đến bit dấu khác với carry out từ bit dấu
• Trong cả hai ví dụ, carry in đến bit dấu == carry out