Jump to content

Talk:16-bit computing

Page contents not supported in other languages.
From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Dicklyon (talk | contribs) at 01:12, 17 December 2014 (Popular, common, or whatever: new section). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
WikiProject iconComputing Start‑class High‑importance
WikiProject iconThis article is within the scope of WikiProject Computing, a collaborative effort to improve the coverage of computers, computing, and information technology on Wikipedia. If you would like to participate, please visit the project page, where you can join the discussion and see a list of open tasks.
StartThis article has been rated as Start-class on Wikipedia's content assessment scale.
HighThis article has been rated as High-importance on the project's importance scale.

Untitled

Hello Friends.

Can any body explain a little that what is the basic difference between 16-bit and 32-bit words. I just want to know that what is the actual advantage of 32-bit word over 16-bit.

regards

Raheel

Sure.
It's basically like this. If the word size of a machine is 16-bit, then you can store at most 2^16 = 65536 different combinations in one word. These combinations are often taken to be the numbers 0 to 65535 or -32760 to 32759 or memory locations.
If you need larger numbers, or if you need to keep track of more data that needs more memory, you'll need to use two words.
Using two words for storing numbers increases the time it takes to do calculations with them. This is because instead of one operation to for instance add two numbers, more operations are needed.
If you use a 32-bit machine however, you can use 4294967296 different combinations. That means you can use a single word to contain larger numbers or references to a wider range of memory locations.
Therefore a 32-bit machine will perform better at the same clock speed, with the added bonus of making the lives of programmers easier. (The last bit has also got a lot to do with the way some processor manufacturers (Intel springs to mind) and OS developers (Microsoft for instance) chose to overcome the restrictions of 16-bit words.)
I hope this helps.
Yours sincerely,
Shinobu 07:12, 31 August 2005 (UTC)[reply]

16-bit DOS and Windows 1.0/2.0 applications

Those applications were 16-bit, not 8-bit. The 8088 was a processor with a 16-bit instruction set and an 8-bit bus; it's the instruction set, not the bus width, that matters to the "width" of applications. Guy Harris (talk) 18:56, 20 January 2008 (UTC)[reply]

Memory Adressing

So how many kilobytes can 16 bit processor address?--169.232.119.28 (talk) 02:11, 1 May 2008 (UTC)[reply]

From looking at this and other pages, it appears it can address bits, which is 8192 bytes (octets) or 8 kibibytes. If by "kilobyte" you mean "1,000's of bytes," then it's 8.192 KB, but if you meant "1,024's of bytes," which is what Windows and I think Macintosh now use, then it's 8 KiB. Eebster the Great (talk) 05:04, 14 September 2008 (UTC)[reply]
Its actually 65,536 bytes, which is 64 kilobytes. Using certain techniques, a CPU can address more memory than the width of its ALU. An example of this would be the Intel 8086, which is a 16-bit microprocessor with a 20-bit physical address capable of addressing 1 megabyte. Rilak (talk) 07:58, 14 September 2008 (UTC)[reply]
Eebster made the assumption that every single bit has its own address, but addressing is done per byte. Therefore Eebster was a factor eight off. Shinobu (talk) 03:03, 4 October 2008 (UTC)[reply]
Good call; sorry. I guess I'll try restrict myself to answering questions to which I actually know the answer. Eebster the Great (talk) 05:12, 4 October 2008 (UTC)[reply]
But if we stuck with what we already know, how would we ever learn anything? I agree that, with a flat memory model, 16 bit addresses can be used to specify at most one of addressable locations. With byte-addressable memory, that gives 64 KiB. But some 16 bit digital signal processors use 16 bit word addressable memory, and so they can directly address the equivalent of 128 KiB. However, some systems don't have a flat memory model -- as Rilak implied, some systems have hardware that uses bank switching or memory segmentation to allow the CPU to indirectly address significantly more memory. —Preceding unsigned comment added by 68.0.124.33 (talk) 20:20, 24 October 2008 (UTC)[reply]

Good point! I think we should clarify the article, and perhaps all n-bit articles. Rilak (talk) 08:48, 25 October 2008 (UTC)[reply]


Shouldn't the Z80 and the 6809 go here since you still consider 68000 as being 32-bit?

You always consider 68000 being 32-bit for no other reason other than it's registers being 32-bit, regardless of it having a 16-bit ALU and data bus, but you never call the Z80 and the 6809 16-bit, despite them having the same reasoning? —Preceding unsigned comment added by 75.57.174.145 (talk) 16:06, 16 May 2009 (UTC)[reply]

