- Intel Pentium ที่เปิดตัวในปี 1993 เป็นชิปซับซ้อนที่มีทรานซิสเตอร์ 3.3 ล้านตัว แต่ต่างจากชิปสมัยใหม่ตรงที่สามารถมองเห็นทรานซิสเตอร์ด้วยกล้องจุลทรรศน์ จึงติดตามการสร้างเกตภายในได้โดยตรง
- การออกแบบแบบ Standard Cell คือวิธีที่ทำวงจรระดับล่าง เช่น เกตและฟลิปฟลอป ให้เป็นเซลล์ที่นำกลับมาใช้ซ้ำได้ แล้วจัดวางเป็นแถวเพื่อให้เหมาะกับการ place-and-route อัตโนมัติ
- บนไดของ Pentium พื้นที่ standard cell จะเห็นเป็นลายแถบสม่ำเสมอ ส่วนบล็อกที่ปรับแต่งด้วยมืออย่างแคช datapath และ microcode ROM จะแน่นกว่าและดูมืดกว่าอย่างชัดเจน
- Pentium ตระกูล P54C ใช้ กระบวนการผลิต 600nm, 3.3V และชั้นโลหะเดินสาย 4 ชั้น อีกทั้งยังใช้วงจร BiCMOS อย่างกว้างขวาง นอกเหนือจากเกต CMOS โดยช่วยลดดีเลย์ของสัญญาณได้สูงสุด 35%
- อินเวอร์เตอร์, NAND, OR-NAND, latch, flip-flop และบัฟเฟอร์ BiCMOS ล้วนเป็นการประกอบกันของวงจรทรานซิสเตอร์ขนาดเล็ก และ Pentium เป็นกรณีศึกษาที่ทำให้สังเกตการออกแบบดิจิทัลแบบ standard cell และ BiCMOS ในยุค 1990 ได้
โครงสร้าง Standard Cell ที่เห็นบนได Pentium
- Intel เปิดตัวโปรเซสเซอร์ Pentium ในปี 1993 และต่อมาสืบทอดไปเป็น Pentium Pro, Pentium II ฯลฯ โดยยังคงเป็นแบรนด์โปรเซสเซอร์ประสิทธิภาพสูงจนกระทั่งโปรเซสเซอร์ Core เข้ามาแทนที่สายหลักในปี 2006
- Pentium รุ่นดั้งเดิมเป็นชิปซับซ้อนที่มีทรานซิสเตอร์ 3.3 ล้านตัว แต่ต่างจากชิปสมัยใหม่ตรงที่สามารถมองเห็นทรานซิสเตอร์ด้วยกล้องจุลทรรศน์ได้
- ในภาพไดที่ถอดชั้นโลหะเดินสายออก จะเผยให้เห็นซิลิคอนและทรานซิสเตอร์แต่ละตัว
- วงจร standard cell ถูกจัดวางเป็นคอลัมน์สม่ำเสมอ จึงเห็นเป็น ลายแถบ
- บล็อกฟังก์ชันที่ปรับแต่งด้วยมือจะแน่นกว่า มีโครงสร้างชัดเจนกว่า และดูมืดกว่า
- ตัวอย่างคือแคชทางซ้าย datapath ตรงกลาง และ microcode ROM ทางขวา
จากการจัดวางด้วยมือสู่ Standard Cell
- โปรเซสเซอร์ยุคต้นทศวรรษ 1970 โดยทั่วไปจัดวางทรานซิสเตอร์ทีละตัวด้วยมือ
- วิธีนี้ให้ความหนาแน่นสูงได้ แต่ช้า ยาก และเกิดข้อผิดพลาดมาก
- Federico Faggin ผู้ออกแบบ Z80 ต้องลบงานที่ทำไป 3 สัปดาห์แล้วเริ่มใหม่ เพราะทรานซิสเตอร์ไม่กี่ตัวสุดท้ายใส่ลงไปไม่ได้
- Standard Cell คือวิธีสร้างไลบรารีเซลล์ที่ใช้ซ้ำได้ สำหรับเกต ฟลิปฟลอป และองค์ประกอบระดับล่างแต่ละชนิด
- แต่ละเซลล์มีความสูงคงที่ ส่วนความกว้างเปลี่ยนไปตามความจำเป็น
- สามารถจัดวางเซลล์เป็นแถวได้ จึงเหมาะกับระบบอัตโนมัติ
- แถว standard cell แบบ CMOS มักดูเหมือนแถบใกล้กันสองแถบ
- แถบหนึ่งคือพื้นที่ทรานซิสเตอร์ NMOS
- อีกแถบคือพื้นที่ทรานซิสเตอร์ PMOS
- ช่องว่างระหว่างแถวใช้เป็น ช่องเดินสาย สำหรับการเดินสายระหว่างเซลล์
- ไฟเลี้ยงและกราวด์วางตามด้านบนและด้านล่างของแต่ละแถว
งานที่ Place-and-Route อัตโนมัติรับผิดชอบ
- โครงสร้างคงที่ของ standard cell ทำให้ซอฟต์แวร์ place-and-route อัตโนมัติ สร้างเลย์เอาต์ได้ง่ายขึ้น
- ขั้นตอน placement จะค้นหาการจัดเรียงเซลล์ที่ลดระยะห่างระหว่างเซลล์ที่เชื่อมต่อกัน
- สายยาวทำให้เปลืองพื้นที่ได
- เส้นทางยาวมีค่าคาปาซิแตนซ์มากขึ้น ทำให้สัญญาณช้าลง
- ขั้นตอน routing จะเชื่อมต่อเซลล์ที่จัดวางแล้วด้วยการเดินสายโลหะจริง
- ทั้ง placement และ routing เป็นปัญหาเพิ่มประสิทธิภาพแบบ NP-complete
- Intel เริ่มใช้เทคนิค place-and-route อัตโนมัติตั้งแต่โปรเซสเซอร์ 386
- placement ทำด้วยโปรแกรม Timberwolf ที่พัฒนาโดยนักศึกษาบัณฑิตศึกษาของ Berkeley
- routing ใช้ซอฟต์แวร์คัสตอมของ Intel ที่เป็นวิธีฮิวริสติกแบบวนซ้ำ
- การออกแบบแบบ standard cell ยังใช้ในโปรเซสเซอร์ปัจจุบัน แต่ซอฟต์แวร์พัฒนาไปไกลมากแล้ว
โครงสร้างพื้นฐาน CMOS ของ Pentium
- โปรเซสเซอร์สมัยใหม่ใช้วงจร CMOS ซึ่งผสานทรานซิสเตอร์สองชนิดคือ NMOS และ PMOS
- ทรานซิสเตอร์ NMOS จะเปิดเมื่อเกตมีระดับสูง ส่วนทรานซิสเตอร์ PMOS จะเปิดเมื่อเกตมีระดับต่ำ
- NMOS เหมาะสำหรับดึงเอาต์พุตลงสู่แรงดันต่ำ
- PMOS เหมาะสำหรับดึงเอาต์พุตขึ้นสู่แรงดันสูง
- ตัว “C” ใน CMOS หมายถึง Complementary โดย NMOS และ PMOS ทำงานร่วมกันเพื่อทำให้เอาต์พุตเป็นระดับสูงหรือต่ำ
- NMOS และ PMOS ไม่ได้สมมาตรกันอย่างสมบูรณ์เนื่องจากคุณสมบัติทางฟิสิกส์ของสารกึ่งตัวนำ และโดยทั่วไป PMOS ต้องมีขนาดใหญ่กว่า NMOS
- ความต่างนี้เป็นเบาะแสในการแยก PMOS กับ NMOS ในภาพได
การเดินสายที่ประกอบด้วยชั้นโลหะ 4 ชั้น
- Pentium เวอร์ชัน P54C ใช้ ชั้นโลหะเดินสาย 4 ชั้น
- Pentium รุ่นแรกใช้ชั้นโลหะ 3 ชั้น แต่ตั้งแต่ได P54C เปลี่ยนไปใช้กระบวนการ 4 ชั้น
- บนผิวซิลิคอนมีบริเวณที่โด๊ปไว้ และด้านบนสร้างสายโพลีซิลิคอน
- เมื่อโพลีซิลิคอนพาดผ่านซิลิคอนที่โด๊ปไว้ ก็จะกลายเป็นเกตของทรานซิสเตอร์
- โพลีซิลิคอนยังใช้เป็นสายเดินระยะสั้นได้ด้วย
- ชั้นโลหะถูกกำหนดหมายเลขตั้งแต่ M1 ถึง M4
- M1 คือชั้นโลหะล่างสุด
- M4 คือชั้นโลหะบนสุดและหนาที่สุด ใช้กับไฟเลี้ยง กราวด์ และสัญญาณนาฬิกาเป็นหลัก
- การเชื่อมต่อระหว่างชั้นโลหะทำผ่าน via ที่เป็นปลั๊กทังสเตน
- มีเพียง M1 เท่านั้นที่เชื่อมต่อกับซิลิคอนหรือโพลีซิลิคอนได้โดยตรงผ่าน contact
- ชั้นเดินสายมักสลับทิศทางแนวนอนและแนวตั้งในระดับเฉพาะที่ เพื่อให้สัญญาณตัดกันได้
- ซอฟต์แวร์ place-and-route อัตโนมัติต้องสร้างเส้นทางเดินสายที่ซับซ้อนนับล้านให้แน่นที่สุดเท่าที่เป็นไปได้
อินเวอร์เตอร์และเกต NAND
- อินเวอร์เตอร์ CMOS ประกอบด้วย PMOS 1 ตัวและ NMOS 1 ตัว
- ถ้าอินพุตเป็น 1 NMOS จะเปิดและดึงเอาต์พุตลงเป็น 0
- ถ้าอินพุตเป็น 0 PMOS จะเปิดและดันเอาต์พุตขึ้นเป็น 1
- อินเวอร์เตอร์ standard cell ของ Pentium ก็มีโครงสร้างทรานซิสเตอร์สองตัวเช่นเดียวกัน
- อินพุตเชื่อมต่อกับเกตโพลีซิลิคอนของทรานซิสเตอร์ทั้งสองตัว
- สายโลหะเอาต์พุตเชื่อมต่อกับทรานซิสเตอร์ทั้งสองตัว
- N-doped well ที่มี PMOS อยู่ข้างในถูกต่อกับ well tap ที่เชื่อมกับ +3.3V เพื่อรักษาแรงดันบวก
- Pentium ผลิตด้วย กระบวนการ 600nm และความกว้างเส้นโพลีซิลิคอนก็ประมาณ 600nm
- มีขนาดใกล้เคียงกับความยาวคลื่นแสงที่มองเห็นได้ 400~700nm ทำให้ภาพจากกล้องจุลทรรศน์ดูพร่ามัวอยู่บ้าง
- เกต NAND CMOS ประกอบด้วย PMOS 2 ตัวและ NMOS 2 ตัว
- ถ้าอินพุตทั้งสองเป็นระดับสูง NMOS สองตัวจะเปิดและทำให้เอาต์พุตต่ำ
- ถ้าอินพุตตัวใดตัวหนึ่งเป็นระดับต่ำ PMOS จะเปิดและทำให้เอาต์พุตสูง
- ใน standard cell แบบ NAND ของ Pentium เส้นโพลีซิลิคอนสองเส้นพาดผ่านซิลิคอนที่โด๊ปไว้ เพื่อสร้างทรานซิสเตอร์สี่ตัว
- เอาต์พุตฝั่ง PMOS ออกจากตรงกลาง เกิดเป็นการเชื่อมต่อแบบขนาน
- เอาต์พุตฝั่ง NMOS ออกจากด้านขวา เกิดเป็นการเชื่อมต่อแบบอนุกรม
- แม้เป็น standard cell แบบ NAND เดียวกัน รายละเอียดการเดินสายและความยาวโพลีซิลิคอนก็แตกต่างกันตามตำแหน่งของอินพุต เอาต์พุต และการเชื่อมต่อไฟเลี้ยง
- standard cell ไม่ใช่สำเนาง่าย ๆ แต่ถูกปรับให้เหมาะกับแต่ละตำแหน่ง
- เซลล์ที่อยู่ติดกันถูกบีบอัดให้ทรานซิสเตอร์ PMOS ชิดกัน เพื่อเพิ่มความหนาแน่นขึ้นเล็กน้อย
เกตผสมและ Latch
- ไลบรารี standard cell มีทั้งเกตพื้นฐานและ เกตผสม
- เกต OR-NAND แบบ 5 อินพุตคำนวณ
~((A+B+C+D)⋅E)- ในวงจร NMOS
AถึงDต่อขนานกัน และEต่ออนุกรม - วงจร PMOS เป็นกลับกัน คือ
AถึงDต่ออนุกรม และEต่อขนาน - เพื่อให้มีกระแสเพียงพอ ฝั่ง PMOS มีชุดทรานซิสเตอร์
AถึงDสองชุด จึงใหญ่กว่าบล็อก NMOS มาก
- ในวงจร NMOS
- Latch เป็นหนึ่งในองค์ประกอบหลักของวงจร Pentium และเป็นวงจรเก็บข้อมูล 1 บิตที่ควบคุมด้วยสัญญาณนาฬิกา
- เมื่อสัญญาณนาฬิกาเป็นระดับสูง อินพุตจะปรากฏที่เอาต์พุตทันที เป็นสถานะโปร่งใส
- เมื่อสัญญาณนาฬิกาเป็นระดับต่ำ จะคงค่าก่อนหน้าไว้
- Latch สร้างด้วยลูปป้อนกลับที่นำเอาต์พุตกลับไปยังฝั่งอินพุต
- ตรงกลางมีมัลติเพล็กเซอร์ที่เลือกค่าระหว่างเอาต์พุตก่อนหน้ากับอินพุตใหม่
- อินเวอร์เตอร์ขยายสัญญาณป้อนกลับไม่ให้อ่อนลง และทำให้เอาต์พุตขับวงจรอื่นได้
มัลติเพล็กเซอร์แบบ Pass Transistor
- มัลติเพล็กเซอร์ภายใน latch ใช้ pass transistor
- ไม่ได้ดึงเอาต์พุตไปที่ไฟเลี้ยงหรือกราวด์เหมือนเกตตรรกะทั่วไป แต่ปล่อยให้สัญญาณอินพุตผ่านไปยังเอาต์พุต
- เมื่อสัญญาณ select เป็นระดับต่ำ คู่ทรานซิสเตอร์ที่เชื่อมกับอินพุตแรกจะเปิด และอินพุตที่สองจะถูกตัดออก
- เมื่อสัญญาณ select เป็นระดับสูง คู่ทรานซิสเตอร์ที่เชื่อมกับอินพุตที่สองจะเปิด และอินพุตแรกจะถูกตัดออก
- ขั้วของเกตทรานซิสเตอร์ในมัลติเพล็กเซอร์ต่างจากเกตตรรกะทั่วไป
- เกตตรรกะใช้สัญญาณเกตขั้วเดียวกัน เพื่อให้ NMOS หรือ PMOS ตัวใดตัวหนึ่งเปิดและดึงเอาต์พุตลงต่ำหรือขึ้นสูง
- มัลติเพล็กเซอร์ต้องให้ PMOS และ NMOS ที่จับคู่กันเปิดพร้อมกันเพื่อส่งผ่านสัญญาณ จึงต้องใช้สัญญาณเกตขั้วตรงข้าม
- ด้วยเหตุนี้มัลติเพล็กเซอร์จึงมีอินเวอร์เตอร์เพื่อสร้างสัญญาณขั้วตรงข้ามที่จำเป็น
การสร้าง Flip-Flop
- Pentium ใช้ flip-flop อย่างกว้างขวาง
- Flip-flop คล้ายกับ latch แต่ตอบสนองต่อขอบสัญญาณนาฬิกา ไม่ใช่ระดับสัญญาณนาฬิกา
- จดจำอินพุต ณ ช่วงเวลาที่สัญญาณนาฬิกาเปลี่ยนจากต่ำเป็นสูง
- แล้วส่งค่านั้นเป็นเอาต์พุต
- ความแตกต่างนี้ทำให้ flip-flop มีประโยชน์กว่าในเคาน์เตอร์ state machine และวงจรมีนาฬิกาอื่น ๆ
- Flip-flop ของ Pentium ประกอบด้วย latch สองตัว
- primary latch ปล่อยให้ค่าผ่านเมื่อสัญญาณนาฬิกาต่ำ และคงค่าไว้เมื่อสัญญาณนาฬิกาสูง
- secondary latch มีพฤติกรรมตามสัญญาณนาฬิกาแบบตรงข้าม
- เมื่อสัญญาณนาฬิกาเปลี่ยนจากต่ำเป็นสูง primary latch จะหยุดอัปเดต ในขณะเดียวกัน secondary latch จะปล่อยค่านั้นผ่านออกไป
- บางรูปแบบมีอินพุต set หรือ reset ด้วยการเปลี่ยนตรรกะเล็กน้อย
- set และ reset จะข้ามสัญญาณนาฬิกาเพื่อบังคับเอาต์พุตให้อยู่ในสถานะที่ต้องการ
- มีประโยชน์ในการเริ่มต้นค่า flip-flop ให้เป็นค่าที่ต้องการเมื่อโปรเซสเซอร์เริ่มทำงาน
บัฟเฟอร์ BiCMOS และลักษณะของ Pentium ยุค 1990
- Pentium ไม่ได้ผลิตด้วย CMOS เท่านั้น แต่ยังใช้กระบวนการ BiCMOS ด้วย
- มีการเพิ่มขั้นตอนบางอย่างลงในกระบวนการผลิต CMOS ทั่วไป เพื่อสร้างทรานซิสเตอร์ bipolar อย่าง NPN และ PNP
- วงจร BiCMOS ถูกใช้ใน Pentium อย่างกว้างขวาง และลดดีเลย์ของสัญญาณได้สูงสุด 35%
- Intel ใช้ BiCMOS ใน Pentium Pro, Pentium II, Pentium III และ Xeon ด้วย แต่ไม่ได้ใช้ใน Pentium MMX
- เมื่อแรงดันชิปลดลง ข้อได้เปรียบของทรานซิสเตอร์ bipolar ก็ลดลงด้วย และในที่สุด BiCMOS ก็เลิกใช้ในวงจรดิจิทัล
- บัฟเฟอร์ BiCMOS แบบ standard cell ของ Pentium ซับซ้อนกว่าบัฟเฟอร์ CMOS
- อินเวอร์เตอร์ 2 ตัว
- ทรานซิสเตอร์ NPN pull-up
- ทรานซิสเตอร์ NMOS pull-down
- ประกอบด้วยทรานซิสเตอร์ PMOS pull-up
- ในภาพได ทรานซิสเตอร์ NPN มีโครงสร้างเป็นวงกลม ต่างจากโครงสร้างเชิงเส้นของ NMOS และ PMOS และมีขนาดใหญ่กว่ามาก
- สายโลหะเอาต์พุตก็หนากว่าสายสัญญาณทั่วไป บ่งชี้ความสามารถในการขับกระแสสูง
ความแตกต่างที่พบในเวอร์ชัน P54C
- เป้าหมายของการวิเคราะห์คือเวอร์ชัน P54C ของ Pentium รุ่นดั้งเดิม
- ผลิตภัณฑ์ Pentium ตัวแรกคือ 80501 โค้ดเนม P5 ทำงานที่ 60 หรือ 66MHz ใช้ 5V ผลิตด้วยกระบวนการ 800nm และมีทรานซิสเตอร์ 3.1 ล้านตัว
- Intel ปรับปรุงปัญหาการใช้พลังงานและสร้าง 80502 โค้ดเนม P54C
- ใช้ 3.3V
- ทำงานที่ 75~120MHz
- เพิ่มการรองรับมัลติโพรเซสซิง ทำให้จำนวนทรานซิสเตอร์เพิ่มเป็น 3.3 ล้านตัว
- มีวงจรนาฬิกาที่พัฒนาขึ้น สามารถเพิ่มความเร็วสัญญาณนาฬิกาภายในได้ถึง 100MHz ขณะยังคงความเร็วบัสภายนอกไว้ต่ำที่ 50~66MHz
- ใช้กระบวนการ 600nm และชั้นโลหะ 4 ชั้น
- ได P54C แทบเหมือน P5 ในแง่ภาพรวม แต่มีลอจิกมัลติโพรเซสซิงเพิ่มที่ด้านล่าง และมีวงจรนาฬิกาที่ด้านบน
- standard cell น่าจะคล้ายกันในเวอร์ชัน Pentium ดั้งเดิมอื่น ๆ ด้วย
วงจรง่าย ๆ ที่ประกอบเป็นโปรเซสเซอร์ซับซ้อน
- เลย์เอาต์แบบ standard cell ยังคงใช้กันอย่างกว้างขวางในชิปสมัยใหม่
- โปรเซสเซอร์สมัยใหม่มีทรานซิสเตอร์ระดับนาโนเมตร จึงเล็กเกินไปสำหรับการศึกษาด้วยกล้องจุลทรรศน์ แต่ Pentium มีลักษณะใหญ่พอให้สังเกตและทำ reverse engineering วงจรได้
- ไลบรารี standard cell ทั้งหมดของ Pentium มีขนาดใหญ่กว่านี้มาก และมีเซลล์ตั้งแต่หลักสิบถึงหลักร้อยชนิด
- มีเกตตรรกะหลากหลายชนิด
- มีหลายขนาด
- มีเซลล์ที่มีกำลังขับหลายระดับ
- การใช้ BiCMOS ของ Pentium เป็นลักษณะทางเทคโนโลยีที่ได้รับความนิยมสูงสุดในช่วงทศวรรษ 1990
- แม้ BiCMOS จะมีความคุ้มค่าน้อยลงในวงจรดิจิทัลเพราะสมดุลของข้อแลกเปลี่ยนเปลี่ยนไป แต่ยังมีบทบาทสำคัญใน IC แอนะล็อก โดยเฉพาะงานความถี่สูง
- เมื่อมอง Pentium อย่างใกล้ชิด จะเห็นได้ว่าแม้โปรเซสเซอร์ที่ซับซ้อนก็สร้างขึ้นจากการประกอบกันของวงจรทรานซิสเตอร์ง่าย ๆ
1 ความคิดเห็น
ความเห็นจาก Hacker News
Intel เริ่มใช้เทคนิค การจัดวางและเดินสายอัตโนมัติ ตั้งแต่โปรเซสเซอร์ 386 เพราะเร็วกว่าเลย์เอาต์ที่ทำด้วยมือมาก และยังลดข้อผิดพลาดได้มากด้วย
การจัดวางทำด้วยโปรแกรมชื่อ Timberwolf ที่พัฒนาโดย Carl Sechen นักศึกษาปริญญาโทที่ Berkeley และอาจารย์ที่ปรึกษาคือ Alberto Sangiovanni-Vincentelli
https://ieeexplore.ieee.org/document/1052337
https://archive.computerhistory.org/resources/text/Oral_Hist...
มีการเล่าว่าใน Intel ตอนนั้นยังไม่มีทั้งการจัดวางอัตโนมัติและการเดินสายอัตโนมัติ จึงกังวลว่าจะทำเสร็จทันเวลาหรือไม่ และพื้นที่ชิปอาจบานจนใส่ไม่พอ จึงไปรับโปรแกรมจัดวางอัตโนมัติชื่อ Timberwolf จากนักศึกษาปริญญาโทที่ Berkeley มาประเมิน แล้วเห็นว่าใช้งานได้ดีพอจึงนำมาใช้
หลังจากนักศึกษาคนนั้นย้ายไป MIT เพราะอีกโปรเจกต์หนึ่ง เขาก็ยังวางเทอร์มินัลไว้ในห้องที่แคมปัสและคอยแก้บั๊กทุกครั้งที่มีปัญหา และบางครั้งทีมก็ต้องติดค้างรอจนกว่าเขาจะแก้เสร็จ มีประโยคหนึ่งบอกว่า “ถ้าฝ่ายบริหารรู้ว่าเรากำลังใช้เครื่องมือของนักศึกษาปริญญาโทคนหนึ่งกับวิธีการหลักระดับแกนกลาง พวกเขาไม่มีวันอนุญาตแน่”
Right-o ก็เคยมีบทความเรื่องการจัดวางและเดินสายแบบ standard cell ของ i386 เช่นกัน และยังชี้ตำแหน่งบริเวณเฉพาะบนได i386 ที่ใช้ standard cell พร้อมลิงก์ไปยังบทสัมภาษณ์แบบพาเนลด้วย
https://www.righto.com/2024/01/intel-386-standard-cells.html
มองไม่เห็นรูปเลยแม้แต่ภาพเดียว และสาเหตุน่าจะเป็น Cloudflare
พอเข้าไปที่หน้าเว็บจะผ่านการยืนยัน “are you human” ของ CF ได้ แต่ตอนโหลดภาพแต่ละภาพกลับโดนการยืนยันแบบเดียวกันอีก และหน้าตรวจสอบนั้นก็ไม่แสดงให้ผู้ใช้เห็น สุดท้ายจึงส่ง HTML page กลับมาแทนรูป ทำให้ภาพโหลดไม่ขึ้น
เหมือนระบบปฏิเสธไปตั้งแต่ก่อน captcha แล้ว แต่ยังมาทรมานกันเล่น ๆ มากกว่า ที่แปลกกว่านั้นคือ VirusTotal แสดงฟอร์มอัปโหลดอันที่สองอยู่บนหน้า captcha และตัวฟอร์มนั้นกลับไม่มี captcha
ในแดชบอร์ดก็ไม่เห็นว่า Cloudflare เข้ามาเกี่ยวข้อง
ถ้าบอกว่า “โปรเซสเซอร์สมัยใหม่เล็กเกินกว่าจะดูด้วยกล้องจุลทรรศน์ได้ เพราะมีทรานซิสเตอร์ระดับนาโนเมตร” งั้นก็น่าจะถึงเวลาที่พวกเราต้องช่วยกันลงขันซื้อ กล้องจุลทรรศน์อิเล็กตรอน ดี ๆ ให้ Ken แล้วหรือเปล่า
สำหรับ ซอฟต์แวร์ EDA ยุคใหม่ มันยังไม่ฉลาดพอจะจัดวางทรานซิสเตอร์เองโดยไม่ต้องพึ่ง standard cell แล้วหรือ?
ฉันทำโปรเจกต์ออกแบบและสร้างซอฟต์แวร์ EDA ที่ดีกว่าอยู่ โดยเครื่องมือนี้สามารถจำลองและปรับเหมาะทรานซิสเตอร์แต่ละตัว เพื่อจัดรูปและวางตำแหน่งให้ได้พลังงานต่ำ ความเร็วสูง และต้นทุนต่ำ
ข้อเสียคือมันต้องจัดการในระดับทรานซิสเตอร์จำนวนมหาศาลกว่า EDA เดิมมาก จึงต้องรันบน ซูเปอร์คอมพิวเตอร์ขนาดเล็กราคาระดับ 100,000 ดอลลาร์ หรือคลัสเตอร์ FPGA แต่ถึงอย่างนั้นก็ยังถูกกว่า EDA แบบเดิม และสามารถสร้างชิปกับเวเฟอร์ที่เร็วกว่า ดีกว่า และถูกกว่าได้ โดยใช้ทรานซิสเตอร์น้อยลง
ภาพรวมของซอฟต์แวร์ถูกพูดถึงทางอ้อมในงานนำเสนอนี้: https://vimeo.com/731037615
ฉันก็อยากนำเสนอเรื่องตัวซอฟต์แวร์ EDA เองเหมือนกัน ถ้ามีใครเชิญก็ยินดี
นักวิจัยและบริษัทอื่นก็แสดงให้เห็นแล้วว่าสามารถก้าวข้าม standard cell library และ PDK ไปปรับเหมาะการออกแบบและการจัดวางระดับทรานซิสเตอร์ได้ ตัวอย่างเช่นกรณีนี้ทำด้วยซอฟต์แวร์ EDA ภายในของตัวเอง: https://www.micromagic.com/news/Ultra-Low-Power_PressRelease...
ฉันค่อนข้างมั่นใจมากว่า Apple ใช้วิธีแบบนี้กับชิป M1, M2, M3, M4, M5 และโดยเฉพาะ M2 ระดับสูงกับ M5 Ultra แต่ไม่มีหลักฐานชัดเจน
ฉันคิดว่าเพียงแค่หันไปใช้ซอฟต์แวร์ EDA ที่ดีกว่าของปัจจุบัน (CAD=> SYM=> FAB) มนุษยชาติก็จะออกแบบ ชิปคอมพิวเตอร์ที่เร็วขึ้นอีก 3~4 หลัก ได้ และผลิตชิปได้ถูกลงมากโดยใช้พลังงานน้อยลงอย่างน้อย 2 หลัก กฎของมัวร์ยังไม่จบ และการพิสูจน์เรื่องนี้ต้องใช้ความพยายามมากกว่าคอมเมนต์ใน HN
แม้แต่การจัดวาง standard cell ก็ยังต้องแก้ด้วย heuristic และถ้าลงจากระดับเซลล์ไปถึงระดับทรานซิสเตอร์ ขนาดของปัญหาจะยิ่งใหญ่ขึ้นและแย่ลงอีก
อย่างไรเสีย ลอจิกก็ประกอบจาก standard gate และบล็อกลอจิกอย่างเช่น flip-flop อยู่แล้ว ดังนั้นโอเวอร์เฮดจากการใช้ standard cell ที่ทำบิลดิ้งบล็อกเหล่านั้นไว้จึงอาจไม่มากนัก
ดังนั้นเมื่อเทียบกับกำลังประมวลผลที่มีอยู่ ความซับซ้อนของปัญหาจึงค่อนข้างคงที่ และการออกแบบแบบ standard cell ก็ยังเป็นวิธีที่มีประสิทธิภาพในการลดความซับซ้อนของปัญหาที่เครื่องมือ EDA ต้องแก้
ฉันไม่คิดว่าสิ่งนี้จะเปลี่ยนไปในรุ่นปัจจุบันหรือรุ่นถัดไป ทำงานอยู่ในวงการ EDA
ไม่อย่างนั้น yield อาจไม่นิ่งหรือออกอาการสุ่มมั่วได้
ความแตกต่างอย่างหนึ่งระหว่าง standard cell ที่กล่าวถึงในบทความกับ standard cell ในปัจจุบันคือ ตอนนี้มีชั้นโลหะมากขึ้นจน ช่องทางเดินสาย หายไปแล้ว
ในยุคนั้นทำให้โลหะพาดผ่านเส้น Vdd และกราวด์ที่อยู่ด้านบนและล่างของเซลล์ได้ยาก จึงต้องยืดเส้นโพลีซิลิคอนไปจนถึงขอบบนและล่าง ส่วนการเดินสายจะต่อโพลีเข้าไปในช่องทางแล้วใช้โลหะเชื่อมเซลล์เข้าด้วยกัน
ดังนั้นในภาพจึงดูเหมือนเส้นโพลีที่เปิดฝาไว้เป็นเส้นเดียวกัน แต่ในมุมมองการออกแบบ ส่วนที่อยู่ภายในเซลล์เป็นแบบมาตรฐาน ส่วนที่อยู่ในช่องทางเป็นแบบปรับแต่งเฉพาะ
วิธีนี้ใช้งานได้แม้จะมีแค่โพลีกับโลหะชั้น 1 แต่ถ้ามีชั้นโลหะเพียงพอ ก็สามารถให้สายวิ่งผ่านภายในเซลล์ได้ เพียงแต่ต้องหลบ via ที่พาอินพุตและเอาต์พุตลงไปยังทรานซิสเตอร์
ถ้าสลับกลับด้านแถวของเซลล์ทุกอีกหนึ่งแถว PMOS ของสองแถวจะใช้ราง Vdd ร่วมกัน และ NMOS ของสองแถวจะใช้รางกราวด์ร่วมกัน ซึ่งเป็นข้อได้เปรียบเพิ่มเติมด้วย
การ ชำแหละ โปรเซสเซอร์แบบนี้อาจเป็นกิจกรรมการศึกษาที่สนุก เหมือนการผ่ากบในโรงเรียน
ข้อดีคือไม่มีประเด็นเรื่องสิทธิสัตว์
ถ้าไม่ใช่ชิปที่ถูกปิดทับด้วยอีพ็อกซี ก็ไม่ได้ยาก และการส่องดูภายในก็สนุกด้วย ถ้าจะดูรายละเอียดต้องใช้กล้องจุลทรรศน์สำหรับงานโลหะวิทยา แต่ต่อให้ดูด้วยตาเปล่าก็ยังเห็นโครงสร้างที่น่าสนใจได้
โปรเซสเซอร์ถ้าจัดการอย่างถูกต้องจะอยู่ได้นานกว่ากบมาก และโดยคร่าว ๆ ก็แทบไม่สึกหรอ จึงนำกลับมาใช้ซ้ำได้หลายครั้ง มองคร่าว ๆ แล้ว กระบวนการผลิตโปรเซสเซอร์ใหม่อาจทำให้กบจำนวนมากกว่าได้รับความทุกข์มากกว่าการฆ่ากบสำหรับผ่าหนึ่งตัวเสียอีก
อีกอย่าง ทุกวันนี้เรามีเครื่องเล่นวิดีโออยู่ในกระเป๋าแล้ว การได้ผ่ากบด้วยตัวเองอาจให้การเรียนรู้มากกว่าการดูคนอื่นผ่า แต่จะให้ความรู้มากกว่าการดูวิดีโอผ่าที่อธิบายไว้อย่างดี 20 คลิปหรือไม่ก็ยังน่าสงสัย ผมคิดว่าไม่จำเป็นต้องทำทั้งสองอย่าง
สำหรับคนที่สนใจ ยังมี standard cell แบบโอเพนซอร์ส ด้วย
https://www.vlsitechnology.org/html/libraries.html
https://opensource.googleblog.com/2022/07/SkyWater-and-Googl...