Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

TomC2

macrumors newbie
Original poster
Jul 18, 2010
7
0
I posted this question in the notebook section and got no response, so let me try here. This is one for the hardcore techies...

On my current Intel MacBook, I have 8 GB and it's just fine for what I do. If I open Activity Monitor, the memory pressure is always, always in the green for actual use. I have to deliberately open every heavy-duty app on the machine with large documents to get the memory pressure into the yellow. So I was going to order the 8 GB with the new M1. But then I realized...

The ARM architecture is reduced instruction set (RISC), Intel x86 is complex instruction set (CISC). As techies know, RISC needs multiple simple instructions to accomplish what one complex instruction will do on a CISC. (The tradeoff being that RISC generally runs faster.) I've heard that this means that RISC code generally requires more RAM. I realize that resources and documents won't take more space, and those often eat the most space, but it seems to me that maybe you'll need a little more memory with the new chips because of the longer code.

Can anyone who knows the ARM and x86 architectures estimate what the difference will be in RAM demands? 5%? 15%? 50% Thoughts?
 

cmaier

Suspended
Jul 25, 2007
25,405
33,474
California
I posted this question in the notebook section and got no response, so let me try here. This is one for the hardcore techies...

On my current Intel MacBook, I have 8 GB and it's just fine for what I do. If I open Activity Monitor, the memory pressure is always, always in the green for actual use. I have to deliberately open every heavy-duty app on the machine with large documents to get the memory pressure into the yellow. So I was going to order the 8 GB with the new M1. But then I realized...

The ARM architecture is reduced instruction set (RISC), Intel x86 is complex instruction set (CISC). As techies know, RISC needs multiple simple instructions to accomplish what one complex instruction will do on a CISC. (The tradeoff being that RISC generally runs faster.) I've heard that this means that RISC code generally requires more RAM. I realize that resources and documents won't take more space, and those often eat the most space, but it seems to me that maybe you'll need a little more memory with the new chips because of the longer code.

Can anyone who knows the ARM and x86 architectures estimate what the difference will be in RAM demands? 5%? 15%? 50% Thoughts?

It varies. I would expect that you would need about 15% more instruction memory space. But, as you note, it’s the data, not the instructions, that take up the bulk of your memory use.

Remember that even though you may need multiple instructions to correspond to one CISC instruction, often times the CISC instructions are longer than one RISC instruction anyway. So really what you end up saving is the space for the op codes, not the operands (usually). It’s not a big effect. I’ve previously posted research papers that did this comparison.
 

TomC2

macrumors newbie
Original poster
Jul 18, 2010
7
0
That was just the sort of response I was looking for. Thanks!

At a 15% increase on instruction space only, I am leaning towards taking my chance with 8GB.
 

thekev

macrumors 604
Aug 5, 2010
7,005
3,343
I don't find it that helpful to distinguish using CISC vs RISC. Intel actually implements these instructions using micro-ops anyway. The stuff ARM doesn't have is the stuff that introduces a lot of complexity.

x86_64 has the ability to issue a lot of instructions, which take 3 operands using either <REGISTER, REGISTER, REGISTER> or <REGISTER, REGISTER, MEMORY ADDRESS> formats. ARM always uses the former. That is the primary difference. Both of them have instructions with some forwarding logic, FMA3 in particular. This means that expressions like "a * b + c" can be computed in one instruction and as if computed with a single rounding operation, even though this may not seem like a conventional RISC operation.

Some stuff may be simpler to compile as well, due to a simpler ISA. I know that GCC used to do a terrible job with ARM, but I think that has been ironed out due to increased attention.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.