8087 ตัวประมวลผลข้อมูลตัวเลข
8087 ตัวประมวลผลข้อมูลตัวเลขเป็นที่รู้จักกันในชื่อ Math co-processor, Numeric processor extension และ Floating point unit. นับเป็นโปรเซสเซอร์ร่วมทางคณิตศาสตร์ตัวแรกที่ออกแบบโดย Intel เพื่อจับคู่กับ 8086/8088 ทำให้การคำนวณง่ายขึ้นและเร็วขึ้น
เมื่อคำสั่งถูกระบุโดยโปรเซสเซอร์ 8086/8088 แล้วคำสั่งนั้นจะถูกกำหนดให้กับโปรเซสเซอร์ร่วม 8087 เพื่อดำเนินการต่อไป
ชนิดข้อมูลที่ 8087 รองรับ ได้แก่ -
- จำนวนเต็มไบนารี
- ตัวเลขทศนิยมที่บรรจุ
- ตัวเลขจริง
- รูปแบบจริงชั่วคราว
คุณสมบัติที่โดดเด่นที่สุดของตัวประมวลผลข้อมูลตัวเลข 8087 มีดังต่อไปนี้ -
รองรับข้อมูลประเภทจำนวนเต็มจำนวนลอยและประเภทจริงตั้งแต่ 2-10 ไบต์
ความเร็วในการประมวลผลสูงมากจนสามารถคำนวณการคูณของจำนวนจริง 64 บิตสองจำนวนใน ~ 27 µs และยังสามารถคำนวณสแควร์รูทได้ใน ~ 35 µs
เป็นไปตามมาตรฐานจุดลอยตัวของ IEEE
8087 สถาปัตยกรรม
8087 สถาปัตยกรรมแบ่งออกเป็นสองกลุ่มคือ Control Unit (CU) และ Numeric Extension Unit (NEU)
control unit จัดการการสื่อสารทั้งหมดระหว่างโปรเซสเซอร์และหน่วยความจำเช่นรับและถอดรหัสคำสั่งอ่านและเขียนตัวถูกดำเนินการหน่วยความจำรักษาคิวแบบขนาน ฯลฯ คำสั่งของตัวประมวลผลร่วมทั้งหมดเป็นคำสั่ง ESC กล่าวคือขึ้นต้นด้วย 'F' ตัวประมวลผลร่วมเท่านั้น ดำเนินการคำสั่ง ESC ในขณะที่คำสั่งอื่น ๆ ดำเนินการโดยไมโครโปรเซสเซอร์
numeric extension unitจัดการคำสั่งตัวประมวลผลตัวเลขทั้งหมดเช่นคำแนะนำทางคณิตศาสตร์ตรรกะยอดเยี่ยมและการถ่ายโอนข้อมูล มีสแต็กรีจิสเตอร์ 8 สแต็กซึ่งมีตัวถูกดำเนินการสำหรับคำแนะนำและผลลัพธ์
สถาปัตยกรรมของตัวประมวลผลร่วม 8087 มีดังต่อไปนี้ -
8087 คำอธิบายพิน
ก่อนอื่นให้เราดูที่แผนภาพพินของ 8087 -
รายการต่อไปนี้แสดงคำอธิบายพินของ 8087 -
AD0 – AD15 - นี่คือที่อยู่ / สายข้อมูลแบบมัลติเพล็กซ์ซึ่งมีที่อยู่ระหว่างรอบนาฬิกาแรกและข้อมูลจากรอบนาฬิกาที่สองเป็นต้นไป
A19 / S6 – A16/S- เส้นเหล่านี้คือเส้นเวลาที่อยู่ / สถานะแบบมัลติเพล็กซ์ มันทำงานในลักษณะเดียวกับหมุดที่สอดคล้องกันของ 8086 S 6 , S 4และ S3 สูงอย่างถาวรในขณะที่ S 5อยู่ในระดับต่ำอย่างถาวร
$\overline{BHE}$/S7- ในระหว่างรอบสัญญาณนาฬิกาแรก $ \ overline {BHE} $ / S 7จะใช้ในการเปิดใช้งานข้อมูลไปยังไบต์สูงของบัสข้อมูล 8086 และหลังจากนั้นผลงานที่เป็นบรรทัดสถานะ S 7
QS1, QS0 - นี่คือสัญญาณอินพุตสถานะคิวซึ่งให้สถานะของคิวคำสั่งเงื่อนไขดังแสดงในตารางต่อไปนี้ -
คำพูดคำจา0 | คำพูดคำจา1 | สถานะ |
---|---|---|
0 | 0 | ไม่มีการดำเนินการ |
0 | 1 | ไบต์แรกของ opcode จากคิว |
1 | 0 | ล้างคิว |
1 | 1 | ไบต์ที่ตามมาจากคิว |
INT - เป็นสัญญาณขัดจังหวะซึ่งจะเปลี่ยนเป็นระดับสูงเมื่อได้รับข้อยกเว้นที่ไม่ได้มาสก์ระหว่างการดำเนินการ
BUSY - เป็นสัญญาณเอาท์พุตเมื่อสูงแสดงว่า CPU ไม่ว่าง
READY - เป็นสัญญาณอินพุตที่ใช้เพื่อแจ้งให้โปรเซสเซอร์ร่วมทราบว่าบัสพร้อมที่จะรับข้อมูลหรือไม่
RESET - เป็นสัญญาณอินพุตที่ใช้เพื่อปฏิเสธกิจกรรมภายในของตัวประมวลผลร่วมและเตรียมสำหรับการดำเนินการเพิ่มเติมเมื่อใดก็ตามที่ CPU ต้องการ
CLK - อินพุต CLK มีการกำหนดเวลาพื้นฐานสำหรับการทำงานของโปรเซสเซอร์
VCC - เป็นสัญญาณแหล่งจ่ายไฟซึ่งต้องใช้แหล่งจ่ายไฟ + 5V สำหรับการทำงานของวงจร
S0, S1, S2- นี่คือสัญญาณสถานะที่ระบุสถานะของการทำงานซึ่งใช้โดย Bus Controller 8087 เพื่อสร้างหน่วยความจำและสัญญาณควบคุม I / O สัญญาณเหล่านี้จะทำงานในช่วงรอบนาฬิกาที่สี่
ส2 | ส1 | S 0 | สถานะคิว |
---|---|---|---|
0 | X | X | ไม่ได้ใช้ |
1 | 0 | 0 | ไม่ได้ใช้ |
1 | 0 | 1 | อ่านหน่วยความจำ |
1 | 1 | 0 | เขียนหน่วยความจำ |
1 | 1 | 1 | เรื่อย ๆ |
RQ/GT1 & RQ/GT0 - นี่คือไฟล์ Request/Grant สัญญาณที่ใช้โดยโปรเซสเซอร์ 8087 เพื่อควบคุมบัสจากโฮสต์โปรเซสเซอร์ 8086/8088 สำหรับการถ่ายโอนตัวถูกดำเนินการ