memory - Do certain laptops, say Macbooks, have significantly better hardware buses than others?

07
2014-07
  • Herbert

    Many modern laptops do not allow one to change the memory banks, as they are welded in, especially ultrabooks and Macbooks seem to have this 'feature'. I've heard that sometimes this idea is beneficial for performance, especially when memory is not just welded on but actually a part of the CPU. However, I have not been able to verify this as truth, possible due to my lack of in-depth hardware knowledge.

    Making an ancient comparison between mac and not-mac laptops, I dug up these two devices as an example:

    http://us.hardware.info/productinfo/201150/apple-macbook-pro-15q-me293na

    http://us.hardware.info/productinfo/202040/asus-n550jv-cn270h

    The Macbook is overall better, as it has a much higher resolution screen, has an SSD, has less weight and maybe it also has better battery power. Consider that the HDD of the ASUS was replaced with a SSD and consider that both run the same OS, for example some version of linux. Also imagine that I am doing some computational task, for example in Matlab or some simulation that either uses the CPU or GPU, and which can be run in parallel easily.

    Does apple do "magical" stuff in how they weld or mount the hardware? Does the ASUS need more time to get 8 bytes out of memory to the CPU or GPU, than the apple? Does apple have faster hardware buses? Does the apple machine has a computational advantage compared to the ASUS? Is there some kind of fast GPU-CPU buss that the ASUS does not have? Or can I just assume that if the CPU, GPU, RAM and disk are the same or similar, speed from a hardware point of view will also be more or less the same?

    Summarized: are there other things to look at then just CPU-model, GPU-model, RAM-amount and type and disk read/write speeds to estimate a laptops general computational capacity?

  • Answers
  • David

    The correct term to for 'welding' components on to printed circuit boards is called soldering.

    Broadly speaking, a soldered connection is much better than a contact connection because it is almost a continuous conductor. Contacts can introduce interference into an electrical signals, particularly if the contact points are dirty.

    To answer your question about Apple's 'bus' vs Acer's bus. The buses and interconnects at the component level are all pretty much industry standard, PCI, PCIe, USB, DDR, etc. This does not mean that circuit boards (PCBs) are interchangeable, as these are heavily customised to suit the manufactures design aims, manufacturing processes, and increasingly temperature management.

    Temperature/Thermal management is quite a bit easier to design for if components are mounted, and will not change, but then the ability to expand is compromised.

    I am not going to get into a comparison of the two systems that you mentioned, if you have a particular about the two devices, then please state it directly.

    Summarized: are there other things to look at then just CPU-model, GPU-model, RAM-amount and type and disk read/write speeds to estimate a laptops general computational capacity?

    Yes, you could also look for/at weight, battery life, screen size, hard drive, optical disk, style, docking station, keyboard, number and type of external ports. All these have impact on price of the computer.

    You need to consider carefully what your objectives with what you want to do and achieve with your computer, and shop around accordingly.


  • Related Question

    speed - How can I evaluate the processing power of a GPU relative to a CPU?
  • David Z

    Suppose I have a program that does a lot of floating-point computations and is impractically slow on my current hardware. To reduce the runtime as much as possible, I want to figure out whether it's better to invest in CPUs or GPUs, given a fixed budget (around $3000-4000 in my case). I know that to compare one CPU to another, I can get a very rough sense of the relative processing speeds by multiplying the clock frequency by the number of cores for each CPU and comparing those numbers. But what about GPUs? Is there some way to quickly calculate a number based on the specs of the GPU that will tell me roughly how fast I can expect it to run my program, relative to a known CPU?

    I know that the actual processing speed will depend heavily on the way the program is constructed and on other factors besides CPU/GPU clock speeds. For purposes of this question, I'm ignoring those other factors, i.e. I'm assuming that the time taken for any task other than floating-point number crunching is negligible (so it's not I/O bound or anything like that), and that the program is infinitely parallelizable (so, given any number of CPU or GPU cores, all of them will be used to maximum capacity as long as the program runs).


  • Related Answers
  • AndrejaKo

    Well, you could try with synthetic benchmarks. They will give you some idea. NVIDIA'a CUDA toolkit for example contains some programs which are run on both CPU and GPU and it can be used to compare how long it takes to execute them on each platform.

    If you need to do it only using GPU datasheets, you can do that too. For example, here's the page for my GeForce 9500 GS. You can find information about number of processing cores there. Processing capability is proportional to GPU frequency and core number. Some cards even have GFLOPS number too. There was a document with more uniform detailed descriptions available for each card, but I can't find a way to get to it right now. Maybe it's in CUDA toolkit downloads?

    There's also the compute ability level which shows which features each card provides, but if I remember correclty, it doesn't make a direct impact on calculation speed, only on precision and instruction set that may be used.

    I'm not up to date with information about cards from other manufacturers, but I expect that thare are ways to get the data at least for AMD and Intel too.