Floating Point Unit (FPU) chính là một yếu tố quyết định đến sức mạnh xử lý của một máy tính. Sau đây, hãy cùng TTnguyen tìm hiểu về Floating Point Unit là gì? chương trình kiểm tra FPU bằng ngôn ngữ lập trình assembly nhé.
Xem thêm:
- chương trình gộp 2 tệp assembly
- chương trình kiểm tra có cổng máy in nối tiếp assembly
- viết chương trình hello world assembly
Floating Point Unit (FPU) là gì?
Floating Point Unit (FPU) nghĩa là bộ xử lý số dấu chấm động, là một thành phần của vi xử lý (CPU). Nó chuyên trách tính toán các phép toán với số thực dẩu chấm động (số thập phân). FPU hỗ trợ các phép toán cơ bản như cộng, trừ, nhân, chia và cả các phép toán phức tạp hơn như căn bậc hai, luỹ thừa, nghịch đảo.
Cấu tạo của Floating Point Unit (FPU)
FPU thường được cấu tạo từ ba thành phần chính:
- Bộ thực hiện các phép toán (execution unit): là nơi diễn ra tất cả các phép tính của FPU. Bao gồm cả việc chuyển đổi từ mã hóa số thập phân sang nhị phân và ngược lại.
- Bộ đệm (buffer): chứa dữ liệu khi bộ xử lý đang thực hiện các phép toán. Đảm bảo không có bất kỳ độ trễ nào xảy ra trong quá trình xử lý.
- Bộ nạp dữ liệu (load/store unit): lấy dữ liệu từ RAM hoặc các thiết bị ngoại vi khác. Chẳng hạn như ổ cứng hoặc mạng và đưa chúng vào FPU.
Ứng dụng của Floating Point Unit
FPU chính là tâm điểm của các ứng dụng cần khả năng tính toán mạnh mẽ: đồ họa máy tính, machine learning,…
- Trong lĩnh vực đồ họa máy tính: FPU giúp thực hiện những phép toán đồ họa phức tạp mà các CPU thông thường không thể thực hiện được. Nhờ FPU, các hệ thống máy tính giờ đây có thể tạo ra hình ảnh 3D rất chân thực, tạo nên những trò chơi điện tử, phim hoạt hình, các ứng dụng thực tế ảo với chất lượng đồ họa ngày càng tốt hơn.
- Trong lĩnh vực machine learning: một phần lớn các thuật toán đều sử dụng số thực và cần thực hiện hàng tỉ phép toán trên mỗi giây. Nếu không có FPU, việc xử lý số lượng dữ liệu lớn này sẽ trở nên bất khả thi.
Chương trình kiểm tra liệu máy tính có FPU không?
Thuật toán: Các byte địa chỉ 0:410h của vùng dữ liệu ROM BIOS có chứa các thông tin liên quan đến FPU:
x |
byte thứ 2 chính và ô địa chỉ chứa thông tin về FPU.
Code Assembly:
INCLUDE lib1.asm .MODEL small .STACK 100h .DATA m1 db 13,10,'LIEU MAY TINH CO FPU' db 13,10,' -------- ' db 13,10,'May tinh co FPU khong: $' m2 db 'Khong$' m3 db 'Co$' m4 db 13,10,'Nhan phim bat ky de thoat!$' .CODE PS: mov ax, @data mov ds, ax clrscr ; xoa man hinh HienString m1 ; hien thong tin m1 int 11h ; 0:410h -> AL va 0:411h -> AH shr ah, 2 ; Dua trang thai bit thu 6 -> CF jc L1 ; CF=1 (co FPU) thi nhay den L1, HienString m2 ; con CF=0 thi thong bao m2 ('Khong') jmp Exit L1: HienString m3 Exit: HienString m4 mov ah, 1 int 21h mov ah, 4ch int 21h END PS
Kết quả chạy chương trình:
Tổng kết lại, FPU là một thành phần không thể thiếu của mọi hệ thống máy tính. Nó giúp máy tính có khả năng xử lý các phép toán với số thực một cách hiệu quả. Hy vọng bài viết sẽ giúp bạn có thêm kiến thức về máy tính. Cảm ơn bạn đã tham khảo bài viết.