Live data from Hacker News

What's new in CPUs since the 80s and how does it affect programmers?

danluu.com

11–20 of 72 posts

Re: What's new in CPUs since the 80s and how does it affect programmers?

#11
It's nice but let's be clear on the best feature: application-accelerators. I brought up the Cavium Octeon 3 in a discussion on game systems:

http://www.cavium.com/OCTEON-III_CN7XXX.html

Intel, IBM, mainframes, and embedded SOC's are all taking the same approach to a degree of combining 1-N general-purpose cores with dedicated hardware for performance-critical stuff or just stuff that shouldn't add overhead. The Octeon line is an extreme example with them adding accelerators till they hit around 500. Most modern variant being the "semi-custom" business of Intel and AMD that is making more of it happen for those with the money.

This is peripheral to an improvement in computers known as network on a chip. This plus extra layers of functionality in silicon lets the companies easily do stuff like that. The next step is incorporating FPGA logic in the processors. We already see it in embedded scene. Just wait till Intel uses Altera technology in Xeons. SGI's Altix machines with FPGA's using NUMA were already quite powerful. Imagine the same benefit of no, remote-memory access for the FPGA logic working side-by-side with CPU software. Will be badass.

Re: What's new in CPUs since the 80s and how does it affect programmers?

#12
post #3
post #2

This is a wonderful post that no-one will care about. This may be the only post. Today, programmers are more interested in the rate they can turn out "Just Works" code. These kinds of details are fare fare to down in the weeds for a continuous development artists.

> This is a wonderful post that no-one will care about. This may be the only post. I think you are underestimating the crowd here. Last time it was posted it got quite a few responses: https://news.ycombinator.com/item?id=8873250 (already a while back, but might be interesting for reference/to bring topics up again)

There also seems to be a constant barrage of assembly/CPU posts (I counted 4 posts including this one earlier on the front page) , I'm not sure where GP gets the idea that no one here cares.

Re: What's new in CPUs since the 80s and how does it affect programmers?

#13
post #7
post #2

This is a wonderful post that no-one will care about. This may be the only post. Today, programmers are more interested in the rate they can turn out "Just Works" code. These kinds of details are fare fare to down in the weeds for a continuous development artists.

Two responses. First, once we find "Just Works" components that we like then they can be optimized. Second, we can use inspiration from articles like this to describe "Just Works" approaches and patterns that "go with the grain" of what Earth's real fabrication capabilities are actually producing. For example, I found the discussion of how cores coordinate access to main memory on a shared bus to be quite fascinating…

> I really wouldn't mind if someone who knows more about the JVM implementation could talk about how and why the JVM threading model is better than native processes, for example, especially in light of memory contention.

The JVM can assume that JVM threads cooperate. The operating system has to assume native processes are hostile.

Re: What's new in CPUs since the 80s and how does it affect programmers?

#14

It's strange the extent to which programming interview questions reflect an 80s view of the cost of operations, particularly the overabundance of linked list and binary tree questions. Cache misses ain't free and memory scans are relatively cheap after you do the initial lookup.

[deleted]

Re: What's new in CPUs since the 80s and how does it affect programmers?

#15
post #2

This is a wonderful post that no-one will care about. This may be the only post. Today, programmers are more interested in the rate they can turn out "Just Works" code. These kinds of details are fare fare to down in the weeds for a continuous development artists.

By writing articles like this, and linking to them, people are trying to fight that.

By stating that nobody will care, you're just encouraging the problem.

Re: What's new in CPUs since the 80s and how does it affect programmers?

#16
It's a great article but this drove me nuts:

DON'T USE FUCKING AT&T ASSEMBLY SYNTAX.

Literally everyone uses Intel syntax, except in those situations where they are forced to use AT&T syntax (inline assembly in C on Unix, somehow your box doesn't have NASM). Using AT&T syntax for examples just confuses people. Write assembler the right way. Destination, source. Come on.

Re: What's new in CPUs since the 80s and how does it affect programmers?

#17
post #9

Who is Dan Luu? Does he have expertise in this area? Is he a leading expert? (No offense to Dan if he is reading this; I just don't know.)

You can start by looking at http://danluu.com/about/. Assuming his CV is accurate he presumably has a reasonable amount of knowledge in the area.

Re: What's new in CPUs since the 80s and how does it affect programmers?

#18
post #16

It's a great article but this drove me nuts: DON'T USE FUCKING AT&T ASSEMBLY SYNTAX. Literally everyone uses Intel syntax, except in those situations where they are forced to use AT&T syntax (inline assembly in C on Unix, somehow your box doesn't have NASM). Using AT&T syntax for examples just confuses people. Write assembler the right way. Destination, source. Come on.

Not only is the all caps and profanity uncalled for here, but the unfounded assertion that "everyone" uses "Intel syntax" is wrong. The Solaris assembler as one example, uses the "AT&T syntax". Also, this is reflected in older UNIX apis such as bcopy which use src, dest.

Personally, I always preferred src,dest over dest,src but as long as the language is consistent I don't care.

Re: What's new in CPUs since the 80s and how does it affect programmers?

#19
post #16

It's a great article but this drove me nuts: DON'T USE FUCKING AT&T ASSEMBLY SYNTAX. Literally everyone uses Intel syntax, except in those situations where they are forced to use AT&T syntax (inline assembly in C on Unix, somehow your box doesn't have NASM). Using AT&T syntax for examples just confuses people. Write assembler the right way. Destination, source. Come on.

The default output format of HotSpot is AT&T. The default output format of GCC is AT&T. The default output format of Clang is AT&T. Tools like the universal compiler output viewer https://gcc.godbolt.org use AT&T by default.

Intel isn't the universally accepted format you think it is. I'm a professional VM researcher and I use AT&T more often than Intel. In fact I most often see Intel when reading Intel documentation.

You're shouting about nothing more than empirical than tabs vs spaces, and even then I think your side is actually in a minority.

Re: What's new in CPUs since the 80s and how does it affect programmers?

#20
post #16

It's a great article but this drove me nuts: DON'T USE FUCKING AT&T ASSEMBLY SYNTAX. Literally everyone uses Intel syntax, except in those situations where they are forced to use AT&T syntax (inline assembly in C on Unix, somehow your box doesn't have NASM). Using AT&T syntax for examples just confuses people. Write assembler the right way. Destination, source. Come on.

[deleted]
Post reply on HN