Talk:Central processing unit/Archive 1

Note: The below comments generally refer to this article before it was totally rewritten; they are largely irrelevant to the article as it exists today. -- uberpenguin 05:28, 11 December 2005 (UTC)

Changes a'comin
I've made several changes and I'd like to justify them below. My intent is to get this article up to something respectible; in its current form it is mislabeled, disorganized, and very confusing.


 * Note: Most of section entered by uberpenguin 13:06, 21 September 2005 (UTC)


 * I think the changes are pretty well done. -- Unsigned User:84.190.223.208

CPU functionality section

 * Changed 'ones and zeros' to 'numbers.' There is nothing that requires a CPU to be binary, and depending on how broad your definition of CPU is, there are plenty of examples.  If we wanted to be really rigorous we would have to talk about discrete states rather than 'ones and zeros,' since the latter representation is merely a significance we give to real physical quantities like 'high and low voltage,' or vice versa, etc.  I did very significant rewriting of the first paragraph to accomodate a much better and more general description of this.


 * Reworked the intro just a bit.. The section tries to take a very simplistic and often over-specific approach, but totally takes it for granted tha the reader will know what a program is and how it is stored. Bad bad bad....


 * Tried to make the section more generally correct without sacrificing much understandability to the unacquainted reader. The section originally assumed that a CPU has to be a binary, scalar, Von Neumann architecture.  While these are certainly the most common types of CPUs, there are many more types and totally negating them is terrible fallacy.  In all honesty, this section belongs in a discussion on the Von Neumann architecture, not here.  Regardless, the section still addresses the common Von Neumann binary architecture, but it at least hints that there are other possibilities as well.


 * Organized it into something sane. I don't know who wrote this, but I'm sorry to say it's really terrible from an organization standpoint.  I redid things a bit so the explanation follows the simplest and most common pipeline possible for the VN arch; fetch, decode, and execute.  We do readers 'no justice whatsoever' if they read a simple explanation of binary VN CPUs and don't even come out knowing the fundamental steps in a three-stage pipeline.


 * Removed the memory blurb. It's TOTALLY irrelevant to the operation of CPUs both theoretically and practically.  The reader needs only to know that computer memory stores numbers and they can then proceed to the relevant linked Wikipedia article about computer memory if they wish to know more.


 * Moved the bit width discussion to its own section; it doesn't belong in a discussion of functional operation.

Intro

 * Minor rewording for clarity. I will rework and expand this more soon so it talks a little bit more about the history of CPUs, their significance in society (i.e. miniaturization), etc.  It needs to be expanded a lot along with the article.

More to come
I'm going to expand this article a good bit to make it less microprocessor centric, have more history, be much clearer, discuss the impact of the CPU since its advent, and in general be much less crappy than it currently is. Hopefully the edits I've made so far indicate the direction I want to take the article. I appreciate any comments, input, or assistance in this task. It's sad that Wikipedia's article on CPUs is so poor, but I'm here to change that! Here's hoping I we can bring this one up to featured article quality.

One question I'd like to put up for discussion though.. Should we assume that the term CPU exclusively applies to Von Neumann machines? I personally cannot think of an example to counterpoint this statement, and I'm fairly sure that "CPU" came into use long after the majority of all computers that were explicitly called "computers" were in fact Von Neumann architectures. Since analog computers (or whatever you want to call them today... "signal processors," perhaps) really don't operate as VN machines, I think we can safely ignore them in this article. I think this article should at least mention the Harvard architecture, but off the top of my head, I can think of no device that uses the Harvard architecture that one might call a "CPU." However, I'm certainly no guru and I'd like some input on this matter in particular.

-- uberpenguin 13:06, 21 September 2005 (UTC)


 * Yes, assume von Neumann architecture. Essentially all computers with a central processor are that, excepting experimental things.  Analog computers are still called analog computers; most signal processors these days are digital, and if they are analog they usually aren't computers.  On the term cpu, see below -R. S. Shaw 03:11, 29 September 2005 (UTC)


 * Well, 'analog computers' are usually called 'filters,' 'signal processors,' etc. I was thinking along the lines of old analog computational devices built out of op amps, comparators, integrators, etc.  While these devices were formerly referred to as analog computers, it's more common to call them by other names like 'digital to analog converter' nowadays.  Anyway, that isn't really the issue at hand, neither to I think that it's unreasonable to include a brief discussion of the Harvard architecture in an article about CPUs (Harvard and VN are pretty similar in many major ways; they are both stored program designs).  I guess what I'm looking for is some confirmation that the direction I've chosen to steer this article in (i.e. "a CPU is a device that carries out stored program execution") is acceptable.  This ties in with the history of the term below; I decided to go with this point of view because I couldn't think of any counterpoints (that is, any contraption called a CPU that isn't/wasn't a digital device to execute stored program).  Perhaps I'm agonizing over the strict definition a bit too much? -- uberpenguin 04:20, 29 September 2005 (UTC)

