Efficient Computer ได้เปิดตัวโปรเซสเซอร์ Electron E1 ที่สัญญาว่าจะปฏิวัติการคำนวณแบบฝังตัว (embedded computing) ด้วยการอ้างสิทธิ์ว่ามีประสิทธิภาพการใช้พลังงานที่ดีกว่าชิป ARM ผู้นำตลาดถึง 10 ถึง 100 เท่า การยืนยันอย่างกล้าหาญของสตาร์ตอัพแห่งนี้ที่ว่า CPU แบบดั้งเดิมถูกสร้างมาผิดๆ มาหลายทศวรรษ ได้จุดประกายการถกเถียงอย่างเข้มข้นในชุมชนเทคโนโลยี โดยผู้เชี่ยวชาญตั้งคำถามทั้งความเป็นไปได้และความใช้งานได้จริงของแนวทางนี้
การอ้างสมรรถนะ:
- ประสิทธิภาพด้านพลังงานดีกว่า ARM Cortex M3, M55, A53 cores ถึง 10-100 เท่า
- ตัวชี้วัดหลัก: การดำเนินการต่อจูลและ TOPS ต่อวัตต์
- รองรับการดำเนินการแบบ floating-point 32 บิต
- รองรับภาษาโปรแกรม C++ และ Rust
สถาปัตยกรรมคล้ายกับการคำนวณแบบ FPGA
ชุมชนเทคนิคได้ระบุอย่างรวดเร็วว่าสถาปัตยกรรมของ E1 เป็น Coarse-Grained Reconfigurable Array (CGRA) ซึ่งทำงานคล้ายกับ FPGA มากกว่า CPU แบบดั้งเดิม แทนที่จะประมวลผลคำสั่งตามลำดับเวลา E1 จะแมปคำสั่งโปรแกรมในเชิงพื้นที่ข้ามตารางของไทล์คำนวณ การเปลี่ยนแปลงพื้นฐานนี้ช่วยขจัดการสับเปลี่ยนข้อมูลส่วนใหญ่ที่กินพลังงานในโปรเซสเซอร์แบบเดิม
อย่างไรก็ตาม แนวทางเชิงพื้นที่นี้มาพร้อมกับข้อจำกัดที่สำคัญ สถาปัตยกรรมจะทำงานได้อย่างมีประสิทธิภาพเฉพาะเมื่อโปรแกรมพอดีกับตารางของชิปเท่านั้น เมื่อขนาดโค้ดเกินไทล์ที่มีอยู่ ระบบจะต้องปรับค่าใหม่ ซึ่งอาจลบล้างการเพิ่มประสิทธิภาพที่สัญญาไว้ ข้อจำกัดนี้ทำให้ผู้เชี่ยวชาญบางคนเปรียบเทียบกับความพยายามในอดีตของสถาปัตยกรรมที่คล้ายกัน ซึ่งแสดงผลลัพธ์ที่น่าประทับใจในงานเฉพาะขนาดเล็ก แต่ประสบปัญหากับการใช้งานในโลกแห่งความเป็นจริง
การเปรียบเทียบสถาปัตยกรรม:
คุณสมบัติ | CPU แบบดั้งเดิม | Electron E1 |
---|---|---|
รูปแบบการประมวลผล | แบบลำดับ (ตามเวลา) | แบบเชิงพื้นที่ (ตามตาราง) |
การจัดตารางงาน | แบบไดนามิกขณะรันไทม์ | แบบคงที่ขณะคอมไพล์ |
การเคลื่อนย้ายข้อมูล | บัฟเฟอร์แบบแคช | การไหลโดยตรงจาก tile ไปยัง tile |
Program Counter | มี | ไม่มี |
การประมวลผลแบบ out-of-order | มี ( CPU สมัยใหม่) | ไม่มี |
การพึ่งพา Compiler ทำให้เกิดสัญญาณเตือน
ความสำเร็จของ E1 ขึ้นอยู่กับ smart compiler ทั้งหมด ซึ่งต้องจัดการงานที่ซับซ้อนในการแมปโค้ด C++ หรือ Rust ลงบนตารางเชิงพื้นที่ แนวทางที่เน้น compiler เป็นศูนย์กลางนี้ได้รับความสงสัยจากชุมชน โดยเฉพาะอย่างยิ่งเมื่อพิจารณาประวัติของเทคโนโลยี compiler ที่สัญญามากเกินไปในอุตสาหกรรม
ระบบต้องการให้ compiler แก้ไขความขัดแย้งที่อาจเกิดขึ้นทั้งหมดและเพิ่มประสิทธิภาพการไหลของข้อมูลในเวลาคอมไพล์ แทนที่จะจัดการการตัดสินใจเหล่านี้แบบไดนามิกระหว่างการทำงาน แม้ว่าแนวทางนี้สามารถขจัด runtime overhead ได้ในทางทฤษฎี แต่ก็หมายความว่า compiler ต้องแก้ปัญหาการจัดเส้นทางที่ซับซ้อนมากขึ้นเมื่อขนาดโปรแกรมเพิ่มขึ้น ผู้สังเกตการณ์บางคนสังเกตเห็นความคล้ายคลึงกับเครื่องมือ FPGA synthesis ซึ่งมีชื่อเสียงว่าช้าและบางครั้งไม่สามารถหาโซลูชันที่เหมาะสมที่สุดได้
ข้อจำกัดทางเทคนิค:
- ขนาดโปรแกรมถูกจำกัดด้วย compute tiles ที่มีอยู่
- ต้องการการกำหนดค่าใหม่สำหรับแอปพลิเคชันที่ใหญ่กว่า
- ความสามารถในการแตกแขนงแบบไดนามิกมีจำกัด
- พึ่งพาการปรับปรุงประสิทธิภาพของคอมไพเลอร์อย่างมาก
- ต้องการการแก้ไขข้อขัดแย้งในเวลาคอมไพล์
ความสงสัยเกี่ยวกับการอ้างสิทธิ์ General-Purpose
แม้ว่า Efficient Computer จะยืนยันว่า E1 เป็นโปรเซสเซอร์ general-purpose แต่หลายคนในชุมชนเทคนิคยังคงไม่เชื่อมั่น ข้อจำกัดของสถาปัตยกรรมกับ dynamic branching, รูปแบบการเข้าถึงหน่วยความจำแบบผันแปร และ control flow ที่ซับซ้อน บ่งชี้ว่าอาจเหมาะสมกับงานคำนวณเฉพาะมากกว่าการคำนวณทั่วไป
โอกาสเป็นเปอร์เซ็นต์ที่สิ่งนี้จะมีประสิทธิภาพสูงกว่า 100 เท่าในการคำนวณ general purpose ที่ ARM ได้รับการปรับให้เหมาะสม: 1/100%
การใช้ TOPS per watt เป็นตัวชี้วัดประสิทธิภาพหลักของบริษัทก็ทำให้หลายคนเกิดข้อสงสัย เนื่องจากการวัดนี้มักเกี่ยวข้องกับ AI accelerator มากกว่า CPU general-purpose การเปรียบเทียบ embedded benchmark แบบดั้งเดิมเช่น DMIPS หรือ CoreMark จะให้การเปรียบเทียบที่เกี่ยวข้องมากกว่าสำหรับตลาดเป้าหมาย
ความท้าทายในตลาดข้างหน้า
นอกเหนือจากข้อกังวลทางเทคนิคแล้ว E1 ยังเผชิญกับอุปสรรคในตลาดที่สำคัญในพื้นที่ embedded computing ที่อนุรักษ์นิยม ความต้องการของอุตสาหกรรมสำหรับส่วนประกอบที่ได้รับการพิสูจน์แล้วและมีอายุการใช้งานยาวนาน ขัดแย้งกับความต้องการของสตาร์ตอัพที่จะสร้างตัวตน แอปพลิเคชัน embedded หลายตัวต้องการการรับประกันความพร้อมใช้งานของส่วนประกอบเป็นหลายทศวรรษ ซึ่งเป็นความมุ่งมั่นที่ท้าทายสำหรับบริษัทใหม่ใดๆ ที่จะให้ได้
การขาดเครื่องมือพัฒนาที่เปิดให้ใช้งานสาธารณะและข้อมูล benchmarking ที่ครอบคลุม ยิ่งเพิ่มความสงสัยมากขึ้น แม้ว่า Efficient Computer จะอ้างว่ามี silicon ที่ใช้งานได้และได้สาธิตชิปในงานอุตสาหกรรม แต่การตรวจสอบอิสระของการอ้างสิทธิ์ประสิทธิภาพของพวกเขายังคงจำกัด
Electron E1 เป็นตัวแทนของความพยายามที่น่าสนใจในการคิดใหม่เกี่ยวกับสถาปัตยกรรมโปรเซสเซอร์สำหรับแอปพลิเคชันที่จำกัดพลังงาน อย่างไรก็ตาม ช่องว่างระหว่างข้อได้เปรียบทางทฤษฎีและการนำไปใช้จริงในระบบ embedded ในโลกแห่งความเป็นจริงยังคงมีมาก ว่าแนวทาง spatial computing นี้จะสามารถเอาชนะข้อจำกัดที่แท้จริงและได้รับการยอมรับในตลาดหรือไม่ น่าจะขึ้นอยู่กับว่าบริษัทสามารถจัดการกับความท้าทายพื้นฐานด้าน scalability และ tooling ที่ในอดีตเป็นปัญหาใหญ่ของสถาปัตยกรรมที่คล้ายกันได้ดีเพียงใด
อ้างอิง: Efficient Computer's Electron E1 CPU