ซีพียูได้รับการออกแบบอย่างไร?


21

เมื่อไม่นานมานี้ฉันได้เริ่มเล่นกับอุปกรณ์อิเล็กทรอนิกส์และสร้างประตูตรรกะง่ายๆโดยใช้ทรานซิสเตอร์ ฉันรู้ว่าวงจรรวมที่ทันสมัยใช้ CMOS แทนตรรกะทรานซิสเตอร์ - ทรานซิสเตอร์ สิ่งที่ฉันอดสงสัยไม่ได้ก็คือวิธีการออกแบบซีพียู

การออกแบบยังทำที่ระดับประตูตรรกะ (ย่อย) หรือไม่มีนวัตกรรมมากในพื้นที่นั้นอีกต่อไปและเราย้ายไปสู่ระดับที่สูงขึ้นของสิ่งที่เป็นนามธรรมหรือไม่? ฉันเข้าใจว่า ALU ถูกสร้างขึ้นมาได้อย่างไร แต่มีซีพียูมากกว่านั้นอีกมาก

การออกแบบพันทรานซิสเตอร์นั้นมาจากไหน? พวกเขาส่วนใหญ่สร้างโดยอัตโนมัติโดยซอฟต์แวร์หรือยังมีการเพิ่มประสิทธิภาพด้วยตนเองมาก?


2
ฉันจะพูด Verilog หรือ VHDL
avakar

3
ในขณะที่เรื่องเหล่านี้เป็นที่น่าสนใจเราดูเหมือนจะเป็นทางยาวจาก"ปฏิบัติคำถามคำตอบขึ้นอยู่กับปัญหาที่เกิดขึ้นจริงที่คุณต้องเผชิญ" นอกจากนี้ฉันสามารถจินตนาการหนังสือทั้งเล่มที่ตอบคำถามนี้
Martin

1
@Overv ยังคงมีงานอีกมากที่คุณต้องแน่ใจว่าฐานบล็อกของคุณที่คุณเสียบเข้าด้วยกันนั้นได้รับการปรับให้เหมาะสมที่สุดที่ระดับเกตจากนั้นคุณเพียงเสียบบล็อกที่ได้รับการปรับปรุงให้ดีที่สุด!
Kortuk

13
ผมลงคะแนนจะเปิดใหม่ - ในขณะที่ผมยอมรับว่าคำตอบที่สมบูรณ์บอก "ทุกสิ่งที่คุณจำเป็นต้องรู้เพื่อสร้าง CPU ทั้งหมดตั้งแต่เริ่มต้น" ไม่ได้เป็นคู่ที่ดีสำหรับเว็บไซต์นี้ผมคิดว่าภาพรวมคร่าวๆและไม่กี่ เชื่อมโยงจะเป็น คำตอบที่ดีที่นี่
davidcary

1
ฉันประหลาดใจที่เราไม่มีคนทำงานในอุตสาหกรรมเซมิคอนดักเตอร์ที่สามารถแสดงความคิดเห็นในการออกแบบ ASIC ที่ซับซ้อนมากขึ้นที่นี่ เนื่องจากฉันไม่มีความเชี่ยวชาญนี่เป็นเพียงบางสิ่งที่ฉันได้ยิน: มีการออกใบอนุญาตจำนวนมากในคอร์ IP และฟิลด์ที่ทุกสิ่งทุกอย่างมารวมกันเรียกว่า VLSI ฉันเชื่อว่าการออกแบบทำใน VHDL / Verilog ด้วยเครื่องมือสังเคราะห์ที่ได้รับการปรับปรุงให้ดีที่สุด - วิธีการที่ได้รับถึงระดับเวเฟอร์และการผลิตนั้นเกินความรู้ของฉัน
Jon L

คำตอบ:


10

เป็นไปได้มากว่า CPU และ SoC จะถูกใช้โดยภาษาคำอธิบายฮาร์ดแวร์เช่น Verilog และ VHDL (ผู้เล่นหลักสองคน)

ภาษาเหล่านี้อนุญาตให้มีบทคัดย่อที่แตกต่างกัน ใน VHDL คุณสามารถกำหนดบล็อกตรรกะเป็นเอนทิตี มันมีพอร์ตอินพุตและเอาต์พุต ภายในบล็อกคุณสามารถกำหนดตรรกะที่ต้องการ สมมติว่าคุณกำหนดบล็อกด้วยอินพุต A อินพุต B และเอาท์พุท C คุณสามารถเขียน C = A และ B; และโดยพื้นฐานแล้วคุณสร้างบล็อกพอร์ตและ นี่อาจเป็นบล็อกที่ง่ายที่สุดที่คุณสามารถจินตนาการได้

