อ่าน 4 นาที
พิกเซล วิชวล คอร์
Pixel Visual Core ( PVC ) เป็นซีรี่ส์ของ โปรเซสเซอร์ภาพ แบบ System in Package (SiP) ที่ ใช้สถาปัตยกรรม ARM ซึ่งออกแบบโดย Google [ 1 ] PVC เป็น สถาปัตยกรรมเฉพาะโดเมน ( DSA ) แบบ...
พิกเซล วิชวล คอร์
Pixel Visual Core ( PVC ) เป็นซีรี่ส์ของโปรเซสเซอร์ภาพ แบบ System in Package (SiP) ที่ ใช้สถาปัตยกรรม ARM ซึ่งออกแบบโดยGoogle [ 1 ] PVC เป็น สถาปัตยกรรมเฉพาะโดเมน ( DSA ) แบบมัลติคอร์ ที่สามารถตั้งโปรแกรมได้เต็มรูปแบบ สำหรับภาพการมองเห็นและAIสำหรับอุปกรณ์เคลื่อนที่ และในอนาคตสำหรับIoT [ 2 ] ปรากฏครั้งแรกในGoogle Pixel 2 และ 2 XLซึ่งเปิดตัวเมื่อวันที่ 19 ตุลาคม 2017 และยังปรากฏในGoogle Pixel 3 และ 3 XL ด้วย โดยเริ่มตั้งแต่ Pixel 4 ชิปนี้ถูกแทนที่ด้วยPixel Neural Core
ประวัติศาสตร์
ก่อนหน้านี้ Google ใช้CPU , GPU , IPUและDSPของQualcomm Snapdragonในการประมวลผลภาพสำหรับ อุปกรณ์ Google NexusและGoogle Pixelเนื่องจาก เทคนิค การถ่ายภาพเชิงคำนวณ มีความสำคัญเพิ่มมากขึ้น Google จึงได้พัฒนา Pixel Visual Core (PVC) ขึ้นมา Google อ้างว่า PVC ใช้พลังงานน้อยกว่าการใช้CPUและGPUในขณะที่ยังคงสามารถตั้งโปรแกรมได้อย่างเต็มที่ ซึ่งแตกต่างจากหน่วยประมวลผลเทนเซอร์ (TPU) และวงจรรวมเฉพาะงาน (ASIC) ของพวกเขา ที่จริงแล้วอุปกรณ์มือถือ แบบดั้งเดิม จะมีตัวประมวลผลสัญญาณภาพ (ISP) ซึ่งเป็น ไปป์ไลน์ การประมวลผลภาพ ที่มีฟังก์ชันการทำงานคงที่ ในทางตรงกันข้าม PVC มีฟังก์ชันการทำงานที่ตั้งโปรแกรมได้อย่างยืดหยุ่น ไม่จำกัดเฉพาะการประมวลผลภาพเท่านั้น
PVC ในGoogle Pixel 2 และ 2 XLมีป้ายกำกับว่า SR3HX X726C502 [ 3 ]
PVC ในGoogle Pixel 3 และ 3 XLมีป้ายกำกับว่า SR3HX X739F030 [ 4 ]
ด้วย PVC ทำให้ Pixel 2 และ Pixel 3 ได้รับคะแนน DxOMark สำหรับมือถือ ที่ 98 [ 5 ]และ 101 [ 6 ] โดยคะแนนหลังสุดเป็นคะแนน DxOMark สำหรับมือถือเลนส์เดี่ยวที่สูงที่สุด เทียบเท่ากับ iPhone XR [ 7 ]
ซอฟต์แวร์

โปรแกรมประมวลผลภาพทั่วไปของ PVC เขียนด้วยภาษาHalideปัจจุบันรองรับเพียงส่วนย่อยของภาษาโปรแกรม Halide โดยไม่มีการดำเนินการจุดลอยตัวและมีรูปแบบการเข้าถึงหน่วยความจำที่จำกัด[ 8 ] Halide เป็นภาษาเฉพาะโดเมนที่ช่วยให้ผู้ใช้แยกอัลกอริทึมและการจัดกำหนดการการดำเนินการออกจากกัน ด้วยวิธีนี้ นักพัฒนาสามารถเขียนโปรแกรมที่ได้รับการปรับให้เหมาะสมกับสถาปัตยกรรมฮาร์ดแวร์เป้าหมายได้[ 2 ]
ISA
PVC มีสถาปัตยกรรมชุดคำสั่ง (ISA) สองประเภท คือแบบเสมือนและแบบกายภาพ ก่อนอื่น โปรแกรมภาษาโปรแกรมระดับสูงจะถูกคอมไพล์เป็นISA เสมือน (vISA)ซึ่งได้รับแรงบันดาลใจจากRISC-V ISA [ 2 ]ซึ่งแยกส่วนจากรุ่นฮาร์ดแวร์เป้าหมายอย่างสมบูรณ์ จากนั้น โปรแกรม vISA จะถูกคอมไพล์เป็นISA กายภาพ (pISA)ซึ่งก็คือVLIW ISA ขั้นตอนการคอมไพล์นี้จะคำนึงถึงพารามิเตอร์ของฮาร์ดแวร์เป้าหมาย (เช่น ขนาดของอาร์เรย์ PE ขนาดของ STP เป็นต้น) และระบุการเคลื่อนย้ายหน่วยความจำอย่างชัดเจน การแยกส่วนระหว่างvISAและpISAทำให้ vISA สามารถใช้งานได้ข้ามสถาปัตยกรรมและไม่ขึ้นกับรุ่น ในขณะที่pISAสามารถคอมไพล์แบบออฟไลน์หรือผ่านการคอมไพล์ JITได้[ 8 ]
สถาปัตยกรรม

