สถาปัตยกรรม PlayStation Vita (พาร์ต 1)
(copetti.org)- PSVita เป็นอุปกรณ์ที่อยู่ตรงจุดบรรจบระหว่างเครื่องเล่นเกมพกพาแบบดั้งเดิมกับกระแส mobile SoC ที่เติบโตอย่างรวดเร็ว โดย Sony พยายามใช้วงจรที่คุ้นเคย แต่ยังคงอัตลักษณ์ของผลิตภัณฑ์ที่ต่างจากสมาร์ตโฟน
- สายผลิตภัณฑ์แบ่งเป็น PSVita รุ่นดั้งเดิม, Slim ที่เปลี่ยนจอ OLED เป็น LCD และ PlayStation TV ที่ใกล้เคียงกับเครื่องแบบตั้งโต๊ะ โดยการวิเคราะห์สถาปัตยกรรมโดยรวมใช้ได้กับทั้งสามรุ่นย่อย
- ชิปหลัก Kermit ใช้แนวทาง Stacked Chip SoC ของ Toshiba โดยซ้อน CPU, GPU, RAM ราว 640MB, ตัวเร่งความเร็ว และวงจรเข้ากันได้กับ PSP ไว้ในแพ็กเกจเดียว ช่วยเพิ่มแบนด์วิดท์และลดพื้นที่ แต่ทำให้การออกแบบการระบายความร้อนยากขึ้น
- CPU หลักคือ ARM Cortex-A9 MPCore แบบควอดคอร์ ความเร็วสูงสุด 500MHz มี ARMv7-A, แคช L2 ใช้ร่วมกัน 2MB, การคอมไพล์ที่เน้น Thumb-2, NEON/VFPv3, TrustZone และการประมวลผลแบบ out-of-order
- งานมัลติมีเดียรับผิดชอบโดยตัวเร่งความเร็ว Venezia ของ Toshiba ส่วนความเข้ากันได้ย้อนหลังกับ PSP/PS1 จัดการด้วย MIPS32 4k ภายใน Kermit รวมถึง CDRAM, Scratchpad และโครงสร้าง RPC ที่ถูกกันไว้
ตลาดที่ PSVita อยู่และขอบเขตการวิเคราะห์
- PSVita เป็นผลิตภัณฑ์ที่อยู่ตรงรอยต่อระหว่างอุตสาหกรรมวิดีโอเกมกับ ภาค mobile ที่เปลี่ยนแปลงอย่างรวดเร็ว
- Sony ต้องแข่งขันกับอุปกรณ์ราคาถูกที่ให้ฟังก์ชันหลากหลายเกินกว่าการโทรศัพท์
- คอนโซลพกพารุ่นใหม่ของ Sony ใส่เทคโนโลยีสมัยใหม่ในยุคนั้นเข้ามา และแม้โครงสร้างวงจรจะดูคุ้นเคย แต่ก็มีการออกแบบที่พยายามไม่ให้คล้ายตลาดสมาร์ตโฟนด้วย
- การวิเคราะห์คอนโซลยุคที่ 8 มีความซับซ้อนสูงขึ้น จึงไม่ได้เผยแพร่ทั้งหมดในครั้งเดียว แต่ดำเนินไปแบบ เผยแพร่เป็นส่วนๆ
PSVita ทั้งสามรุ่น
- ตลอดวงจรชีวิตของ PSVita Sony ปรับกลยุทธ์ผลิตภัณฑ์หลายครั้งและออกมาสามรุ่นย่อย
- Original PSVita เป็นรุ่นแรกของซีรีส์ และบางครั้งถูกเรียกว่ารุ่น ‘Fat’
- Slim ยังคงสถาปัตยกรรมเดิมไว้ แต่เปลี่ยนจอ OLED เป็น LCD เพื่อลดต้นทุน และไม่มีรุ่นย่อยที่รองรับ 3G
- Slim มีชิป eMMC ที่ใหญ่ขึ้น แต่เพิ่มขึ้นเพียง 52MB ถึงอย่างนั้นก็ทำให้สามารถให้การ์ดหน่วยความจำภายใน 1GB ได้
- PlayStation TV เป็นรูปแบบที่ปรับเมนบอร์ดของรุ่น Fat ให้เหมาะกับสภาพแวดล้อมที่ไม่ใช่แบบพกพา และเผยให้เห็นการจัดวาง I/O ที่ต่างออกไป
- คำอธิบายสถาปัตยกรรมโดยรวมใช้ได้กับทั้งสามรุ่น และการเปลี่ยนแปลง eMMC ของ Slim กับ PlayStation TV จะอธิบายแยกต่างหาก
Kermit: SoC ศูนย์กลางของ PSVita
- เดิม Sony ใช้เทคโนโลยี MIPS อย่างแข็งขันมาตั้งแต่ PlayStation รุ่นแรก แต่เมื่อ ARM แข็งแกร่งขึ้นในตลาด mobile และการใช้ MIPS ลดลง Sony จึงเลือก ARM CPU สำหรับ PSVita
- Toshiba เป็นพันธมิตรการผลิตใกล้ชิดของ Sony และรับบทเป็นผู้ใช้ไลเซนส์ ARM
- ชิปหลัก Kermit ยืมชื่อมาจาก ‘The Muppets’ และเป็นบล็อกวงจรที่ใหญ่ที่สุดซึ่งมี CPU หลักของ PSVita อยู่ภายใน
- Kermit เป็น System-on-Chip แต่ด้วยโมเดลการผลิต Stacked Chip SoC(SCS) ของ Toshiba จึงรวมหน่วยความจำและโปรเซสเซอร์จำนวนมากไว้ในแพ็กเกจเดียวกัน
- SCS เป็นวิธีซ้อนวงจรขึ้นลง แทนที่จะเชื่อมต่อออกด้านข้าง
- ผลโดยตรงคือแบนด์วิดท์เพิ่มขึ้นและพื้นที่ลดลง
- แต่แลกกับการออกแบบการระบายความร้อนที่ซับซ้อนขึ้น
- องค์ประกอบหลักของ Kermit มีดังนี้
- CPU หลัก ARM Cortex-A9 MPCore แบบควอดคอร์
- GPU หลัก PowerVR SGX543MP4+ จาก Imagination Technologies
- ตัวเร่งความเร็วหลายชนิด เช่น DSP ขนาดใหญ่, DMA controller และบล็อกความปลอดภัย
- RAM ราว 640MB ที่แบ่งเป็นหลายชนิด
- CPU MIPS และวงจร Graphics Engine สำหรับความเข้ากันได้กับ PlayStation Portable
ARM Cortex-A9 MPCore
- CPU หลักของ PSVita คือ ARM Cortex-A9 MPCore เป็นคลัสเตอร์ที่ประกอบด้วยคอร์ Cortex-A9 สี่คอร์
- ความเร็วทำงานสูงสุด 500MHz ต่ำกว่า 1.4GHz ของ Samsung Galaxy S III ซึ่งใช้ A9 แบบควอดคอร์ในช่วงเวลาเดียวกัน
- Cortex-A9 เป็น CPU รุ่นถัดจาก Cortex-A8 และ PSVita เปิดตัวห่างจาก Nintendo 3DS เพียงไม่กี่เดือน
- ฟังก์ชันพื้นฐานร่วมมีดังนี้
- ชุดคำสั่ง ARMv7-A
- แคช L1 64KB
- แบ่งเป็นแคชข้อมูล 32KB และแคชคำสั่ง 32KB
- ความสอดคล้องของแคชข้อมูลระหว่างคอร์จัดการโดย Snoop Control Unit
- โครงสร้าง 2-issue superscalar
- หากไม่มี hazard จะรันคำสั่งสองคำสั่งผ่านสอง pipeline เพื่อเพิ่มจำนวนคำสั่งที่รันได้ต่อ clock
- การทำนาย branch แบบไดนามิก
- ในขั้นตอน fetch คำสั่ง ใช้บัฟเฟอร์เฉพาะสองตัวเพื่อคาดเดาว่าจะมี branch หรือไม่และจะเลือก branch หรือไม่
- ยูนิตนี้ทำนายเฉพาะคำสั่ง branch เท่านั้น ไม่รวมการปรับแต่งอย่าง conditional execution หรือคำสั่ง
IT
- MMU พร้อม TLB
- TrustZone
- ในระดับฮาร์ดแวร์ จะแบ่งองค์ประกอบเป็นกลุ่ม secure และ non-secure
- ในระดับซอฟต์แวร์ จะรัน Trusted Execution Environment ซึ่งเป็นระบบปฏิบัติการเสริมแบบแยกตัวสำหรับจัดการข้อมูลลับ
- การส่งข้อมูลจะติดแท็กที่ระบุว่าเป็นทรานแซกชัน secure หรือ insecure
- NEON Media Processing Engine
- เป็นโปรเซสเซอร์เสริมที่ทำงานคำนวณเวกเตอร์และ floating-point
- ส่วนที่พัฒนาขึ้นใน Cortex-A9 มีดังนี้
- การรองรับมัลติคอร์
- เห็นได้ชัดที่สุดจากการที่ Sony เลือกแพ็กเกจแบบควอดคอร์
- นี่เป็นพื้นฐานที่ทำให้ iPad 2 และ iPhone 4s เปิดตัวด้วย CPU ดูอัลคอร์ได้เช่นกัน
- การประมวลผลแบบ out-of-order ผ่าน register renaming
- เป็นการเปลี่ยนแปลงครั้งใหญ่ที่ขยาย instruction-level parallelism ของ ARM
- pipeline ความยาวแปรผัน ที่เปลี่ยนระหว่าง 8–11 stage ตามงาน
- หากการรันต่อไปยังโปรเซสเซอร์เสริมมัลติมีเดีย จำนวน stage อาจเพิ่มขึ้นอีก
- การรองรับมัลติคอร์
- Sony เพิ่ม Primelink Level 2 Cache Controller ของ ARM และแคช L2 ใช้ร่วมกัน 2MB
- Primelink เป็น cache subsystem ที่ตั้งค่า cache associativity ได้หลากหลาย ตั้งแต่ direct-mapped ไปจนถึง 16-way
- ภายหลัง ARM เปลี่ยนแบรนด์ Primelink เป็น CoreLink
ARMv7, Thumb-2, NEON/VFPv3
- ARMv7 ของ Cortex-A9 เป็น superset ของ ARMv6 ISA โดยส่วนเพิ่มเติมหลักคือ VFPv3, NEON, Security Extension และ multiprocessing
- Thumb ISA ถูกปรับปรุงครั้งใหญ่เป็น Thumb-2
- Thumb-2 เพิ่มคำสั่ง 32 บิตเพื่อเติมช่องว่างของ Thumb 16 บิตเดิม
- เมื่อเทียบกับ ARM ISA จะมี code density สูงกว่า และแม้ไม่มี conditional execution แต่ชดเชยบางส่วนด้วยคำสั่งเฉพาะ
IT
- Cortex-A9 ของ Kermit ยัง implement ThumbEE และ Jazelle ด้วย แต่ยากที่จะมองว่าแอปพลิเคชันจะใช้ประโยชน์จากสิ่งเหล่านี้
- Dalvik ซึ่งเป็น Java interpreter ของ Android ก็ไม่ได้ใช้ Jazelle/Thumb-2EE
- ARM สร้าง Unified Assembler Language(UAL) เพื่อลดความสับสนของ ISA
- UAL มุ่งให้มี codebase เดียวที่ target ได้ทั้ง ARM และ Thumb-2
- ในทางปฏิบัติ เป็น union ของ opcode ของ ARM และ Thumb-2 โดย assembler จะข้าม opcode ตาม CPU เป้าหมาย
- ในภาษาอย่าง C, Objective-C และ C++ คอมไพเลอร์มักใช้ Thumb-2 เป็น output assembly เริ่มต้น
- เหตุผลคือ code density ที่มีประสิทธิภาพและ performance penalty ที่พบไม่บ่อย
- แอปสมาร์ตโฟนและแอปพลิเคชัน PSVita ส่วนใหญ่ถูกคอมไพล์เป็น Thumb-2 ไม่ใช่ ARM
MPE, VFPv3, NEON สำหรับงานประมวลผลสื่อ
- องค์ประกอบที่สำคัญเป็นพิเศษต่อ PSVita ใน Cortex-A9 คือ Media Processing Engine(MPE)
- MPE รันชุดคำสั่งสองชุดที่เกี่ยวข้องกัน
- Vector Floating-Point v3(VFPv3)
- เป็นรุ่นถัดจาก VFPv2 สำหรับฟังก์ชัน floating-point
- สอดคล้องกับ IEEE-754
- มีคำสั่งอย่าง
VCVT,VMOV - รุ่นย่อยที่แน่นอนของ Cortex-A9 คือ VFPv3-D32 ซึ่งมีรีจิสเตอร์ 64 บิต 32 ตัว
- ARMv7 ยกเลิกการใช้คำสั่งเวกเตอร์แล้ว และ Cortex-A9 ไม่มีคำสั่งเวกเตอร์ดังกล่าว
- NEONv1
- เป็นชุดคำสั่งเวกเตอร์จริง หรือที่เรียกว่า ‘ARMv7 Advanced SIMD’
- มีรีจิสเตอร์ 128 บิต 16 ตัว และสามารถแบ่งเป็นรีจิสเตอร์เสมือน 64 บิตหรือ 32 บิตจำนวน 32 ตัวได้
- รองรับจำนวนเต็มได้สูงสุด 64 บิต และชนิด floating-point ไม่เกิน 32 บิต
- Vector Floating-Point v3(VFPv3)
- NEON และ VFPv3 ใช้ register file เดียวกัน แต่ถือเป็น ISA แยกกัน
- เหตุผลที่แยกสอง ISA ออกจากกันคือทั้งสองฝั่งต่างก็ไม่สมบูรณ์ในเชิงฟังก์ชัน
- VFPv3 ไม่รองรับ fixed-point
- NEON ไม่สอดคล้องกับมาตรฐาน IEEE 754
- NEON ถูกมองว่าเป็นสิ่งที่ออกมาอย่างรวดเร็วเพื่อตอบโต้ Wireless MMX ซึ่งเป็น SIMD extension แบบ proprietary ของ Intel XScale
- PDA ระดับสูงอย่าง Dell Axim X51v ใช้ CPU Intel XScale PXA270 ที่เข้ากันได้กับ ARMv5 ISA และมี SIMD extension แบบ proprietary ที่ใช้ได้เฉพาะในสาย CPU ของ Intel
- อุปกรณ์นี้ยังติดตั้ง GPU PowerVR MBX ซึ่งเกี่ยวข้องกับชิปกราฟิกของ PSVita ด้วย
โครงสร้างบัส
- สเปก AMBA ของ ARM ถูกใช้สำหรับการเชื่อมต่อองค์ประกอบใน Cortex-A9 ด้วย
- โปรโตคอล AXI ในการแก้ไขครั้งที่ 3 ของ AMBA ถูกเลือกเป็น interface ของคอร์ภายในคลัสเตอร์ MPCore
- การเลือก AXI แบบเดียวกันพบได้ใน ARM11 และ Nintendo 3DS เช่นกัน
- PSVita ยังใช้ Open Core Protocol(OCP) สำหรับการสื่อสารทั้งหมดนอก MPCore
- เป็นโปรโตคอลในตระกูลเดียวกับที่ Nintendo 3DS ใช้เมื่อสื่อสารกับ PICA GPU
แนวทางของ ARM หลัง Cortex-A
- หลัง Cortex-A9 ตระกูล Cortex-A ถูกแบ่งต่อเป็น อีกสี่หมวดหมู่ ตั้งแต่สมรรถนะระดับสูงไปจนถึงเน้นประสิทธิภาพพลังงาน ทำให้โครงสร้างการสืบทอดซับซ้อนขึ้น
- หมายเลขรุ่นของ CPU แต่ละตัวติดตามได้ยากขึ้น แต่ไม่ใช่ปัญหาใหญ่ เพราะ CPU เหล่านี้ไม่ได้เป็นผลิตภัณฑ์ที่ขายแยกให้ผู้ใช้ปลายทางทั่วไป
- หลักไมล์ใหญ่ถัดไปของ ARM คือ ARMv8 ที่ปรากฏในปี 2011 และจะกล่าวเพิ่มเติมในการวิเคราะห์ Nintendo Switch
Venezia: ตัวเร่งความเร็วมัลติมีเดียของ Sony
- Sony ใส่ตัวเร่งความเร็วขนาดใหญ่ไว้ข้างคลัสเตอร์ ARM เพื่อช่วยงานที่เกี่ยวข้องกับเกม
- ตัวเร่งความเร็วนี้เป็น black box แบบ proprietary อย่างสมบูรณ์ เช่นเดียวกับกลุ่ม Media Engine ของ PSP รุ่นก่อนหน้า และโปรแกรมเมอร์เข้าถึงผ่าน SDK อย่างเป็นทางการแทนที่จะควบคุมโดยตรง
- ตัวเร่งความเร็วนี้ชื่อ Venezia
- เป็นแพ็กเกจ CPU แยกต่างหากที่ออกแบบโดย Toshiba พันธมิตรใกล้ชิดของ Sony
- สร้างขึ้นเพื่อประมวลผลภาพและเสียง
- ฟังก์ชันใกล้เคียงกับ Digital Signal Processor(DSP)
- ยังจำหน่ายเป็นชิปที่สังเคราะห์ได้สำหรับอุปกรณ์มัลติมีเดียอย่างเครื่องเล่น DVD ด้วย
- Venezia มีลักษณะสืบทอดมาจาก Media Engine ของ PSP
โครงสร้างภายในของ Venezia
- Venezia มีโครงสร้างแบบคลัสเตอร์เหมือน MPCore และประกอบด้วยคอร์ Media Processing Engine(MPE) 8 คอร์
- ความเร็วทำงาน 266.7MHz
- ชื่อ MPE ของ Toshiba ซ้ำกับชื่อของตัวเร่งเวกเตอร์ของ ARM แต่เป็นซิลิคอนคนละตัวกัน
- MPE แต่ละตัวมีองค์ประกอบดังนี้
- CPU Media-embedded Processor(MeP) แบบ proprietary
- เป็น MeP-c5 รุ่นปรับปรุงครั้งที่ห้า
- สถาปัตยกรรมฐาน RISC 32 บิต
- แคช L1 32KB
- แยกเป็นคำสั่ง 16KB และข้อมูล 16KB
- หน่วยความจำเอนกประสงค์ 64KB
- เป็นพื้นที่ที่ MeP CPU ใช้รันโปรแกรมหลัก
- DMA controller สำหรับโอนข้อมูลหน่วยความจำภายในและภายนอก
- โปรเซสเซอร์เสริมประมวลผลภาพ IVC2
- รันคำสั่ง SIMD 64 บิต
- ประมวลผลกลุ่มข้อมูลได้หลายแบบ ตั้งแต่จำนวนเต็ม 8 บิต 8 ค่า ไปจนถึงจำนวนเต็ม 32 บิต 2 ค่า
- มี accumulator register 256 บิต 2 ตัว และเมื่อใช้ร่วมกับฟังก์ชันอื่น สามารถคำนวณสอง operation พร้อมกันได้
- CPU Media-embedded Processor(MeP) แบบ proprietary
- คลัสเตอร์ยังมี แคช L2 256KB
- คุณสมบัติหลักคือชุดคำสั่งแบบ Very Long Instruction Word(VLIW)
- สามารถ encode หลายคำสั่งพร้อมกันในหนึ่งบรรทัดได้
- Venezia ใส่คำสั่งได้รวม 3 คำสั่งในหนึ่งบรรทัด คือ 2 คำสั่งสำหรับโปรเซสเซอร์เสริมภาพ และ 1 คำสั่งสำหรับ CPU
- ต้องใช้คอมไพเลอร์ที่ยอดเยี่ยมเพื่อ pack คำสั่งอย่างมีประสิทธิภาพ
- VLIW ได้รับความสนใจในทศวรรษ 1990 จาก implementation อย่าง Broadcom Firepath, Transmeta Crusoe และ Intel Itanium แต่ผล benchmark ที่น่าผิดหวังทำให้ไม่สามารถปักหลักได้แพร่หลายใน CPU กระแสหลัก
- Venezia เข้าถึงได้ผ่าน API เชิงนามธรรมชื่อ Codec Engine เท่านั้น
- implement งานเข้ารหัสและถอดรหัสภาพและเสียง
- ตัวอย่างเช่นคำสั่งถอดรหัส AVC จะคลายการบีบอัดข้อมูลวิดีโอที่ encode ด้วย Advanced Video Coding แล้วส่งออกเป็น stream แบบไม่บีบอัดที่ GPU เข้าใจได้
การจัดวางหน่วยความจำของ PSVita
- ด้านบนสุดของ stack ใน Kermit มี 512MB LPDDR2 SDRAM ใช้เป็นพื้นที่ทำงานหลัก
- SDRAM ย่อมาจาก Synchronous Dynamic RAM
- DRAM มีต้นทุนการผลิตต่ำกว่า SRAM แต่ latency สูงกว่า
- ดังนั้นแคช CPU จึงทำจาก SRAM ส่วนหน่วยความจำเอนกประสงค์ภายนอกทำจาก DRAM
- SDRAM ซิงโครไนซ์การส่งข้อมูลกับ clock ของ CPU เพื่อปรับปรุง throughput
- LPDDR2 ย่อมาจาก Low Power Double Data Rate 2
- DDR ส่งข้อมูลโดย encode ข้อมูลเป็นสองเท่าต่อ cycle
- LP หมายถึงรุ่นประหยัดพลังงาน ซึ่งโทรศัพท์มือถือและโน้ตบุ๊กเป็นกลุ่มที่นำไปใช้หลัก
- สเปก LPDDR2 เผยแพร่ในปี 2009 และทำงานที่ 1.2V ซึ่งต่ำกว่า 1.35V ของ DDR3
- แยกต่างหากมี 128MB Custom DRAM(CDRAM) ซึ่งเชื่อมต่อกับ GPU เป็นหลัก
- CDRAM เป็นชื่อภายในและหมายถึง SDR SDRAM แบบดั้งเดิม
- ต่างจาก DDR ตรงที่เป็นหน่วยความจำแบบ Single Data Rate
- เนื่องจากเป็นพื้นที่เฉพาะใกล้ GPU จึงเหมาะกับงานกราฟิกที่ต้องใช้ทรัพยากรสูง
- บล็อกนี้ดูเหมือนจะเชื่อมต่อด้วยบัส 512 บิตสองเส้น
- ใน SoC ยังมี SRAM ประมาณ 2.18MB แบ่งเป็นหลายบล็อก
- Camera SRAM 2MB
- SPAD32K 32KB
- SPAD128K 128KB
- SceCompatSharedSram 4KB
- Scratchpad 16KB
- บล็อก SRAM เหล่านี้ถูกกันไว้สำหรับระบบปฏิบัติการ
- Scratchpad 16KB ตรงกับความจุ SRAM ที่มีใน PSP ด้วย
MIPS32 4k และความเข้ากันได้ย้อนหลัง
- ภายใน Kermit มี CPU MIPS32 4k รุ่นเก่าเพิ่มอยู่ด้วย
- เป็น CPU แบบเดียวกับที่อยู่ใน PlayStation Portable
- จุดประสงค์ของ CPU นี้คือ ความเข้ากันได้ย้อนหลัง กับเกม PlayStation Portable และ PlayStation 1
- MIPS CPU ถูกใช้อย่างเป็นทางการเฉพาะเพื่อจุดประสงค์นี้เท่านั้น และไม่มีฟังก์ชันเป็นโปรเซสเซอร์เสริม
- Kermit ไม่มี Media Engine ของ PSP อยู่ภายใน
- เพราะ Media Engine เป็น black box ซอฟต์แวร์จึงไม่ต้องสนใจ implementation ภายใน
- ฟังก์ชันของ CPU ร่วมดังกล่าวถูก Venezia จำลองแทน
- ในส่วนของ I/O ที่เหลือ MIPS ไม่ได้เชื่อมต่อทางกายภาพกับฮาร์ดแวร์ส่วนอื่นๆ มีเพียง Cortex-A9 เท่านั้นที่เชื่อมต่อ
- ซอฟต์แวร์จำลอง PSP ที่รันบน MIPS CPU ขอใช้บริการจาก ARM CPU ผ่านโมเดล RPC(Remote Procedure Call)
- บริการความเข้ากันได้ย้อนหลังนี้ยังกัน CDRAM 64MB ไว้ด้วย
- Scratchpad 16KB ที่กล่าวถึงก่อนหน้านี้จริงๆ แล้วอยู่ใน MIPS CPU และถูกจัดสรรให้ PSP emulator
- เป็นองค์ประกอบเพื่อให้ตรงกับการจัดวางหน่วยความจำที่เกม PSP ดั้งเดิมคาดหวัง
ขอบเขตถัดไป
- พาร์ตถัดไปจะกล่าวถึงกระบวนการที่ VideoLogic พัฒนากลายเป็น GPU หลักในตลาด mobile จนนำไปสู่ PowerVR MBX GPU
1 ความคิดเห็น
ความคิดเห็นจาก Hacker News
เดิมทีชอบ PSP มาก รวมถึงวงการโฮมบรูว์และการเจลเบรกที่เกิดขึ้นจากมันด้วย ช่วงนี้เพิ่งหา PS Vita มาได้และกำลังเล่นทั้งเกมเนทีฟกับโฮมบรูว์อยู่ ก็ยังแปลกใจที่ระบบนิเวศโฮมบรูว์ยังค่อนข้างคึกคักอยู่
ดูเหมือนว่าจะพอมีความเป็นไปได้ในการพอร์ตเกม Android ด้วย น่าเสียดายถ้า Sony ไม่ปล่อยให้ PS Vita ตายไป ตอนนั้นมันรู้สึกเหมือนเป็นเครื่องที่มีศักยภาพสูงมาก
ตอนนี้ก็ยังใช้ Vita อยู่เพราะ Steam Deck ใส่กระเป๋าไม่ได้ เห็นด้วยว่าศักยภาพของมันถูกปล่อยทิ้งไป อดจินตนาการไม่ได้ว่าถ้า Shadow of the Colossus หรือ Demon's Souls ลง Vita จะเป็นยังไง
เลยเหมือนพวกเขาเชื่อว่าความล้มเหลวไม่ใช่เพราะความผิดพลาดที่หลีกเลี่ยงได้ของตัวเอง แต่เป็นผลลัพธ์ที่หลีกเลี่ยงไม่ได้จากการเปลี่ยนแปลงของตลาด
พอมาคิดดู เหมือนนั่นจะเป็นจุดเริ่มต้นที่ทำให้ผมสนใจอิเล็กทรอนิกส์
มีเกมดี ๆ อยู่ไม่กี่เกม แต่ไม่มีเกมไหนที่ทำให้ว้าวมากนัก และน่าจะเล่น Risk of Rain นานที่สุด
ตอนนี้มันได้รับการยอมรับเต็มที่แล้วว่าเป็น เครื่องอีมูเลชันพกพา ที่สู้กับ SBC ขนาดเล็กหลายรุ่นที่ยังผลิตอยู่ในปัจจุบันได้
https://docs.libretro.com/guides/install-psv/
เมื่อหลายปีก่อนผมเคยร่วมงานกับโปรเจกต์ Media Embedded Processor (MeP) ของ Toshiba ที่ถูกกล่าวถึงในบทความนี้ ฝั่ง Red Hat ตอนนั้นทำงานด้าน toolchain เพื่อรองรับสถาปัตยกรรมที่ปรับแต่งค่าได้ของโปรเซสเซอร์ตัวนี้ซึ่งถือว่าแปลกใหม่มากในยุคนั้น
แม้ MeP จะไม่ได้ครองโลก แต่ก็ดีใจที่ได้รู้ว่ามันถูกใช้ใน PS Vita
บทความนี้ก็เป็นเพียงหนึ่งในชุดบทความที่เขียนต่อเนื่องมายาวนาน
https://www.copetti.org/writings/consoles/
ผมยังไม่เข้าใจจนถึงทุกวันนี้ว่าทำไม Sony ซึ่งอยู่ในตำแหน่งที่พิเศษเพราะมีทั้งไลน์โทรศัพท์มือถือด้วย ถึงทิ้ง ตลาดเครื่องเกมพกพา ไป
Xperia Play อาจจะมาเร็วเกินไป แต่ถ้าเป็นตอนนี้ที่คนคุ้นเคยกับการจ่ายเงินก้อนใหญ่กับมือถือหรือ Steam Deck กันแล้ว ก็รู้สึกว่า Sony น่าจะทำภาคต่อที่ยอดเยี่ยมของ Vita และ Xperia Play ได้ โดยจับ Android device มัดรวมกับร้านเกมของ Sony
องค์กรต่าง ๆ แยกกันเป็นไซโลมากเกินไป ในฐานะคนที่ค่อนข้างชอบผลิตภัณฑ์ของพวกเขา พอมองจากสิ่งที่รู้ตอนนี้แล้ว มันน่าขำจนอดไม่ได้ว่าทำไมทุกอย่างถึงออกมาแย่ขนาดนั้น
มันล้ำยุคไปในหลายด้าน แต่ก็ดูเหมือนว่าตลาดเกมตอนนั้นยังไม่เหมาะหรือพร้อมสำหรับอุปกรณ์พกพาแบบทุกวันนี้
เท่มาก และให้ความรู้สึกเหมือนพรหมลิขิตทั้งที่เป็นเรื่องบังเอิญ
สัปดาห์ก่อนผมหยิบ Vita ออกจากลิ้นชักมา แล้วกำลังเล่นพอร์ตแบบพกพาของเกม PS3 หลายเกมที่ค้างไว้เพราะต่อ PS3 ไม่ได้ ได้แก่ Ratchet & Clank, Sly Cooper, God of War 1·2 และเกมอินดี้อีกบางเกม
ผมแปลกใจที่เห็นว่าสโตร์ยังใช้งานได้อยู่ และก็ซื้อเกม PS1 Armored Core ไปด้วย ผมรักเครื่องนี้มาก มันได้รับการปฏิบัติอย่างไม่เป็นธรรมทั้งจากตลาดและจากการสนับสนุนของ Sony
เลยเริ่มอยากเจลเบรกมันแล้วลองทำโฮมบรูว์ดูบ้าง
ผมใช้ PS Vita มาสองเครื่องแล้ว และก็เปลี่ยนพวกปุ่มควบคุมอะไรทำนองนั้นหลายรอบเหมือนกัน
ผมชอบส่วนผสมระหว่างเกมสบาย ๆ กับเกม “จริงจัง” บน Vita ตั้งแต่เกมแคชชวลอย่าง PixelJunk Monsters ไปจนถึง Killzone Mercenary ที่เป็นเกมยิงมุมมองบุคคลที่หนึ่งระดับคอนโซลบนเครื่องพกพา นอกจากนี้ยังมีคอนเทนต์ญี่ปุ่นเยอะมาก เช่น Akiba's Trip: Undead and Undressed, Danganronpa และ Fate/Extella
ผมเลิกใช้อุปกรณ์ Vita ไปแล้วหลังจากมันถูกตัดออกจาก PS Network และเกมญี่ปุ่นที่ชอบเริ่มลง Steam แต่พูดตามตรงก็ยังคิดถึง PixelJunk Shooter
ไม่นานมานี้ผมก็ยังดาวน์โหลดของที่เคยซื้อไว้ก่อนหน้านี้อยู่เลย แต่ก็ควรแบ็กอัปทั้งหมดไว้ก่อนที่มันจะปิดไปจริง ๆ
ไม่เคยรู้เลยว่า Vita มี ฮาร์ดแวร์ของ PSP อยู่ข้างใน ผมนึกว่าความเข้ากันได้ย้อนหลังเป็นแบบซอฟต์แวร์ล้วน แต่ Sony ก็มีประวัติยาวนานในการใส่ฮาร์ดแวร์สำหรับรองรับรุ่นเก่าไว้ในคอนโซลที่ส่งขาย
อย่างไรก็ดี ตอนนั้นก็มีทั้ง PS2 Slim และอีมูเลเตอร์ PS1 แบบซอฟต์แวร์สำหรับ PS3 ในรุ่นหลัง ๆ อยู่แล้ว
https://israpps.github.io/PPC-Monitor/docs/Architecture%20Ov...
หนังสือแบบนี้อยู่ในประเภท “ไม่เคยขอ ไม่เคยคาดคิด แต่พอมันมีแล้วก็อ่านตั้งแต่พระอาทิตย์ขึ้นจนตก”
ผู้เขียนยังเขียนหนังสืออีกหลายเล่มเกี่ยวกับโปรเซสเซอร์และสถาปัตยกรรมเอ็มเบ็ดเด็ด และพูดตรง ๆ ว่านี่เป็นงานที่จำเป็นมาก
โลกของเอ็มเบ็ดเด็ดโน้มเอียงไปทาง การแยกชิ้นส่วน ชำแหละ อธิบาย และอนุมาน มากกว่าโลกซอฟต์แวร์อย่างชัดเจน ไม่รู้เพราะอะไร แต่คนสายนี้ถึงขั้นไล่แกะและสร้างแผงวงจรขึ้นมาใหม่ เจาะลึกแทบทุกอย่างให้ถึงที่สุด ฉากม็อดดิ้งของ Nintendo ในช่วงหลังคือภาพสุดโต่งของเรื่องนี้
ส่วนนักทำวิศวกรรมย้อนกลับฝั่งซอฟต์แวร์ยังยึดติดกับไลเซนส์ IDA และปลั๊กอินราวกับเป็นแฟชั่นปลายกระแส เราควรมีคนแบบ Copetti ให้มากกว่านี้
ผมชอบทั้งบทความชุดนี้และ Vita มาก
สิ่งที่สงสัยมาพักหนึ่งคือ Vita มีทั้ง CPU และ GPU ของ PSP อยู่เพื่อรองรับความเข้ากันได้ย้อนหลัง หรือมีแค่ CPU แล้วแมป GPU ไปที่ฝั่ง Vita
บทความนี้อ้างว่าเป็นอย่างแรก แต่หวังว่าตอนหน้าจะมีหลักฐานมารองรับให้รู้มากขึ้น
Vita มาก่อนกาล