โดยทั่วไปแล้วระบบดิจิตอลได้รับการออกแบบมาพร้อมลำดับชั้นที่แข็งแกร่ง หนึ่งอาจเริ่มต้น 'ระดับบนสุด' ด้วยฟังก์ชั่นที่สำคัญที่ต้องใช้ CPU: หน่วยความจำ proccesor (หลาย?), PCI-Express และบัสอื่น ๆ ภายในระดับนี้บัสและสัญญาณการสื่อสารระหว่างหน่วยความจำและโปรเซสเซอร์อาจถูกกำหนดไว้แล้ว

เมื่อคุณลดระดับลงหนึ่งระดับจะเป็นการกำหนดสิ่งที่อยู่ภายในของการทำบางสิ่งบางอย่าง 'ทำงาน' ตัวอย่างของไมโครคอนโทรลเลอร์อาจมีส่วนต่อประสาน UART ตรรกะจริงที่จำเป็นในการสร้างฟังก์ชั่น UART นั้นถูกกำหนดไว้หนึ่งระดับด้านล่าง .. ในที่นี้ตรรกะอื่น ๆ ที่จำเป็นในการสร้างและแบ่งนาฬิกาที่ต้องการข้อมูลบัฟเฟอร์ (บัฟเฟอร์ FIFO) รายงานข้อมูลไปยัง CPU (บัสบางชนิด) ระบบ).

สิ่งที่น่าสนใจของ VHDL และการออกแบบดิจิทัลคือการใช้ซ้ำของบล็อก ตัวอย่างเช่นคุณสามารถคัดลอกและวางบล็อก UART ในระดับบนสุดของคุณเพื่อสร้าง 2 UART (อาจไม่ใช่เรื่องง่ายถ้าบล็อก UART นั้นมีความสามารถในการพูดถึง!)

การออกแบบนี้ไม่ได้เป็นการออกแบบระดับประตู VHDL ยังสามารถ 'รวบรวม' ในวิธีที่มันถูกแปลเป็นตรรกะประตูในที่สุด เครื่องสามารถปรับให้เหมาะสมนี้ดีกว่ามนุษย์สามารถ (และเร็วเกินไป) ตัวอย่างเช่น; ภายในของบล็อก A ต้องใช้อินเวอร์เตอร์ก่อนที่จะส่งสัญญาณออก Block B รับสัญญาณเอาต์พุตนี้และกลับด้านอีกครั้ง อินเวอร์เตอร์ 2 ตัวในซีรีย์นั้นทำอะไรไม่ถูกใช่ไหม ถูกต้องเพื่อให้คุณสามารถปล่อยพวกเขา อย่างไรก็ตามในการออกแบบ 'ระดับบนสุด' คุณจะไม่สามารถมองเห็นอินเวอร์เตอร์สองตัวในซีรีย์ .. คุณเพิ่งเห็นสองพอร์ตที่เชื่อมต่อ คอมไพเลอร์สามารถเพิ่มประสิทธิภาพนี้เร็วกว่ามนุษย์

โดยพื้นฐานแล้วการออกแบบระบบดิจิตอลประกอบด้วยคำอธิบายว่าตรรกะควร 'ประพฤติ' อย่างไรและใช้คอมพิวเตอร์เพื่อหาว่าวิธีที่มีประสิทธิภาพมากที่สุดคือการออกแบบประตูตรรกะแต่ละแบบ


เช่นเดียวกับที่ยังมีสถานที่สำหรับรหัสการประกอบในซอฟต์แวร์การออกแบบฮาร์ดแวร์ระดับล่างอาจมีความคุ้มค่าในบางกรณี ยกตัวอย่างเช่นเซลล์ SRAM มักใช้กันอย่างแพร่หลายในการออกแบบที่ได้รับการพัฒนาเพื่อเพิ่มประสิทธิภาพสำหรับความหนาแน่น (แคชระดับสุดท้าย), เวลาในการตอบสนองการเข้าถึง (L1 แคช) หรือคุณสมบัติอื่น ๆ โดยเฉพาะอย่างยิ่งที่ผู้ผลิตออกแบบรวม
พอลเอเคลย์ตัน