Pixel Visual Core ได้รับการออกแบบให้เป็นสถาปัตยกรรมมัลติคอร์ที่ปรับขนาดได้และประหยัดพลังงาน โดยมีจำนวนคอร์ตั้งแต่ 2 ถึง 16 คอร์[ 2 ]แกนหลักของ PVC คือหน่วยประมวลผลภาพ (IPU) ซึ่งเป็นหน่วยที่ตั้งโปรแกรมได้และออกแบบมาสำหรับการประมวลผลภาพ สถาปัตยกรรม Pixel Visual Core ยังได้รับการออกแบบให้เป็นชิปของตัวเอง เช่น SR3HX หรือเป็นบล็อก IPสำหรับSystem on a chip (SOC ) [ 2 ]
หน่วยประมวลผลภาพ (IPU)
แกน IPU ประกอบด้วยโปรเซสเซอร์สเตนซิล (STP), พูลบัฟเฟอร์เส้น (LBP) และNoC STP ส่วนใหญ่มีอาร์เรย์ SIMD 2 มิติขององค์ประกอบการประมวลผล (PE) ที่สามารถทำการคำนวณสเตนซิลซึ่งเป็นบริเวณใกล้เคียงพิกเซลขนาดเล็ก แม้ว่าจะดูคล้ายกับ การคำนวณ อาร์เรย์ซิสโตลิกและเวฟฟรอนท์ แต่ STP มีการเคลื่อนย้ายข้อมูลที่ควบคุมด้วยซอฟต์แวร์อย่างชัดเจน แต่ละ PE ประกอบด้วยหน่วยคำนวณตรรกะทางคณิตศาสตร์ (ALU) 16 บิต 2 หน่วย , หน่วยตัวคูณ-ตัวสะสม (MAC) 16 บิต 1 หน่วย, รีจิสเตอร์ 16 บิต 10 หน่วย และรีจิสเตอร์เงื่อนไข 1 บิต 10 หน่วย[ 2 ]
พูลบัฟเฟอร์สาย (LBP)
เนื่องจากการเข้าถึง DRAM เป็นหนึ่งในกระบวนการที่ใช้พลังงานสูงที่สุด STP แต่ละตัวจึงมีบัฟเฟอร์ชั่วคราวเพื่อเพิ่มความใกล้เคียงของข้อมูล นั่นคือ LBP โดย LBP ที่ใช้เป็น FIFO 2 มิติที่รองรับขนาดการอ่านและการเขียนที่แตกต่างกัน LBP ใช้โมเดลพฤติกรรมแบบผู้ผลิตรายเดียวผู้บริโภคหลายราย LBP แต่ละตัวสามารถมีหน่วยความจำ LB เชิงตรรกะได้แปดตัวและอีกหนึ่งตัวสำหรับการดำเนินการอินพุต-เอาต์พุตDMA [ 8 ] เนื่องจากระบบหน่วยความจำมีความซับซ้อนสูงมาก นักออกแบบ PVC จึงระบุว่าตัวควบคุม LBP เป็นหนึ่งในส่วนประกอบที่ท้าทายที่สุด[ 2 ] NoC ที่ใช้เป็นเครือข่ายวงแหวนบนชิปที่ใช้ในการสื่อสารกับคอร์ข้างเคียงเท่านั้นเพื่อประหยัดพลังงานและรักษารูปแบบการคำนวณแบบไปป์ไลน์[ 2 ]
เครื่องประมวลผลสเตนซิล (STP)

