Talk:Orthogonal instruction set

untitled
Whoa man! Nice piece-o' cleanup!!! :-D


 * Thanks for your kind words! I spent 24 years at DEC, including time in PDP-11, VAX, and VMS Engineering, so this stuff was my bread-and-butter. Atlant 21:04, 2 Jan 2005 (UTC)

Badly structured
Specifically, a computer's instruction set is said to be orthogonal if any instruction can use data of any type via any addressing mode. -- the information contained in this sentence should be in the lead paragraph. Shinobu 17:04, 30 March 2006 (UTC)

Incorrect definition?
I had never heard of orthogonal instruction sets before, but by analogy with orthogonality in mathematics, I suspect the definition should include the fact that all instructions have the same format, with separate fields for the operation and the operands (as described later in the article). The definition given, "Any instruction can use data of any type via any addressing mode", looks analogous to a mathematical basis; in fact, what caught my attention was the last sentence in the definition section, "As with a set of mathematical basis vectors, which must be orthogonal if they are to represent any vector uniquely (...)", which is incorrect, as the vectors of a basis do not need to be orthogonal to represent every vector uniquely. It is theoretically possible to create an instruction set which allowed every possible combination of operations and data locations, but in which using the same operation with different locations, or the same addresses with different operations, would require completely different instruction formats; as I see it, this should not be called an orthogonal instruction set.

I haven't edited the article because I don't know if the definition is really wrong, but the FOLDOC definition looks more appropriate: An instruction set where all (or most) instructions have the same format and all registers and addressing modes can be used interchangeably - the choices of op code, register, and addressing mode are mutually independent (loosely speaking, the choices are "orthogonal").

-- Davitf 18:03, 18 July 2006 (UTC)

Computer engineering?
Intro sentence: shouldn't this be a term used in computer engineering rather than computer science? --IanOsgood 20:58, 18 July 2006 (UTC)

"Very strongly"?
"With the exception of its floating point instructions, the PDP-11 was very strongly orthogonal."

Whoa! The definition of orthogonality given sounds like a boolean property. Now you're telling me it's possible to be "very strongly orthogonal", too? (Can you be merely "strongly orthogonal", or even "weakly orthogonal"?) —Preceding unsigned comment added by 69.71.164.107 (talk) 08:17, 24 January 2008 (UTC)

the assembly language "hid" some of this separation
Isn't "hid" a typo? —Preceding unsigned comment added by 158.194.65.50 (talk) 13:06, 18 February 2008 (UTC)

It's the past tense--but the use of past versus present in articles on obsolete computers continues to baffle me. --Spike-from-NH (talk) 13:32, 27 October 2008 (UTC)

Gonna rewrite the whole thing
In addition to the comments above, the article states that the radix chosen to represent the machine code is the reason that the PDP-11 and VAX have a certain number of addressing modes, which has it backwards; it adds special registers to general addressing modes to produce really meaningless counts (we all have 21 fingers and toes, counting the tongue); and it doesn't explain sufficiently what the benefits of orthogonality are, and whether you care.

So I'm going to rewrite the whole thing (which I encountered during a restructuring of the PDP-11 page). I don't intend to delete any existing information, though I will drastically downplay some of it. I'll be interested in your reactions. --Spike-from-NH (talk) 13:31, 27 October 2008 (UTC)


 * Honestly, and don't take this the wrong way, but the rewrite (as it stands now) is much worse than the original (at least in terms of style). The tone is entirely too familiar ("you"), and (seemingly) relevant information has been replaced with what appears to be subjective original research.  I'm not going to revert, but I have some serious concerns about the new content.  //Blaxthos ( t / c ) 16:24, 27 October 2008 (UTC)


 * (How else to take it?!) I fixed your specific complaint ("you")--the Style Guide makes the same point--and cleaned up the intro.  On "replacing" relevant information, I don't think I deleted anything formerly in the article that was germane to orthogonality.  The example processors were described in more detail that didn't relate to orthogonality.  I had added the new discussion in Section 1 to explain the relevance of orthogonality.  Thanks for reviewing it and feel free to give more specific direction. --Spike-from-NH (talk) 13:59, 28 October 2008 (UTC)


 * The article is now perhaps even more rigid than before. It lacks important details and nuances while emphasing a largely very loose and abstract discussion of the subject. Moreover, it confuses the concept of an instruction set with its encoding in a more obvious way than the last version: An orthogonal instruction set does not necessarily have to have an orthogonal encoding, it may be variable length while allowing any operation using any addressing mode, for instance. I'm probably going to fix some of these issues someday, unless somebody else (hopefully) beats me to it. HenkeB (talk) 06:38, 29 December 2008 (UTC)

Well, independent of all the above discussion, an anonymous contributor has simply undone my edits, offering only the edit rationale: "rv to last good." Last Good brings back the weasel words, the use of quotation marks to mark "slang" (see Strunk & White's disdain for this technique), showcases the authors' memory of the evolution of processor architecture in ways that have little to do with orthogonality, and again ignore the reason I rewrote the article: to explain why the reader might care about the concept.

Computer users today, of course, do not care whether the instruction set is orthogonal. They only review measurements of the machine's performance on specific tasks. I would start a revert war, or better yet, work on a version that satisfies more readers, but there seem to have been no readers over the winter. So be it. --Spike-from-NH (talk) 22:45, 14 April 2009 (UTC)

ARM11
Why is ARM11 classified as an orthogonal ISA? I think that's false information from looking at the instruction set. Perhaps only a subset can be marked as orthogonal, but otherwise its not. — Preceding unsigned comment added by 192.76.146.51 (talk) 10:11, 2 February 2012 (UTC)
 * This claim in made in many sources, for instance here. However, you will note the term is used in an entirely different fashion that looks nothing like the definition that can be found in most texts. By the definition used here, the ARM11 is definitely NOT orthagonal. Maury Markowitz (talk) 11:16, 17 June 2019 (UTC)