@ พอลคำถามที่น่าสนใจที่ยกมาให้ฉันคือจำนวนเงินที่ Intel ลงทุนในการเพิ่มประสิทธิภาพการออกแบบและการเขียนผ่านการเพิ่มประสิทธิภาพของซอฟต์แวร์ที่บรรลุการปรับปรุงประสิทธิภาพเดียวกันแบบไดนามิกและโดยทั่วไป
Ponkadoodle

6

ให้ฉันลดความซับซ้อนและขยายความคิดเห็นก่อนหน้าของฉันและเชื่อมต่อจุดต่าง ๆ สำหรับผู้ที่ต้องการ

การออกแบบยังดำเนินการอยู่ที่ระดับเกทเกตตรรกะ (ย่อย) หรือไม่?

  • ใช่

การออกแบบจะทำในระดับมากในระดับย่อยตรรกะที่แตกต่างกันอยู่เสมอ แต่ละการผลิตหดตัวเรียกร้องฟิสิกส์ส่วนใหญ่ที่ยอดเยี่ยม, เคมี, และประสบการณ์กระบวนการพิมพ์หินเป็นโครงสร้างของการเปลี่ยนแปลงทรานซิสเตอร์และเรขาคณิตยังมีการเปลี่ยนแปลงเพื่อชดเชยการไม่ชอบการค้าในขณะที่มันหดตัวลงไปที่ระดับอะตอมและค่าใช้จ่าย ~ $ พันล้านในแต่ละขั้นตอนไบนารีลงใน ขนาด. เพื่อให้บรรลุถึง 14nm geometry นั้นเป็นกิจการขนาดใหญ่ใน R&D การควบคุมและการจัดการกระบวนการป้อนคำอธิบายรูปภาพที่นี่

ตัวอย่างเช่นทักษะในการทำงานที่จำเป็นในการทำสิ่งนี้ ได้แก่ ; - "FET เซลล์และเลย์เอาต์ที่กำหนดเองระดับแผนผังแผนระดับ FUB การสร้างมุมมองที่เป็นนามธรรมการสกัด RC และการตรวจสอบความถูกต้องทางแผนผังและการดีบักโดยใช้ขั้นตอนของการพัฒนาการออกแบบทางกายภาพรวมถึงการสกัดกาฝาก รุ่นการสร้างนาฬิกาการแก้ไขรูปหลายเหลี่ยมที่กำหนดเองอัลกอริทึมอัตโนมัติและเส้นทางการวางแผนพื้นการประกอบชิปเต็มรูปแบบการบรรจุและการตรวจสอบ "*

- มีนวัตกรรมในพื้นที่นั้นอีกไหม? - ผิด - มีนวัตกรรมที่สำคัญและได้รับการสนับสนุนอย่างมากในด้านฟิสิกส์ของเซมิคอนดักเตอร์โดยพิจารณาจากกฎของมัวร์และจำนวนสิทธิบัตรที่จะไม่หยุดยั้งการประหยัดพลังงานความร้อนและความสามารถในการจ่ายสี่เท่าในแต่ละครั้ง

- เราย้ายไปสู่ระดับที่สูงขึ้นของสิ่งที่เป็นนามธรรมหรือไม่? - ไม่เคยหยุดเคลื่อนไหว - ด้วยความต้องการคอร์เพิ่มเติมให้ทำคำสั่งเดียวเช่น ARM RISC CPU, สมาร์ทแรมที่มีประสิทธิภาพยิ่งขึ้นของ powerfulC หรือ MCU, สมาร์ทแรมพร้อม DDR4 ซึ่งมี ECC โดยค่าเริ่มต้นและภาคเช่นแฟลชที่มีบิตความสำคัญสำหรับหน่วยความจำเร่งด่วน - วิวัฒนาการของ CPU และการเปลี่ยนแปลงทางสถาปัตยกรรมจะไม่มีวันหยุด ป้อนคำอธิบายรูปภาพที่นี่

ให้ฉันให้คำแนะนำแก่คุณ ไปหางานทำที่ Intel, AMD, TI หรือ AD สำหรับวิศวกรและดูรายละเอียดของงาน

