Cortex A57, Nintendo Switch's CPU
chipsandcheese.com
chipsandcheese.com
The rumor I've heard is that there's a bug in the system crossbar which makes which core CCX you enable after reset the only choice you can make until the system is fully reset. That is, if you enable the A57 CCX, later enabling the A53 CCX triggers the bug and vis versa, even with the first CCX disabled when enabling the second.
https://nvidianews.nvidia.com/news/nvidia-launches-tegra-x1-...
It was going to be for "Deep Learning," "Computer Vision Applications," "NVIDIA DRIVE car computers," and robots. As we know, outside of some Tesla models, that didn't really happen.
Rumoredly, according to people who have read the leaked Nintendo documents (Modern Vintage Gamer has implied it in replies to comments on his videos), NVIDIA had found the bug with the recovery mode before the Switch's launch; but Nintendo couldn't just move the announced Switch launch date to wait for a chip revision, especially after the Wii U financial performance. So, off it went and they just had to cross fingers and hope nobody found it. Nintendo probably got a good discount for that mistake too.
As YOU know.
The Tegra X1 (which the switch used) was never used in any production automotive application, correct. But you mentioned Tesla, so let's talk about other Tegra generations.
Other Tegra generations were used in Teslas in varying quantities (Tegra 2, 3, and K1). Mercedes has been shipping Tegra in their "MBUX" cars for a few years now as well. A couple of Chinese companies are shipping Tegra via NVD. Volvo, Land Rover, and Jaguar are also going to be shipping it shortly as well.
Sony has their own such codec which is why the audio jack on the PS controllers works so well..
> SBC operates at a latency of between 170 and 270 milliseconds (yanked from the web so it may be a bit off)
Stacked on top the typical input latency and you talking somewhere in the neighborhood of 1/4, 1/3, or even pushing 1/2 seconds latency from an input to hearing a sound that plays in response to the input.
An individual might get used to it, or it might not bother them, but it's still there and measurably poor. Even for straight video, Amazon Firestick and other devices will add video latency to compensate.
LHDC and aptX-LL on the other hand can hit 30ms of latency.
More likely Nintendo got a really good deal on it.
It is entirely possible that it was just price based and they didn't care about the chip bug, but given the timings I still think they would have selected the chip before it was complete and in consumer products.
The comparable competitive Android chip, also launched in late 2015, was the Qualcomm Snapdragon 820. That chip was widely known as being one of the worst Qualcomm chips ever made; for mediocre power efficiency, lots of heat generation, thermal throttling, and a buggy first attempt at 64-bit instructions. All that for a GPU that is, on paper, significantly weaker [1] (though, maybe the Switch's cooling could've helped close that gap a bit). But even then, you're dealing with Qualcomm, and everyone knows they are just the worst.
First, because Qualcomm loves royalties based on the device's MSRP, rather than a flat charge per chip. Nintendo probably wouldn't like that. Secondly, while NVIDIA GPU drivers are a proprietary blob, that's of little concern to Nintendo, and that blob can be easily adapted to run on any OS under the sun, including their own. Qualcomm - enjoy a hackneyed Linux fork, that's the best you'll get. From our perspective they're both pretty bad, but from Nintendo's perspective trying to add support to their custom microkernel Switch OS, one's clearly garbage.
Outside of Qualcomm... what else do you have for 2017? Exynos and MediaTek? I think it goes without saying... there are no upsides to passing on the Tegra X1 for a MediaTek from that era.
[1] Edit: I previously said 50% and 100% weaker, but that's very grammatically ambiguous; and FLOPs are a very bad metric of performance, because there are 3 different kinds of FLOP metrics floating around that aren't comparable (due to different levels of precision). Combined with the Tegra being designed for cooling and the Qualcomm designed for no cooling, it's hard to tell specifically how large the gap is, even though a gap is almost certainly there. I think my point still stands.
From digging at history threads: The alternative SoC option they had was a quad-A53 SoC with Decaf (a Wii U GPU cut in half with Wii backwards compat gone) co-designed with STMicro.
[1] https://medium.com/@adamagb/nintendo-s-little-known-product-...
"lateral thinking with withered technolgoy"
Oh, please. Nintendo is infamous for being cheapasses with their hardware design decisions, working to boost profit margins over all else.
The N64 is a great example. Top notch graphics which they spent a small mint on...that was then hobbled by a storage format they could exploit more control over, resulting in ported games having to be chopped up.
More FMV but crappier games for sure.
>Top notch graphics which they spent a small mint on
From what I understood the design was a completed SGI design that was originally going to go to Sega but they passed on it and it went to Nintendo. This was the advent of 3D Graphics in the consumer video game market and so of course they were going to make mistakes. Its questionable how much Nintendo was involved in the low level design but they did end up providing a very decent graphics solution at a reasonable price point.
Hell the PSX has that terrible fixed point integer based calculation so it causes polygons "snapping into place" that causes the wobble effect so its not like they were the only ones making decisions that made the final product not as good as it could have been.
>resulting in ported games having to be chopped up
Maybe your thinking of it the wrong way. Software was more custom tailored back in the day to better take advantage of the custom abilities of the hardware because there just wasn't any breathing room for more generic ports.
Just imagine all of the n64 software that didn't even make it at all to the PSX because it was completely out of the question. Why should Nintendo be blamed for choosing what they felt were specific features to make their games the way they wanted? If other software does not fit the paradigm that the N64 provides then it is the fault of the software.
I recall reading this very same statement in a game mag during that time. It made a lot of sense considering how often the PSX would need to load in the map. Resident Evil 2 comes to mind, then MGS. MGS got away with the loading because it hid it behind the various FMVs.
>Hell the PSX has that terrible fixed point integer based calculation so it causes polygons "snapping into place" that causes the wobble effect so its not like they were the only ones making decisions that made the final product not as good as it could have been.
Yeah, then there was this. To be fair to Sony, I think they went cheap on the initial PSX as it was uncharted territory and I'm certain the finance gurus had pumped the brakes on being too lofty out the gate. Now the "wobbly" graphics are viewed as an aesthetic lol.
Unfortunately, without someone from inside Nvidia telling us, all we have are rumors and no evidence.
If the plan was to allow big 4 or LITTLE 4, and then a hardware bug became apparent that you could switch to LITTLE cores but not back to big cores, well you notify customers and stop advertising the LITTLE cores. archive.org has them mentioned Jun 1 2016 [1], and then removed Jun 14, 2016 [2]; the A53 cores aren't mentioned but are shown in the die map on the current page [3].
[1] https://web.archive.org/web/20160601063237/http://www.nvidia...
[2] https://web.archive.org/web/20160614200203/http://www.nvidia...
> Presumably the boot time CCX is selected by selection pins.
There's actually another core, an ARM 7 referred to as the BPMP (Bootstrap and Power Management Processor IIRC), that handles main CCX bring up.
Expand that analysis further, to the top 100, and it remains true.
'Regard accumulated over time' would clearly be a factor in that bias, but not a definitive one. Relatively modest processors like the A57, and (vastly) weaker, are still the home of the majority of human video gaming enjoyment.
[0] http://www.hardcoregaming101.net/hg101s-top-47k-games-of-all...
Video games have been around, at this point, for 40-50 years. On that basis alone you'd certainly expect the majority of human video gaming enjoyment to predate the A57.
The Switch has been a commanding platform commercially for its lifespan; given the ease of pushing out multi-platform games with Unity or Unreal Engine, devs are more likely going to target the lower-spec hardware and get a huge install base for free than to limit themselves to more advanced hardware.
Nier: Automata is no. 5 on that list, and while it runs on the Switch, by-all-accounts it's somewhat knee-capped by the hardware. The PS4 original is what's listed, and one wonders if it would've received quite as much adoration if it launched on the Switch and looked or played the way it does on that platform, or even if the devs would have had the resources or freedom to develop it as-it-is in the first place.
Including the top 100, Bloodbourne is at no. 63 and, so far as we know, requires computing power the Switch doesn't provide. Outer Wilds is at no. 96 and you could raise similar questions about it as about Nier; it's made it to Switch (as of last week!), but it took the devs an extra four years to get it there.
It's, frankly, a somewhat quirky list. Among other things, it's heavier than most would be on Japanese visual novels, and it inexplicably has "Lode Runner Online: The Mad Monks' Revenge" at no. 35.
Also, don't underestimate the "regard accumulated over time"/historical import factor, which is a pretty universal element of how critics tend to approach these things. For example, the most recent (2022) Sight and Sound "100 Greatest Films of All Time" has no movies made after 2001 in the top 10; a full half of it predates what most people would consider "modern cinema" (roughly speaking the French and American New Waves in the 60s).
Of course, ultimately your point stands - technology hardly makes the game, and there's a good case that computing hardware has reached a "good enough" point of diminishing returns in the ways that it does. My PS4 is ten years old now and I still haven't seen anything on the next gen systems (themselves around four years old now!) that make me feel like I need to upgrade. I'm also of the opinion that various factors have made games-at-large increasingly less interesting over the past few years, but that's probably just me getting older and sadder.
Lode Runner is a pretty popular game. I'm certainly not going to try to figure out their methodology, but I'm guessing Lode Runner volume sales peaked with this particular Win95 compatible version that was likely bundled with many computers that sold with Win95. The naming is a bit outlandish sounding now, of course, but it also plays in offline mode.
Take something relatively modern but no longer too expensive, say an A15 like the Apple TV has, bump the screen to 1080p, and I bet it would scream. Possibly with better battery life.
Nintendo would never do that. I doubt Apple would either. But it would be a very interesting test.
By the time the switch was around people had been emulating on Android for a long time. They can do better graphics but there hasn’t been a game that made me feel like I needed 4K on handheld. The switch really is another golden age for gaming with the switch being hacked so quickly and having such good homebrew.
Meanwhile the switch had the big bootrom usb stack exploit, but everything apart from the original SoC doesn't have a publicly known easy exploit (there are mod chips, but nothing like the 3DS/PS3/Wii U/Vita/PSP/...). There also wasn't that as much "cool" stuff to do as on older consoles with homebrew due to the hardware simply being an android tablet with controllers (which doesn't make a difference as a console, but makes it more boring homebrew wise). So there is the usual stuff (savegames, different controllers, piracy, themes, overclocking), but nothing unique to the switch.
Besides piracy what do you expect from the switch? The PSP had an ebook reader, movie player and could play mp3s as well as other cool old games very early in it's release. It could play media and play games up to the ps1. Modding a PSP vita today is like maxing out a citron 2cv instead of buying an e scooter. When the PSP came out it was amazing. Now it's yesterday's news. I'm impressed by the hackers that did it but the vita just doesn't impress even with hombrew today for the capabilities.
The PSP had amazing battery life and felt like a better Gameboy advance at the time.
Right now it's only the early Switch units that are hackable.
And a lot of indie games, JRPGs, Visual Novels just fit the handheld form factor better than PC or PS4 even if they weren't exclusive.
(Of course, Nintendo still sells (nearly) the same switch for nearly the same price, but a five your old mobile device would go for a lot less nowadays.)
Also the Steam Deck starts at $399.
Granted, I'm playing Skyrim and Portal 2 on Switch Lite so I can't see them on the TV and compare them at the same size as the PS3 versions of those games, but Skyrim at least seems to suffer much less lag and visual glitching than the PS3 version. I don't have any newer console to compare with so I'm happy!
But a pocketable Micro console would be awesome for those times I don’t want to have a full backpack with me, which the regular Switch requires.
This seems like a pretty subjective judgment. Was the Sega Game Gear not a handheld console?
Unfortunately all of Apple's chips are stuck in Apple devices, where they're still struggling to incentivize developers to do ports as standard. So they're pumping out beautiful graphics to beautiful displays for games with shitty touch screen controls that are riddled with ads and/or are just glorified virtual casinos.
Given that branches are, well, just branches in any language, what makes OO so special?
Also further down the author states "while FP registers have to be wider to handle vector execution"
Again I'm pretty certain FP registers are larger owing to the greater precision they have, not specifically because they're designed for vector ops... please somebody explain why my understanding is wrong?
I suppose the assumption is that you get lots of virtual functions.
While useful for function pointers and jump tables, I suspect they are speaking to polymorphism and vtables/witness tables.
Indirect branches. This is a result of vtable indirections.
You are much more likely to encounter vtables in an object oriented language. Obviously, you can still have the same basic thing in a C program, e.g. SDL RWops, but in C++ for example, it's going to show up all over the place.
FP registers have gotten much larger than the normal types that people store. e.g. 128, 256, 512-bit registers. A normal double floating point (pretty much the largest normally used floating point representation) occupies 64-bits, while a normal int64 occupies, unsurprisingly, the same 64-bits. But we're getting the mega registers specifically because there are a lot of multiple-four-singles at once, and so on, SIMD functions.
> Again I'm pretty certain FP registers are larger owing to the greater precision they have, not specifically because they're designed for vector ops... please somebody explain why my understanding is wrong?
ARM Neon is both 128bit SIMD and the FPU for the system. There's not a separate FPU from the SIMD.
(In some cases the compiler may statically know the class of an object, if it's not allowing for subclassing and a potentially overridden method)
In principle you have calls to whatever method associated with a given object, which are indirect as there is not one statically-known target of the call, but in practise you can optimise a lot out <https://youtu.be/9epgZ-e6DUU?t=2543>.
I can’t see how that would be beneficial.
Famously, the 3DS has complete GBA hardware inside of it that never got used outside of the Ambassador Program.
ARM has 100% backwards compatible CPUs that Nintendo could use. They’ve done backwards compatibility a number of times now without needing to embed an entire extra CPU such as the Wii and the Wii U. I would be surprised if they weren’t thinking about it when they were designing the Switch.
The “embed the old console“ thing always works, but why go that far if there’s a much simpler option?
I wonder, too.