Add list of 16-bit CPUs/MPUs?

I believe that it would be beneficial to have a consolidated list of 16-bit CPUs and MPUs on this page, much like the 8-bit page's list. This would make it very easy for readers to browse through all the 16-bit architectures and processors without having to fish around. Therefore, I am adding an incomplete list to this article with the processors and architectures I am aware of. If there is a more preferable way to do this, or if you know of something to add to the list, please feel free to help. Daivox (talk) 03:10, 3 May 2011 (UTC)[reply]

16-bit application

Is [1] an improvement? I do not see an improvement. BTW, I hastily used rollback and destroyed some other changes. I object only against “On the x86 architecture, a 16-bit application normally means any software written for…” and am indifferent to changes in other parts of the article. Incnis Mrsi (talk) 21:35, 26 July 2013 (UTC)[reply]

I'm still looking for documentation, but there might have been 16-bit applications written for UNIX System V/286 that ran, along with 32-bit applications, on UNIX System V/386, and the same might have applied to pre-386 and 386 Xenix, so there might have been 16-bit applications not written for "MS-DOS, OS/2 1.x or early versions of Microsoft Windows". The term largely applies to DOS, OS/2, and Windows applications, but it might not exclusively apply to them, even if there were relatively few UNIX applications for x86 at that time. Guy Harris (talk) 22:28, 26 July 2013 (UTC)[reply]
In addition, in theory, there might have been versions of some of those OSes that ran on machines other than PC compatibles and to which the 16-bit vs. 32-bit distinction applied.
(BTW, I put back all of HLachman's changes other than the one to which you object.) Guy Harris (talk) 22:36, 26 July 2013 (UTC)[reply]
Thanks to both of you for your attention to this issue. I'm OK with either wording (they're both mine!). Was my 2nd wording an improvement? I borrowed it from the 32-bit application article because it sounded more concise than my 1st wording, while being synonymous (although I'm not certain of that). Either way, my main intent is to make sure that if the paragraph is PC-centric then it declare itself as such, because prior to my 1st wording (04:46, 11 June 2012‎) it merely said, "A 16 bit application is any software written for... (various PC platforms)...." That seemed to imply that PDP-11 programs, for example, cannot be called "16-bit applications" (even while they might run on a VAX in compatibility mode). So I'm fine with leaving the wording as-is. As for the remaining issues in the paragraph (Xenix, etc.), I'm not too clear what to do about those. Thanks also to Guy for restoring my other edits. HLachman (talk) 23:59, 27 July 2013 (UTC)[reply]

Lead and title

I did this at 64-bit computing years ago, but nobody followed up. So now I've done it here. Nounized the title and ditched the lead template. I invite comments, and invite others to do something as good or better at 32-bit and elsewhere. Dicklyon (talk) 06:36, 14 December 2014 (UTC)[reply]

Codename Lisa reverted the move and the edit, and in edit summary says Amazing how people who describe things as "stupid" often fail to divine the purpose of what is described as "stupid". I still think it's stupid, and I think I understand that the point is to make all the articles follow the same pattern, but the pattern itself is stupid, and hard to fix. Since he hasn't come to talk about it, I'll revert to get his attention to the discussion. Dicklyon (talk) 02:11, 15 December 2014 (UTC)[reply]

Hi. It is with major difficulty that I am writing this. While was composing this message the other day, Dick Lyon not only violated WP:BRD but also called me "Asshole", effectively going against pillar #2. So, I aborted midway. Discussion is for people who are here to edit encyclopedia and Dick Lyon is definitely a case of WP:NOTHERE, as shown by his edit warring. Still, I had never before shirked from a discussion if my dispute party has started one. I don't want this case to be an exception. In the interest of having an actual discussion, I am asking user Jeh and FleetCommand to join this discussion; the former is contributor to many CPU-related articles and the latter is the primary author of MOS:COMPUTING.
The issue with Dick Lyon's edit is twofold: First, "16-bit computing" has WP:COMMONNAME problem. The reason for the rename, on the other hand, is ... well, none is provided except saying status quo is "stupid". And he seems to hold some unexplained value in the title being a noun group. (Well, "16 bit" is a noun group and doesn't have WP:COMMONNAME problem.) Second, the re-written lead is outright wrong. It contends:

In computer architecture, 16-bit computing is the use of primarily 16-bit data, including integers and memory addresses. That is, data elements are at most 16 bits (2 octets) wide. CPU and ALU architectures based on registers, address buses, and data buses of 16-bit width have been popular for decades.

