สำรวจซิลิคอนไดของโปรเซสเซอร์ Intel 386
(righto.com)- Intel 386 ขยาย x86 ไปสู่ สถาปัตยกรรม 32 บิต รองรับเซกเมนต์ขนาด 4GB และหน่วยความจำเสมือน และกลายเป็นจุดเปลี่ยนที่ทำให้สถานะของ x86 และ Intel แข็งแกร่งในอุตสาหกรรมพีซีหลังจากนั้น
- ภาพถ่ายไดแสดงให้เห็นว่า 386 ไม่ได้เป็นเพียงการย่อขนาดจาก CHMOS-III 1.5µm ไปเป็น CHMOS-IV 1µm แบบตรงไปตรงมา แต่ยังเปลี่ยนไปมากถึงระดับทิศทางของยูนิตถอดรหัสคำสั่ง ความหนาแน่นของ standard cell และการจัดวาง bond pad
- 386 SX ยังคงโครงสร้างภายในแบบ 32 บิตไว้ แต่ใช้ บัส 16 บิต และจำนวนขาที่น้อยลง ทำให้ใช้แพ็กเกจต้นทุนต่ำได้ และในปี 1988 Intel ขายรุ่น SX ที่ราคา 219 ดอลลาร์ ซึ่งต่ำกว่ารุ่น DX อย่างน้อย 100 ดอลลาร์
- 386 SL เป็นการขยายแบบ SuperSet สำหรับโน้ตบุ๊กพีซี โดยรวมตัวควบคุมบัส ISA การจัดการพลังงาน ตัวควบคุมแคชภายนอก และตัวควบคุมหน่วยความจำ เข้ากับคอร์ 386 และมีทรานซิสเตอร์รวม 855,000 ตัว
- 386 ถูกออกแบบโดยใช้ทั้ง CAD แบบอัตโนมัติ การจำลอง RTL, standard cell และ datapath ที่วางด้วยมือ และผ่านทั้งความล้มเหลวของซิลิคอนรุ่นแรกกับบั๊กการคูณ 32 บิต ก่อนจะพา Intel ผ่านการเปลี่ยนผ่านทั้งด้านเทคโนโลยีและตลาด
เหตุใด 386 จึงเป็นจุดเปลี่ยนของการประมวลผลสมัยใหม่
- Intel 386 ที่เปิดตัวในปี 1985 ไม่ได้เป็นแค่ก้าวถัดไปของตระกูล x86 แต่เป็น ชิปที่เปลี่ยนโครงสร้าง ของอุตสาหกรรมพีซีสมัยใหม่
- มันพา x86 ไปสู่ 32 บิต และกำหนดสถาปัตยกรรมการประมวลผลที่ครองโลกในช่วงปลายศตวรรษที่ 20
- ตอกย้ำความสำคัญของ x86 ไม่ใช่แค่กับ Intel แต่กับอุตสาหกรรมคอมพิวเตอร์ทั้งหมด
- เป็นจุดเริ่มให้การควบคุมตลาดพีซีของ IBM สิ้นสุดลง และทำให้ Compaq กลายเป็นผู้นำด้านสถาปัตยกรรม
- 80386 ก้าวกระโดดครั้งใหญ่จาก 286
- ใช้งานสถาปัตยกรรม 32 บิต
- เพิ่มชุดคำสั่งมากขึ้น
- รองรับเซกเมนต์ขนาด 4GB
- มีทรานซิสเตอร์ 285,000 ตัว หรือราว 10 เท่าของ 8086 ดั้งเดิม
- โครงสร้างภายในถือว่าซับซ้อนมากตามมาตรฐานยุค 1980
- มี 8 หน่วยลอจิกที่ทำงานแบบไปป์ไลน์และทำงานได้อย่างอิสระเป็นส่วนใหญ่
- datapath ประกอบด้วย ALU, barrel shifter และรีจิสเตอร์ เป็นบล็อกสี่เหลี่ยมผืนผ้าที่เป็นระเบียบกว้าง 32 บิต
- microcode ROM แยกคำสั่งภาษาเครื่องออกเป็น micro-instruction ระดับต่ำ
- Control Unit ประกอบด้วย microcode ROM และวงจรเอนจินไมโครโค้ด
บล็อกฟังก์ชันหลักที่มองเห็นได้บนได
- Data Unit ที่มุมล่างซ้ายรับหน้าที่คำนวณเลขคณิต/ตรรกะและการย้ายข้อมูล
- ALU ทำงานคำนวณเลขคณิตและตรรกะ
- barrel shifter ใช้เลื่อนข้อมูล
- รีจิสเตอร์ใช้เก็บข้อมูล
- datapath และวงจรด้านซ้ายที่ควบคุมมันรวมกันเป็น Data Unit
- Instruction Decode Unit แยกรูปแบบคำสั่งที่ซับซ้อนของ 386
- แยกองค์ประกอบของคำสั่ง
- สร้างตัวชี้ไมโครโค้ดที่ใช้ทำงานตามคำสั่งนั้น
- instruction queue เก็บคำสั่งที่ถอดรหัสแล้วได้ 3 คำสั่ง
- เพื่อเพิ่มประสิทธิภาพ Prefetch Unit จะอ่านคำสั่งจากหน่วยความจำล่วงหน้าก่อนถึงเวลาที่ต้องใช้
- คำสั่งที่อ่านมาจะถูกเก็บใน prefetch queue ขนาด 16 ไบต์
- การจัดการหน่วยความจำรองรับทั้ง segmented memory และ virtual memory
- Segment Unit แปลง logical address เป็น linear address
- Paging Unit แปลง linear address เป็น physical address
- segment descriptor cache และ page cache (TLB) เก็บข้อมูลของเซกเมนต์และเพจ
- 386 ไม่มี instruction cache หรือ data cache บนชิป
- Bus Interface Unit ที่มุมขวาบนรับหน้าที่สื่อสารระหว่าง 386 กับหน่วยความจำและอุปกรณ์ภายนอก
- บนไดของ 386 DX มีอักษรย่อของผู้ออกแบบอยู่มากผิดสังเกต
- ดูเหมือนว่าอักษรย่อเหล่านี้ถูกวางไว้ข้างยูนิตที่แต่ละคนรับผิดชอบ แต่ชื่อส่วนใหญ่ไม่สามารถระบุได้
เลย์เอาต์ที่เปลี่ยนไปเมื่อย่อจาก 1.5µm เป็น 1µm
- เดิม 386 ผลิตด้วยกระบวนการ CHMOS-III ที่มีขนาดฟีเจอร์ 1.5µm
- ในที่นี้ขนาดฟีเจอร์หมายถึง gate channel length ของทรานซิสเตอร์โดยเฉพาะ
- ราวปี 1987 Intel ย้ายไปใช้กระบวนการ CHMOS-IV ที่มีขนาดฟีเจอร์ 1µm
- การเปลี่ยนนี้ทำให้ขนาดไดของ 386 เล็กลงอย่างมาก
- ขนาดไดลดลง 60%
- ผลิตไดได้มากขึ้นต่อเวเฟอร์ จึงลดต้นทุนการผลิตลงมาก
- การย่อกระบวนการผลิตไม่ใช่แค่การสเกลเชิงกลแบบตรง ๆ
- บนไดขนาดเล็ก Instruction Decode Unit และ Protection Unit ตรงกลางด้านขวาถูกวางในแนวนอนแทนแนวตั้ง
- ลอจิกแบบ standard cell มีความหนาแน่นสูงขึ้นมาก และน่าจะเป็นผลจากอัลกอริทึมการจัดวางที่ดีขึ้น
- datapath ที่เดิมก็ถูกปรับแต่งมาอย่างมากอยู่แล้ว จึงยังคงรูปแบบเดิมเป็นหลักแต่มีขนาดเล็กลง
- bond pad กลายเป็นข้อจำกัดระหว่างการย่อขนาด
- pad ตามขอบต้องคงขนาดเดิมไว้เพื่อให้ต่อ bond wire ได้
- เพื่อให้ pad พอดีกับไดที่เล็กลง จึงต้องจัดวาง pad จำนวนมากแบบสลับเหลื่อมกัน
- เมื่อแต่ละส่วนของไดถูกย่อด้วยสัดส่วนที่ต่างกัน บล็อกต่าง ๆ จึงไม่แนบแน่นเหมือนเดิม และเกิดพื้นที่สูญเปล่าที่ด้านล่างของได
- ไดรุ่นใหม่มีสลัก
80C386Iและมีปีลิขสิทธิ์ 1985, 1987- ยังไม่ชัดเจนว่า
CและIหมายถึงอะไร - อักษรย่อจำนวนมากที่มีอยู่บนได 386 เดิมถูกตัดออก
- ยังไม่ชัดเจนว่า
- แนวทางการย่อโปรเซสเซอร์ไปสู่กระบวนการผลิตใหม่ แล้วออกแบบไมโครสถาปัตยกรรมใหม่ให้เหมาะกับกระบวนการนั้น กลายเป็นกลยุทธ์ tick-tock ของ Intel ในเวลาต่อมา
386 SX: 386 ราคาประหยัดที่ลดลงด้วยบัส 16 บิต
- Intel เปิดตัว 386 SX ซึ่งเป็น 386 รุ่นราคาประหยัดในปี 1988
- 386 SX ใช้บัส 16 บิตแทนบัส 32 บิต
- สิ่งนี้ชวนให้นึกถึงความสัมพันธ์ระหว่าง 8086 ที่มีบัส 16 บิตกับ 8088 ที่มีบัส 8 บิต
- เมื่อค่าใช้จ่ายของได 386 เดิมลดลง ต้นทุนแพ็กเกจก็ขึ้นมาใกล้เคียงกับต้นทุนได
- การลดจำนวนขาทำให้สามารถใส่ 386 SX ลงในแพ็กเกจพลาสติกราคา 1 ดอลลาร์ได้
- ส่งผลให้ขายได้ในราคาที่ต่ำลงมาก
- SX กลายเป็นเครื่องมือของ Intel สำหรับ แบ่งตลาด
- ย้ายลูกค้าราคาประหยัดจาก 286 ไปสู่ 386 SX
- 386 เดิมถูกเรียกว่า DX และยังคงราคาขายที่สูงกว่าไว้
- ในปี 1988 Intel ขาย 386 SX ที่ 219 ดอลลาร์ ซึ่งต่ำกว่า 386 DX อย่างน้อย 100 ดอลลาร์
- คอมพิวเตอร์สำเร็จรูปที่ใช้ SX อาจถูกกว่ารุ่น DX ที่ใกล้เคียงกันถึง 1,000 ดอลลาร์
- เดิม 386 ถูกออกแบบให้รองรับทั้งบัส 16 บิตและ 32 บิตแบบผสม เพื่อให้เข้ากันได้กับอุปกรณ์ต่อพ่วง 16 บิตรุ่นเก่า
- หากจำเป็น มันสามารถสลับได้แบบไดนามิกในแต่ละไซเคิล
- เพราะมีการรองรับ 16 บิตอยู่แล้ว จึงแทบไม่ต้องออกแบบเพิ่มมากนักสำหรับ 386 SX
- ต่างจาก 8088 ที่ต้องออกแบบ bus interface unit ของ 8086 ใหม่
- 386 SX ก็ผลิตทั้งบนกระบวนการ 1.5µm และ 1µm
- เนื่องจากมีขาน้อยลง จึงมี bond pad น้อยลงด้วย และ pad แบบสลับเหลื่อมที่เห็นใน 386 DX รุ่นย่อขนาดก็หายไป
- ด้านล่างของชิปยังต่างออกไป เพราะมีการเดินสายเข้าไปในพื้นที่สูญเปล่าจำนวนมากที่มีบน 386 DX
- ไดขนาดใหญ่มีสลัก
80P9ซึ่งสะท้อนชื่อภายในของ Intel คือP9 - ไดรุ่นย่อขนาดใช้สลัก
80386SXซึ่งเข้าใจได้ง่ายกว่า
386 SL: 386 แบบบูรณาการที่มุ่งสู่โน้ตบุ๊ก
- 386 SL เป็นรุ่นขยายขนาดใหญ่ของ 386 ที่เปิดตัวในปี 1990
- รวมคอร์ 386 เข้ากับฟังก์ชันอื่น ๆ ไว้ในชิปเดียว เพื่อประหยัดพลังงานและพื้นที่
- มุ่งเป้าไปที่ตลาดโน้ตบุ๊กพีซีภายใต้ชื่อ
SuperSet
- 386 SL รวมฟังก์ชันรอบข้างไว้หลายอย่าง
- ตัวควบคุมบัส ISA
- ลอจิกจัดการพลังงาน
- ตัวควบคุมแคชสำหรับแคชภายนอก
- ตัวควบคุมหน่วยความจำหลัก
- บนได คอร์ 386 เองกินพื้นที่ประมาณ 1/4 ของไดทั้งหมดของ SL
- คอร์ 386 ใกล้เคียงกับ 386 DX มาตรฐานมาก แต่มีความต่างที่มองเห็นได้บางจุด
- bond pad และ pin driver ถูกเอาออกจากคอร์
- วงจรบางส่วนก็ถูกเปลี่ยนด้วย
- คอร์ของ 386 SL รองรับ System Management Mode
- หยุดการทำงานปกติชั่วคราว
- ทำให้สามารถจัดการพลังงานและงานฮาร์ดแวร์ระดับต่ำอื่น ๆ ได้นอกเหนือจากระบบปฏิบัติการปกติ
- ปัจจุบัน System Management Mode เป็นองค์ประกอบมาตรฐานของตระกูล x86 แต่ถูกนำมาใช้ครั้งแรกใน 386 SL
- 386 SL มีทรานซิสเตอร์รวมทั้งสิ้น 855,000 ตัว
- มากกว่า 386 DX ปกติถึงกว่า 3 เท่า
- cache tag RAM ใช้พื้นที่และทรานซิสเตอร์จำนวนมาก
- ตัวข้อมูลแคชจริงอยู่ภายนอก ส่วนวงจรบนชิปมีหน้าที่จัดการแคช
- องค์ประกอบใหม่จำนวนมากถูกสร้างด้วยลอจิกแบบ standard cell ซึ่งมองเห็นได้ชัดจากแถบวงจรที่สม่ำเสมอในตัวควบคุมบัส ISA
ภูมิทัศน์อุตสาหกรรมพีซีก่อนและหลัง 386
- ตอนนี้การที่ Intel ขยาย x86 จาก 286 ไปเป็น 386 พร้อมคงความเข้ากันได้แบบย้อนหลังอาจดูเป็นเรื่องธรรมดา แต่ในเวลานั้นไม่ได้เป็นเส้นทางที่ชัดเจน
- ช่วงปลายทศวรรษ 1970 Intel ตัดสินใจสร้างโปรเซสเซอร์
micromainframe- เป็นโปรเซสเซอร์ 32 บิตระดับสูงสำหรับการเขียนโปรแกรมเชิงวัตถุ
- พยายามนำวัตถุ การสื่อสารระหว่างโปรเซส และการป้องกันหน่วยความจำไปไว้ใน CPU
- โครงการมีความทะเยอทะยานมากเกินไปจนกำหนดการล่าช้า
- Intel จึงสร้าง 8086 แบบ 16 บิตในปี 1978 เป็นโปรเซสเซอร์ชั่วคราวสำหรับขายระหว่างรอโปรเซสเซอร์ตัวนั้นพร้อม
- IBM เลือกใช้ Intel 8088 ใน IBM PC ปี 1981
- ตอนนั้น Intel ไม่ได้ตระหนักถึงความสำคัญของการตัดสินใจนี้
- Intel กำลังมุ่งความสนใจไปที่ iAPX 432 ซึ่งเป็นโปรเซสเซอร์ micromainframe ที่เปิดตัวในปี 1981
- iAPX 432 กลายเป็นผลงานล้มเหลวที่ New York Times เรียกว่า “หนึ่งในกรณีหายนะครั้งใหญ่ของคอมพิวเตอร์สมัยใหม่”
- ต่อมา Intel นำแนวคิดของ iAPX 432 ไปสร้างใหม่บนสถาปัตยกรรม RISC และพัฒนาเป็น i960
- โครงการ 386 ซึ่งเป็นรุ่นถัดจาก 286 มีลำดับความสำคัญต่ำภายใน Intel
- Bill Gates และคนอื่น ๆ เรียกการออกแบบ 286 ว่า “brain-damaged”
- IBM เองก็ไม่ได้กระตือรือร้นกับ 286
- ทีม 386 รู้สึกว่าโครงการนี้เหมือน
stepchildและภายในองค์กรก็ถูกเสนอให้เป็นเพียงมาตรการชั่วคราวอีกตัว ไม่ใช่โปรเซสเซอร์ 32 บิต “ทางการ” ของ Intel
- ทีม 386 เสนอแนวทางขยาย 286 ไปเป็นสถาปัตยกรรม 32 บิตสองแบบ
- แบบแรกเป็นแนวทางขั้นต่ำ โดยขยายรีจิสเตอร์และพื้นที่แอดเดรสเดิมให้เป็น 32 บิต
- แบบที่สองทะเยอทะยานกว่า โดยเพิ่มรีจิสเตอร์มากขึ้นและเพิ่มชุดคำสั่ง 32 บิตที่แตกต่างจากชุดคำสั่ง 16 บิตของ 8086 อย่างมาก
- ในเวลานั้น IBM PC ยังถือว่าใหม่พอสมควร และความสำคัญของฐานซอฟต์แวร์ที่ติดตั้งอยู่แล้วยังไม่ชัดเจน
- ความเข้ากันได้ของซอฟต์แวร์ถูกมองว่าไม่ใช่สิ่งจำเป็น แต่เป็นคุณสมบัติที่มีก็ดี
- หลังการถกเถียงมากมายราวปลายปี 1982 จึงเลือกแนวทางขั้นต่ำที่ยังคงความเข้ากันได้กับ 286 และรองรับทั้ง segmentation และ flat addressing
- ในปี 1984 อุตสาหกรรมพีซีเติบโตอย่างรวดเร็ว และ 286 ก็พิสูจน์แล้วว่าประสบความสำเร็จ
- สถานะของโครงการ 386 ภายในองค์กรเปลี่ยนจาก
stepchildเป็นking - Intel เปิดตัว 386 ในปี 1985
- ปีเดียวกันนั้น ภาวะซบเซาทั่วอุตสาหกรรมเซมิคอนดักเตอร์ทำให้กำไรสุทธิของ Intel “แทบหายไป”
- ท่ามกลางการแข่งขันกับญี่ปุ่น Intel ถอนตัวจากธุรกิจ DRAM
- หลังจากนั้น 386 ก็กลายเป็นผลิตภัณฑ์ที่เปลี่ยนสถานการณ์ของ Intel
- สถานะของโครงการ 386 ภายในองค์กรเปลี่ยนจาก
Compaq กับ IBM และการเปลี่ยนของมาตรฐานพีซี
- IBM ไม่ได้แสดงความสนใจต่อโปรเซสเซอร์ 386 และเลือกใช้กลยุทธ์ของตนเอง
- เมื่อผู้ผลิตพีซีโคลนเพิ่มขึ้น IBM พยายามทวงคืนสถาปัตยกรรมพีซีและการควบคุมตลาด
- ในปี 1987 IBM เปิดตัวสายผลิตภัณฑ์ PS/2
- PS/2 ใช้ OS/2 แทน Windows และใช้สถาปัตยกรรม Micro Channel แบบกรรมสิทธิ์
- IBM ใช้ทั้งกลยุทธ์ด้านวิศวกรรมและกฎหมายเพื่อทำให้การสร้างโคลน PS/2 ช้า แพง และเสี่ยง
- Compaq ไม่ได้เดินตาม IBM แต่เลือกทิศทางสถาปัตยกรรมของตนเอง
- ในเดือนกันยายน 1986 บริษัทเปิดตัวสายผลิตภัณฑ์ระดับไฮเอนด์ Deskpro 386
- กลายเป็นบริษัทใหญ่รายแรกที่ผลิตคอมพิวเตอร์บนพื้นฐาน 386
- Deskpro 386 model 40 มาพร้อมฮาร์ดไดรฟ์ 40MB และวางขายที่ราคา 6,449 ดอลลาร์
- คิดเป็นมูลค่าปัจจุบันมากกว่า 15,000 ดอลลาร์
- การตัดสินใจของ Compaq ประสบความสำเร็จ และ Deskpro 386 ก็ได้รับความนิยมอย่างมาก
- โดยรวมแล้วสายผลิตภัณฑ์ PS/2 ของ IBM ไม่ประสบความสำเร็จและไม่ได้กลายเป็นมาตรฐาน
- แทนที่จะทวงคืนการควบคุมพีซี IBM กลับสูญเสียการควบคุมมาตรฐานพีซีพร้อมกับการเปิดตัวสายระบบ PS/2 ในปี 1987
- IBM ถอนตัวจากตลาดพีซีในปี 2004 โดยขายธุรกิจพีซีให้ Lenovo
- 386 สร้างผลกำไรมหาศาลให้ Intel
- นำไปสู่รายได้รายไตรมาสแตะ 1 พันล้านดอลลาร์เป็นครั้งแรกของ Intel ในปี 1990
- ตอกย้ำความสำคัญของสถาปัตยกรรม x86 ไม่เพียงต่อ Intel แต่ต่ออุตสาหกรรมคอมพิวเตอร์ทั้งหมด
- x86 ครองตลาดมาจนถึงปัจจุบัน
วิธีออกแบบ 386: การผสานระหว่างระบบอัตโนมัติกับงานทำมือ
- กระบวนการออกแบบ 386 แสดงให้เห็นช่วงเวลาที่ Intel กำลังขยายการใช้ ระบบออกแบบอัตโนมัติ และการจำลอง
- ตอนนั้น Intel ตามหลังอุตสาหกรรมในด้านการใช้เครื่องมือ
- ผู้นำโครงการ 386 เห็นว่าหากจะสร้างชิปซับซ้อนอย่าง 386 ให้เสร็จตามกำหนด จำเป็นต้องเพิ่มระบบอัตโนมัติมากขึ้น
- จากการลงทุนอย่างมากในเครื่องมืออัตโนมัติ ทีม 386 จึงออกแบบเสร็จเร็วกว่ากำหนด
- นอกจากเครื่องมือ CAD แบบกรรมสิทธิ์แล้ว ยังใช้เครื่องมือ Unix มาตรฐานอย่าง
sed,awk,grep,makeอย่างมากในการจัดการฐานข้อมูลการออกแบบ
- 386 มีโจทย์การออกแบบใหม่มากกว่า 286
- เป็นชิปที่ซับซ้อนกว่ามาก โดยมีจำนวนทรานซิสเตอร์เพิ่มเป็นสองเท่า
- 286 และโปรเซสเซอร์ก่อนหน้านั้นใช้ทรานซิสเตอร์ NMOS แต่ 386 เปลี่ยนมาใช้ CMOS ซึ่งยังใช้อยู่ในปัจจุบัน
- กระบวนการ CMOS ของ Intel คือ CHMOS-III และมีขนาดฟีเจอร์ 1.5µm
- CHMOS-III เป็นกระบวนการที่ขยาย HMOS-III ซึ่งใช้กับ 286 ให้เป็นแบบ CMOS
- CHMOS มีชั้นโลหะให้ 2 ชั้นแทน 1 ชั้น จึงเปลี่ยนวิธีเดินสายสัญญาณภายในชิปและเทคนิคการออกแบบ
- CHMOS-III มีปัญหา forbidden gap
- ชั้นโลหะที่สอง M2 สามารถอยู่ใกล้หรือไกลจากชั้นโลหะแรก M1 ได้มาก
- แต่หากอยู่ที่ระยะกึ่งกลางจะเกิดปัญหา และช่วงนี้เรียกว่า forbidden gap
- หากชั้นโลหะตัดกันใน forbidden gap โลหะอาจแตกร้าวหรือเกิด metal whisker จนสัมผัสกัน ทำให้ชิปล้มเหลวได้
- ปัญหานี้ทำให้ผลผลิตของ 386 ลดลง
RTL, ไมโครโค้ด, standard cell และ datapath
- การออกแบบ 386 ดำเนินไปพร้อมกันทั้งแบบจากบนลงล่างและจากล่างขึ้นบน
- จากด้านบน เริ่มต้นจากการกำหนดสถาปัตยกรรม
- จากด้านล่าง ออกแบบ standard cell และวงจรพื้นฐานในระดับทรานซิสเตอร์
- ไมโครโค้ดเป็นองค์ประกอบพื้นฐานที่ใช้ควบคุมชิป
- ออกแบบด้วยเครื่องมือ CAD สองตัวคือแอสเซมเบลอร์และตัวตรวจสอบกฎไมโครโค้ด
- การออกแบบชิประดับสูงสร้างด้วย RTL
- ถูกปรับแต่งจนสามารถแสดงจังหวะเวลาแบบ clock-by-clock และ phase-by-phase ได้
- RTL เขียนด้วย MAINSAIL ซึ่งเป็นภาษาในตระกูล Algol แบบพกพาที่อิงกับ SAIL
- Intel จำลอง RTL ด้วยซิมูเลเตอร์เฉพาะของตนชื่อ Microsim
- Intel มองว่าการจำลอง RTL ของทั้งชิปเป็น “แบบจำลองการจำลองที่สำคัญที่สุดเพียงหนึ่งเดียวของ 80386”
- ในขั้นถัดไป การออกแบบระดับสูงจะถูกแปลงเป็นการออกแบบลอจิกแบบละเอียด
- ใช้ระบบ schematic capture เฉพาะชื่อ Eden เพื่อกำหนดเกตและวงจร
- การจำลองการออกแบบลอจิกต้องใช้เมนเฟรม IBM 3083 โดยเฉพาะ และนำผลไปเปรียบเทียบกับการจำลอง RTL
- จากนั้นในขั้นการออกแบบวงจรจึงสร้างการออกแบบระดับทรานซิสเตอร์
- เลย์เอาต์ของชิปทำบนระบบกราฟิก Applicon และ Eden
- เริ่มจากบล็อกสำคัญอย่าง ALU และ barrel shifter
- TLB ของกลไก paging ต้องอาศัยการออกแบบอย่างสร้างสรรค์เพื่อให้ตรงตามข้อกำหนดด้านประสิทธิภาพ
- binary adder ก็ต้องใช้การออกแบบอย่างสร้างสรรค์เช่นกัน
- random logic ที่ไม่มีโครงสร้างถูกสร้างด้วย standard cell แทนการออกแบบทีละทรานซิสเตอร์เหมือนโปรเซสเซอร์รุ่นก่อน
- standard cell ให้บล็อกวงจรคงที่สำหรับลอจิกเกต ฟลิปฟลอป และฟังก์ชันพื้นฐาน
- ซอฟต์แวร์จะจัดวางเซลล์เป็นแถวเพื่อทำให้คำอธิบายลอจิกที่กำหนดขึ้นมาเป็นจริง
- พื้นที่ระหว่างแถวใช้เป็นช่องทางเดินสายสำหรับเชื่อมต่อระหว่างเซลล์
- เลย์เอาต์ standard cell โดยทั่วไปใช้พื้นที่มากกว่าเลย์เอาต์ที่ออกแบบด้วยมือและปรับให้เหมาะที่สุด แต่สร้างได้เร็วและแก้ไขได้ง่ายกว่า
- Intel ใช้แพ็กเกจวางและเดินสายอัตโนมัติ TimberWolf
- TimberWolf ปรับตำแหน่งเซลล์ให้เหมาะที่สุดด้วย simulated annealing
- วิศวกร 386 คนหนึ่งกล่าวว่า ถ้าฝ่ายบริหารรู้ว่าเครื่องมือหลักของวิธีการนี้ถูกสร้างโดยนักศึกษาปริญญาโท ก็คงไม่อนุญาตให้ใช้
- การทำเลย์เอาต์อัตโนมัติเป็นเรื่องใหม่สำหรับ Intel และช่วยให้กำหนดการดีขึ้น
- แต่ก็ทำให้เกิดความเสี่ยงว่าชิปจะใหญ่เกินไปเพราะความหนาแน่นต่ำ
- datapath ที่สำคัญต่อประสิทธิภาพถูกสร้างด้วย เลย์เอาต์แบบทำมือ
- รีจิสเตอร์, ALU, barrel shifter และหน่วยคูณ/หาร จัดการข้อมูล 32 บิต
- วางเลย์เอาต์ด้วยระบบ CALMA
- ผู้ออกแบบใช้ประโยชน์จากความเป็นระเบียบของวงจรเพื่อปรับรูปร่างและขนาดของทรานซิสเตอร์ให้เหมาะสม และประกอบเข้าหากันเหมือนชิ้นส่วนจิ๊กซอว์
- datapath ทางซ้ายของไดจึงเป็นสี่เหลี่ยมผืนผ้ากว้าง 32 บิตที่เป็นระเบียบ ต่างจากลอจิกซับซ้อนที่อยู่ติดกัน
tapeout, ความล้มเหลวช่วงแรก และบั๊กการคูณ
- หลังจากเลย์เอาต์ระดับทรานซิสเตอร์เสร็จ ระบบ Hierarchical Connectivity Verification System ของ Intel จะตรวจสอบเลย์เอาต์สุดท้าย
- ตรวจว่าตรงกับ schematic หรือไม่
- ตรวจว่าปฏิบัติตามกฎการออกแบบกระบวนการผลิตหรือไม่
- 386 ใช้เวลาเพียง 11 วันจากเลย์เอาต์เสร็จจนถึง tapeout สร้างสถิติความเร็วของ Intel
- tapeout คือขั้นตอนนำข้อมูลชิปบันทึกลงเทปแม่เหล็กและส่งให้บริษัทผู้ผลิตมาสก์
- ทีม tapeout นำโดย Pat Gelsinger ซึ่งต่อมากลายเป็น CEO ของ Intel
- มาสก์แก้วถูกสร้างด้วยกระบวนการลำอิเล็กตรอน
Fab 3ของ Intel ที่ Livermore ผลิตเวเฟอร์ซิลิคอนของ 386
- ซิลิคอนชุดแรกไม่ได้ทำงานถูกต้องตั้งแต่ครั้งแรก
- ทีมลองรันโปรแกรมทดสอบง่าย ๆ ชื่อ
NoOp, NoOp, Haltแต่ล้มเหลว - พวกเขาพบจุดแก้ไขเล็ก ๆ ใน PLA
- โดยไม่ต้องสร้างมาสก์ใหม่ พวกเขาแพตช์มาสก์เดิมด้วย ion milling เพื่อให้ได้เวเฟอร์ชุดใหม่อย่างรวดเร็ว
- เวเฟอร์ชุดนี้ทำงานได้มากพอที่จะเริ่มวงจรยาวของการดีบักและการแก้ไข
- ทีมลองรันโปรแกรมทดสอบง่าย ๆ ชื่อ
- แม้หลังเปิดตัวก็ยังมีปัญหาเหลืออยู่
- โปรเซสเซอร์ 386 รุ่นแรกบางส่วนมี ปัญหาการคูณ 32 บิต
- ภายใต้เงื่อนไขอุณหภูมิ แรงดันไฟ และความถี่บางแบบ ตัวถูกคูณบางค่าจะให้ผลลัพธ์ผิดแบบคาดเดาไม่ได้
- ปัญหานี้ไม่เกี่ยวข้องกับบั๊ก Pentium FDIV อันโด่งดังที่ทำให้ Intel เสียค่าใช้จ่าย 475 ล้านดอลลาร์
- สาเหตุของปัญหาการคูณไม่ได้อยู่ที่ลอจิก แต่อยู่ที่เลย์เอาต์
- การออกแบบไม่ได้เผื่อ margin ไว้มากพอสำหรับกรณีที่ข้อมูลแย่ที่สุด กระบวนการผลิต และปัจจัยแวดล้อมเกิดพร้อมกัน
- ปัญหานี้ไม่ปรากฏในการจำลองหรือการตรวจสอบชิป แต่ถูกพบจากการทดสอบภายใต้สภาวะกดดันเท่านั้น
- Intel ขายโปรเซสเซอร์ที่มีข้อบกพร่องต่อไป แต่ระบุว่าใช้ได้กับซอฟต์แวร์ 16 บิตเท่านั้น
- โปรเซสเซอร์ปกติจะทำเครื่องหมายด้วย sigma คู่
- ปัญหานี้นำไปสู่พาดหัวน่าอึดอัดอย่าง “Some 386 Systems Won't Run 32-Bit Software, Intel Says”
- ระหว่างที่ Intel ออกแบบชิปใหม่เพื่อแก้บั๊ก ก็ยังเกิดภาวะขาดแคลนชิป 386 ในปี 1987 และ 1988
- โดยรวมแล้ว ปัญหาของ 386 ไม่ได้เลวร้ายกว่าโปรเซสเซอร์ตัวอื่น และไม่นานก็ถูกลืม
บทสรุป: ชิปที่เปลี่ยน Intel และอุตสาหกรรมพีซี
- 386 กลายเป็นจุดเปลี่ยนสำคัญของ Intel
- โปรเซสเซอร์ Intel รุ่นก่อนหน้าก็ขายดี แต่ส่วนใหญ่เป็นผลจากการตลาดที่แข็งแกร่งและโชคดีที่ถูกเลือกใช้ใน IBM PC
- Intel โดยเฉพาะเมื่อเทียบกับ Motorola นั้นตามหลังในเชิงเทคนิค
- Motorola เปิดตัว 68000 ในปี 1979 จุดเริ่มต้นของตระกูลโปรเซสเซอร์กึ่ง 32 บิตที่ทรงพลัง
- Intel ยิ่งตามหลังด้วย 286 แบบ 16 บิตที่ “brain-damaged” ในปี 1982
- การเปลี่ยนไปใช้ CMOS ก็ช้าเช่นกัน ขณะที่ Motorola ย้ายสู่ CMOS ด้วย 68020 ในปี 1984
- 386 มอบการก้าวกระโดดทางเทคนิคที่ Intel ต้องการ
- เปลี่ยนไปสู่สถาปัตยกรรม 32 บิต
- เปลี่ยนไปใช้ CMOS
- แก้ข้อจำกัดของโมเดลหน่วยความจำและการทำงานหลายงานของ 286
- ยังคงความเข้ากันได้กับโปรเซสเซอร์ x86 รุ่นก่อนหน้า
- ความสำเร็จของ 386 ทำให้ความเป็นเจ้าตลาดของ x86 และ Intel แข็งแกร่งขึ้น
- ผู้ผลิตโปรเซสเซอร์รายอื่นตกอยู่ในสถานะตั้งรับ
- Compaq ใช้ 386 เพื่อชิงบทบาทผู้นำสถาปัตยกรรมพีซีจาก IBM
- สิ่งนี้นำไปสู่ความสำเร็จของบริษัทอย่าง Compaq และ Dell
- ท้ายที่สุด IBM ก็ถอนตัวออกจากตลาดพีซีโดยสิ้นเชิง
- 386 ทิ้งอิทธิพลไว้อย่างมหาศาล จนกำหนดทั้งผู้ชนะและผู้แพ้ในอุตสาหกรรมคอมพิวเตอร์ไปอีกหลายทศวรรษ
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
บทความนี้ได้แรงบันดาลใจจากการถกเถียงเมื่อไม่กี่สัปดาห์ก่อนบน HN ที่ userbinator พูดถึงจำนวนทรานซิสเตอร์ของ 386
ต่อให้ส่งข้อมูลด้วยดิสก์ Winchester เหตุการณ์นั้นก็ยังถูกเรียกว่า tapeout อยู่ดี ในการผลิตแผงวงจรพิมพ์ (PCB) ยุคแรก ๆ จะใช้เทปสีดำวางวงจรจริง ๆ บนแผ่นบอร์ดสีขาว หรือ “tape out” โดยมักทำในขนาดขยาย
ต่อมาคำว่า tapeout จึงหมายถึงจุดที่การเดินลายวงจรด้วยเทปเสร็จสมบูรณ์ พร้อมจะนำไปถ่ายภาพ ย่อขนาด และส่งต่อไปผลิตแผ่นวงจร ในกระบวนการนี้ไม่มี “ข้อมูล” ไม่ว่าจะเป็นแม่เหล็กหรือไม่ มีเพียงบอร์ดอาร์ตจริงที่ติดเทปไว้
บทความ Wikipedia ก็ทำไว้ค่อนข้างดี: https://en.wikipedia.org/wiki/Tape-out
ถ้าผู้อ่านรุ่นใหม่สงสัยว่า “Winchester disk คืออะไรกันแน่” ดูที่นี่ได้: https://www.pcmag.com/encyclopedia/term/winchester-disk
ก่อนหน้านี้ผมเคยเล่าเรื่องที่ตัวเอง tapeout PCB แรกตอนราวปี 1960 สมัยอยู่ ป.3 ไว้ด้วย: https://news.ycombinator.com/item?id=32116169
เดิมทีผมนึกว่าเป็นแค่รุ่นย่อส่วนราคาถูกสำหรับตลาดโน้ตบุ๊กที่เพิ่งเริ่มเกิดขึ้น แต่จริง ๆ แล้วมันเป็นชิ้นส่วนที่ค่อนข้างซับซ้อน มีทรานซิสเตอร์มากกว่าถึง 3 เท่า และใกล้เคียงกับการเป็นบรรพบุรุษของ SoC สมัยใหม่
ผมนึกถึงโปรเซสเซอร์ยุคนี้ที่ทำหลายอย่างในระดับไมโครโค้ด จนยากจะคาดเดาได้แน่ชัดว่าคำสั่งไหนถูกเรียกใช้ในลำดับใด
อีกอย่างคือสงสัยว่าจะหา “Automatic Place and Route Used on the 80386” ได้จากที่ไหน บน DDG เห็นมีแต่บทความนี้บทความเดียว
แค่ตัดส่วนหนึ่งของหน้ากระดาษแล้วส่งไปรษณีย์ไป ไม่กี่เดือนต่อมาก็มีพัสดุมาถึง ข้างในเป็นโปรเซสเซอร์เปลือยที่ติดอยู่บนการ์ดแข็ง พร้อมแว่นขยายกำลังขยายต่ำ เสียดายมาก ถ้ายังเก็บไว้ได้ก็คงดีจริง ๆ
ก่อนหน้านั้นก็มีโปรเซสเซอร์ 32 บิตอยู่แล้ว แต่ไม่มีตัวไหนประสบความสำเร็จเชิงพาณิชย์และถูกคนทั่วไปนำไปใช้เท่า (80)386
บทความนี้ยอดเยี่ยมและมีข้อมูลเยอะมากเกี่ยวกับ 386 นอกจากคู่มือทางเทคนิคของ 386 หรือเศษเอกสารบางส่วนแล้ว ผมไม่เคยเห็นแหล่งข้อมูลบนอินเทอร์เน็ตที่ให้ข้อมูลมากกว่านี้ และเอกสารพวกนั้นก็อ่านยากสำหรับผู้อ่านทั่วไป น่าจะมีคุณค่าสูงสำหรับคนที่ต้องการศึกษา 386 และนักประวัติศาสตร์คอมพิวเตอร์ในอนาคต
Motorola 68000 (1979) ก็น่าพูดถึง เพราะถูกใช้ใน Macintosh และผมสามารถเถียงกับคนที่บอกว่ามันไม่ใช่โปรเซสเซอร์ 32 บิตจริง ๆ ได้ :-) แต่ก็จริงที่ 386 เป็นจุดเริ่มต้นของสถาปัตยกรรม x86 แบบ 32 บิตที่ใช้ในคอมพิวเตอร์ส่วนใหญ่ที่ไม่ใช่โทรศัพท์ในปัจจุบัน
ดังนั้นผู้จัดการจึงไม่ควรไมโครแมเนจ การตัดสินใจทางเทคนิค แบบลงรายละเอียด
ข้าง ๆ มีถุงจัมเปอร์ติดเทปไว้ ผมเคยตั้งให้แสดง HI/LO หรือ 01/99 หรือกลับค่ากันให้ turbo เป็น 20MHz และโหมดช้าเป็น 40MHz
286 เพียงพอสำหรับ UNIX สไตล์ PDP-11 และ 8088 ก็พอรัน UNIX ระดับงานอดิเรกได้พอไหว
หน้าต่างตลาดคงแคบเกินไป ถ้าตอนนั้นต้องการสมรรถนะจริง ๆ ก็อาจยอมแลกแบตเตอรี่ไป ดังนั้นการใช้ CPU เดสก์ท็อปที่ไม่มีฟีเจอร์พิเศษด้านการจัดการพลังงานก็คงไม่ใช่ปัญหาใหญ่