- การออกแบบสำหรับทรานซิสเตอร์นับพันล้านมาจากไหน - มันมาจากการเพิ่มฮาร์ดแวร์ 64 บิตเพิ่มเติม แต่ตอนนี้จะไปสู่ความล้มเหลวของท่อนาโนคิดว่าจะต้องเปลี่ยนจากวิธีการจากบนลงล่างของบล็อกเป็นวิธีการจากบนลงล่างของท่อนาโนเพื่อให้มันทำงาน

  • ซอฟต์แวร์ส่วนใหญ่สร้างโดยอัตโนมัติหรือไม่ ด้วยลิ้นที่ปลูกไว้ในแก้มอย่างแน่นหนา ...
  • ที่จริงแล้วพวกเขายังคงแยกการออกแบบจาก Area51 จากยานอวกาศและมีวิธีที่จะไป .... จนกว่าเราจะได้เข้ากันได้กับหลอดนาโนนาโนอย่างสมบูรณ์ วิศวกรจะเข้าสู่ห้องสมุดและบอกว่า nVidia เราต้องการให้คุณเข้าร่วมกับเรามากกว่าที่นี่บนชิปนี้และกลายเป็นส่วนหนึ่งซึ่งจะเข้าสู่มหภาคบล็อก เลย์เอาต์สามารถจำลองแบบได้เช่นมดใน Toystoryแต่การควบคุมการเชื่อมต่อทั้งหมดอย่างชัดเจนจะต้องกำหนดเส้นทาง / เช็คเอาท์ด้วยตนเองรวมถึงใช้ DRC และการกำหนดเส้นทางอัตโนมัติเพื่อเปรียบเทียบ ใช่เครื่องมืออัตโนมัติได้รับการอัพเกรดอย่างต่อเนื่องเพื่อลบการทำซ้ำและเสียเวลา

    - ยังมีการเพิ่มประสิทธิภาพด้วยตนเองจำนวนมากหรือไม่

  • เมื่อพิจารณาจากสายการบินหนึ่งที่บันทึกเงินได้เพียงพอที่จะจ่ายสำหรับเงินเดือนของคุณโดยการลบมะกอกเพียง 1 อันจากอาหารเย็นในเฟิร์สคลาส Intel จะหาวิธีกำจัดอะตอมให้มากที่สุดเท่าที่จะทำได้ภายในกรอบเวลา ความจุที่มากเกินไปหมายถึงการสูญเสียความร้อนประสิทธิภาพการทำงานและเสียงอุบาทว์มากขึ้นเสียงไม่เร็วนัก ...

แต่จริงๆแล้วซีพียูเติบโตอย่างโตเกียวไม่ใช่ข้ามคืน แต่มีหลายสิบล้านคนที่อาศัยอยู่ที่นั่นในขณะนี้ด้วยการปรับปรุงอย่างต่อเนื่อง ฉันไม่ได้เรียนรู้วิธีออกแบบที่ Univ แต่ด้วยการอ่านและพยายามเข้าใจว่าสิ่งต่าง ๆ ทำงานได้อย่างไรฉันก็สามารถเพิ่มความเร็วในอุตสาหกรรมได้อย่างรวดเร็ว ฉันได้รับประสบการณ์ 10 ปีใน 5 ปีแรกของฉันในการบินและอวกาศ, การออกแบบอุปกรณ์นิวเคลียร์, การออกแบบ SCADA, การตรวจสอบกระบวนการ, การออกแบบเสาอากาศ, การออกแบบสถานีอากาศอัตโนมัติและตรวจแก้จุดบกพร่อง, VLX Rx's PLX ของ OCXO นั่นเป็นเพียงงานแรกของฉัน ฉันไม่รู้ว่าจะทำอย่างไร

ไม่ต้องกังวลกับทรานซิสเตอร์นับพันล้านหรือกลัวว่าจะเรียนรู้อะไรหรือต้องรู้เท่าไหร่ เพียงแค่ติดตามความชอบของคุณและอ่านวารสารการค้าระหว่างการนอนหลับของคุณจากนั้นคุณจะไม่ดูเป็นมิตรกับสีเขียวในงาน

ฉันจำได้ว่าต้องออกแบบ 741 "เช่น" Op Amp เป็นส่วนหนึ่งของการสอบหนึ่งครั้งใน 20 นาที ฉันไม่เคยใช้มันมาก่อน แต่สามารถรับรู้ได้ดีจากการออกแบบยอดเยี่ยม แต่มันมีแค่ 20 ทรานซิสเตอร์เท่านั้นป้อนคำอธิบายรูปภาพที่นี่

