1 คะแนน โดย GN⁺ 2024-10-25 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • 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 บิต
  • 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 พร้อมกันได้
  • คลัสเตอร์ยังมี แคช 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 ความคิดเห็น

 
GN⁺ 2024-10-25
ความคิดเห็นจาก Hacker News
  • เดิมทีชอบ PSP มาก รวมถึงวงการโฮมบรูว์และการเจลเบรกที่เกิดขึ้นจากมันด้วย ช่วงนี้เพิ่งหา PS Vita มาได้และกำลังเล่นทั้งเกมเนทีฟกับโฮมบรูว์อยู่ ก็ยังแปลกใจที่ระบบนิเวศโฮมบรูว์ยังค่อนข้างคึกคักอยู่
    ดูเหมือนว่าจะพอมีความเป็นไปได้ในการพอร์ตเกม Android ด้วย น่าเสียดายถ้า Sony ไม่ปล่อยให้ PS Vita ตายไป ตอนนั้นมันรู้สึกเหมือนเป็นเครื่องที่มีศักยภาพสูงมาก

    • เมื่อก่อนพรีออร์เดอร์ Vita ไว้ และพอได้มาก็หลงรักมันทันที มันใส่กระเป๋าได้และดีกว่าอนาล็อกสติ๊กสุดแย่ของ PSP มาก
      ตอนนี้ก็ยังใช้ Vita อยู่เพราะ Steam Deck ใส่กระเป๋าไม่ได้ เห็นด้วยว่าศักยภาพของมันถูกปล่อยทิ้งไป อดจินตนาการไม่ได้ว่าถ้า Shadow of the Colossus หรือ Demon's Souls ลง Vita จะเป็นยังไง
    • มีหลายปัญหา ทั้งเรื่องต้นทุน การแข่งขันกับ Nintendo และ เมมโมรีการ์ดแบบเฉพาะของเครื่อง ที่ทั้งจุกจิกและแพง แต่การปล่อยให้มันตายไปเฉย ๆ น่าจะเป็นผลจากความเชื่อที่แพร่หลายตอนนั้นว่า “เครื่องเกมพกพา หรืออาจรวมถึงคอนโซลเฉพาะทางทั้งหมด กำลังจะหายไปเพราะสู้สมาร์ตโฟนไม่ได้”
      เลยเหมือนพวกเขาเชื่อว่าความล้มเหลวไม่ใช่เพราะความผิดพลาดที่หลีกเลี่ยงได้ของตัวเอง แต่เป็นผลลัพธ์ที่หลีกเลี่ยงไม่ได้จากการเปลี่ยนแปลงของตลาด
    • คิดถึง วงการเจลเบรก PSP ตอนสมัยมัธยมปลายผมเคยหารายได้เล็ก ๆ น้อย ๆ จากการตัดลายวงจร PCB ของแบตเตอรี่ PSP ให้คนอื่น
      พอมาคิดดู เหมือนนั่นจะเป็นจุดเริ่มต้นที่ทำให้ผมสนใจอิเล็กทรอนิกส์
    • ถ้ามองแค่ฮาร์ดแวร์ มันเป็นคอนโซลที่ยอดเยี่ยมมาก และเมื่อไม่กี่ปีก่อนผมก็ซื้อ รุ่น OLED มา ปัญหามาตลอดคือเกมมีน้อย
      มีเกมดี ๆ อยู่ไม่กี่เกม แต่ไม่มีเกมไหนที่ทำให้ว้าวมากนัก และน่าจะเล่น Risk of Rain นานที่สุด
    • ไม่ได้ตามวงการโฮมบรูว์ของ Vita แต่จากที่อ่านในฝั่งอีมูเลชันบนคอมพิวเตอร์บอร์ดเดี่ยว เห็นว่ากว่าโฮมบรูว์ของ Vita จะเร่งเครื่องได้ก็ใช้เวลาสักพัก
      ตอนนี้มันได้รับการยอมรับเต็มที่แล้วว่าเป็น เครื่องอีมูเลชันพกพา ที่สู้กับ 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

    • Sony มีทั้งค่ายเพลง สตูดิโอภาพยนตร์ ธุรกิจมือถือ และยังมี เครือข่ายกระจายคอนเทนต์บนคลาวด์ ผ่าน PS3 มาตั้งแต่ปี 2006 แต่กลับพลาดกระแสสตรีมเพลงและวิดีโอไปแบบสิ้นเชิง
      องค์กรต่าง ๆ แยกกันเป็นไซโลมากเกินไป ในฐานะคนที่ค่อนข้างชอบผลิตภัณฑ์ของพวกเขา พอมองจากสิ่งที่รู้ตอนนี้แล้ว มันน่าขำจนอดไม่ได้ว่าทำไมทุกอย่างถึงออกมาแย่ขนาดนั้น
    • ผมชอบ Xperia Play มากจริง ๆ การเล่น เกม PSX บนโทรศัพท์ด้วยปุ่มควบคุมจริงมันยอดเยี่ยมมาก และเป็นโทรศัพท์ที่ดีที่สุดเครื่องหนึ่งที่ผมเคยมี
      มันล้ำยุคไปในหลายด้าน แต่ก็ดูเหมือนว่าตลาดเกมตอนนั้นยังไม่เหมาะหรือพร้อมสำหรับอุปกรณ์พกพาแบบทุกวันนี้
  • เท่มาก และให้ความรู้สึกเหมือนพรหมลิขิตทั้งที่เป็นเรื่องบังเอิญ
    สัปดาห์ก่อนผมหยิบ Vita ออกจากลิ้นชักมา แล้วกำลังเล่นพอร์ตแบบพกพาของเกม PS3 หลายเกมที่ค้างไว้เพราะต่อ PS3 ไม่ได้ ได้แก่ Ratchet & Clank, Sly Cooper, God of War 1·2 และเกมอินดี้อีกบางเกม
    ผมแปลกใจที่เห็นว่าสโตร์ยังใช้งานได้อยู่ และก็ซื้อเกม PS1 Armored Core ไปด้วย ผมรักเครื่องนี้มาก มันได้รับการปฏิบัติอย่างไม่เป็นธรรมทั้งจากตลาดและจากการสนับสนุนของ Sony
    เลยเริ่มอยากเจลเบรกมันแล้วลองทำโฮมบรูว์ดูบ้าง

    • วงการ โฮมบรูว์ของ Vita มีความสมบูรณ์มากและคึกคักอย่างน่าทึ่ง มุกมีม “แฮ็ก 3DS ง่ายจนน่าตกใจ” ไม่ได้ดังขึ้นมาลอย ๆ แต่กับ Vita คำนี้ยิ่งเข้ากว่าอีก
  • ผมใช้ PS Vita มาสองเครื่องแล้ว และก็เปลี่ยนพวกปุ่มควบคุมอะไรทำนองนั้นหลายรอบเหมือนกัน
    ผมชอบส่วนผสมระหว่างเกมสบาย ๆ กับเกม “จริงจัง” บน Vita ตั้งแต่เกมแคชชวลอย่าง PixelJunk Monsters ไปจนถึง Killzone Mercenary ที่เป็นเกมยิงมุมมองบุคคลที่หนึ่งระดับคอนโซลบนเครื่องพกพา นอกจากนี้ยังมีคอนเทนต์ญี่ปุ่นเยอะมาก เช่น Akiba's Trip: Undead and Undressed, Danganronpa และ Fate/Extella
    ผมเลิกใช้อุปกรณ์ Vita ไปแล้วหลังจากมันถูกตัดออกจาก PS Network และเกมญี่ปุ่นที่ชอบเริ่มลง Steam แต่พูดตามตรงก็ยังคิดถึง PixelJunk Shooter

    • ไม่แน่ใจว่าหมายถึงถูกตัดออกตอนไหน เท่าที่ผมรู้มันยังใช้งานได้อยู่ และถ้าอ้อมวิธีนิดหน่อยก็ยังซื้อเกมได้ถ้ามียอดเงินคงเหลือในบัญชี PSN
      ไม่นานมานี้ผมก็ยังดาวน์โหลดของที่เคยซื้อไว้ก่อนหน้านี้อยู่เลย แต่ก็ควรแบ็กอัปทั้งหมดไว้ก่อนที่มันจะปิดไปจริง ๆ
  • ไม่เคยรู้เลยว่า Vita มี ฮาร์ดแวร์ของ PSP อยู่ข้างใน ผมนึกว่าความเข้ากันได้ย้อนหลังเป็นแบบซอฟต์แวร์ล้วน แต่ Sony ก็มีประวัติยาวนานในการใส่ฮาร์ดแวร์สำหรับรองรับรุ่นเก่าไว้ในคอนโซลที่ส่งขาย
    อย่างไรก็ดี ตอนนั้นก็มีทั้ง PS2 Slim และอีมูเลเตอร์ PS1 แบบซอฟต์แวร์สำหรับ PS3 ในรุ่นหลัง ๆ อยู่แล้ว

    • ความเข้ากันได้ย้อนหลังของ PS1 บน PS2 เป็นส่วนผสมของซอฟต์แวร์กับฮาร์ดแวร์มาโดยตลอด รวมถึงใน PS2 Slim ด้วย
      https://israpps.github.io/PPC-Monitor/docs/Architecture%20Ov...

      ASIC PPC-IOP ใน PS2 รุ่น SCPH-75xxx และรุ่นหลังจากนั้น ใช้วิธีผสมฮาร์ดแวร์และซอฟต์แวร์เพื่อจำลองโปรเซสเซอร์ MIPS R3000A ที่มีอยู่ใน PS1 และใน PS2 รุ่น 70K หรือก่อนหน้านั้น ส่วนฮาร์ดแวร์ของการจำลองนี้อยู่ในรูปของ Auxiliary Processing Unit หรือ APU ที่ต่ออยู่กับคอร์ PPC 440 ที่ทำงานที่ 440MHz ส่วนซอฟต์แวร์คือซอฟต์แวร์จำลอง “DECKARD”
      สำหรับ PS3 นั้นใช้การจำลองแบบซอฟต์แวร์ล้วนกับ PS1 มาโดยตลอด
      †ถ้าจะให้แม่นยำคือเฉพาะ Slim รุ่น SCPH-7500x และหลังจากนั้นเท่านั้นที่มี PPC-IOP กับ Deckard ส่วน SCPH-7000x ทำงานเหมือนเครื่องรุ่นหนา กล่าวคือฝั่ง CPU ของเกม PS1 จะรันแบบเนทีฟบน bare metal

  • หนังสือแบบนี้อยู่ในประเภท “ไม่เคยขอ ไม่เคยคาดคิด แต่พอมันมีแล้วก็อ่านตั้งแต่พระอาทิตย์ขึ้นจนตก”
    ผู้เขียนยังเขียนหนังสืออีกหลายเล่มเกี่ยวกับโปรเซสเซอร์และสถาปัตยกรรมเอ็มเบ็ดเด็ด และพูดตรง ๆ ว่านี่เป็นงานที่จำเป็นมาก
    โลกของเอ็มเบ็ดเด็ดโน้มเอียงไปทาง การแยกชิ้นส่วน ชำแหละ อธิบาย และอนุมาน มากกว่าโลกซอฟต์แวร์อย่างชัดเจน ไม่รู้เพราะอะไร แต่คนสายนี้ถึงขั้นไล่แกะและสร้างแผงวงจรขึ้นมาใหม่ เจาะลึกแทบทุกอย่างให้ถึงที่สุด ฉากม็อดดิ้งของ Nintendo ในช่วงหลังคือภาพสุดโต่งของเรื่องนี้
    ส่วนนักทำวิศวกรรมย้อนกลับฝั่งซอฟต์แวร์ยังยึดติดกับไลเซนส์ IDA และปลั๊กอินราวกับเป็นแฟชั่นปลายกระแส เราควรมีคนแบบ Copetti ให้มากกว่านี้

    • ฝั่ง PS1 มักใช้ Splat, m2c, decomp.me และเครื่องมือทำเองอีกมากมาย
    • ถ้าจะพูดให้ตรงกว่านั้นก็คือ Ghidra กับ เครื่องมือเสรีและโอเพนซอร์ส อีกหลายตัว มากกว่า IDA
  • ผมชอบทั้งบทความชุดนี้และ Vita มาก
    สิ่งที่สงสัยมาพักหนึ่งคือ Vita มีทั้ง CPU และ GPU ของ PSP อยู่เพื่อรองรับความเข้ากันได้ย้อนหลัง หรือมีแค่ CPU แล้วแมป GPU ไปที่ฝั่ง Vita
    บทความนี้อ้างว่าเป็นอย่างแรก แต่หวังว่าตอนหน้าจะมีหลักฐานมารองรับให้รู้มากขึ้น

  • Vita มาก่อนกาล