512mb X 64 Bits

0 views
Skip to first unread message

Janne Desir

unread,
Aug 5, 2024, 3:23:50 AM8/5/24
to fluvaladam
Ifound that 512BM is a total of 29 bits on or 2^29. So in hex that is 1FFF FFFF. 1024 follows the same method so 2^30 which is 1073741823 or 3FFF FFFF converted to hex. Not really sure what it means by the 16-hex digit address since 1024MB is only 8 bits long. Also not sure what the 32 bit and 64 bit PCs have to do with this question.

For each additional bit, we can address twice as much memory. E.g., add a 0 bit to each for bytes 0-3, then add a 1 bit for bytes 4-7. We address byte X by using a bit arrangement corresponding to X in binary.


For modern systems software uses virtual memory, and virtual memory has nothing to do with physical memory. For example, you might have 512 MiB of RAM, 1.5 GiB of swap space, and 2 GiB of memory mapped files.


For most systems that have about 512 MiB of RAM; you'd typically want/expect 32-bit addresses and 32-bit instruction pointer (and have 4 GiB of virtual address space per process, including space reserved by kernel).


Note that "amount of RAM" also has nothing to do with actual physical address size or minimum physical address size. A computer with 512 MiB of RAM, 4 MiB of ROM, and 512 MiB of memory mapped devices (video cards, etc) may need a minimum of 2 GiB of physical address space (and may actually have 4 GiB of physical address space).


It depends not on the amount of RAM, but on the address space. A 64 bit processor with 512 MB RAM and virtual memory supported by a 5 TB hard drive needs at least 43 bits for addresses. Now if you support sparse allocations then you need more.


You may have wondered why we use the notation MiB, MB, GiB, and GB to represent the capacity of an on-board memory device. For example the Genesys 2 has 1 GiB of DDR3 memory while the Nexys Video has 512 MB of DDR3 memory. The mixed use of the notations may frustrate you but this post aims to quell any distress you may have about this topic.


From the table, one can see that a Gibibyte is 1,073,741,824 bytes or 73,741,824 bytes more than a Gigabyte so the Genesys 2 has 1.073 GB of DDR. Also the 512 MiB on the Nexys Video can be converted to 536 MB. Since the memory world has yet to convert to the newer, more accurate notation, Digilent uses MB and MiB interchangeably. So if you see MB on any of our sites and are confused, keep in mind it means the same thing as MiB. If you find yourself questioning any of the notations or units that we use, feel free to contact us through the forum.


This is absurd, computers work in binary, bits have 2 states, so powers of two are the way computers work. Memory has always been sized correctly, in MB. The problem is only with disks, where manufacturers use metric prefixes inappropriately. Disk manufacturers were sued for this in 2005, but the lawsuit was settled out of court and nothing has changed.


Dean, I agree but we could say we were using shorthand as well as being lazy. Initially, only tech people talked about kilobytes and everyone understood it meant 1024 x 8 bits. Then came the PC era. But I cannot see myself saying back then, I just upgraded from 256 kibibytes to 1 mebi.


The best way, the traditional and tech way (if you are over 30 and were taught computing correctly), is to totally ignore the second table but in the first table replace the symbols KiB with KB, MiB with MB, GiB with GB etc and then EVERYONE will be on the same page, including us (me) computing dinosaurs, just like it used to be ?


OK I have a few Arduino's, love the IDE and C language + libs, but the biggest Arduino I have is the DUE and this just does not have enough SRAM for my A/D project, I can see a few people have tried to add more SRAM but it all appears a little complicated.


512Kb or 1GB would be great, I am happy to make my own PCB's (via a PCB manufacturer) for this but just need schematics and even make my own main board for the "Atmel SAM3X8E ARM Cortex-M3" adding the SRAM I need on it.


Let's be logical and suppose that "Kb" did NOT mean kilo-bits, but rather either "kilobytes" or "megabytes"

Microcontrollers are traditionally RAM-poor (I've recently been a bit boggled by noticing that the entire 8-bit PIC microcontroller architecture(s) max out at only 4k of "ram")


In terms of needing 512MB or 1GB, I'd say that this is way beyond what any micro-controller will have, and if it is really needed, then it is also way outside the scope of an Arduino environment.

That is a massive amount of RAM (fast storage).

What on earth would need that much RAM storage?

Things like Routers, NAS devices, video streamers, and many other embedded device use that much or less.


If you really need that much RAM storage, then you should be looking at embedded computers like Raspberry Pi where you have a real operating system, network connectivity, real development tools and gobs of CPU horsepower and RAM resources.


bperrybap:

In terms of needing 512MB or 1GB, I'd say that this is way beyond what any micro-controller will have, and if it is really needed, then it is also way outside the scope of an Arduino environment.

That is a massive amount of RAM (fast storage).

What on earth would need that much RAM storage?


i have several stm32 in my junkbox with 256k-384k ram. however due to nasty arm programming i prefer avr with cheap external memory chip added. with bank select a gigabyte is trivial for those with built-in address and data bus like m8515, m128, m2560 etc..


And if you have some reasons to use huge amounts of RAM: Why don't you combine your Arduino simply with an computer (i.e. PC, Raspberry, smartphone) wich has more RAM and leave the RAM consuming tasks (graphing on a graphical display perhaps?) to the device wich has enough RAM?


Considering that the XY problem is intimately related with reluctance to explain the requirement in any fashion that could be even remotely considered adequate - after all, that really is of course the problem in a nutshell - I think we can safely conclude that here, as ever.

3a8082e126
Reply all
Reply to author
Forward
0 new messages