Discussion
Loading...

Post

Log in
  • About
  • Code of conduct
  • Privacy
  • About Bonfire
John Regehr
John Regehr
@[email protected]  ·  activity timestamp 2 hours ago

RE: https://mendeddrum.org/@fanf/116090957426748922

30-year-old analysis of RISC vs CISC still reads well!

though it's fun to see which RISCisms have died out, such as "Do NOT support arbitrary alignment of data for loads/stores"

5
  • Copy link
  • Flag this post
  • Block
Simon Tatham
Simon Tatham
@[email protected] replied  ·  activity timestamp 1 hour ago

@regehr an old colleague of mine once said "these days they're all MISC architectures."

1
  • Copy link
  • Flag this comment
  • Block
John Regehr
John Regehr
@[email protected] replied  ·  activity timestamp 1 hour ago

@simontatham 💯

  • Copy link
  • Flag this comment
  • Block
Billy O'Neal
Billy O'Neal
@[email protected] replied  ·  activity timestamp 2 hours ago

@regehr These days I see this most often as "people who hate wintel wanting to claim ARM is better because RISC" despite for most of the period Intel just making better parts than available from any of the ARM vendors. Being like 5 years ahead on fabs vs. everyone else was a Big Deal.

I hear this discussion less now that ARM parts competitive with Intel are out as of 2020. If anything, these days I hear the discussion in the opposite direction: Windows people blaming Apple's slight processor lead for all of Windows problems and expecting Snapdragon to fix it. (Snapdragon X Elite looks like an interesting part but I refuse to buy one until I see at least MS treat it as a first class target. I bought 2 Windows on ARM devices that are paperweights and I won't get burned like that a 3rd time. It's depressing to see people talk about Windows on ARM like it's the "new hotness" when Windows on ARM is *older* than macOS on ARM!)

  • Copy link
  • Flag this comment
  • Block
John Regehr
John Regehr
@[email protected] replied  ·  activity timestamp 2 hours ago

although I guess the alignment story is a bit more complicated than that. modern x86 vector extensions sometimes require alignment, and AArch64 allows (but does not require) support for unaligned accesses

2
  • Copy link
  • Flag this comment
  • Block
Sun Microdevil Pte Ltd
Sun Microdevil Pte Ltd
@[email protected] replied  ·  activity timestamp 2 hours ago

@regehr And then there's AltiVec's memory instructions which IIRC would clear the last four bits of the calculated address before actually hitting memory so if you pass it misaligned address it'll appear to work, but not in the way you think it is...

  • Copy link
  • Flag this comment
  • Block
Joe Groff
Joe Groff
@[email protected] replied  ·  activity timestamp 2 hours ago

@regehr and usually unaligned loads that straddle a cache line, or especially page, boundary still carry a significant cost. so sticking to natural alignment avoids ever dealing with those cliffs

  • Copy link
  • Flag this comment
  • Block
Sun Microdevil Pte Ltd
Sun Microdevil Pte Ltd
@[email protected] replied  ·  activity timestamp 2 hours ago

@regehr Feels like in modern processors separating memory operations into its own separate class from the "pure function" instructions is the biggest win of the classic RISC approach; even transgressors like x86 doesn't do it as hard as, say, VAX

Like nowadays computations can get so complicated (see e.g SIMD or AES round functions) yet as long as it stays "pure" it doesn't seem to impact performance too much...

Though then again, I'm no microarchitect~

  • Copy link
  • Flag this comment
  • Block
gaytabase
gaytabase
@[email protected] replied  ·  activity timestamp 2 hours ago

@regehr okay but that's because unaligned stores are fucking awesome for optimisation

1
  • Copy link
  • Flag this comment
  • Block
John Regehr
John Regehr
@[email protected] replied  ·  activity timestamp 2 hours ago

@dysfun of course

  • Copy link
  • Flag this comment
  • Block

bonfire.mavnn.eu

News and community around mavnn.eu projects.

bonfire.mavnn.eu: About · Code of conduct · Privacy ·
Bonfire social · 1.0.1 no JS en
Automatic federation enabled
Log in
  • Explore
  • About
  • Public Groups
  • Code of Conduct