Stories
Slash Boxes
Comments

SoylentNews is people

posted by Fnord666 on Thursday October 24 2019, @04:27PM   Printer-friendly
from the an-organization-of-very-special-registers dept.

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.).


Original Submission

 
This discussion has been archived. No new comments can be posted.
Display Options Threshold/Breakthrough Mark All as Read Mark All as Unread
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
  • (Score: -1, Flamebait) by Anonymous Coward on Thursday October 24 2019, @04:40PM (21 children)

    by Anonymous Coward on Thursday October 24 2019, @04:40PM (#911261)

    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.

    Starting Score:    0  points
    Moderation   -1  
       Flamebait=1, Total=1
    Extra 'Flamebait' Modifier   0  

    Total Score:   -1  
  • (Score: 1) by Ingar on Thursday October 24 2019, @04:47PM (1 child)

    by Ingar (801) on Thursday October 24 2019, @04:47PM (#911263) Homepage

    I never really "got" the difference between disk, RAM, cache and registers. It's all storage, right?

    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

      by Anonymous Coward on Thursday October 24 2019, @08:48PM (#911363)

      Comcast loads the same, no diff seen

  • (Score: 1) by VacuumTube on Thursday October 24 2019, @05:02PM (5 children)

    by VacuumTube (7693) on Thursday October 24 2019, @05:02PM (#911270) Journal

    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)

      by Anonymous Coward on Thursday October 24 2019, @09:15PM (#911373)

      >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)

        by Anonymous Coward on Friday October 25 2019, @02:32AM (#911473)

        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)

          by Anonymous Coward on Friday October 25 2019, @03:57AM (#911489)

          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

            by Anonymous Coward on Friday October 25 2019, @05:39AM (#911518)

            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

      by Immerman (3985) on Friday October 25 2019, @12:25AM (#911438)

      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

    by DannyB (5839) Subscriber Badge on Thursday October 24 2019, @05:02PM (#911271) Journal

    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.

    --
    People today are educated enough to repeat what they are taught but not to question what they are taught.
  • (Score: 2, Informative) by Arik on Thursday October 24 2019, @05:07PM (4 children)

    by Arik (4543) on Thursday October 24 2019, @05:07PM (#911274) Journal
    You could say those are all part of the storage hierarchy, but only the disk is actually storage.

    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

      by Anonymous Coward on Thursday October 24 2019, @09:18PM (#911375)

      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

      by Anonymous Coward on Thursday October 24 2019, @10:29PM (#911401)

      You could say those are all part of the storage hierarchy, but only the disk is actually storage.

      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)

      by Anonymous Coward on Friday October 25 2019, @04:02AM (#911492)

      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

        by Anonymous Coward on Friday October 25 2019, @08:08AM (#911556)

        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)

    by Bot (3902) on Thursday October 24 2019, @05:26PM (#911285) Journal

    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

      by c0lo (156) Subscriber Badge on Thursday October 24 2019, @10:31PM (#911403) Journal

      Since we are joking.

      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

    by ikanreed (3164) Subscriber Badge on Thursday October 24 2019, @06:20PM (#911309) Journal

    This is surprisingly effective flamebait.

  • (Score: 3, Funny) by bzipitidoo on Thursday October 24 2019, @06:38PM (1 child)

    by bzipitidoo (4388) on Thursday October 24 2019, @06:38PM (#911321) Journal

    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

      by Anonymous Coward on Thursday October 24 2019, @06:49PM (#911328)

      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)

    by Anonymous Coward on Thursday October 24 2019, @11:40PM (#911425)

    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

      by Anonymous Coward on Friday October 25 2019, @04:05AM (#911494)

      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.