Slashdot Mirror


The Legacy of CPU Features Since 1980s

jones_supa writes: David Albert asked the following question:

"My mental model of CPUs is stuck in the 1980s: basically boxes that do arithmetic, logic, bit twiddling and shifting, and loading and storing things in memory. I'm vaguely aware of various newer developments like vector instructions (SIMD) and the idea that newer CPUs have support for virtualization (though I have no idea what that means in practice). What cool developments have I been missing? "

An article by Dan Luu answers this question and provides a good overview of various cool tricks modern CPUs can perform. The slightly older presentation Compiler++ by Jim Radigan also gives some insight on how C++ translates to modern instruction sets.

18 of 180 comments (clear)

  1. Virtualisation dates from the 1960's ! by Eunuchswear · · Score: 5, Informative

    The first large scale availability of virtualisation was with the IBM 370 series, dating from June 30, 1970, but it had been available on some other machines in the 1960's.

    So the idea that "newer machines have support for virtualisation" is a bit old.

    --
    Watch this Heartland Institute video
  2. Re:1980s? by operagost · · Score: 3, Insightful
    Everything the author wrote was accurate, although misleading. He wrote, "In the 80s, you might have used an 8-bit CPU." You also might have used a 16, 24, 32, or 36 bit CPU.

    He wrote, "introduced to x86 since the early 80s include paging / virtual memory, pipelining, and floating point." We know that some platforms had some of these features earlier than x86, but he was speaking to those who had been programming on the x86 platform. Of course, this ignores the x87 math coprocessor, but I digress.

    --

    Gamingmuseum.com: Give your 3D accelerator a rest.
  3. Easily my favorite modern features by PhrostyMcByte · · Score: 4, Informative

    The latest generation of CPUs have instructions to support transactional memory.

    Near future CPUs will have a SIMD instruction set taken right out of GPUs where you can conditionally execute without branching.

  4. Re:You are still wrong by Anonymous Coward · · Score: 4, Informative

    The IBM 360/370 line and its successors have had decimal arithmetic (in addition to binary and after the 370/158 floating point) since the 1960/70s. Others have had these also.

  5. Cooking by morgauxo · · Score: 4, Funny

    There was a period in the 0s when PC processors were good for cooking eggs. You had to be careful with the AMD ones though, they had a tendency to burn the egg quickly.

    1. Re:Cooking by jellomizer · · Score: 4, Informative

      That was during the Mega/Gigahertz war, during the Golden Age of the Desktop.

      Power Usage wasn't an issue. Heating wasn't much of an issue as you can fit big honking liquid cooled heat sinks to your CPUs. We had these big upgradable towers which gave us room to fill with stuff.

      So we had hotter CPU's because we wanted the faster clock speed.

      What happened? Well first 3ghz kinda became the max you can go, and we moved to more parallel systems. (Multi-Core CPU's, and GPU), and we wanted more portable devices. Laptops became far more popular then smartphone and tablets. So power usages, size, and heat became a bigger issue.

      --
      If something is so important that you feel the need to post it on the internet... It probably isn't that important.
  6. Re:1980s? by Opie812 · · Score: 5, Funny

    Then it's settled. Your edge case must apply to everybody. The article is wrong.

    --
    I'm not a nerd. Nerds are smart.
  7. Yeah, I remember when VMWare first came out... by sirwired · · Score: 5, Informative

    I remember when VMWare first came out, and there was all this amazement about all the cool things you could do with Virtual Machines. Very little mention anywhere that these were things you could do for decades already on mainframes.

    Same thing with I/O offloading (compared to mainframes, x86 and UNIX I/O offload is still quite primitive and rudimentary), DB-based filesystems (MS has been trying to ship one of those for over 20 years now; IBM has been successfully selling one (the AS/400 / iSeries) for 25, built-in encryption features, and a host of other features.

    1. Re:Yeah, I remember when VMWare first came out... by iggymanz · · Score: 3, Informative

      http://pdf.datasheetcatalog.co...

      It wasn't used in IBM PCs, but was in some other systems such as Apricot PC and the Altos 586

    2. Re:Yeah, I remember when VMWare first came out... by Richard_at_work · · Score: 5, Funny

      Bugger me, when I first got hold of VMWare as a teenager then heavily into Linux, I went mad. And I mean maaaaaaaaaaaaaaaaaad.

      My home server was a simple affair - 6GB hard disk, 512MB ram.

      So what did I do? Bring up as many Redhat VMs as I could - all with 4MB ram :D It was like a drug, 10 wasn't enough, so I did more. I got to 50 and just knew I had to do 100. I eventually ran out of free ram, but hell, I had more than 100 servers at my disposal!

      What did I do with them? Uhm, nothing. Apart from sshing into a few just because I could.

      *sigh* Thems were the days....

    3. Re:Yeah, I remember when VMWare first came out... by Hognoxious · · Score: 4, Funny

      If it's a proper mainframe you don't have it in your house, you have your house in it.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
  8. Re:1980s? by operator_error · · Score: 4, Insightful

    I am staying away from your lawn, that's for sure. If my frisbee lands over there, you can keep it; you've earned it.

  9. What happened to my /.? by DahGhostfacedFiddlah · · Score: 5, Funny

    We just had a story about low-level improvements to the BSD kernel, and now we get an article about chip-level features and how compilers use them?

    Is this some sort of pre-April-Fools /. in 2000 joke? Where are my Slashvertisements for gadgets I'll never hear about again? My uninformed blog posts declaring this the "year of Functional Declarative Inverted Programming in YAFadL"? Where the hell are my 3000-word /. editor opinions on the latest movie?

    If this keeps up, this site might start soaking up some of my time instead of simply being a place I check due to old habits.

  10. Slashdot is powered by your submissions by tepples · · Score: 4, Informative

    If you want to see more Slashdot-in-2000 style posts, and you have access to the sort of articles that Slashdot-in-2000 might have posted, Slashdot welcomes your submissions. You could even become a "frequent contributor".

    1. Re:Slashdot is powered by your submissions by jones_supa · · Score: 3, Interesting

      As the submitted of this article, I recommend you to continue chucking in the articles that you find interesting. You seem to have 17 articles submitted, of which 6 have been published, which is pretty good actually. There's many factors that decide whether your submission gets the front page or not, so there's no need to be too personal about it. I personally keep submitting articles just for fun. Most of my topics come from Twitter these days, it's a good source to pick up interesting stuff.

  11. depends what you're doing by Chirs · · Score: 4, Insightful

    For example, I worked for a decade in the linux kernel and low-level userspace. Assembly definitely needed. I tracked down and fixed a bug in the glibc locking code, and you'd better believe assembly was required for that one. During that time I dealt with assembly for ARM, MIPS, powerpc, and x86, with both 32 and 64-bit flavours of most of those. But even there most of the time you're working in C, with as little as possible in assembly.

    If you're working in the kernel or in really high-performance code then assembly can be useful. If you're working with experimental languages/compilers where the compilers might be flaky, then assembly can be useful. If you're working in Java/PHP/Python/Ruby/C# etc. then assembly is probably not all that useful.

    1. Re:depends what you're doing by StikyPad · · Score: 4, Insightful

      Again, it depends on what they're debugging. If it's a syntax error in a SQL string, then assembly helps not so much.

  12. Re:L1,2,3,4 Cache? by Bengie · · Score: 4, Informative

    Diminishing returns on cache misses
    Higher latency of larger caches
    Higher latency of more layers of cache
    Poor transistor scaling of fully associate caches or increased rate of false evictions for n-way caches.
    Increased power usage. It's very difficult to turn off part of your cache to save power, but it's very easy to turn off a core
    Not all problems scale well with more cache

    I'm sure there are many other reasons.