News for hackers. Stuff that matters.
Re:Intel x86 documentation has more pages than the 6502 has ... by kazinator on Wednesday December 07, 2016 @09:02PM (#13127867)
The point is that this is wrong. It's hardware; hardware should be simple. It's operating systems, languages, libraries and applications that (if anything) should have the proverbial "wall of manuals", not the machine architecture.

Power on reset, shift, decode, execute, repeat.

Intel loves complexity, which is why they invented USB: another tree killer.

The processor doesn't do anything. In all that silicon and its pages of documentation, you can't even find a parser for assembly language; you need software for that.

In spite of 4000+ pages of documentation, printing "Hello, world" on a screen requires additional hardware, and a very detailed program. Want a linked list, or regex pattern matching? Not in the 4000 pages; write the code.

And this is just the architecture manuals software developers. This is not documentation of the actual silicon. What it contains:

This document contains all seven volumes of the Intel 64 and IA-32 Architectures Software Developer's Manual: Basic Architecture, Instruction Set Reference A-L, Instruction Set Reference M-Z, Instruction Set Reference, and the System Programming Guide, Parts 1, 2 and 3. Refer to all seven volumes when evaluating your design needs.

Instruction set references and system programming guide; that's it!

Note also that this is not the programming documentation for a system on a chip (SoC). There is nothing in this 4000+ page magnum opus about any peripheral. No serial ports, no real time clocks, no ethernet PHY's, no A/D D/A converters; nothing. Just CPU.

Re:Intel x86 documentation has more pages than the 6502 has ... by andars on Wednesday December 07, 2016 @09:20PM (#13127932)
"Intel loves complexity"

Intel loves performance, because people want performance. Complexity is the cost of increased performance. As an example, I would guess that of the ~2000 pages of the instruction set reference, at a minimum 1000 pages document the various SIMD instructions. You don't need those, or the floating point operations, or SHA instructions, but I don't see any harm done by making them available.

Re:Intel x86 documentation has more pages than the 6502 has ... by flamedoge on Wednesday December 07, 2016 @11:47PM (#13128466)
don't you technically just need mov which is said to be turing complete?
Re:Intel x86 documentation has more pages than the 6502 has ... by fnj on Thursday December 08, 2016 @04:30AM (#13129316)
It's not clear to me how [simple unconditional] mov could possibly do the job alone. I believe it could only work if it incorporates "magic" memory locations - e.g., storing at location x executes math combining location x and location y in some way and alters location z. This simply begs the question by moving logic behind the curtain.

I think the single instruction which can do the entire job without any magic assist is subneg x, y, z:

Subtract location x from location y; store the result in location y; and branch to location z if result is less than 0; else proceed to next.

Or various trivial variations of the same idea.

Any complication beyond this is no more than syntactical sugar and performance optimization.

Re:Intel x86 documentation has more pages than the 6502 has ... by pjc50 on Thursday December 08, 2016 @05:58AM (#13129585)
Re:Intel x86 documentation has more pages than the 6502 has ... by fnj on Thursday December 08, 2016 @06:27AM (#13129680)
Once I checked out the reference at the end of README.md, I like it. I could try to object that the "magic" has been moved into the addressing modes of the mov, but that would be a bit arbitrary.

If you focus only on direct memory addressing (no indirect or indexed), mine does still work, but mov doesn't. I think.

Re:Intel x86 documentation has more pages than the 6502 has ... by kazinator on Wednesday December 07, 2016 @09:32PM (#13127977)
1000 pages comes close to ANSI Common Lisp [1994], which is still criticized by some bitter old Lisp trolls for its size.

It's just some CPU instructions!

Maybe they aren't doing a good job of describing them succinctly?

Re:Intel x86 documentation has more pages than the 6502 has ... by andars on Wednesday December 07, 2016 @09:52PM (#13128055)
They probably aren't describing them very succinctly, because there isn't really a benefit to dropping information in the complete instruction set reference. If you don't want all of the information, look at the instruction set summary instead (~40 pages in volume 1).

These things aren't written to be brief, they are written to be complete.

Re:Intel x86 documentation has more pages than the 6502 has ... by pjc50 on Thursday December 08, 2016 @05:59AM (#13129588)
> The processor doesn't do anything.

It's difficult to argue with someone starting from this level of wrong.

Re:Intel x86 documentation has more pages than the 6502 has ... by kazinator on Thursday December 08, 2016 @09:05AM (#13130300)
If you take words literally, you will find it difficult simply to converse with humans.
Re:Intel x86 documentation has more pages than the 6502 has ... by pjc50 on Thursday December 08, 2016 @09:22AM (#13130398)
So what did you mean? The processor clearly does everything, so why say that it does nothing? You're railing against "complexity" that you show no sign of understanding.
Re:Intel x86 documentation has more pages than the 6502 has ... by kazinator on Thursday December 08, 2016 @12:23PM (#13132054)
Whereas a processor whose programming view can be documented in only 200 pages doesn't do everything. Gotcha!