Here's a quick primer:

When we say 32-bit or 64-bit architecture, we refer to the "word size". "word" is the natural unit of data processing for a given CPU. The word size is typically the size of the CPU's (integer) registers. Most importantly, it defines the size of pointers and thus the max.  addressable memory within a given (virtual) memory space.

(There are some curious exceptions, such as x32 mode on amd64 platforms, but these can be ignored for practical purposes.)

Note that a 32-bit computer can still work with 64-bit data types, they just won't fit into a single register. Also note that on modern platforms floats/doubles are usually kept in special SIMD registers that are much wider than their integer counterparts  (e.g. 256 bits with AVX on Intel).

The main takeaway is that word size and float size are completely orthogonal. In other words: a 32-bit program can use 64-bit integers or 64-bit doubles.

(On some platforms this comes with a performance cost, though. For example, the ESP32 is a 32-bit processor whose FPU only natively supports 32-bit floats, so 64-bit doubles are emulated in software.)

---

So, Windows 11, the current version, is only for 64 bit architectures, right? so one cannot install pd 32 bit on it.
No. 64-bit Windows has an emulation layer for 32-bit applications (the WoW subsystem). Just like Apple used to emulate PPC on its 32-bit Intel processors (Rosetta 1) and now emulates amd64 code on Apple Silicon (Rosetta 2). This is done to make the transition to another CPU architecture easier for the user because they can run their old programs.

Christof

On 30.05.2024 03:14, Alexandre Torres Porres wrote:
While we're at it, as I only know about macOS, let me ask about windows and linux...

So, Windows 11, the current version, is only for 64 bit architectures, right? so one cannot install pd 32 bit on it.

As for Linux, is there any most recent version only for 64-bit architecture?

cheers

Em qua., 29 de mai. de 2024 às 21:13, Alexandre Torres Porres <[email protected]> escreveu:

    I see, not being well versed, I see I'm again confusing 64-bit
    architecture with double precision. And I'm still confused on what
    "CPU-architecture" actually means. Let's see if I get things straight.

    Older macs with intel chips can run two different architectures:
    *i386* (Intel 32bit) and *amd64* (Intel 64bit). This depends on
    the OS and the last to allow i386 was Mojave (10.14). Newer arm64
    is obviously only 64bit.

    I'm positive this is what it is, but it still strikes me as a bit
    uncanny that a computer can have more than one architecture, as my
    intuition would tell me that the architecture of my chip can only
    be of one type. So I guess I don't really get the concept of
    "cpu-architecture".

    Anyway, things like this should be made clearer for dummies like
    me in the manual and stuff.

    Cheers




    Em qua., 29 de mai. de 2024 às 18:44, IOhannes m zmölnig
    <[email protected]> escreveu:

        On 5/29/24 21:03, Alexandre Torres Porres wrote:
        > Can't .pd_linux, .pd_darwin, .d_fat, .dll be 64 bit? As well
        as .m_amd64,
        > .d_arm64 and .l_arm64 and stuff? I mean, probably they
        "can", but the idea
        > was to create new extension possibilities to distinct single
        and double
        > precision, right?

        depends on what you mean by "can".
        technically they could.
        practically, Pd64 will *not* load an external that ends with
        .pd_darwin.
        see the mailinglist archives and the github issues for a lengthy
        discussion why it is like this.

        >
        > While we're at it, can i386 be 64? really? As in
        .linux-i386-64.so,
        > .darwin-i386-64.so and .windows-i386-64.dll?
        >

        sure, why not?
        the "double" floattype has been around for some time.
        a quick wikipedia check shows that one of the first (C)PU to
        implement
        IEEE 754 (the floating point standard that defines "double"
        floats as we
        know them) was the Intel 8087, a 16bit processor (and famous
        co-processor for the 8086)
        It would be capable of running Pd64 (".cpm-x86_16-64.so").


        fmdsafds
        IOhannes
        _______________________________________________
        [email protected] mailing list
        UNSUBSCRIBE and account-management ->
        https://lists.puredata.info/listinfo/pd-list


_______________________________________________
[email protected]  mailing list
UNSUBSCRIBE and account-management 
->https://lists.puredata.info/listinfo/pd-list
_______________________________________________
[email protected] mailing list
UNSUBSCRIBE and account-management -> 
https://lists.puredata.info/listinfo/pd-list

Reply via email to