10 ms·
Intel x86 documentation has more pages than the 6502 has transistors (2013)
- znpy 3y agoSo what? The 6502 is stuck at what, 40 years ago?
- masklinn 3y ago50. The 6502 was a famously simplistic and cheap processor, with about 2/3rds the transistors of an 8080 or 6800 (and like 20~25% the price at release), half that of a Z80.
- atomlib 3y agoThere are transistors that have more than one page of documentation.
- ngneer 3y agoBrilliant!
- FartyMcFarter 3y agoIn other mind-boggling stats: A single modern games console has more RAM than all of the Atari 2600s ever manufactured put together.
- zwirbl 3y agoFor reference, the Atari 2600 had 128 bytes of RAM with about 30 million devices sold
- kristopolous 3y agoI thought I sort of understood how computers work until I saw that. I really can't figure out how to do a full screen video game with state in 128B
- FartyMcFarter 3y agoThere was no framebuffer in those consoles [1]. So you pretty much only have to store game state and some auxiliary data in those 128 bytes, which starts sounding a lot easier. [1] https://en.wikipedia.org/wiki/Television_Interface_Adaptor https://en.wikipedia.org/wiki/Television_Interface_Adaptor
- deleted 3y ago[deleted]
- jdblair 3y agoor, a lot harder, since your code can only draw a line a time, not work with the whole frame buffer!
- charcircuit 3y agoModern games now have programmers deal with drawing a frame a pixel at a time when writing shaders. The GPUs themselves render a tile at a time and not the whole buffer.
- TheRealSteel 3y agoLook up 'racing the beam' if you haven't before. The answer is... you can't! It didn't have a frame buffer and lines had to be written to the display one at a time. There was a lot of sprite flicker as many games had more on screen than the console could actually display in one frame.
- beebeepka 3y agoPacman was horrible.
- fredoralive 3y agoIt's basically only the state in the RAM, the game code is in ROM on the cartridge (you can have up to 4KB of ROM before have to rely on bank switching tricks). Video on the 2600 is weird, there isn't any video memory to speak of, you basically set up the video chip line by line in code.
- FirmwareBurner 3y ago>A single modern games console has more RAM than all of the Atari 2600s ever manufactured put together In other mind boggling movie lore, an RTX 4090 has 2x the TFLOPS computing power than the killer AI Skynet used in Terminator 3[1]. The writers back then probably though 60 TFLOPS is such a ridiculously high sci-fi number for the world-ending AI, that nothing could possibly come close to it, and 20 years later consumers can have twice more computing power in their home PCs. It's also a nice reminder how far technology has progressed in the last decades even if the pace has slowed down in the last years. [1]https://youtu.be/_Wlsd9mljiU?t=155 https://youtu.be/_Wlsd9mljiU?t=155
- pdimitar 3y agoThe writers could still turn out to be right. I am not sure we are making good use of all that hardware yet.
- MegaSec 3y agoDamm high level programming languages. Just go back to assembly, that'll fix everything.
- pdimitar 3y agoYeah how dare they. ;) Truth be told though, I believe we are in for some more innovation in the area, especially with the advent of ARM lately. It's always kinda funny how these mega-machines we have still manage to stutter.
- SmellTheGlove 3y ago> It's always kinda funny how these mega-machines we have still manage to stutter. I just figured that’s the trade-off for general purpose computing. We can optimize for whatever covers the wide swath of use cases, but we can’t optimize for everything, and some will continue to be mutually exclusive. Mind you I’m no expert, I’m just extrapolating on how differently what CPUs and GPUs are optimized for these days and historically.
- andai 3y ago> Anyway, at the time I did these measurements, my 4.2 GHz kaby lake had the fastest single-threaded performance of any machine you could buy but had worse latency than a quick machine from the 70s (roughly 6x worse than an Apple 2), which seems a bit curious. To figure out where the latency comes from, I started measuring keyboard latency because that’s the first part of the pipeline. My plan was to look at the end-to-end pipeline and start at the beginning, ruling out keyboard latency as a real source of latency. > But it turns out keyboard latency is significant! I was surprised to find that the median keyboard I tested has more latency than the entire end-to-end pipeline of the Apple 2. If this doesn’t immedately strike you as absurd, consider that an Apple 2 has 3500 transistors running at 1MHz and an Atmel employee estimates that the core used in a number of high-end keyboards today has 80k transistors running at 16MHz. That's 20x the transistors running at 16x the clock speed -- keyboards are often more powerful than entire computers from the 70s and 80s! And yet, the median keyboard today adds as much latency as the entire end-to-end pipeline as a fast machine from the 70s. https://danluu.com/keyboard-latency/ https://danluu.com/keyboard-latency/
- rcxdude 3y agoThe measurement methodology seems a bit odd for the purposes of measuring the difference between old and new computers: if a large fraction of the latency measured is due to the key travel, that's latency which is also present in the older computers (AFAICT buckling spring has a lot more key travel before activation than the scissor-switch keys of the apple and most laptop keyboards) Surely for the purposes of the comparison you would want to look at switch activation-to-bus-activity latency.
- _trampeltier 3y agoAn USB-C charger has much more computing power than an Apollo Moonlander. https://www.theverge.com/tldr/2020/2/11/21133119/usb-c-anker-charger-apollo-11-moon-landing-guidance-computer-more-powerful https://www.theverge.com/tldr/2020/2/11/21133119/usb-c-anker...
- FredPret 3y agoWe'll have computronium soon if we carry on like this!
- karmakaze 3y agoWould be more impressive if the 2600 had more than 128 bytes RAM--that's bytes not KB.
- mysterydip 3y agoI know it's not a straight conversion, but I've wondered what performance would be like on a multi-core, multi-gigahertz 6502 successor. Even a 486 had a million transistors, think how many 6502's could be on a die with that same count.
- FartyMcFarter 3y agoI'm not a hardware engineer, so take this with a grain of salt: The 6502 doesn't have a cache, only external memory. So performance would probably be much worse than naively expected (except perhaps for workloads that fit in CPU registers, edit -not even those due to the lack of a code cache as well). Memory latencies haven't improved nearly as much as CPU speeds have, which is why modern CPUs have big caches. The CPU would be idly waiting for memory to respond most of the time, which completely kills performance.
- brazzy 3y agoNow I have to wonder whether it would be possible to build a cache around an unmodified 6502. I.e. a component that just sits between the (unmodified) CPU and memory and does caching.
- Someone 3y agoI don’t think an unmodified 6502 would get faster; it assumes memory is fast enough for its clock speed, and won’t, for example, prefetch code or data. Also, if you add a modern-sized cache, you won’t need the memory at all in a single-CPU system; the cache would easily be larger than the addressable memory.
- vidarh 3y agoIt'd only benefit if the latency of the external memory is bad enough to keep the cores waiting, sure, and certainly you're right regarding a single-CPU system. I think this fantasy experiment only "makes sense" (for low enough values of making sense) if you assume a massively parallel system. I don't think it'd be easy (or even doable) to get good performance out of it by modern standards - it'd be a fun weird experiment though.
- 3cats-in-a-coat 3y agoI'm trying to be wowed by this, but... yes, modern tech be complex. A modern website has more source code than the first few versions of Windows put together.
- serf 3y agoanecdote : most 'high volume source code' sites i've encountered are that way because of a need to meet standards on a large amount of devices, compliance regulations, and scaffolding/boiler-plate; 90% of it being dead-code boilerplate. the logic comes at the very tail end, and often it is exceedingly limited, handing off msot of the work to third party APIs/whatever. I guess what i'm trying to say is that source-code volume is a lousy metric for ascertaining 'complexity'; something can be huge and cumbersome but still only use simple logic that's easy to follow once you get past the cruft.
- 3cats-in-a-coat 3y agoWhat you describe is basically how DNA works. Most of it is inactive junk. Parts of which, however, gets activated when... who knows what happens. Basically we got coded by millions of interns.
- gary_0 3y agoAnd some of the code is never called, but removing it causes weird crashes because the cell.exe compiler is finicky. And some of the code shouldn't be there, but it was left behind by a virus infection that wasn't completely cleared out.
- rvba 3y agoMost are done this way since they are outsourcrd to the cheapest bidders who "glue" multiple technologies poorly on top of each other. And then add tons of ads / tracker / analytics code. Lots of websites dont care that their technology is terrible.
- amelius 3y agoIt probably also has more bugs than the 6502 has transistors :)
- masklinn 3y agoAll processors have bugs. Despite their simplicity the 6502 were hardly bug-free: https://en.wikipedia.org/wiki/MOS_Technology_6502#Bugs_and_quirks https://en.wikipedia.org/wiki/MOS_Technology_6502#Bugs_and_q...
- tos1 3y agoUpdate to the 2013 numbers: As of today, the Intel SDM (https://cdrdv2-public.intel.com/782158/325462-sdm-vol-1-2abcd-3abcd-4.pdf https://cdrdv2-public.intel.com/782158/325462-sdm-vol-1-2abc...) has 5066 pages.
- mpweiher 3y agoBack in 2006, Intel's Montecito had a transistor budget for more ARM6 cores than the ARM6 had transistors, so: Transistor : ARM6 = ARM6 : Montecito And that was a long time ago, Montecito had a measly 1.72 billion transistors, Apple's M2 Ultra has 130 billion. Makes the whole Transputer ( Transistor:Computer ) idea seem somewhat prescient. https://blog.metaobject.com/2007/09/or-transistor.html https://blog.metaobject.com/2007/09/or-transistor.html And an idea how you could use those transistors differently from now: https://blog.metaobject.com/2015/08/what-happens-to-oo-when-processors-are.html https://blog.metaobject.com/2015/08/what-happens-to-oo-when-...
- deleted 3y ago[deleted]
- b5n 3y agoThere are parts that should be read, but when you only need a reference a good lookup tool is invaluable: https://github.com/skeeto/x86-lookup https://github.com/skeeto/x86-lookup
- kens 3y agoWow, I was surprised to see my article from 2013 appear on HN today! (It's hard to believe that the article is 10 years old.) In that time, the x86 documentation has expanded from four volumes to 10 volumes. Curiously, the number of pages has only grown by 21% (4181 pages to 5066). The x86 instruction set has added a bunch of features: AVX, FMA3, TSX, BMI, VNNI, and CET. But I guess the number of new instructions is relatively small compared to the existing ones.
- ddingus 3y agoThat is an intriguing stat.