• greyscale@lemmy.grey.ooo
    link
    fedilink
    English
    arrow-up
    36
    ·
    10 hours ago

    PS3 comes to mind

    Though in embedded, thats fairly normal.

    I’ve got a $1 linux embedded SoC that has a 64 bit riscv core, a 32 bit riscv core for running realtime stuff and a low power embedded 6502 on it too because why not.

    • Natanael@infosec.pub
      link
      fedilink
      English
      arrow-up
      1
      ·
      1 hour ago

      Original Nintendo DS had two different ARM CPUs for DS games and the same CPU the GBA had for direct compatibility.

    • anomnom@sh.itjust.works
      link
      fedilink
      English
      arrow-up
      2
      ·
      5 hours ago

      OSX (now MacOS) was built and running on PowerPC and Intel for years before Intel Macs were released. I assume the same was true before they released the Apple silicon chips.

      • greyscale@lemmy.grey.ooo
        link
        fedilink
        English
        arrow-up
        7
        ·
        5 hours ago

        Yeah but they weren’t running both in the same device at the same time.

        PPC -> Intel they just recompiled their OS and fixed it up for the x86 platform, then the same for Intel -> ARM

        They did not have a laptop with an x86 processor and a PPC at the same time… though there are some hillariously bespoke accellerator cards from back in the day to do all sorts of strange things.

        That said, laptops are full of microcontrollers with firmware, lots of those will be atmega, st32, 6502 and the like. Things like a WLAN or WAN card will be a little ARM soc of some flavour.

        So it really depends on where you draw the line. If its executing the main workload, I’d say thats the CPU, everything else is a microcontroller enabling it to do that

      • greyscale@lemmy.grey.ooo
        link
        fedilink
        English
        arrow-up
        3
        ·
        edit-2
        5 hours ago

        Its actually not seperate cores, they’re RISCV or ARM, based on a switch. MilkV does that too with one of its chips. They’re mostly the same architecturally, theres something like 10% that gets enabled/disabled with each ISA selection.

        • But you can still run both at once. RP2350 datasheet

          From section 3.9 Arm/RISC-V architecture switching:

          There are two processor sockets on RP2350, referred to as core 0 and core 1 throughout this document. Each socket can be occupied either by a Cortex-M33 processor (implementing the Armv8-M Main architecture, plus extensions) or by a Hazard3 processor (implementing the RV32IMAC architecture, plus extensions).

          From section 3.9.2. Mixed architecture combinations:

          The ARCHSEL register has one bit for each processor socket, so it is possible to request mixed combinations of Arm and RISC-V processors: either Arm core 0 and RISC-V core 1, or RISC-V core 0 and Arm core 1.

          Practical applications for this are limited, since this requires two separate program images. The two cores interoperate normally, including shared exclusives via the global monitor: a shared variable can be safely, concurrently accessed by an Arm processor performing ldrex, strex instructions and a RISC-V processor performing amoadd.w instructions, for example