1 คะแนน โดย GN⁺ 2024-07-09 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • 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 มาก
  • 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 ความคิดเห็น

 
GN⁺ 2024-07-09
ความเห็นจาก Hacker News
  • Intel เริ่มใช้เทคนิค การจัดวางและเดินสายอัตโนมัติ ตั้งแต่โปรเซสเซอร์ 386 เพราะเร็วกว่าเลย์เอาต์ที่ทำด้วยมือมาก และยังลดข้อผิดพลาดได้มากด้วย
    การจัดวางทำด้วยโปรแกรมชื่อ Timberwolf ที่พัฒนาโดย Carl Sechen นักศึกษาปริญญาโทที่ Berkeley และอาจารย์ที่ปรึกษาคือ Alberto Sangiovanni-Vincentelli
    https://ieeexplore.ieee.org/document/1052337

    • ในบทสัมภาษณ์ผู้ออกแบบ i386 ของ Computer History Museum ก็พูดถึงวิธีนี้เช่นกัน แต่ไม่ได้เอ่ยชื่อ Carl Sechen
      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 กลับมาแทนรูป ทำให้ภาพโหลดไม่ขึ้น

    • ไม่กี่วันก่อนพยายามสแกนไฟล์ใน VirusTotal แล้วเจอ captcha แบบ “เลือกภาพหัวดับเพลิงทั้งหมด” ที่ค่อย ๆ เฟดเข้ามาอย่างช้ามากแบบไม่รู้จบ แล้วก็โดนปฏิเสธติดกัน 10 ครั้งจนยอมแพ้
      เหมือนระบบปฏิเสธไปตั้งแต่ก่อน captcha แล้ว แต่ยังมาทรมานกันเล่น ๆ มากกว่า ที่แปลกกว่านั้นคือ VirusTotal แสดงฟอร์มอัปโหลดอันที่สองอยู่บนหน้า captcha และตัวฟอร์มนั้นกลับไม่มี captcha
    • ใช้ uMatrix อยู่และคุ้นกับขั้น “are you human” ของ Cloudflare ดี แต่ที่นี่ไม่เจอปัญหาตามที่อธิบาย
      ในแดชบอร์ดก็ไม่เห็นว่า Cloudflare เข้ามาเกี่ยวข้อง
  • ถ้าบอกว่า “โปรเซสเซอร์สมัยใหม่เล็กเกินกว่าจะดูด้วยกล้องจุลทรรศน์ได้ เพราะมีทรานซิสเตอร์ระดับนาโนเมตร” งั้นก็น่าจะถึงเวลาที่พวกเราต้องช่วยกันลงขันซื้อ กล้องจุลทรรศน์อิเล็กตรอน ดี ๆ ให้ Ken แล้วหรือเปล่า

  • สำหรับ ซอฟต์แวร์ EDA ยุคใหม่ มันยังไม่ฉลาดพอจะจัดวางทรานซิสเตอร์เองโดยไม่ต้องพึ่ง standard cell แล้วหรือ?

    • คิดว่าไม่ใช่ อันที่จริง ระดับของซอฟต์แวร์ EDA สมัยใหม่ยังแย่กว่านั้นอีก
      ฉันทำโปรเจกต์ออกแบบและสร้างซอฟต์แวร์ 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
    • อย่างที่บทความบอก การสร้างเลย์เอาต์ที่เหมาะที่สุดเป็นปัญหาการปรับเหมาะที่ปัญหาการตัดสินใจที่เกี่ยวข้องนั้น NP-complete
      แม้แต่การจัดวาง standard cell ก็ยังต้องแก้ด้วย heuristic และถ้าลงจากระดับเซลล์ไปถึงระดับทรานซิสเตอร์ ขนาดของปัญหาจะยิ่งใหญ่ขึ้นและแย่ลงอีก
      อย่างไรเสีย ลอจิกก็ประกอบจาก standard gate และบล็อกลอจิกอย่างเช่น flip-flop อยู่แล้ว ดังนั้นโอเวอร์เฮดจากการใช้ standard cell ที่ทำบิลดิ้งบล็อกเหล่านั้นไว้จึงอาจไม่มากนัก
    • มองอีกแบบหนึ่ง กำลัง ประมวลผล ที่ซอฟต์แวร์ EDA ใช้ได้ก็เพิ่มขึ้นในอัตราใกล้เคียงกับจำนวนทรานซิสเตอร์บนไดเช่นกัน
      ดังนั้นเมื่อเทียบกับกำลังประมวลผลที่มีอยู่ ความซับซ้อนของปัญหาจึงค่อนข้างคงที่ และการออกแบบแบบ standard cell ก็ยังเป็นวิธีที่มีประสิทธิภาพในการลดความซับซ้อนของปัญหาที่เครื่องมือ EDA ต้องแก้
    • เครื่องมือทั้งหมดที่ใช้กับกระบวนการผลิตระดับอุตสาหกรรมในรุ่นค่อนข้างใหม่อย่าง 40~12nm ต่างก็ใช้ standard cell library ที่ทาง foundry ให้มาอย่างหนัก
      ฉันไม่คิดว่าสิ่งนี้จะเปลี่ยนไปในรุ่นปัจจุบันหรือรุ่นถัดไป ทำงานอยู่ในวงการ EDA
    • เข้าใจว่าไม่ใช่ปัญหาที่ตัวซอฟต์แวร์ แต่เป็นเพราะ foundry อนุญาตให้ใช้ได้เฉพาะ บล็อก ที่ผ่านการตรวจสอบกระบวนการผลิตแล้ว
      ไม่อย่างนั้น yield อาจไม่นิ่งหรือออกอาการสุ่มมั่วได้
  • ความแตกต่างอย่างหนึ่งระหว่าง standard cell ที่กล่าวถึงในบทความกับ standard cell ในปัจจุบันคือ ตอนนี้มีชั้นโลหะมากขึ้นจน ช่องทางเดินสาย หายไปแล้ว
    ในยุคนั้นทำให้โลหะพาดผ่านเส้น Vdd และกราวด์ที่อยู่ด้านบนและล่างของเซลล์ได้ยาก จึงต้องยืดเส้นโพลีซิลิคอนไปจนถึงขอบบนและล่าง ส่วนการเดินสายจะต่อโพลีเข้าไปในช่องทางแล้วใช้โลหะเชื่อมเซลล์เข้าด้วยกัน
    ดังนั้นในภาพจึงดูเหมือนเส้นโพลีที่เปิดฝาไว้เป็นเส้นเดียวกัน แต่ในมุมมองการออกแบบ ส่วนที่อยู่ภายในเซลล์เป็นแบบมาตรฐาน ส่วนที่อยู่ในช่องทางเป็นแบบปรับแต่งเฉพาะ
    วิธีนี้ใช้งานได้แม้จะมีแค่โพลีกับโลหะชั้น 1 แต่ถ้ามีชั้นโลหะเพียงพอ ก็สามารถให้สายวิ่งผ่านภายในเซลล์ได้ เพียงแต่ต้องหลบ via ที่พาอินพุตและเอาต์พุตลงไปยังทรานซิสเตอร์
    ถ้าสลับกลับด้านแถวของเซลล์ทุกอีกหนึ่งแถว PMOS ของสองแถวจะใช้ราง Vdd ร่วมกัน และ NMOS ของสองแถวจะใช้รางกราวด์ร่วมกัน ซึ่งเป็นข้อได้เปรียบเพิ่มเติมด้วย

  • การ ชำแหละ โปรเซสเซอร์แบบนี้อาจเป็นกิจกรรมการศึกษาที่สนุก เหมือนการผ่ากบในโรงเรียน
    ข้อดีคือไม่มีประเด็นเรื่องสิทธิสัตว์

    • ส่วนตัวคิดว่าทุกคนน่าจะเคยเปิดชิปดูสักครั้ง
      ถ้าไม่ใช่ชิปที่ถูกปิดทับด้วยอีพ็อกซี ก็ไม่ได้ยาก และการส่องดูภายในก็สนุกด้วย ถ้าจะดูรายละเอียดต้องใช้กล้องจุลทรรศน์สำหรับงานโลหะวิทยา แต่ต่อให้ดูด้วยตาเปล่าก็ยังเห็นโครงสร้างที่น่าสนใจได้
    • การ decap โปรเซสเซอร์ทำให้เกิด ของเสียอันตราย และต้องจัดการของเสียนั้น
      โปรเซสเซอร์ถ้าจัดการอย่างถูกต้องจะอยู่ได้นานกว่ากบมาก และโดยคร่าว ๆ ก็แทบไม่สึกหรอ จึงนำกลับมาใช้ซ้ำได้หลายครั้ง มองคร่าว ๆ แล้ว กระบวนการผลิตโปรเซสเซอร์ใหม่อาจทำให้กบจำนวนมากกว่าได้รับความทุกข์มากกว่าการฆ่ากบสำหรับผ่าหนึ่งตัวเสียอีก
      อีกอย่าง ทุกวันนี้เรามีเครื่องเล่นวิดีโออยู่ในกระเป๋าแล้ว การได้ผ่ากบด้วยตัวเองอาจให้การเรียนรู้มากกว่าการดูคนอื่นผ่า แต่จะให้ความรู้มากกว่าการดูวิดีโอผ่าที่อธิบายไว้อย่างดี 20 คลิปหรือไม่ก็ยังน่าสงสัย ผมคิดว่าไม่จำเป็นต้องทำทั้งสองอย่าง
  • สำหรับคนที่สนใจ ยังมี standard cell แบบโอเพนซอร์ส ด้วย
    https://www.vlsitechnology.org/html/libraries.html
    https://opensource.googleblog.com/2022/07/SkyWater-and-Googl...