แต่วิธีการออกแบบ CPU จะต้องเริ่มต้นด้วยสเป็คคือ เหตุใดจึงต้องออกแบบ CPU และสร้างมาตรฐานที่วัดได้เพื่อให้บรรลุเช่น; - คำแนะนำมาโครต่อวินาที (MIPS) (สำคัญกว่านาฬิกา CPU) ตัวอย่างเช่น - ชิป Itanium ของ Intel ใช้สิ่งที่เรียกว่าการออกแบบคอมพิวเตอร์ (EPIC) อย่างชัดเจน - การออกแบบ CPU ที่ได้รับการจดสิทธิบัตรของ Transmeta พร้อมด้วยคำว่า word code morphing microprocessors (VLIWCMM) ที่ยาวมาก พวกเขาฟ้องร้องอินเทลในปี 2549 ปิดร้านค้าและตัดสินราคาประมาณ $ 200 ล้านในปี 2550 - ประสิทธิภาพต่อวัตต์ (PPW) เมื่อต้นทุนพลังงาน> ต้นทุนของชิป (สำหรับเซิร์ฟเวอร์) - จุดลอยตัว Ops ต่อวินาที (FLOPS) สำหรับประสิทธิภาพทางคณิตศาสตร์

มีตัวชี้วัดอื่น ๆ อีกมากมาย แต่ไม่เคยยึดคุณภาพการออกแบบของ CPU ตามความเร็ว GHz (ดูตำนาน)

ดังนั้นจำเป็นต้องใช้เครื่องมืออะไรในการออกแบบ CPU รายการจะไม่พอดีกับหน้านี้จากการออกแบบฟิสิกส์ระดับอะตอมจนถึงไดนามิกตาข่าย EMC การออกแบบ EM / RF ทางกายภาพไปจนถึงวิศวกรทดสอบการตรวจสอบการออกแบบส่วนหน้าซึ่งทักษะที่จำเป็น ได้แก่ ; - Front-end RTL Simulation - ความรู้เกี่ยวกับ IA และสถาปัตยกรรมคอมพิวเตอร์และการออกแบบระดับระบบ - การตรวจสอบตรรกะและการจำลองตรรกะโดยใช้ VHDL หรือ Verilog - การเขียนโปรแกรมเชิงวัตถุและ CPU, บัส / การเชื่อมต่อระหว่างกัน, โปรโตคอลการเชื่อมโยงกัน


6
"Verilog" และ "VHDL" มี แต่เพียงรอยขีดข่วนบนพื้นผิวของคำถามค้นหาที่ไร้เดียงสา แต่เป็นแรงบันดาลใจ โลกแห่งความเป็นจริงนั้นคล้ายคลึงกับดิจิตอลมากกว่าที่คุณคิด
Tony Stewart Sunnyskyguy EE75

คุณมีคำอธิบายของวงจรแอมป์ที่ใดก็ได้ ทั้งหมดที่ฉันเห็นคือ cascoded OTA ส่วนที่เหลือคือวงจรวูดู
CyberMen

3
ว้าว. น่าเสียดายที่ส่วนใหญ่ไม่เกี่ยวข้องกับคำถาม
Dave Tweed

3
ฉันต้องบอกว่านี่เป็นการอ่านที่สนุกมาก การเปลี่ยนแปลงอย่างค่อยเป็นค่อยไปจาก toying นักเขียนที่มีคำถามเดิมกับเขาทำให้ความพยายามที่จะระเบิดความคิดของผู้อ่านกับตัวเลขและคำศัพท์และจากนั้นการให้ความช่วยเหลือด้วยตนเองตามความทรงจำของวันที่โรงเรียนเด็กที่มีเพียงหนึ่งคำใบ้ของความเย่อหยิ่งและในที่สุดก็ย้าย ไปที่ cliched "มันซับซ้อนมากจนฉันไม่สามารถสรุปได้ที่นี่" สวยงามอย่างแน่นอน
Ponkadoodle

และถึงแม้ว่าความคิดเห็นของฉันนั้นค่อนข้างเสียดสีฉันหวังว่าคุณจะใช้มันอย่างเบาใจ ฉันสนุกกับการอ่านอย่างแท้จริง
Ponkadoodle

2

ภาพรวมของการออกแบบ CPU ของ AMD

เวอร์ชันของ Intel

ทั้งสองอย่างนี้ให้รายละเอียดมาก แต่ก็ไม่น่าสนใจเท่าไร อย่ายอมรับสิ่งนี้เป็นคำตอบ คนอื่น ๆ ได้พิจารณาคำถามของคุณอย่างละเอียดและพยายามใช้คำตอบอย่างละเอียดมากขึ้น


ฉันเคยเห็นหน้า TomsHardware มาก่อน อย่างไรก็ตามมันอธิบายวิธีการผลิตโปรเซสเซอร์ไม่ใช่วิธีการออกแบบ
stevenvh
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.