11 ms·
Zombie Moore's Law shows hardware is eating software
- gaius 10y agoWhat is old is new again - this is the architecture of the Amiga! And before that the C=64 and the Atari 800.
- untilHellbanned 10y agoWhy was it a non-starter for Intel and what made Apple use it? I'm curious because I don't know about computer architecture.
- neppo 10y agoApple has control over the chip and the OS, whereas Intel only makes the chip
- gaius 10y agoAgain that is how it was back in the day, CPU and supporting hardware, OS, compiler, standard libs etc all co-engineered. Tho' in the case of the Amiga the CPU was part of the supporting hardware, the heart of the system was something else that farmed work out to the CPU or a co-pro as appropriate...
- walterbell 10y agoIs there a good online reference for this design?
- gaius 10y agoThere is an excellent book https://www.amazon.co.uk/Future-Was-Here-Commodore-Platform-ebook/dp/B007V5BVJG/ref=tmm_kin_swatch_0?_encoding=UTF8&qid=1474733494&sr=8-1 https://www.amazon.co.uk/Future-Was-Here-Commodore-Platform-... http://bogost.com/writing/blog/the_future_was_here/ http://bogost.com/writing/blog/the_future_was_here/
- _ph_ 10y agoIntel seems to be captured in its own x86 world. There were no big changes to the instruction set for ages, even the x64 extensions were designed by AMD. So while Intel still excels at manufacturing, the few projects for breaking out of their box failed (Ithanium, Larrabee). And also: why are there no Intel chips yet who include all the nice things USB-C can offer to the market? E.g. Thunderbolt, newest DisplayPort.
- qznc 10y agoIntel added for example: FMA (3) with Haswell in 2013 https://en.wikipedia.org/wiki/Multiply%E2%80%93accumulate_operation#Fused_multiply.E2.80.93add https://en.wikipedia.org/wiki/Multiply%E2%80%93accumulate_op... SSE4.2 with Nehalem in 2008 https://en.wikipedia.org/wiki/Nehalem_(microarchitecture) https://en.wikipedia.org/wiki/Nehalem_(microarchitecture) AES in 2008 https://en.wikipedia.org/wiki/AES_instruction_set https://en.wikipedia.org/wiki/AES_instruction_set SHA in 2013 https://en.wikipedia.org/wiki/Intel_SHA_extensions https://en.wikipedia.org/wiki/Intel_SHA_extensions
- MrBuddyCasino 10y agoIntel even added customer specific logic to its server class CPUs, which are only usable by them to speed up certain operations: https://news.ycombinator.com/item?id=11875255 https://news.ycombinator.com/item?id=11875255
- userbinator 10y agoThat seems more like a vague rumour than anything, at least until someone leaks some more info. (That it hasn't occurred, makes me somewhat doubting. Maybe the various undocumented instructions which have been found over the years are part of this...)
- gaius 10y agoThis approach was common in mainframes - you would buy a box that contained everything, but only the parts that you'd paid for would be accessible. If you wanted more, you could just apply an unlock code that you'd bought, and new features would come online, that were lying dormant all along. Even up to the level of more CPUs.
- bluedino 10y agoApple used Motorola because they were cheap compared to intel
- mattnewton 10y agoBecause intel said no originally; they didn't think there would be the volume to justify the expense of a custom chip at the price apple was willing to pay. http://m.imore.com/intels-outgoing-ceo-explains-how-they-turned-down-original-iphone http://m.imore.com/intels-outgoing-ceo-explains-how-they-tur...
- headShrinker 10y agoOne important aspect to apple's position is it had a new set of limitations other processor designers weren't dealing with; power consumption and size. Yes there were small processors and there were processors that didn't use tons of power, but they weren't fast. Apple had a very specific set of needs and apple being apple, was able to completely costomize its design and supply chain
- mattnewton 10y agoMy speculation: Intel doesn't want to threaten it's core buisiness in the pc market (which is heavily dependent on backwards compatibility), and the experience with itanium in the hpc market probably left a bad taste in their mouth.
- nickpsecurity 10y agoSame thing I was going to say. Amiga architecture was apparently the one of the future rather than past. Too ahead. In parallel, though, we also saw mainframes use a similar trick. Their usage was more narrow, though.
- wolfgke 10y ago> Amiga architecture was apparently the one of the future rather than past. Too ahead. I wouldn't call an architecture this way if it proves very difficult to extend without strongly breaking compatibility.
- nickpsecurity 10y agoIt's worth consideration although I don't think an architecture requires backward compatibility by definition: more a way to keep users or earnings reliably. You'd be saying that Mac OS 9 isn't an architecture since Mac OS X was different. Or PS2 -> PS3 mismatch meant they weren't architectural designs. Android API isn't backward compatible with GNOME or KDE on Linux. I'm just not seeing a lack of B.C. meaning there's no architecture or platform. If it was, though, we might potentially resolve the issue if there's a standard API for various things where the implementation can be ignored (and improved w/ SW or HW). Modern example of an Amiga-like architecture might be Microsoft's DirectX techs where there's API's for networking, I/O, audio, and video. Any of those might have been accelerated with dedicated coprocessors with apps looking the same. At least one or two were in practice. Likewise, the programming model might obviate the need for this consideration. One where they were tasks called as needed by a control code w/ optional acceleration might mean just the control code or OS interface needs to change per release or platform.
- okket 10y agoThis perspective fits into the top-down evolution narrative: Write highly specialised solutions in the most general way in software until essential, generic parts are discovered and stable enough to be translated into transistor logic. Repeat. Or like the Bitcoin "evolution": CPU -> GPU -> FPGA -> ASIC (this is a very simple, single purpose optimisation, but it can illustrate part of picture) Only optimising transistor speed, their size or the whole CPU/GPU package has obviously limitations and may be a dead end.
- usrusr 10y agoDead end is far too negative. There is nothing wrong with improving general purpose computing. It's the very best thing you can do - when you can. Just be ready to adapt (by going for specialization) when you can't.
- arbuge 10y agoTL:DR; Moore's law can no longer be counted on for performance gains, so speeding up things will now be dependent on replacing general purpose hardware with hardware specifically designed to implement specific algorithms. Of course work on custom chips has been going on as long as chips were a thing. The article just underlines that this is now pretty much the only way forward.
- drdre2001 10y agoAren't optical transistors another option though?
- RandomOpinion 10y ago>Aren't optical transistors another option though? It will be a minimum of a couple more decades of research and hundreds of billions of dollars of retooling before any of the potential replacements for silicon surpass what currently exists now at the current price and volume of mass production.
- smaddox 10y agoOptical switches are extremely large compared to contemporary transistors, and there's no obvious way to scale them smaller than the diffraction limit.
- drdre2001 10y agoHopefully this kind of problem will be solved within a decade, do you think that's a reasonable time scale or is this problem even unsolvable?
- eloff 10y agoLike all research into the unknown it might prove easy (5-10 years) it might prove hard (20 years) it might always be 50 years away (hehe fusion) or it might just not be possible (faster than light travel).
- 10y ago
- bramen 10y agoHow bad is debugging logic running purely on hardware nowadays? Is there anything more user-friendly than tapping specific lines and watching the output on an oscilloscope?
- klodolph 10y agoHow do you propose tapping a line on a piece of silicon with a 14nm feature size?
- adrianN 10y agoAsk this guy http://www.huffingtonpost.co.uk/rachel-preece/graham-short-the-worlds-s_b_1259356.html http://www.huffingtonpost.co.uk/rachel-preece/graham-short-t...
- amelius 10y agoYes, you can debug on an FPGA first, for example, allowing you to put the hardware-equivalent of a printf statement in places where you need them. Or, you can configure all of your flipflops into a barrel shift register, so you can read out their contents serially (and shift their contents back in circularly). But there are many more techniques.
- bramen 10y agoInteresting. Thanks, you've given me a few things to read up on.
- dnautics 10y agoUsually you start at the verilog level with simulators (I've done this professionally with zero hardware experience and discovered many critical bugs in a chip that's now taped out. Of course the real engineers had to fix them.) Now that it's gone physical, after a series of very low level tests, they will take similar software and adapt it to the interface for hardware instead and repeat all the tests.
- 10y ago
- ismail 10y agoInterestingly Sony went the other way with the PS4, Moving to x86. any ideas why?
- douche 10y agoPossibly because developing games for the weird PS3 Cell architecture turned out to be so complicated, particularly for games that were intended to be cross-platform with x86 XBox and PC platforms.
- buddapalm 10y agoMost certainly this was a COGS decision (keep costs of parts and development to a minimum)
- esjeon 10y ago- Heterogeneous architecture made game development a lot harder. - Engines had to be re-implemented for PS3, because Cell is simply too different. (Note: Xbox is almost-PC, so it attracts lots of devs.) - Cell architecture isn't good for games, honestly. Cell CPU has bunch of stream processors, but has only one (or few?) general purpose core.
- snuxoll 10y agoYou're correct, honestly it seemed like Sony was expecting ALL the graphics work to be done on the SPU's. The whole design of the Cell Broadband Engine is basically one SMT PowerPC core (PPU) and a bunch of stream processors (SPU's). Considering their choice in an extremely weak GPU compared to the Xenos in the 360, a lot of games had to move a bunch of work off the GPU and write it for the SPU's instead (which were nowhere near as nice to work with, they couldn't just pull data from system memory without you passing a pointer to them that was translated to an address they could DMA from, and you couldn't just throw GL or RSX commands at them so you were stuck writing all the nitty gritty by yourself).
- on_and_off 10y agoThis might also explains why Google seems more and more interested in designing its own chips for mobile devices, just like Apple. That and the underwhelming offering on Android compared to what Apple has been able to deliver.
- colechristensen 10y agoWhy is it underwhelming? What do people do with phones? I exchange text, sound, and pictures with people. Sometimes I play stupid games. The sound/pictures/text sharing long ago hit a limit where theres a big question as to why a person needs a faster processor. Increased watts per compute helps, sure. But what else? What besides bloat requires a Moore's law increase in a phone processor? What do I want to do with my phone that I don't yet know I want?
- notalaser 10y ago> What besides bloat requires a Moore's law increase in a phone processor? Marketing departments.
- jobigoud 10y ago> What do I want to do with my phone that I don't yet know I want? Untethered VR and AR. Rendering views in stereo for an extremely pixel-dense screen (>4K) at the highest frequency possible (>90Hz) while processing camera feeds and depth sensors for positional tracking (>90Hz).
- a3n 10y ago> Why is it underwhelming? What do people do with phones? What did people do with phones in the 1890s? Even your closed set is much, much more than that. What did people do with computers in the 50s, or PCs in the 80s? We do a lot more than that now. With greater capability comes more, even if we don't yet know what "more" will be.
- gakada 10y agoMobile devices are ideal candidates to be thin clients, because they are battery powered. If most instances of greater capability can be implemented as a thin client, then it's not CPU performance that is the bottleneck, but mobile ISPs and aged infrastructure.
- janekm 10y agoThis article is based on a faulty premise. The A10 processor is still far away from the performance of recent Intel CPUs (a quick browse of geek bench shows about 2 times the single and 4 times the multi core performance). Apple is very quickly making the gains towards the limits of Moore's law not because of a different model of computation but because those gains had not yet been realised for mobile CPUs. As the performance gap is getting smaller, it is likely that the year-on-year improvements in processor performance will also slow down for Apple CPUs. Which is not to take away from the achievements of the A10 design team, considering performance per Watt this chip is incredible.
- brudgers 10y agoI don't disagree. What I found interesting is the bigger picture of hardware By which I mean that, I think 'performance' is a slippery eel of a concept. The A10 fits in my pocket and and the Xeon Phi does not...or rather it doesn't in a way that provides me with useful computations...and the latest i7 doesn't hold a candle to the GPU in my $40 graphics card when I want to rotate the 16 million pixels my camera stuffs into a RAW file...and if I want to build a Kubernetes cluster, I can throw Raspberry Pi's at the problem.
- nkurz 10y agothe latest i7 doesn't hold a candle to the GPU in my $40 graphics card I think I understand your point (unless you meant iPhone 7?), but interestingly, recent Intel processors have impressively powerful graphics processors built in: https://software.intel.com/sites/default/files/managed/c5/9a/The-Compute-Architecture-of-Intel-Processor-Graphics-Gen9-v1d0.pdf https://software.intel.com/sites/default/files/managed/c5/9a.... So if you were using full capacity of that i7, I think it would beat your graphics card handily. The issue is that practically no one is writing code to use the full capabilities of these modern CPU's. A friend did a write up here: http://lemire.me/blog/2016/09/19/the-rise-of-dark-circuits/ http://lemire.me/blog/2016/09/19/the-rise-of-dark-circuits/ Even without the built-in GPU, I'd bet that the right software running on that i7 would blow away that $40 graphic card. I think problem is that we don't really have the right tools for writing low level multi-core software. Image rotation parallelizes and vectorizes really well, the x64 side of those processors have excellent vector capabilities, but it still requires hand coding to get top performance. if I want to build a Kubernetes cluster, I can throw Raspberry Pi's at the problem A thought experiment: how fast a cluster could you make from a few dozen iPhone 7's connected wirelessly? The processors are surprisingly fast, and I think they support 802.11ac at gigabit plus speeds. Could you possibly do distributed computing on an ad-hoc network of iPhones that happen to be nearby? An app with a sandboxed work queue that accepts local connections? There's lots of reasons it makes no practical sense, but it would be quite a demo.
- eximius 10y agoHuh, not where I thought this article was going from the title. I thought it'd be about software bloat eating into the gains given by hardware (which, in hindsight, is exactly backwards from the title).
- ChuckMcM 10y agoSimple summary, you can use transistors in your chips to speed up software. That comes at the cost of flexibility of course but I think it was one of the secrets of the iPad's initial success. That said, I think the ability to make inexpensive custom chips is going to power a wave of new hardware gizmos, unfortunately all of that capacity is in China and so if you don't read Chinese data sheets you're probably not going to be able to use those chips. (not that autotranslation is "bad" just that it doesn't always make technical documentation actionably understandable.)
- digi_owl 10y agoWe really do have a hardon for that Apple SoC, don't we?
- peter303 10y ago"Hey Clark Kent, its time for another bienniel 'End of Moores Law' piece"
- samfisher83 10y agoI think one of the things that is incorrect in this article is the software used to design asics (Custom Chips). Synopsys, Cadence, Mentor, Magma (when it was around) all made pretty good tools. The thing is the weren't free. Also you had to use TCL, but they could take rtl (Verilog aka the design language) to GDS (what gets fabbed). Heck there always seemed to be some startup that claimed they came up with a better routing tool or a better timing tool. They weren't super complicated to use. If you had too many gates you had to script a bunch of hacks, but it isn't too hard.