http://www.righto.com/2019/10/how-special-register-groups-invaded.html
Half a century ago, the puzzling phrase "special register groups" started showing up in definitions of "CPU", and it is still there. In this blog post, I uncover how special register groups went from an obscure feature in the Honeywell 800 mainframe to appearing in the Washington Post.
While researching old computers, I found a strange definition of "Central Processing Unit" that keeps appearing in different sources. From a book reprinted in 2017:1
"Central Processor Unit (CPU)—Part of a computer system which contains the main storage, arithmetic unit and special register groups. It performs arithmetic operations, controls instruction processing and provides timing signals."
At first glance, this definition seems okay, but a few moments thought reveals some problems. Storage is not part of the CPU. But more puzzling, what are special register groups? A CPU has registers, but "special register groups" is not a normal phrase.
It turns out that this definition has been used extensively for over half a century, even though it doesn't make sense, copied and modified from one source to another. Special register groups were a feature in the Honeywell 800 mainframe computer, introduced in 1959. Although this computer is long-forgotten, its impact inexplicably remains in many glossaries. The Honeywell 800 allowed eight programs to run on a single processor, switching between programs after every instruction.3 To support this, each program had a "special register group" in hardware, its own separate group of 32 registers (program counter, general-purpose registers, index registers, etc.).
(Score: -1, Flamebait) by Anonymous Coward on Thursday October 24 2019, @04:40PM (21 children)
Aren't registers just storage? I never really "got" the difference between disk, RAM, cache and registers. It's all storage, right? Get over yourselves.
(Score: 1) by Ingar on Thursday October 24 2019, @04:47PM (1 child)
Replace your CPU registers with a 7200RPM HD. You'll "get" the difference.
(Score: 1, Funny) by Anonymous Coward on Thursday October 24 2019, @08:48PM
Comcast loads the same, no diff seen
(Score: 1) by VacuumTube on Thursday October 24 2019, @05:02PM (5 children)
When microprocessors came on the scene, registers were a type of volatile memory built-in to the processor circuitry, and used directly in processing operations and manipulation of data. The executable code and data was stored in RAM and other media, and were external to the processor. The lines have blurred somewhat since those days.
(Score: 0, Flamebait) by Anonymous Coward on Thursday October 24 2019, @09:15PM (3 children)
>The lines have blurred somewhat since those days.
No they haven't.
I see you've never used assembler, fucking retard.
(Score: 0) by Anonymous Coward on Friday October 25 2019, @02:32AM (2 children)
GP is right. CPUs used to fetch data from RAM, decide on operations, use values stored in registers. Now CPUs only use on-chip data obtained from very local cache; the cache controller is responsible for making data available in the cache from RAM so that the CPU can see it.
If you've only used assembler, that would have been abstracted away from you, you fucking retard.
(Score: 0) by Anonymous Coward on Friday October 25 2019, @03:57AM (1 child)
No, CPUs used to be the box that contained the processor, ram, motherboard and whatever disk drives you were using. Over time, people have misused the word CPU to mean processor. It's similar to the way that people have abused to term memory to be more than just the RAM. Back in the '90s a computer was a CPU, monitor, keyboard and possibly a mouse. It wasn't until massive numbers of computer illiterate people came on the scene that some of these terms inexplicably changed. Unfortunately, due to the way that the internet works, its' very hard to get correct information once it's been drowned out with crap info.
(Score: 0) by Anonymous Coward on Friday October 25 2019, @05:39AM
I've heard muggles use CPU for the entire computer in the 1980s. At least according to the OED, CPU only refers to the actual processing component.
(Score: 2) by Immerman on Friday October 25 2019, @12:25AM
The lines have definitely not blurred, the popular languages have just gotten further from the hardware. And even with languages like C, modern compilers can usually perform the relevant optimizations almost as well as a good programmer. Just because you usually don't have to think about the differences as a programmer though, doesn't mean that they're not huge.
First there's the functional differences - registers can often be used for many things that RAM simply can't - vector operations in particular usually can't reference RAM at all. You can also use data in a register in the same clock cycle that an instruction references it. In comparison, reading data from RAM typically requires at least an extra 5-20 clock cycles.
Another big change is the introduction of large amounts of cache - which can be accessed far more quickly than RAM (though still far more slowly than registers), assuming the data you need has already been pulled from RAM in the recent past and is still lying around in the cache. Pipelining has also helped dramatically, hiding much of the RAM latency by fetching data from RAM many cycles before the operation referring to it is performed.
Still - being able to fit all the needed data for a piece of code into registers alone can often deliver a tenfold or greater speed improvement. Well worth it for performance critical inner loops and much real-time processing.
(Score: 2) by DannyB on Thursday October 24 2019, @05:02PM
Maybe 'storage' in some general sense. But there are various characteristics which put them into broad categories.
It's all storage right? In some sense yes. But jargon makes communication MUCH easier. That is why various professions have jargon.
It's all storage, but with different characteristics. Speed. Volatility. Capacity. Cost. Mechanical vs Solid State. Etc.
Cache exists for a reason. The cpu doesn't directly execute instructions from disk, for a reason. Important permanent information is not kept only in RAM / Memory, for a reason (when you remove electrical power).
So different forms of 'storage' get different terminology. For a reason.
Joke from BYTE Magazine:
Customer asks computer dealer . . .
Q. What is the difference between Static and Dynamic RAM?
A. Static memory works, and Dynamic memory doesn't.
When trying to solve a problem don't ask who suffers from the problem, ask who profits from the problem.
(Score: 2, Informative) by Arik on Thursday October 24 2019, @05:07PM (4 children)
The rest of the storage hierarchy comprises a series of faster transient buffers that mediate the data as it flows from the storage to the cpu and back the other way. This is done to improve performance.
Generally speaking you have disk->ram->cache->registers->cpu. You can elaborate on that but that's the basic flow. The registers are the fastest, and available in the smallest amount. They're inside the CPU and hold values the CPU is working with directly. The cache is the next level, probably implemented on chip as well these days, but still conceptually separate. It's a little slower, but there's a lot more of it. It contains data the CPU has worked with recently, or is likely to need soon. Then you have RAM - again, a bit slower, but far more is available. Here you have your running OS, daemons, userspace programs etc. Finally, we're back down to the disk itself, the slowest of these components, painfully slow in comparison even to RAM, but available in much greater quantities. So it can hold not just the OS and programs but also years of picture albums or databases or whatever.
If laughter is the best medicine, who are the best doctors?
(Score: 1, Touché) by Anonymous Coward on Thursday October 24 2019, @09:18PM
Sounds like the disk is the other sort of marxist.
"Quantity has a quality all it's own"
(Score: 1, Insightful) by Anonymous Coward on Thursday October 24 2019, @10:29PM
Stone tablets. Grafitti. Tabloid front pages. Punched cards. Magnetic tape. Flash memory.
None of them are discoidal. Unless you want to chance the definition of 'disc/disk' - but words have meaning, fucker, learn to use it first.
(Score: 0) by Anonymous Coward on Friday October 25 2019, @04:02AM (1 child)
I think it's troubling that all the folks on this site seem to think there's a problem with a CPU having storage. That was the case for years after I began using computers. The CPU is just the box that includes the processor, storage and all the other goobins involved with processing information. You'd attach your peripherals and monitor to that. What people mistakenly refer to as a "CPU" is a processor and it wasn't until relatively recently that I saw people really insist on calling it a CPU.
This is more or less an extension of the previously existing term unit. As in a manufacturing unit which would have all the necessary machinery to produce the parts necessary to build a machine or other more complicated part.
(Score: 0) by Anonymous Coward on Friday October 25 2019, @08:08AM
Searching for the origin of the term "central processing unit" I found this [ed-thelen.org] report from 1961. For examples of its use follow the links to General Electric or IBM machines. While the report doesn't define what is meant by the term I notice that primary storage isn't mentioned as a component, which seems to confirm that it is included in the central processing unit.
But in 1971 the Intel 4004 was released (while other manufacturers were working on similar devices), which put a number of functions together on a single piece of hardware for which central processing unit is quite a sensible term too, and that is how it's used today.
Meanings of words and terms aren't fixed, language evolves. If you think that's troubling perhaps you should stay away from etymological dictionaries, because those will confront you with many words whose meanings have changed significantly. The word nice once meant foolish, the word silly once meant happy or prosperous. If you stick to original meanings communication with other people becomes quite difficult. If you accept that meanings evolve you might consider accepting that it happens within your lifetime too.
(Score: 4, Funny) by Bot on Thursday October 24 2019, @05:26PM (1 child)
I never got the difference between man, dolphin, elephant and wolf. In the end they all are meatbags aren't they.
Since we are joking.
BTW what's the subtle difference between a supermodel and your mom? The supermodel FEATURES a celestial body, your mom IS one.
Account abandoned.
(Score: 2) by c0lo on Thursday October 24 2019, @10:31PM
Eh, long gone are those times, but yes, life was much better when we could. (large grin)
https://www.youtube.com/watch?v=aoFiw2jMy-0 https://soylentnews.org/~MichaelDavidCrawford
(Score: 2) by ikanreed on Thursday October 24 2019, @06:20PM
This is surprisingly effective flamebait.
(Score: 3, Funny) by bzipitidoo on Thursday October 24 2019, @06:38PM (1 child)
Registers can do basic arithmetic, and a few other operations. Storage can only store data.
(Score: 0) by Anonymous Coward on Thursday October 24 2019, @06:49PM
Nope. An arithmetic logic unit does arithmetic.
Registers are storage, often multi-ported.
(Score: 0) by Anonymous Coward on Thursday October 24 2019, @11:40PM (1 child)
The meaning of CPU has changed over the years... so get over it!
1959 a CPU was the size of refrigerator or bigger. Yes it memory. It had an ALU. It had special registers (memory restricted to a give use)
When a chip had the ALU and registers. It was called a CPU too. Memory was pushed out and increased in size.
Now we call those cores in a CPU
We even have CPU with memory on the. But the term is computer on a chip.
Hell a Raspinerry is a CPU also.
It is all a frame of reference and stupid marketing hype now
(Score: 0) by Anonymous Coward on Friday October 25 2019, @04:05AM
This is true. Nearly 30 years ago when I started using computers regularly, the CPU was what you connected the peripherals and monitor to. It contained a processor, RAM, motherboard and some sort of storage medium. Over the last 15-20 years the term CPU has morphed to refer to just the processor and the term computer has morphed, in many people's minds, to be what the CPU was previously.
It's rather unfortunate, as the changes leave ambiguity that didn't previously exist. But, at this point, there's not much point in arguing as an increasing portion of geeks are generally incompetent on technological issues to the point where this is small potatoes compared with the incompetent UI design and terrible programming languages.
(Score: 4, Insightful) by istartedi on Thursday October 24 2019, @04:50PM (6 children)
Now this, this is a meme [wikipedia.org] in the original sense. Kids today probably think memes are just pictures with texts that spread virally and are recognized as such. Nope. A meme can be any quantity of information that spreads and may or may not be recognized.
Appended to the end of comments you post. Max: 120 chars.
(Score: -1, Troll) by Anonymous Coward on Thursday October 24 2019, @05:06PM (4 children)
Yeah, language and meaning evolve. Welcome to the human species!
(Score: 1, Informative) by Anonymous Coward on Thursday October 24 2019, @06:41PM (3 children)
Replace "evolve" with "degenerate" as the idiots hear a word and start using it **irregardless** without knowing what it means.
/s
(Score: 0) by Anonymous Coward on Thursday October 24 2019, @09:40PM (2 children)
But doesn't that beg the question as to how they could loose the original meaning?
(Score: 0) by Anonymous Coward on Thursday October 24 2019, @09:42PM (1 child)
I'm not falling for it.
(Score: 0) by Anonymous Coward on Sunday October 27 2019, @06:38PM
Smart - there fucking with you.
(Score: 0) by Anonymous Coward on Friday October 25 2019, @04:09AM
It's sad that the pronunciation on the page is wrong. Or, do they pronounce memo, meemoh?
(Score: 0) by Anonymous Coward on Thursday October 24 2019, @04:55PM (5 children)
Alternate set of registers. Z80 had two sets of registers that 8080 had, although I don't it requires switching between sets - both sets are available directly.
Also, big iron "CPUs" means something different from microprocessor CPUs.
(Score: 1, Informative) by Anonymous Coward on Thursday October 24 2019, @05:50PM (4 children)
It did require switching. EX AF, AF' switched AF with its complement, EXX switched BC, DE and HL with theirs. IX and IY had no complements, and neither did the "special register groups".
(Score: -1, Flamebait) by Anonymous Coward on Thursday October 24 2019, @09:20PM
Fuck you.
(Score: 0) by Anonymous Coward on Thursday October 24 2019, @09:31PM (2 children)
My man, give me fist bump.
Zilog inc was like AMD against Intel back then. And MS actually produced some quality shit (like "softcard" for apple ii) back then.
\
(Score: 0) by Anonymous Coward on Friday October 25 2019, @02:39AM (1 child)
👊
Back in the day, all the interesting machines around me having Z80s, which was an improvement on the Intel 8080. M68K was going to power the next generation. I was wondering when Intel was going to disappear.
Alas, Intel is still here and Motorola and Zilog really aren't.
(Score: 2) by hendrikboom on Friday October 25 2019, @07:54PM
Always thought IBM chose the wrong processor for their PC.
(Score: 4, Informative) by Osamabobama on Thursday October 24 2019, @05:12PM (16 children)
This refers to the CPU as the chip that does the processing. But there is a broader definition of CPU, used primarily by people who don't open the case (except to insert a disk), where the term refers to the box where you plug in the monitor, keyboard and mouse. That item typically does contain storage.
This usage is not correct, of course...
Appended to the end of comments you post. Max: 120 chars.
(Score: 2) by takyon on Thursday October 24 2019, @05:32PM (13 children)
Non-volatile storage will be made a part of the CPU with 3DSoC [darpa.mil]. (I imagine an alternative design could use volatile memory instead.)
Initial versions will have at least 4 GB, which is probably not enough storage for most people, but I would rather have a 16 GB 3DSoC over a normal system with a 1 TB SSD any day. Cheap Windows laptops, Chromebooks, tablets, and smartphones with only 16 GB of NAND storage are still sold today, and they can get the job done. Get at least that amount of storage into a 3DSoC, and you'll have something incredible.
[SIG] 10/28/2017: Soylent Upgrade v14 [soylentnews.org]
(Score: 2) by RamiK on Thursday October 24 2019, @08:57PM (4 children)
They could circumvent the heating issues by putting it all in cache and going wide: https://techcrunch.com/2019/08/19/the-five-technical-challenges-cerebras-overcame-in-building-the-first-trillion-transistor-chip/ [techcrunch.com]
:D
compiling...
(Score: 2) by takyon on Thursday October 24 2019, @09:36PM (3 children)
They'll reduce heat by running it as low as 0.5 Watts.
There's a big energy savings from moving the CPU cores to within nanometers of the memory.
[SIG] 10/28/2017: Soylent Upgrade v14 [soylentnews.org]
(Score: 2) by RamiK on Thursday October 24 2019, @11:01PM (2 children)
But if they have the room for it, they could just as well stick conventional cache in there as well... So, you have to wonder why didn't they just go with a super-sized die like those guys?
Regardless, I'm not saying it's not going to happen. But having waited for Intel to deliver a single node reduction for this long... Well, something tells me not to hold my breath for any of these "just around the corner" fabrication methods.
compiling...
(Score: 2) by c0lo on Friday October 25 2019, @04:22AM (1 child)
One error in a single gate and your very complex chip lands in the rejected bin.
How lucky or masterful you need to be to end with a good enough number of chips that pass the tests?
https://www.youtube.com/watch?v=aoFiw2jMy-0 https://soylentnews.org/~MichaelDavidCrawford
(Score: 2) by RamiK on Friday October 25 2019, @12:02PM
High cost big silicon dies like Intel's and IBM's are designed so it's either possible to fuse out defective logic blocks and sell the chips as reduced features / lower performance models or also place redundancies that you can fuse on and off.
Well, it's a gross simplification of yield equations and design choices, but there's ways around production defects for sure.
compiling...
(Score: 2) by c0lo on Thursday October 24 2019, @11:59PM (7 children)
Oh, boy, I can't wait for the security bugs that will generate.
It'll be like the current Meltdown and Spectre but raised to the power of 3 ('cause the chips will be 3D, see? - large grin)
https://www.youtube.com/watch?v=aoFiw2jMy-0 https://soylentnews.org/~MichaelDavidCrawford
(Score: 2) by takyon on Friday October 25 2019, @12:24AM (6 children)
Security bugs don't matter unless you're networked.
Once you connect to the surveillance network known as the Internet, omae wa mou shindeiru (nani?!).
[SIG] 10/28/2017: Soylent Upgrade v14 [soylentnews.org]
(Score: 2) by c0lo on Friday October 25 2019, @12:49AM (5 children)
An optimist, as always, ain't you? (a pity even more subtle attacks exist [wikipedia.org])
The reciprocal of "If you connect to Internet, you are dead" is "If you are not dead, you didn't connect to the Internet" (modus tollens [soylentnews.org]), not "If you don't connect to the internet, you are not dead" (denying the antecedent [wikipedia.org]).
https://www.youtube.com/watch?v=aoFiw2jMy-0 https://soylentnews.org/~MichaelDavidCrawford
(Score: 2) by takyon on Friday October 25 2019, @01:18AM (3 children)
There's a network involved somewhere. Possibly a non-traditional one, or a compromised meatbag walking back to the spy handler.
[SIG] 10/28/2017: Soylent Upgrade v14 [soylentnews.org]
(Score: 2) by c0lo on Friday October 25 2019, @03:02AM (2 children)
Mmmm-yeeaaah.
Everything IO is a network and all network is Internet. Furthermore, all the storage is disk**, and then we can use whatever words we want to always say something true.
For some values of true, that is, but that's OK, 'cause we're gonna to democratically debate anyway on what values of "true" are fakes††
And now time for the breaking commentaries‡‡, stay with us for Acidly Scorpion Jugged-Earwig Putrescent [youtube.com] advice: turn on the captions
----
** and all registers are storage anyway. And there is no such thing as "special registers" or, at least, they don't make a group, or the group is nothing special. And CPU is that thingie there but definitely not the disc.
†† because we are living in a post-truth society, baby. Wooohooo, your bloody engineering is no more valuable than my opinions. And thanks God for the second amendment, worse come to worst, we can eventually settle whatever arguments (over CPU or over any-and-all the other things) by having a civil - not necessarily civilized - war.
‡‡ those old bums used to call them "news", LOL.
---
very large GRIN
https://www.youtube.com/watch?v=aoFiw2jMy-0 https://soylentnews.org/~MichaelDavidCrawford
(Score: 2) by hendrikboom on Friday October 25 2019, @08:06PM (1 child)
On the Bendix G15d, the registers resided on a rotating magnetic drum.
-- hendrik
(Score: 0) by Anonymous Coward on Saturday October 26 2019, @12:43AM
And because one has registers on magnetic drums, all registers are storage. Got your point.
(Score: 2) by hendrikboom on Friday October 25 2019, @08:01PM
That's the contrapositive, not the reciprocal.
(Score: 4, Insightful) by maxwell demon on Thursday October 24 2019, @05:42PM
Actually the term CPU is older than the chip. Originally, CPUs were macroscopic circuits.
The Tao of math: The numbers you can count are not the real numbers.
(Score: 0) by Anonymous Coward on Friday October 25 2019, @04:13AM
Nope, that is the correct usage, in fact, I didn't see anybody refer to the processor as the CPU until about 15 years ago when shops started to market to people who were technologically illiterate. The term in use was consistently "processor" rather than CPU. The processor being the CPU wouldn't have made any sense until recently when non-processing features were added to the chips. Things like memory controllers, GPUs and the like.
The correct definition is for it to be the case and everything inside of it. Otherwise, the use of the U in CPU wouldn't make any sense. A processor is not a unit in the way that the term was understood decades ago.
(Score: 1) by nitehawk214 on Thursday October 24 2019, @05:58PM
Such as fake place names on maps.
https://youtu.be/DeiATy-FfjI [youtu.be]
"Don't you ever miss the days when you used to be nostalgic?" -Loiosh
(Score: 3, Informative) by Mojibake Tengu on Thursday October 24 2019, @06:05PM (2 children)
Special registers are such as Channel Control Word (CCW) or Channel Status Word (CSW) registers on mainframe processors. Often, they could be seen on the panel together with arithmetic registers and addresses. There are plenty of such, and they have a good use in virtualization too. On petty technologies like microprocessors and contraptions today known as CPU, they still exist as addressable registers bound to generic I/O ports for specific devices, known as controllers. However, proper generic channel architecture was lost to post-modern age.
Respect Authorities. Know your social status. Woke responsibly.
(Score: -1, Flamebait) by Anonymous Coward on Thursday October 24 2019, @06:17PM (1 child)
Ignore the primary sources while pulling a bullshit explaination out of your ass.
typical..
(Score: 2) by c0lo on Friday October 25 2019, @12:06AM
There still a valid point there, even if it's only a tangent one: the fact that the "primary sources" are no longer accurate for the majority of current CPU-es (thus the definition is not valid in the general sense), it doesn't mean [wikipedia.org] that the use of "special registers" cease to exist.
And that bears an Informative value.
https://www.youtube.com/watch?v=aoFiw2jMy-0 https://soylentnews.org/~MichaelDavidCrawford
(Score: 0) by Anonymous Coward on Thursday October 24 2019, @06:12PM (4 children)
Posting as anon, since if I'm wrong I don't want my stupidity attached to me...
But I always knew special registers exactly as the Wikipedia definition has it:
Special registers are distinguished from the registers which actually hold memory addresses, program instructions, and data. And note that the
But are not the collection of special registers of a system the 'special register group', and you could subgroup that for, example, the program counter and stack pointer from the processor status and condition codes?
I'd like to be corrected if I'm wrong. And why they are talking about storage as being part of CPU (unless they're referencing the memory bus???) is weird except that without memory the CPU is useless anyway.
(Score: 0) by Anonymous Coward on Thursday October 24 2019, @06:22PM
No, it is NOT correct.
If you read the blog post, Ken traces back the EXACT document where the entire definition comes from and
people have blindly copied it ever since.
(Score: 2) by ikanreed on Thursday October 24 2019, @06:25PM
*Looking at x86 specification*
Just one stack pointer? What is this RISCY fantasy?
(Score: 2) by vux984 on Thursday October 24 2019, @08:26PM
"Special function register" =/= "Special Register Group"
(Score: 0) by Anonymous Coward on Sunday October 27 2019, @08:08AM
In embedded devices these regs are super common, most often for peripheral* interaction but sometimes for on-die but silo'd things like hardware AES modules.
*note that 'peripheral' in this context can also be on-die! A2D/D2A and so on are often controlled in this manner.
The main virtue of these is that they'll have the operational speed of a normal register for read/write**, and can act like DMA to other parts of the architecture, but where most DMA is RAMlike, this is registerlike.
**note that very often there must be a lag BETWEEN reads or writes while the data "shuffles off" or in, but that's a wall clock delay, and the CPU register access opcodes are full-speed.
Also, SFRs and special register groups are not the same, but I could see groups of SFRs being called SRGs.
(Score: 0) by Anonymous Coward on Thursday October 24 2019, @08:42PM
I would think that the CPU traditionally takes a timing signal provided from the outside.
(Score: 2) by choose another one on Thursday October 24 2019, @08:49PM (1 child)
So "special register group" is essentially used for context switching, which these days uses "register files" "register banks" "register windows (on Sparc I think?)", and all those are actually part of the CPU hardware (pretty sure). Hence the concept is still accurate, the naming might be slightly archaic but, perhaps importantly, it doesn't favour any particular contemporary CPU architecture over the others. So, er, what was the problem exactly?
(Score: 2) by c0lo on Friday October 25 2019, @12:14AM
Ummm... one of the problems is that the grumpy old men making the majority of S/N community imagine that their age puts them in the positions to know all (or, at least, know more than others).
For obvious reasons, that's not true, but it has effects in driving delicious (for aged spectators) flame wars. Actually, now that I think a bit, that's not even a problem.
Carry on, then. Fight, fight, fight!...
(large grin)
https://www.youtube.com/watch?v=aoFiw2jMy-0 https://soylentnews.org/~MichaelDavidCrawford
(Score: 3, Funny) by unitron on Friday October 25 2019, @05:02AM (1 child)
...one album on an obscure label, some underground buzz, a little bit of airplay on some of the early "freeform" FM stations, then they split due to "creative differences" about the time their van broke down during their tour, and they faded into oblivion.
something something Slashcott something something Beta something something
(Score: 2) by All Your Lawn Are Belong To Us on Friday October 25 2019, @01:54PM
Yeah, they wrote and recorded all their tunes in that van. It was a central place for them to act as a unit to do all of their song processing. So when the group lost their CPU they had no choice but to disband.
This sig for rent.