BỘ ĐỒNG XỬ LÍ TOÁN HỌC 8087

Một phần của tài liệu Bài giảng kỹ thuật vi xử lý (Trang 27 - 28)

Như được trình bày trong phần trước, 8086 không có các thao tác với số thực. Để làm việc này, hệ vi xử lý cần có các bộ đồng xử lý toán học 80x87 hỗ trợ CPU trong việc tính toán các biểu thức dùng dấu chấm động như cộng, trừ, nhân, chia các số dấu chấm động, căn thức, logarit, … Chúng cho phép xử lý các phép toán này nhanh hơn nhiều so với 8086.

8087 gồm một đơn vị điều khiển (CU – Control Unit) dùng để điều khiển buýt và một đơn vị số học (NU – Numerical Unit) để thực hiện các phép toán dấu chấm động trong các mạch tính lũy thừa (exponent module) và mạch tính phần định trị (mantissa module). Khác với 8086, thay vì dùng các thanh ghi rời rạc là một ngăn xếp thanh ghi.

Đơn vị điều khiển nhận và giải mã lệnh, đọc và ghi các toán hạng, chạy các lệnh điều khiển riêng của 8087. Do đó, CU có thể đồng bộ với CPU trong khi NU đang thực hiện các công việc tính toán. CU bao gồm bộ điều khiển buýt, bộ đệm dữ liệu và hàng lệnh.

Ngăn xếp thanh ghi có tất cả 8 thanh ghi từ R0 - R7, mỗi thanh ghi dài 80 bít trong đó bít 79 là bít dấu, bít 64 - 78 dùng cho số mũ và phần còn lại là phần định trị. Dữ liệu truyền giữa các thanh ghi này được thực hiện rất nhanh do 8087 có độ rộng buýt dữ liệu là 84 bít và không cần phải biến đổi định dạng. Ngay sau khi khởi động lại PC, bộ đồng

xử lý kiểm tra xem nó có được nối với PC hay không bằng các đường BHE /S7. Bộ đồng xử lý 8087 sẽ điều chỉnh độ dài của hàng lệnh cho phù hợp với CPU.

Một phần của tài liệu Bài giảng kỹ thuật vi xử lý (Trang 27 - 28)