You are on page 1of 5

TRƯỜNG ĐẠI HỌC BÁCH KHOA TP HỒ CHÍ MINH

KHOA KHOA HỌC & KỸ THUẬT MÁY TÍNH

BÁO CÁO BÀI TẬP LỚN


(Môn kiến trúc máy tính)

Danh sách thành viên:

Họ và tên MSSV

Nguyễn Tất Tấn Dũng 2113066

Nguyễn Châu Kiệt 2113845


Mục lục
I. Yêu cầu.......................................................................................................................... 2
II. Giải quyết ...................................................................................................................... 2
1) Giải pháp hiện thực ................................................................................................... 2
- Giải thuật: ............................................................................................................... 3
2) Thống kê số lệnh, loại lệnh (instruction type) sử dụng trong chương trình. ............. 4
Tính thời gian chạy của chương trình (CR=1GHz). ..................................................... 4
3) Kết quả kiểm thử. ...................................................................................................... 4

1
I. Yêu cầu
Nhân 2 số nguyên 32 bit.
Viết chương trình hiện thực giải thuật nhân số nguyên trong textbook (hình 3.4 hoặc 3.5),
áp dụng cho số có dấu. Dữ liệu đầu vào đọc từ file lưu trữ dạng nhị phân trên đĩa
INT2.BIN (2 trị x 4 bytes = 8 bytes).

II. Giải quyết


1) Giải pháp hiện thực
- Để thực hiện phép nhân có dấu ta tách phần trị tuyệt đối và dấu của số bị nhân và
số nhân ra. Lấy phần trị tuyệt đối dương tương ứng của số nhân và số bị nhân nhân
nhau. Sau đó xét dấu cho tích dựa vào dấu của số nhân và số bị nhân (có thể dùng
phép XOR).
- Nhân 2 số 32 bits, kết quả là số 64 bits.
- Cấu trúc phần cứng:

-
- Có: thanh ghi multiplicand 64 bits, thanh ghi multiplier là 32 bits, thanh ghi
product là 64 bits.

2
- Giải thuật:

- Khi thực hiện phép nhân cho giải thuật theo sơ đồ, ta thấy có 3 bước :
o Bước 1: Kiểm tra bit 0 của Multiplier xem có bằng 1 hay không; nếu bằng 1
thì product = product + Multiplicand; nếu bằng 0, không làm gì cả
o Bước 2: Dịch trái Multiplicand 1 bit
o Bước 3: Dịch phải Multiplier 1 bit
- 3 bước này được lặp lại đúng bằng số bit dùng biểu diễn (32 bit = 32 lần)
- Sau khi kết thúc số vòng lặp, giá trị trong thanh ghi product chính là kết quả phép
nhân.

3
2) Thống kê số lệnh, loại lệnh (instruction type) sử dụng trong chương trình.
Tính thời gian chạy của chương trình (CR=1GHz).
3) Kết quả kiểm thử.

You might also like