Bộ xử lý dữ liệu số 8087
Bộ xử lý dữ liệu số 8087 còn được gọi là Math co-processor, Numeric processor extension và Floating point unit. Đây là bộ đồng xử lý toán học đầu tiên được Intel thiết kế để ghép nối với 8086/8088 giúp tính toán dễ dàng hơn và nhanh hơn.
Khi các lệnh được bộ xử lý 8086/8088 xác định, thì nó sẽ được phân bổ cho bộ đồng xử lý 8087 để thực thi thêm.
Các kiểu dữ liệu được hỗ trợ bởi 8087 là -
- Số nguyên nhị phân
- Số thập phân đóng gói
- Số thực
- Định dạng thực tạm thời
Các tính năng nổi bật nhất của bộ xử lý dữ liệu số 8087 như sau:
Nó hỗ trợ dữ liệu kiểu số nguyên, kiểu float và kiểu thực khác nhau, từ 2-10 byte.
Tốc độ xử lý cao đến mức nó có thể tính phép nhân hai số thực 64 bit trong ~ 27 µs và cũng có thể tính căn bậc hai trong ~ 35 µs.
Nó tuân theo tiêu chuẩn dấu chấm động IEEE.
8087 kiến trúc
Kiến trúc 8087 được chia thành hai nhóm, tức là, Control Unit (CU) và Numeric Extension Unit (NEU).
Các control unit xử lý tất cả các giao tiếp giữa bộ xử lý và bộ nhớ chẳng hạn như nó nhận và giải mã các lệnh, đọc và ghi các toán hạng bộ nhớ, duy trì hàng đợi song song, v.v. Tất cả các lệnh của bộ đồng xử lý là lệnh ESC, tức là chúng bắt đầu bằng 'F', chỉ bộ đồng xử lý thực hiện các lệnh ESC trong khi các lệnh khác được bộ vi xử lý thực thi.
Các numeric extension unitxử lý tất cả các lệnh của bộ xử lý số như lệnh số học, logic, siêu việt và truyền dữ liệu. Nó có 8 ngăn xếp thanh ghi, chứa các toán hạng cho các lệnh và kết quả của chúng.
Kiến trúc của bộ đồng xử lý 8087 như sau:
Mô tả mã pin 8087
Đầu tiên chúng ta hãy xem sơ đồ chân của 8087 -
Danh sách sau đây cung cấp Mô tả Pin của 8087 -
AD0 – AD15 - Đây là các đường địa chỉ / dữ liệu được ghép kênh theo thời gian, mang địa chỉ trong chu kỳ đồng hồ đầu tiên và dữ liệu từ chu kỳ đồng hồ thứ hai trở đi.
A19 / S6 – A16/S- Các dòng này là dòng địa chỉ / trạng thái được ghép kênh theo thời gian. Nó hoạt động theo cách tương tự với các chân tương ứng của 8086. S 6 , S 4 và S3 có mức cao vĩnh viễn, trong khi S 5 ở mức thấp vĩnh viễn.
$\overline{BHE}$/S7- Trong chu kỳ xung nhịp đầu tiên, $ \ overline {BHE} $ / S 7 được sử dụng để bật dữ liệu lên byte cao hơn của bus dữ liệu 8086 và sau đó hoạt động như dòng trạng thái S 7 .
QS1, QS0 - Đây là các tín hiệu đầu vào trạng thái hàng đợi cung cấp trạng thái của hàng đợi lệnh, điều kiện của chúng như được hiển thị trong bảng sau -
QS 0 | QS 1 | Trạng thái |
---|---|---|
0 | 0 | Không hoạt động |
0 | 1 | Byte đầu tiên của mã opcode từ hàng đợi |
1 | 0 | Dọn sạch hàng đợi |
1 | 1 | Byte tiếp theo từ hàng đợi |
INT - Là tín hiệu ngắt, tín hiệu này thay đổi thành mức cao khi nhận được một ngoại lệ chưa được che giấu trong quá trình thực thi.
BUSY - Là tín hiệu đầu ra, khi ở mức cao nó báo trạng thái bận cho CPU.
READY - Là tín hiệu đầu vào dùng để thông báo cho bộ đồng xử lý biết bus đã sẵn sàng nhận dữ liệu hay chưa.
RESET - Là tín hiệu đầu vào được sử dụng để từ chối các hoạt động bên trong của bộ đồng xử lý và chuẩn bị cho việc thực thi tiếp bất cứ khi nào CPU yêu cầu.
CLK - Đầu vào CLK cung cấp thời gian cơ bản cho hoạt động của bộ xử lý.
VCC - Là tín hiệu cấp nguồn, cần nguồn + 5V cung cấp cho hoạt động của mạch.
S0, S1, S2- Đây là các tín hiệu trạng thái cung cấp trạng thái hoạt động được Bộ điều khiển Bus 8087 sử dụng để tạo ra các tín hiệu điều khiển bộ nhớ và I / O. Các tín hiệu này hoạt động trong chu kỳ đồng hồ thứ tư.
S 2 | S 1 | S 0 | Trạng thái hàng đợi |
---|---|---|---|
0 | X | X | Không sử dụng |
1 | 0 | 0 | Không sử dụng |
1 | 0 | 1 | Đọc bộ nhớ |
1 | 1 | 0 | Ghi nhớ |
1 | 1 | 1 | Bị động |
RQ/GT1 & RQ/GT0 - Đây là những Request/Grant tín hiệu được sử dụng bởi bộ xử lý 8087 để giành quyền kiểm soát bus từ bộ xử lý chủ 8086/8088 để chuyển toán hạng.