History
I threw together a brief history section. Please give me input and advice on it. I tried to cover the bases without being overly wordy or incomplete (difficult to do). I also linked the history of computer hardware article, since it goes into some of the things I discuss in much more depth. I do realize that I am taking a very broad definition of the term "CPU." I myself debated for a while as to how far to extend the definition. Certainly the term did not come into common usage until at LEAST since transistorized computers have had their advent. Generally the term is much more commonly associated with microprocessors. However, in being consistent with the CPU design article, I've decided to extend the term retroactively to include the core of older computers as well. Since CPU is essentially a description of functionality, I hope the history buffs will let me get away with this. Hmm... actually I think I'll add some text on this subject to the intro...


 * Don't be too sure the term CPU is recent. I think the term probably dates back at least to the 50s.  Back then a CPU was a unit, a large cabinet in the middle of many cabinets, probably the one with the blinkenlights.  The term was used in 1964 in Amdahl, Blaauw, & Brooks' paper on the architecture of the System/360 (and was probably a well established term at that time) . -R. S. Shaw 03:11, 29 September 2005 (UTC)


 * Ah, well I wasn't sure at all, that's why I went to the trouble of writing all this junk on the talk page. :) Most people I've talked to were using computers in the early 70s, and they had no idea of the origins of the term (but remember using it).  So until I could discover something more concrete, I mentioned the earliest date I knew "CPU" to be in use.  I sent an email to an old buddy who was a big developer at DEC in the late 60s and early 70s asking if he knew anything else regarding the history of the term.  Thanks very much for giving me a more concrete point to work from, though.  I looked up the paper you mentioned and it does indeed make frequent casual use of "CPU."  I'm adding it as a reference to this article. -- uberpenguin 04:28, 29 September 2005 (UTC)


 * Added some images... I'm working on getting a neat shot of a PDP-8 flip chip module next to a modern IC microprocessr. Should be really great for a sense of scale and miniaturization. -- uberpenguin 15:49, 27 September 2005 (UTC)

I plan to add another section talking about CPU design considerations and implementation, since this is largely what people coming here are likely looking for. I consider this the hardest section to write, but I'll try to keep it as short and accurate as possible. I plan to discuss things like synchronous vs asynchronous CPUs, CISC and RISC, SISD and SIMD, pipelining, parallelism, etc, all briefly. The CPU design article is much more complete and will be linked from this section. I'm also probably going to move the "notable architectures" section to another article, since it's generally considered bad form to have long lists in WP articles. If you have any reservations with that, please discuss! -- uberpenguin 21:48, 25 September 2005 (UTC)

Case contents vs. CPU
From the entry: "Manufacturers and retailers of desktop computers often erroneously describe the computer case and its contents as the CPU which is misleading."

My question (and consider mentioning this in the entry): What then is the best terminology for the case and contents? Seems to me "PC usually means the case, contents, monitor, kbd, mouse etc" Saying just "case" sounds like I mean the empty case. How should we call that *THING*, (case with all contents fully assembled)? (i.e. PC minus monitor and peripherals) What?? Glueball 07:03, 17 Dec 2003 (UTC)
 * I call the "CPU" the computer if I'm talking about parts, and I call the whole system the computer if I'm just talking about it in general. It depends on the context. Paul Cyr

I use computer and sometimes PC to refer to the case and contents and occasionally use computer system to refer to the computer plus peripherals. This seems to be in line with most literature, as well.

There are many people who will think that you are talking about the monitor when you say computer, and will say hard drive when talking about the computer.

It may be a good idea to have a computer glossary page for common components, which the various computer-related articles can link to. It's frustrating to tell a user the hard drive died, and they start thinking in he hundreds of dollars, or worse yet (barely), you can't seem to get across to them that their data is gone. A glossary would an easy way to help ensure that everyone is on the same sheet of music, so to speak.

If no one else starts such a page, and one doesn't already exist, I'll see about doing it in the next few days. It would be useful as a gateway page for other computer-related articles. --Scott. 07:11, 2004 Feb 9 (UTC)

See this page, it lists the components of a computer case. Computer_hardware --Scott. 06:03, 2004 Feb 10 (UTC)