STP มีอาร์เรย์ 2 มิติของ PE: ตัวอย่างเช่น อาร์เรย์ 16x16 ของ PE เต็มรูปแบบและเลนสี่เลนของ PE ที่เรียบง่ายเรียกว่า"halo" STP มีโปรเซสเซอร์สเกลาร์ที่เรียกว่าเลนสเกลาร์ (SCL) ซึ่งเพิ่มคำสั่งควบคุมด้วยหน่วยความจำคำสั่งขนาดเล็ก ส่วนประกอบสุดท้ายของ STP คือหน่วยโหลดและจัดเก็บที่เรียกว่าตัวสร้างแผ่น (SHG) โดยที่แผ่นคือหน่วยเข้าถึงหน่วยความจำ PVC [ 2 ]
สรุปการออกแบบ SR3HX
SR3HX PVC มี CPU ARMv8a ARM Cortex-A53 แบบ 64 บิต , คอร์หน่วยประมวลผลภาพ (IPU) 8 คอร์, LPDDR4 ขนาด 512 MB , MIPI, PCIe คอร์ IPU แต่ละคอร์มีหน่วยคำนวณและตรรกะ (ALU) 512 หน่วย ประกอบด้วยหน่วยประมวลผล (PE) 256 หน่วย จัดเรียงเป็นอาร์เรย์ 2 มิติขนาด 16 x 16 คอร์เหล่านี้ประมวลผล ISA VLIW แบบกำหนดเอง มี ALU ขนาด 16 บิต 2 หน่วยต่อหน่วยประมวลผล และสามารถทำงานได้ 3 วิธีที่แตกต่างกัน ได้แก่ แบบอิสระ แบบรวม และแบบหลอมรวม[ 9 ] SR3HX PVC ผลิตเป็นSiPโดยTSMCโดยใช้กระบวนการHKMG 28HPM ของพวกเขา [ 1 ] ได้รับการออกแบบมานานกว่า 4 ปีโดยร่วมมือกับIntel (รหัสชื่อ: Monette Hill) [ 10 ] Google อ้างว่า SR3HX PVC ประหยัดพลังงานมากกว่าSnapdragon 835ถึง 7-16 เท่า [ 1 ]และ SR3HX PVC สามารถประมวลผลได้ 3 ล้านล้านครั้งต่อวินาที HDR+ สามารถทำงานได้เร็วกว่าSnapdragon 835 ถึง 5 เท่า และใช้พลังงานน้อยกว่าหนึ่งใน สิบ[ 11 ] รองรับHalideสำหรับการประมวลผลภาพและTensorFlowสำหรับการเรียนรู้ของเครื่อง[ 11 ]ชิปปัจจุบันทำงานที่ความเร็ว 426 MHz และ IPU ตัวเดียวสามารถประมวลผลได้มากกว่า 1 TeraOPS [ 2 ] [ 8 ]
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ พิกเซล วิชวล คอร์
Pixel Visual Core ( PVC ) เป็นซีรี่ส์ของ โปรเซสเซอร์ภาพ แบบ System in Package (SiP) ที่ ใช้สถาปัตยกรรม ARM ซึ่งออกแบบโดย Google [ 1 ] PVC เป็น สถาปัตยกรรมเฉพาะโดเมน ( DSA ) แบบ...
ประวัติศาสตร์
ก่อนหน้านี้ Google ใช้ CPU , GPU , IPU และ DSP ของ Qualcomm Snapdragon ใน การประมวลผลภาพ สำหรับ อุปกรณ์ Google Nexus และ Google Pixel เนื่องจาก เทคนิค การถ่ายภาพเชิงคำนวณ มีความสำคัญเพิ่มมากขึ้น Google จึงได้พัฒนา Pixel Visual Core (PVC) ขึ้นมา Google อ้างว่า...
ซอฟต์แวร์
โปรแกรมประมวลผลภาพทั่วไปของ PVC เขียนด้วยภาษา Halide ปัจจุบันรองรับเพียงส่วนย่อยของภาษาโปรแกรม Halide โดยไม่มีการดำเนินการจุดลอยตัวและมีรูปแบบการเข้าถึงหน่วยความจำที่จำกัด [ 8 ] Halide เป็น ภาษาเฉพาะโดเมน ที่ช่วยให้ผู้ใช้แยก อัลกอริทึม และ การจัดกำหนดการ...
ISA
PVC มี สถาปัตยกรรมชุดคำสั่ง (ISA) สองประเภท คือแบบเสมือนและแบบกายภาพ ก่อนอื่น โปรแกรมภาษาโปรแกรมระดับสูงจะถูกคอมไพล์เป็น ISA เสมือน (vISA) ซึ่งได้รับแรงบันดาลใจจาก RISC-V ISA [ 2 ] ซึ่งแยกส่วนจากรุ่นฮาร์ดแวร์เป้าหมายอย่างสมบูรณ์ จากนั้น โปรแกรม vISA...