PlayStation Vita आर्किटेक्चर (भाग 1)
(copetti.org)- PSVita एक ऐसा डिवाइस है जहाँ पारंपरिक handheld गेम कंसोल और तेज़ी से बढ़ते mobile SoC रुझान का मेल हुआ, और Sony ने परिचित सर्किटरी का उपयोग करते हुए भी स्मार्टफोन से अलग उत्पाद पहचान बनाए रखने की कोशिश की
- प्रोडक्ट लाइन मूल रूप से PSVita, OLED को LCD से बदलने वाला Slim, और लगभग stationary उपयोग के करीब PlayStation TV में बंटी थी; इन तीनों वेरिएंट पर मोटे तौर पर वही आर्किटेक्चरल विश्लेषण लागू होता है
- केंद्रीय चिप Kermit Toshiba की Stacked Chip SoC पद्धति का उपयोग करती है, जिसमें CPU, GPU, लगभग 640MB RAM, accelerators, और PSP compatibility सर्किट को एक ही पैकेज में स्टैक किया गया है, जिससे bandwidth और area बेहतर हुए, लेकिन thermal design अधिक कठिन हो गया
- मुख्य CPU अधिकतम 500MHz वाला quad-core ARM Cortex-A9 MPCore है, जिसमें ARMv7-A, 2MB shared L2 cache, Thumb-2-केंद्रित compilation, NEON/VFPv3, TrustZone, और out-of-order execution शामिल हैं
- multimedia कार्य Toshiba का Venezia accelerator संभालता है, जबकि PSP/PS1 backward compatibility को Kermit के भीतर मौजूद MIPS32 4k और आरक्षित CDRAM·Scratchpad·RPC संरचना के जरिए लागू किया जाता है
PSVita का बाज़ार और विश्लेषण का दायरा
- PSVita ऐसा उत्पाद था जहाँ वीडियो गेम उद्योग और तेज़ी से बदलता mobile सेक्टर एक-दूसरे से मिलते हैं
- Sony को ऐसे सस्ते डिवाइसों से प्रतिस्पर्धा करनी पड़ी जो फोन कॉल से आगे बढ़कर कई तरह के फीचर देते थे
- Sony के नए handheld console में उस समय की आधुनिक तकनीक शामिल थी, और इसकी सर्किट संरचना परिचित दिखती है, लेकिन साथ ही इसमें ऐसा डिज़ाइन भी दिखता है जो इसे स्मार्टफोन बाज़ार जैसा बनने से रोकता है
- 8वीं पीढ़ी के कंसोल का विश्लेषण अधिक जटिल हो गया है, इसलिए पूरी सामग्री एक साथ जारी करने के बजाय section-by-section release तरीके से प्रस्तुत की जा रही है
PSVita के तीन मॉडल
- Sony ने PSVita के lifecycle के दौरान अपनी product strategy कई बार बदली और तीन वेरिएंट जारी किए
- Original PSVita सीरीज़ का पहला मॉडल है, जिसे कभी-कभी ‘Fat’ मॉडल भी कहा जाता है
- Slim ने वही आर्किटेक्चर बनाए रखते हुए OLED स्क्रीन को LCD से बदलकर लागत घटाई, और इसमें 3G-सपोर्ट वाला वेरिएंट नहीं दिया गया
- Slim में eMMC chip बड़ी हुई, लेकिन वृद्धि केवल 52MB तक सीमित रही, फिर भी इससे internal 1GB memory card देना संभव हुआ
- PlayStation TV non-portable वातावरण के लिए Fat motherboard को अनुकूलित करके बनाया गया रूप है, और इसमें अलग I/O configuration दिखाई देती है
- तीनों मॉडलों पर मोटे तौर पर वही आर्किटेक्चरल विवरण लागू होता है, जबकि Slim और PlayStation TV के eMMC बदलाव अलग से समझाने योग्य हैं
Kermit: PSVita का केंद्रीय SoC
- Sony ने मूल PlayStation के बाद लंबे समय तक MIPS तकनीक को सक्रिय रूप से अपनाया था, लेकिन mobile बाज़ार में ARM के मज़बूत होने और MIPS के उपयोग में कमी आने के साथ PSVita में ARM CPU चुना गया
- Toshiba, Sony का करीबी manufacturing partner होने के नाते ARM licensee की भूमिका निभाता है
- मुख्य चिप Kermit का नाम ‘The Muppets’ से लिया गया है, और यही PSVita के मुख्य CPU वाला सबसे बड़ा सर्किट ब्लॉक है
- Kermit एक System-on-Chip है, लेकिन Toshiba के Stacked Chip SoC(SCS) manufacturing model की वजह से इसमें बड़ी मात्रा में memory और processors को एक ही पैकेज में जोड़ा गया है
- SCS में सर्किट को बगल में external interconnect से जोड़ने के बजाय ऊपर-नीचे स्टैक किया जाता है
- इसका सीधा प्रभाव bandwidth बढ़ने और area घटने के रूप में दिखता है
- इसके बदले thermal design अधिक जटिल हो जाता है
- Kermit के मुख्य घटक इस प्रकार हैं
- quad-core ARM Cortex-A9 MPCore मुख्य CPU
- Imagination Technologies का PowerVR SGX543MP4+ मुख्य GPU
- बड़ा DSP, DMA controller, security block जैसे कई accelerators
- अलग-अलग श्रेणियों में विभाजित लगभग 640MB RAM
- PlayStation Portable compatibility के लिए MIPS CPU और Graphics Engine सर्किट
ARM Cortex-A9 MPCore
- PSVita का मुख्य CPU ARM Cortex-A9 MPCore है, जो चार Cortex-A9 cores से बने cluster के रूप में काम करता है
- इसकी clock speed अधिकतम 500MHz है, जो उसी समय quad-core A9 उपयोग करने वाले Samsung Galaxy S III के 1.4GHz से कम है
- Cortex-A9, Cortex-A8 का successor CPU था, और PSVita Nintendo 3DS के कुछ ही महीनों के अंतर पर आया
- साझा आधारभूत फीचर इस प्रकार हैं
- ARMv7-A instruction set
- 64KB L1 cache
- 32KB data cache और 32KB instruction cache में विभाजित
- cores के बीच data cache coherence को Snoop Control Unit संभालती है
- 2-issue superscalar संरचना
- यदि hazards न हों तो दो pipelines में दो instructions चलाकर प्रति clock निष्पादित instructions की संख्या बढ़ाई जाती है
- dynamic branch prediction
- instruction fetch चरण में दो dedicated buffers के जरिए branch होगा या नहीं और branch लिया जाएगा या नहीं, इसका अनुमान लगाया जाता है
- यह unit केवल branch instructions की भविष्यवाणी करती है; conditional execution या
ITinstruction जैसी optimizations इसमें शामिल नहीं हैं
- TLB के साथ MMU
- TrustZone
- hardware स्तर पर components को secure और non-secure समूहों में बाँटा जाता है
- software स्तर पर confidential data संभालने के लिए isolated auxiliary OS यानी Trusted Execution Environment चलाया जाता है
- data transfer पर secure या insecure transaction दिखाने वाले tags लगाए जाते हैं
- NEON Media Processing Engine
- vector और floating-point operations करने वाला coprocessor
- Cortex-A9 में जो हिस्से मज़बूत किए गए, वे इस प्रकार हैं
- multicore support
- यह Sony द्वारा quad-core package चुनने में सबसे स्पष्ट रूप से दिखता है
- यही वह पृष्ठभूमि भी थी जिसमें iPad 2 और iPhone 4s dual-core CPU के साथ आ सके
- register renaming के जरिए out-of-order execution
- यह ARM के instruction-level parallelism को बढ़ाने वाला बड़ा बदलाव था
- कार्यभार के अनुसार 8 से 11 चरणों के बीच बदलने वाली variable-length pipeline
- यदि execution multimedia coprocessor तक जाती है, तो pipeline चरण और बढ़ सकते हैं
- multicore support
- Sony ने ARM का Primelink Level 2 Cache Controller और 2MB shared L2 cache भी जोड़ा
- Primelink एक cache subsystem है जिसमें direct-mapped से लेकर 16-way तक अलग-अलग cache associativity modes सेट किए जा सकते हैं
- बाद में ARM ने Primelink ब्रांड का नाम बदलकर CoreLink कर दिया
ARMv7, Thumb-2, NEON/VFPv3
- Cortex-A9 का ARMv7, ARMv6 ISA का superset है, और प्रमुख additions में VFPv3, NEON, Security Extension, और multiprocessing शामिल हैं
- Thumb ISA को बड़े स्तर पर संशोधित करके Thumb-2 बनाया गया
- Thumb-2 ने 32-bit instructions जोड़े, जिससे पुराने 16-bit Thumb की सीमाएँ भरी जा सकीं
- ARM ISA की तुलना में इसकी code density अधिक है, और यद्यपि conditional execution हटाया गया, कुछ कार्य dedicated
ITinstruction से पूरे किए जाते हैं
- Kermit का Cortex-A9 ThumbEE और Jazelle भी implement करता है, लेकिन यह मानना कठिन है कि applications ने इनका वास्तव में उपयोग किया हो
- Android का Java interpreter Dalvik भी Jazelle/Thumb-2EE का उपयोग नहीं करता था
- ISA से जुड़ी उलझन घटाने के लिए ARM ने Unified Assembler Language(UAL) बनाया
- UAL का लक्ष्य ARM और Thumb-2 दोनों को target करने वाला single codebase देना था
- व्यवहार में यह ARM और Thumb-2 opcodes के union जैसा है, और assembler target CPU के अनुसार opcodes को छोड़ देता है
- C, Objective-C, C++ जैसी भाषाओं में compiler सामान्यतः Thumb-2 को default assembly output के रूप में उपयोग करता है
- कारण है बेहतर code density और कम देखने को मिलने वाला performance penalty
- smartphone apps और PSVita applications अधिकतर ARM नहीं बल्कि Thumb-2 में compile की जाती थीं
media computation के लिए MPE, VFPv3, NEON
- Cortex-A9 में PSVita के लिए विशेष रूप से महत्वपूर्ण घटक Media Processing Engine(MPE) है
- MPE दो आपस में संबंधित instruction sets चलाता है
- Vector Floating-Point v3(VFPv3)
- floating-point functionality के लिए VFPv2 का successor
- IEEE-754 के अनुरूप
VCVT,VMOVजैसे instructions प्रदान करता है- Cortex-A9 का सटीक variant VFPv3-D32 है, जिसमें 32 64-bit registers शामिल हैं
- ARMv7 ने vector instructions के उपयोग को हटा दिया था, इसलिए Cortex-A9 में वे vector instructions मौजूद नहीं हैं
- NEONv1
- इसे ‘ARMv7 Advanced SIMD’ भी कहा जाता है और यही वास्तविक vector instruction set है
- यह 16 128-bit registers देता है, जिन्हें 32 64-bit या 32-bit virtual registers में बाँटा जा सकता है
- integer डेटा को अधिकतम 64-bit तक संभाला जा सकता है, लेकिन floating-point types 32-bit से आगे नहीं जा सकते
- Vector Floating-Point v3(VFPv3)
- NEON और VFPv3 एक ही register file साझा करते हैं, फिर भी इन्हें अलग ISA माना जाता है
- दोनों ISA अलग होने का कारण यह है कि इनमें से कोई भी अकेले कार्यात्मक रूप से पूर्ण नहीं है
- VFPv3 fixed-point को support नहीं करता
- NEON IEEE 754 standard का पालन नहीं करता
- NEON को Intel XScale के proprietary SIMD extension Wireless MMX का मुकाबला करने के लिए जल्दबाज़ी में लाया गया माना जा सकता है
- Dell Axim X51v जैसे high-end PDA में ARMv5 ISA-संगत Intel XScale PXA270 CPU का उपयोग होता था, जिसमें ऐसा proprietary SIMD extension शामिल था जो केवल Intel CPU line में उपलब्ध था
- इस डिवाइस में PowerVR MBX GPU भी था, जो PSVita के graphics chip से संबंधित lineage रखता है
bus संरचना
- ARM की AMBA specification का उपयोग Cortex-A9 में भी components को जोड़ने के लिए किया गया
- AMBA के तीसरे revision का AXI protocol MPCore cluster के भीतर core interfaces के लिए चुना गया
- यही AXI चयन ARM11 और Nintendo 3DS में भी देखा जा सकता है
- PSVita, MPCore के बाहर होने वाले सभी communication के लिए Open Core Protocol(OCP) भी उपयोग करता है
- यह उसी family का protocol है जिसका उपयोग Nintendo 3DS ने PICA GPU के साथ communication में किया था
Cortex-A के बाद ARM की दिशा
- Cortex-A9 के बाद Cortex-A family, top-end performance से लेकर energy efficiency तक चार अतिरिक्त categories में विभाजित होती गई, जिससे successor संरचना और जटिल हो गई
- हर CPU का model numbering ट्रैक करना कठिन हो गया, लेकिन चूँकि ये CPUs सामान्य end users को अलग product के रूप में बेचे नहीं जाते थे, इसलिए यह कोई बड़ी समस्या नहीं बनी
- ARM का अगला बड़ा milestone 2011 में आया ARMv8 था, जिस पर Nintendo Switch विश्लेषण में और चर्चा की जाएगी
Venezia: Sony का multimedia accelerator
- Sony ने ARM cluster के बगल में गेम-संबंधित कामों को सपोर्ट करने वाला एक बड़ा accelerator रखा
- यह accelerator पुराने PSP के Media Engine group की तरह पूरी तरह proprietary black box है, और programmers इसे सीधे संभालने के बजाय official SDK के जरिए access करते हैं
- इस accelerator का नाम Venezia है
- यह Sony के करीबी partner Toshiba द्वारा डिज़ाइन किया गया अलग CPU package है
- इसे image और sound processing के लिए बनाया गया था
- इसकी प्रकृति Digital Signal Processor(DSP) के अधिक करीब है
- इसे DVD player जैसे multimedia devices के लिए synthesizable chip के रूप में भी बेचा गया
- Venezia, PSP के Media Engine का उत्तराधिकारी-जैसा रूप रखता है
Venezia की आंतरिक संरचना
- Venezia, MPCore की तरह cluster structure में बना है और इसमें 8 Media Processing Engine(MPE) cores हैं
- इसकी clock speed 266.7MHz है
- Toshiba द्वारा उपयोग किया गया MPE नाम, ARM के vector accelerator नाम से मिलता-जुलता है, लेकिन दोनों अलग silicon हैं
- प्रत्येक MPE में ये तत्व शामिल हैं
- proprietary Media-embedded Processor(MeP) CPU
- पाँचवाँ revision, MeP-c5
- 32-bit RISC-आधारित architecture
- 32KB L1 cache
- 16KB instruction और 16KB data में विभाजित
- 64KB general-purpose memory
- यही वह स्थान है जहाँ MeP CPU मुख्य program चलाता है
- internal और external memory transfer के लिए DMA controller
- IVC2 image-processing coprocessor
- 64-bit SIMD instructions चलाता है
- 8 8-bit integers से लेकर 2 32-bit integers तक अलग-अलग data groupings संभाल सकता है
- 2 256-bit accumulator registers देता है, जिन्हें अन्य कार्यों के साथ मिलाकर दो operations एक साथ गणना की जा सकती हैं
- proprietary Media-embedded Processor(MeP) CPU
- cluster में 256KB L2 cache भी है
- इसकी मुख्य विशेषता Very Long Instruction Word(VLIW) आधारित instruction set है
- एक लाइन में कई instructions को एक साथ encode किया जा सकता है
- Venezia एक लाइन में image coprocessor के लिए 2 और CPU के लिए 1, कुल 3 instructions रख सकता है
- instructions को कुशलतापूर्वक pack करने के लिए बहुत अच्छे compiler की आवश्यकता होती है
- VLIW को 1990 के दशक में Broadcom Firepath, Transmeta Crusoe, Intel Itanium जैसी implementations के कारण ध्यान मिला, लेकिन mainstream CPUs में benchmark परिणाम निराशाजनक रहे और यह व्यापक रूप से स्थापित नहीं हो सका
- Venezia को केवल Codec Engine नामक abstract API के जरिए access किया जा सकता है
- यह image और audio encoding/decoding कार्यों को लागू करता है
- उदाहरण के लिए, AVC decoding command Advanced Video Coding में encoded video data को decompress करके GPU द्वारा समझे जा सकने वाले uncompressed stream में बदल देती है
PSVita की memory संरचना
- Kermit stack के सबसे ऊपर 512MB LPDDR2 SDRAM है, जो मुख्य workspace के रूप में उपयोग होता है
- SDRAM का अर्थ Synchronous Dynamic RAM है
- DRAM की उत्पादन लागत SRAM से कम होती है, लेकिन इसकी latency अधिक होती है
- इसलिए CPU cache को SRAM से और external general-purpose memory को DRAM से बनाया जाता है
- SDRAM transfer को CPU clock के साथ synchronize करके throughput बेहतर करता है
- LPDDR2 का अर्थ Low Power Double Data Rate 2 है
- DDR प्रति cycle दोगुनी जानकारी encode करके transmit करता है
- LP low-power variant को दर्शाता है, जिसे मुख्यतः phones और laptops अपनाते हैं
- LPDDR2 specification 2009 में जारी हुई थी और यह DDR3 के 1.35V से कम 1.2V पर काम करती है
- अलग से 128MB Custom DRAM(CDRAM) भी है, जो मुख्यतः GPU से जुड़ी होती है
- CDRAM आंतरिक नाम है और पारंपरिक SDR SDRAM को दर्शाता है
- DDR के विपरीत, यह Single Data Rate memory है
- GPU के निकट मौजूद dedicated space होने के कारण यह high-intensity graphics workloads के लिए उपयुक्त है
- यह block संभवतः दो 512-bit buses से जुड़ा है
- SoC में लगभग 2.18MB SRAM भी है, जो कई blocks में विभाजित है
- 2MB Camera SRAM
- 32KB SPAD32K
- 128KB SPAD128K
- 4KB SceCompatSharedSram
- 16KB Scratchpad
- ये SRAM blocks operating system के लिए reserved हैं
- 16KB Scratchpad, PSP में मौजूद SRAM क्षमता से मेल खाता है
MIPS32 4k और backward compatibility
- Kermit के भीतर एक पुराना MIPS32 4k CPU भी अतिरिक्त रूप से शामिल है
- यही CPU PlayStation Portable में भी लगा था
- इस CPU का उद्देश्य PlayStation Portable और PlayStation 1 games के साथ backward compatibility प्रदान करना है
- MIPS CPU आधिकारिक रूप से केवल इसी उपयोग के लिए है, इसका कोई coprocessor role नहीं है
- Kermit में PSP का Media Engine शामिल नहीं है
- Media Engine एक black box था, इसलिए software को उसके internal implementation की चिंता नहीं करनी पड़ती
- उस साझा CPU की भूमिका Venezia द्वारा पुनर्निर्मित की गई है
- बाकी I/O के संदर्भ में MIPS हार्डवेयर के अन्य हिस्सों से सीधे physical रूप से जुड़ा नहीं है; केवल Cortex-A9 जुड़ा हुआ है
- MIPS CPU पर चलने वाला PSP emulation software, ARM CPU से RPC(Remote Procedure Call) मॉडल के जरिए services माँगता है
- इस backward compatibility service के लिए 64MB CDRAM भी reserved है
- पहले उल्लेख किया गया 16KB Scratchpad वास्तव में MIPS CPU के भीतर है और PSP emulator को सौंपा जाता है
- यह मूल PSP games द्वारा अपेक्षित memory layout को मिलाने के लिए आवश्यक तत्व है
आगे का दायरा
- अगला भाग इस पर चर्चा करेगा कि VideoLogic कैसे mobile बाज़ार के प्रमुख GPU प्रदाता के रूप में विकसित हुआ और अंततः PowerVR MBX GPU तक पहुँचा
1 टिप्पणियां
Hacker News की राय
मुझे मूल PSP और उससे निकले homebrew·jailbreak scene से सचमुच बहुत लगाव था। हाल ही में मैंने PS Vita ली है और native games व homebrew का मज़ा ले रहा हूँ; हैरानी है कि homebrew ecosystem अब भी काफ़ी active है
Android games port करने की भी कुछ संभावना लगती है। काश Sony ने PS Vita को यूँ मरने न दिया होता; उस समय यह वाकई बहुत potential वाली device लगती थी
आज भी Steam Deck जेब में नहीं आती, इसलिए मैं Vita इस्तेमाल करता रहता हूँ। इस बात से सहमत हूँ कि इसका potential बेकार गया। सोचता हूँ, अगर Shadow of the Colossus या Demon's Souls Vita पर होते तो कैसा होता
इसलिए लगता है कि उन्होंने खराब प्रदर्शन को अपनी टाली जा सकने वाली गलतियों की वजह नहीं, बल्कि market shift का अनिवार्य परिणाम मान लिया
सोचता हूँ तो लगता है शायद वही काम electronics में मेरी दिलचस्पी की शुरुआत था
कुछ ठीक-ठाक titles थे, लेकिन ऐसा कुछ नहीं था जिसने बहुत चौंकाया हो; शायद मैंने Risk of Rain सबसे ज़्यादा खेला
अब यह अभी बन रहे कई छोटे SBCs के बराबर की portable emulation device के रूप में पूरी तरह मान्य है
https://docs.libretro.com/guides/install-psv/
कुछ साल पहले मैंने इस लेख में बताए गए Toshiba के Media Embedded Processor(MeP) काम में साथ दिया था। Red Hat की तरफ़ से हमने उस processor की उस समय अजीब लगने वाली configurable architecture को support करने के लिए toolchain पर काम किया था
MeP ने दुनिया पर कब्ज़ा तो नहीं किया, लेकिन यह जानकर अच्छा लगा कि वह PS Vita में गया था
यह लेख लंबे समय से चल रही लेख-श्रृंखला का सिर्फ एक हिस्सा है
https://www.copetti.org/writings/consoles/
Sony के पास mobile phone line तक थी, इतनी अनोखी position के बावजूद उसने portable gaming market छोड़ दिया—यह आज भी समझ नहीं आता
Xperia Play बहुत जल्दी आ गया था, लेकिन आज जब लोग phones या Steam Deck पर बड़ा पैसा खर्च करने के आदी हैं, Sony शायद किसी Android device में Sony game store जोड़कर Vita और Xperia Play का शानदार successor बना सकता था
organizations आपस में बहुत ज़्यादा siloed थीं। products मुझे काफ़ी पसंद थे, लेकिन आज जो पता है उसके आधार पर देखें तो यह हँसी ही आती है कि चीजें इतनी खराब कैसे हुईं
कई मायनों में वह अपने समय से आगे था, लेकिन लगता है उस समय का gaming market आज की तरह portable devices के लिए इतना फिट या तैयार नहीं था
वाकई शानदार, और संयोग से ज़्यादा किस्मत जैसा लगता है
पिछले हफ्ते मैंने दराज से अपनी Vita निकाली और कुछ PS3 games के portable ports खेल रहा हूँ जिन्हें PS3 connect न कर पाने की वजह से नहीं खेल पा रहा था। Ratchet & Clank, Sly Cooper, God of War 1·2, और कुछ indie games
store अब भी चल रहा है देखकर हैरानी हुई, और मैंने PS1 Armored Core games खरीदे। मुझे यह device सचमुच पसंद है। market और Sony support दोनों में इसके साथ unfair व्यवहार हुआ
jailbreak करके homebrew भी बनाने का मन हो रहा है
मेरे पास दो PS Vita रहीं, और मैंने control buttons जैसी चीजें कई बार बदलीं
PixelJunk Monsters जैसे casual games से लेकर handheld device पर console-level first-person shooter Killzone Mercenary तक, मुझे Vita का casual और “serious” games का mix पसंद था। Akiba's Trip: Undead and Undressed, Danganronpa, Fate/Extella जैसा Japanese content भी बहुत था
PS Network से कट जाने और जिन Japanese games को मैं पसंद करता था उनके Steam पर आने लगने के बाद मैंने Vita gear बेच दिया, लेकिन सच कहूँ तो PixelJunk Shooter याद आता है
हाल ही में मैंने अपनी पुरानी purchases भी download कीं। पूरी तरह बंद होने से पहले सबका backup लेना पड़ेगा
मुझे नहीं पता था कि Vita में PSP hardware शामिल है। मैंने सोचा था backward compatibility software-based है, हालांकि Sony का consoles में backward-compatible hardware डालकर ship करने का लंबा इतिहास रहा है
लेकिन उस समय तक PS2 Slim और बाद में PS3 के लिए software PS1 emulator भी आ चुका था
https://israpps.github.io/PPC-Monitor/docs/Architecture%20Ov...
ऐसी किताबें उस category में आती हैं: “न मैंने मांगी थी, न उम्मीद की थी, लेकिन एक बार आ गई तो सूर्योदय से सूर्यास्त तक पढ़ता रहूँगा”
लेखक ने processors और embedded architecture पर कई और किताबें भी लिखी हैं, और सच कहूँ तो यह वाकई जरूरी काम है
embedded दुनिया, software दुनिया की तुलना में कहीं ज़्यादा disassembly, teardown, explanation, inference की तरफ़ झुकी है। वजह नहीं पता, लेकिन इस तरफ़ के लोग schematics तक probe और reconstruct करते हुए लगभग हर चीज़ में गहराई तक जाते हैं। हाल का Nintendo modding scene इसकी चरम मिसाल है
software reverse engineers IDA licenses और plugins को ऐसे पकड़े बैठे हैं जैसे कोई trend अपने आख़िरी दौर में हो। Copetti जैसे और लोग चाहिए
मुझे यह article series और Vita दोनों सचमुच पसंद हैं
मैं कुछ समय से सोच रहा था कि backward compatibility के लिए Vita में PSP का CPU और GPU दोनों शामिल हैं, या सिर्फ CPU है और GPU Vita side पर map होता है
यह लेख पहले वाले का दावा करता है, लेकिन उम्मीद है अगले भाग में आधार के साथ और पता चलेगा
Vita अपने समय से आगे थी