Multicore processor
The article states: IBM, SUN, AMD and Intel have started to push the idea of a future and somewhat controversial architecture: a multicore processor (mostly a dual-core processor).

I just attended a presentation by AMD in which they claimed to be releasing dual-core processors in the second half of this year. Perhaps this sentence should not, therefore, make it sound like it's so far away. Does anyone agree? --202.74.200.242 10:59, 9 Mar 2005 (UTC)
 * Multicore ICs have been around for several years; for example, IBM's POWER architecture has used a multicore design since POWER4. The statement you referenced is a bit too PC-centric, I'll edit it to something more appropriate. -- uberpenguin 00:53, 2005 Apr 18 (UTC)

bytes per second?
What would be the formula to calculate the megabytes/second processed in a 500 MHz 32-bit processor, considering the IPC is constant at 1?

MBps = (500 * 1000000 * 32) / 8)) / 1024000 ?

Does this look about right?


 * Mebibytes per second is a measurement of bandwidth, and a very limited one these days. It's difficult to impossible to measure CPU performance in "bytes per second" because it does not simply transmit and receive data.  Some traditional benchmarks have been MIPS and FLOPS, though these too are very limited metrics when you consider the high amount of TLP, ILP, and vector capabilities in a modern "general purpose" processor.  -- uberpenguin 03:06, 2005 Jun 6 (UTC)

Cleanup
The links section is in need of revision. Some of the links there are irrevelant and/or repeated. --cheese-cube 11:50, 15 August 2005 (UTC)

Did some link cleaning up today but the article still needs a serious rewrite. MansonP 12:34, 6 September 2005 (UTC)

Merger
Regarding the proposed merger of the articles "Central processing unit" and "Microprocessor": The terms "Processor" and "Central processing unit" are more general, while "Microprocessor" refers only to CPUs that fit on one integrated circuit chip, thus excluding all computers where processing is distributed among more than one component, i.e., all earlier computers, and some later ones.

I've done some preliminary work on this user subpage of mine. Work is still undergoing though and it's far from complete.

Anyone care to load it up, tell me what you think, maybe make a few changes to it? Leave any comments on my user talk. Thanks.

Also, we'll need to decide if we do go ahead with the merger which page to keep and which to change to a #redirect..

splintax 14:47, 8 September 2005 (UTC)
 * I personally oppose merging CPU with microprocessor. CPUs existed before ICs. Ancheta Wis 16:35, 11 September 2005 (UTC)


 * Correct, but I think the article would actually be more informative if we discuss pre-IC and IC CPUs in the same article. --R.Koot 17:37, 11 September 2005 (UTC)


 * Agree with Ancheta Wis totally. In its current form the CPU article sucks because incorrectly assumes that the only CPUs in existence are digital, binary, electronic, Von Neumann architectures. I've started to make some edits to correct this and hope to turn this into a respectible CPU article sometime soon. However, this should DEFINITELY stay separate from the microprocessor article (which is largely a catalogue of microprocessor designs anyway; perhaps it should be renamed accordingly). -- uberpenguin 12:59, 21 September 2005 (UTC)

Merging CPU and Microprocessor is not a good idea. They're quite distinct subjects, with lots to be said about each. -R. S. Shaw 00:27, 29 September 2005 (UTC)

I also emphatically agree: the topics are distinct and should remain so. While many people do sometimes refer to a microprocessor as a CPU, the CPU predated the microprocessor. To my understanding, the central processing unit (CPU) refers to the processor (miro or otherwise) together with memory (not storage), support circuitry, bus, and perhaps the interfaces to IO devices and other peripherals&mdash;essentially the contents of the typical cabinet that contains the processor (from mainframes to PCs). Finell 09:44, 2 October 2005 (UTC)

I strongly disagree with merging CPU and Microprocessor. CPU an microprocessor are two different categories. Current microprocessors include not only a CPU but one to three cache memory levels; in some cases (AMD Opteron or the proposed Alpha EV7) even integrate the memory controller. Dual core (e.g. IBM Power5 or Itanium Montecito) and multi core microprocessors have more than one core. Today superescalar or multithreaded cores include the CPU plus split instruction and data caches and bank prediction stuff that makes up what we call the first cache level, and can be considered as functional units fully integrated in the CPU datapah, actually.Briz 10:25, 7 October 2005 (UTC)

Merge is a bad idea since CPU and microprocessor aren't the same thing. I'm removing the tag. Quale 08:38, 10 October 2005 (UTC)