Not true because:
  1. "Primarily" is wrong; a 16-bit app must use a combination of 8-bit and 16-bit registers; there is absolutely no other options.
  2. The data elements have no obligation to be at most 16-bit. They can be of any length, e.g. 8, 16, 32, 64 or 128 bits. Strings have arbitrarily unlimited lengths. (Their practical length has been initially 64 KB.)
  3. 16-bit CPUs and ALUs have not been popular for decades; they weren't even around for one decade (1978–1985), and even then, they were not popular. Back then, computer was not a consumer's product.
Best regards,
Codename Lisa (talk) 11:25, 15 December 2014 (UTC)[reply]
Greetings, Codename Lisa. Actually, I'd like to hear what Dicklyon and Jeh have to say first before taking sides. Jeh knows a great deal more than me. But I can tell that Dick has long cross the line of disrupting Wikipedia to make a point. Instead of reverting for a second time, he must have dropped you a line and asked why you disagree. Or... at least this is the standard to which I am always held. Fleet Command (talk) 22:07, 15 December 2014 (UTC)[reply]
First, a couple of nits re CNL's criticisms:
1. "Primarily" is wrong; a 16-bit app must use a combination of 8-bit and 16-bit registers; there is absolutely no other options.
Not so. There are many 16-bit architectures (HP 2100, Data General Nova, PDP-11) that have no 8-bit registers. Even if you do have 8-bit registers, this does not preclude the correctness of the "primarily" claim.
2. The data elements have no obligation to be at most 16-bit. They can be of any length, e.g. 8, 16, 32, 64 or 128 bits. Strings have arbitrarily unlimited lengths. (Their practical length has been initially 64 KB.)
I believe Dicklyon was referring to data items that fit within a machine "word" and the processor's arithmetic and logical instructions that operate on such data. Yes, you can deal with 32-bit integers in a 16-bit CPU, but all of your basic operations are going to need more than one instruction. Of course any architecture can be used to work on data structures larger than its word size, but that's not a matter of architecture, it's a matter of programming.
3. 16-bit CPUs and ALUs have not been popular for decades; they weren't even around for one decade (1978–1985), and even then, they were not popular. Back then, computer was not a consumer's product.
They were certainly popular in terms of the overall market for computers. As for longevity, the HP 2100 series was introduced in 1967 and lasted (renamed to HP 1000) about thirty years; similarly, DEC shipped the first PDP-11 in 1970, and it was a healthy business for them for at least twenty years. It's true that in the personal computing world 16-bit machines (8086 through 80286) were but stepping stones on the way to 32 bit-hood, but the personal computing world is not all there is to computing. Jeh (talk) 23:00, 15 December 2014 (UTC)[reply]
This is a very shortsighted view of computer history—equating computer with "microcomputer". The IBM 1130 and the 360/20 were very popular 16-bit machines dating from the mid 1960s. I'm not sure of the dates of other systems, but somewhere here there's a list. Peter Flass (talk) 17:00, 16 December 2014 (UTC)[reply]
Hi. As told Jeh below, "popular" and "employed in key locations" must not be confused. When something is popular, every person on the street knows about it. Did 1130 had this state for several decades? How many people in the street even know what IBM is? Best regards, Codename Lisa (talk) 17:39, 16 December 2014 (UTC)[reply]
Popularity is relative. Both machines I mention were widely used. Obviously this was before the age of a computer on every desk, but both were very popular by the standards of the times, with the 1130 selling over 10,000 systems. The PDP-11 was undoubtedly much more popular yet. Peter Flass (talk) 20:20, 16 December 2014 (UTC)[reply]
Hello, Jeh. Thanks for joining in. First, I've fixed a year in my comments and your quotation and made the quotation part of your post to quote my list numbers as well, for ease of referring to it and commenting. I hope it is not construed as undue intrusion into your message. Now, moving forwards:
  1. Actually, you might be surprised that I agree with you. Totally. In fact, I know that x86 didn't have 8-bit address registers either; CS, DS, SS and ES are 16-bit. It does have general-purpose 8-bit registers but they are either available under 64-bit mode (R8 through R15) or are taken as a whole of their 16-bit parents, AX, BX, CX and DX. So, if I am going to fix my sentence according to your review, it would become: "Primarily" is wrong; a 16-bit app must use strictly 16-bit integers and address registers; there is absolutely no other options. Still, "primarily" is wrong. (Please bear in mind that integers can't be 8-bit; on the other hand, the 8-bit aspect of byte order is always present.) In fact, "primarily", even when correct, has the potential to be WP:WEASEL.
  2. Again, surprisingly, I agree with you completely and fully. However, what you didn't address is that Dicklyon's wording leaves absolutely no room to believe he is referring to architecture only. It is not even ambiguous; he is unwittingly talking about programming.
  3. Well, here, there be dragons; You see, Dick's contribution doesn't address longevity alone. (Otherwise, I'd apologize and agree with you.) It says they were "popular for decades". First, let's address the intrinsic WP:WEASEL issue: How many decades? Two? Ten? One hundred? Second, let's say these computers were adopted in 2000 universities and research institutes; in world with 2 billion computers, that's not popular; that's "employed in key locations and roles". Mind you, this is more important than being popular. That's what was Microsoft's business plan: Instead of selling to masses, they sold to those few who buy en masse. Now, this fact itself shows the prospect for a correction and a compromise, don't you think?
Best regards,
Codename Lisa (talk) 14:02, 16 December 2014 (UTC)[reply]
Why can't integers be 8 bits? Peter Flass (talk) 17:00, 16 December 2014 (UTC)[reply]
For the same reason that my Wikipedia username can't be "Peter Flass"! You see "Integer" is a name given to a certain thing. "8-bits" are already called a "Byte". Best regards, Codename Lisa (talk) 17:24, 16 December 2014 (UTC)[reply]
Yes, "integer", in computing, is a name given to data types whose possible values are subranges of the integers. -128 to 127 is a subrange of the integers, so an integer data type could be 8 bits long. And, on many platforms, 16 bits are called a "halfword" or "word", so the fact that a byte is 8 bits does not prevent an integral value being stored in a byte. Guy Harris (talk) 22:23, 16 December 2014 (UTC)[reply]
CNL, you are flatly wrong about this. In computing, "integer" is not the name of a specific data type of a particular size; it is more generic than that. What you're claiming is equivalent to saying that you can't be called a WP editor because you already are called Codename Lisa. An 8-bit datum, even though stored in what is commonly called a "byte" (or "octet" in some places), can most certainly contain a value that is interpreted as, and manipulated by machine instructions as, an integer. Note that C (just for example) uses the name "char", and allows both unsigned and signed chars, and allows ordinary integer arithmetic to be performed on them. If those aren't integers, then what are they? Certainly not floating point! Jeh (talk) 23:52, 16 December 2014 (UTC)[reply]
I'm not pushing for any particular wording, just for something more flexible, readable, meaningful, relevant, and interesting than what the current stupid template generates. As for popularity, I'd bet that 16-bit systems are still more popular than any but 8-bit systems. You're just not looking at a very wide scope if you're not seeing that. Every car and house probably has more than a few of each. Dicklyon (talk) 17:09, 16 December 2014 (UTC)[reply]
1960's/1970's 16-bit minicomputers weren't adopted in a world with 2 billion computers. Are you saying that, prior to the introduction and widespread use of personal computers, no computer could be described as "popular"? Guy Harris (talk) 22:27, 16 December 2014 (UTC)[reply]
Agree with GH here too. The Tektronix 465 can legitimately be called a very "popular" 'scope of its day, even though the average person on the street never heard of it and probably is not even aware of the product category. Jeh (talk) 23:52, 16 December 2014 (UTC)[reply]
OK, I was a bit miffed that he went elsewhere editing rather than response to the conversation I started here beore his first revert of my edits, and I was a bit more miffed when he decided to revert my edits a second time before taking up my suggestion to join the conversation. Thinking that an "asshole" move, I said so. Of course, there's no excuse for this particular loss of self control, even though I was beset elsewhere; so I apologize. Now back to the point. The template is "stupid" as I said in my edit summary. It makes it very hard for an editor to improve the lead, which is awkward and pointless to the extreme. And as to the title, if "computing" is not the ideal noun, find another one. The current adjective title is just silly. The "computing" move was accepted at 64-bit computing; what's a good alternative? Dicklyon (talk) 04:49, 16 December 2014 (UTC)[reply]

Popular, common, or whatever

The section above about fixing the title and getting away from the stupid lead template seems to have been largely derailed by my suggestion that 16-bit computers long were and still are very popular. Of course what I really meant was widely used, widely chosen and designed in, etc., not widely known to consumers. At least one source, cited at List_of_common_microcontrollers#Texas_Instruments, says a 16-bit micro is the "most popular", but I doubt that. Almost certainly the 8-bit 8051 and PIC are more popular. Dicklyon (talk) 01:12, 17 December 2014 (UTC)[reply]