GNU social JP
  • FAQ
  • Login
GNU social JPは日本のGNU socialサーバーです。
Usage/ToS/admin/test/Pleroma FE
  • Public

    • Public
    • Network
    • Groups
    • Featured
    • Popular
    • People

Conversation

Notices

  1. Embed this notice
    William D. Jones (cr1901@mastodon.social)'s status on Friday, 27-Mar-2026 15:30:05 JST William D. Jones William D. Jones

    #lazyweb Is it correct to say that the 68000 and 68008 only have atomic load/stores of 16-bit and 8-bits respectively*?

    * Unlike most CPUs, an interrupt will pause the current instruction and continue from where it left off. But I haven't read the patent or RE'd microcode. So not clear to me if 68000 will wait to honor an interrupt until after an up-to-32-bit load/store completes.

    In conversation about 2 months ago from mastodon.social permalink
    • Embed this notice
      Rich Felker (dalias@hachyderm.io)'s status on Friday, 27-Mar-2026 15:30:05 JST Rich Felker Rich Felker
      in reply to

      @cr1901 Interrupts generally only happen at whole instruction boundaries. Otherwise resuming after the interrupt returns would not work, since the saved PC can't be at some magical halfway place between instructions.

      In conversation about 2 months ago permalink
    • Embed this notice
      William D. Jones (cr1901@mastodon.social)'s status on Friday, 27-Mar-2026 21:14:29 JST William D. Jones William D. Jones
      in reply to
      • Rich Felker

      @dalias This is correct for most CPUs; the 68k saves enough of its internal state to the stack on interrupt to continue in the middle of an instruction. It's in the patent, supposedly*.

      * Which, I did not read, and I've heard conflicting info over the years as to whether the patent correctly describes all the saved state.

      In conversation about 2 months ago permalink
    • Embed this notice
      Rich Felker (dalias@hachyderm.io)'s status on Friday, 27-Mar-2026 21:14:29 JST Rich Felker Rich Felker
      in reply to

      @cr1901 I'm familiar with "68k" as the mmu-ful models 68020 (I think I got that right) and up, which almost certainly don't do this because it's a behavior not very compatible with a multitasking privilege-domain-separated operating system. It can be made to work, but it's not pretty, and I never noticed any Linux code to work around that.

      If you do have to deal with it on mmu-less, the reasonable thing to do would probably be to insert a breakpoint instruction at the next instruction boundary and immediately return from the interrupt. This would give you atomicity at instruction granularity whenever your interrupt handling code's body actually runs.

      In conversation about 2 months ago permalink

Feeds

  • Activity Streams
  • RSS 2.0
  • Atom
  • Help
  • About
  • FAQ
  • TOS
  • Privacy
  • Source
  • Version
  • Contact

GNU social JP is a social network, courtesy of GNU social JP管理人. It runs on GNU social, version 2.0.2-dev, available under the GNU Affero General Public License.

Creative Commons Attribution 3.0 All GNU social JP content and data are available under the Creative Commons Attribution 3.0 license.