Slashdot Mirror


Dual Caches for Dual-core Chips

DominoTree writes "The dual-core chips that AMD and Intel plan to bring to market next year won't be sharing their memories. A version of Opteron coming in 2005 and Montecito, a future member of Intel's Itanium family also slated for next year, will both have two processor cores, the actual unit inside a processor that performs the calculations, and each core will have separate caches."

84 of 342 comments (clear)

  1. mmmm cores by zaqattack911 · · Score: 3, Insightful

    Can I have a 64bit OS too please? (no not linux)

    1. Re:mmmm cores by Anonymous Coward · · Score: 2, Informative

      Here you go. Works on dual-core, seperate cache chips already. (HP PA-8800)

    2. Re:mmmm cores by bburton · · Score: 5, Funny

      Can I have a 64bit OS too please? (no not linux)

      Didn't you hear? According to SCO, Linux doesn't even exist!

      --
      Slashdot = ((Technology + Politics) / Trolls) % Grammar Nazis
    3. Re:mmmm cores by EvilTwinSkippy · · Score: 3, Informative
      OS X, or if you hate Apple, NetBSD.

      Solaris.

      The Playstation 2 is actually 128 bit. But that doesn't really count as an OS...

      --
      "Learning is not compulsory... neither is survival."
      --Dr.W.Edwards Deming
    4. Re:mmmm cores by iNiTiUM · · Score: 5, Informative

      Sure you can
      Oh you want one for the AMD64?
      How about these?

      --
      When encryption is outlawed, ou++1!@(93j++js-d9298yIUH(*Y24JKB!~
    5. Re:mmmm cores by kennedy · · Score: 4, Informative

      wrong. the ps2 has a 64bit MIPS cpu with *128bit extentions*. Think MMX or SSE.

    6. Re:mmmm cores by yamla · · Score: 3, Interesting

      Apple isn't scheduled to release the first 64-bit version of OS X until the first half of next year and even then, it is not guaranteed to be fully 64-bit (though this is what most people, including me, believe).

      --

      Oceania has always been at war with Eastasia.
    7. Re:mmmm cores by puddpunk · · Score: 2, Interesting

      Can I have a 64bit OS too please? (no not linux)

      Why not Linux? Most 64-bit ready OS's these days are Linux (SUSE 9.1, FC2, Gentoo) or Unix-ey (MacOS X).

      So it's pretty much tough shit for you then. Microsoft has abandoned you, their 64-bit OS will not be out until late 2005 (but you can have their crummy beta for free). Bahahahaha.

    8. Re:mmmm cores by shawnce · · Score: 4, Informative

      Pulling in a post of mine from a completely different forum...

      The G5 is a 64 bit processor and OSX Panther is a 64 bit OS. :)

      Panther is not a true 64 bit OS in the traditional sense of the word. It does not support 64 bit addressing[1]. It does however support the use of 64 bit math operations and the saving of related registers on the CPU.

      Tiger (Mac OS 10.4) will have the first steps towards a true 64 bit OS by allowing 64 bit addressing (virtual addressing) to be used for libSystem only based tools (command line applications, no GUIs, etc.). At least that is all that Apple has so far committed to doing in Tiger at this time (cannot say more because of NDA).

      [1] Note the Panther kernel has support for 64 bit physical addressing so the system can utilize greater then 4 GBs of RAM (hardware wise supporting up to 16 GB of RAM) but it does not support 64 bit virtual addressing (what applications use) at this time.

    9. Re:mmmm cores by cfuse · · Score: 3, Interesting
      Didn't you hear? According to SCO, Linux doesn't even exist!

      No doubt a dual core processor will incur a dual cpu license fee as well.

    10. Re:mmmm cores by Hoser+McMoose · · Score: 4, Interesting

      With a 32-bit OS and 32-bit applications you can only access a maximum of 2 or 3GB of data at a time (possibly even less due to memory fragmentation). This may or may not affect what you do.

      If you do indeed have files as big as DVDs, it would certainly help with editing those files. You CAN break those up into chunks, only having 2GB or less in memory at any given time, and for the most part this works ok, however it does tend to be a bit of a kludge at the best of times, and sometimes it just flat out doesn't work.

      As you correctly guess, servers are the first situation where this really makes sense. If you've got a database that is more than 2GB in size, you REALLY want a 64-bit system, otherwise you'll tend to take a big performance hit. Many high-end workstations require 64-bit systems as well to process all the data.

      So, where is the benefit for the end-user? Well that depends on the user. First off, having more than 2GB of physcial memory on a 32-bit processor requires some really ugly hacks to make things work. They do work, but it is a really dumb idea. It was a annoying and crappy when we were forced to do it back in the 16-bit days, and it hasn't gotten any better. Secondly people are using bigger and bigger data files on their home PC, editing larger pictures and videos, playing games with more graphics and sound, some even run into issues with types of databases (I know my Usenet newsreader sometimes craps out when I'm downloading too much pr0n because of database limits). Basically you might not need it, but someone else might. The best part about it though is that 64-bits is "free".

      Basically you've got a 64-bit CPU that is no more expensive than competiting 32-bit chips and Microsoft has said that 64-bit WinXP Pro will sell for the same price as 32-bit WinXP Pro, so really the question is not so much "Why" do we need 64-bit, but "why not?"

  2. Note: Here, Single is Better by Anonymous Coward · · Score: 5, Informative

    In case it's not obvious to those who didn't read the article all the way through, it's a better thing when the memory is shared (single cache) rather than separate (dual cache). But that is harder to design, so for these first-generation dual-core chips from Intel and AMD, they are using separate caches for each core. (IBM's dual core Power4 processor has a unified cache.) At some point down the road, they will likely unify them to increase performance.

    1. Re:Note: Here, Single is Better by mothz · · Score: 2, Funny

      At some point down the road, they will likely unify them to increase performance.

      In the meantime, they should just put a bright red sticker on the box that says "DUAL CACHE!" It is documented, so it's a feature, not a bug.

    2. Re:Note: Here, Single is Better by skribble · · Score: 4, Funny

      Thanks for pointing that out, I'm sure a number of people were things "Ooooo Cool two caches" when they should have been thinking "Awwww Damn, two caches!"

      --
      --- Nothing To See Here ---
    3. Re:Note: Here, Single is Better by mrchaotica · · Score: 4, Interesting

      Hmm... the Power4 is dual-core and unified cache? I wonder if this has implications for future Macs to compete with these new x86 processors...

      --

      "[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz

    4. Re:Note: Here, Single is Better by EvilTwinSkippy · · Score: 4, Interesting
      Compete? What part of spank them and stole their lunch money does x86 fail to understand.

      We have a dual p4 server, the damn thing sounds like a gas turbine when it's on. Really, I've used quieter air compressors.

      Our dual-G5s from apple are quiet, sleek, and each processor gets it's own block of RAM. Granted, the ASIC for the memory controller gets it's own heat sink. But man, you crack it open and you wonder where the rest of the server is. It's literally 2 giant blocks for the processors, the ASIC that handles memory management, and a wee little chip on the end of the mobo that looks like a bus controller.

      --
      "Learning is not compulsory... neither is survival."
      --Dr.W.Edwards Deming
    5. Re:Note: Here, Single is Better by spuzzzzzzz · · Score: 5, Interesting

      The dual cache simplifies things emormously, especially taking the design of the Opteron into account. Opterons are incredibly scalable--each one has three HyperTransport links that can be connected to memory, I/O or another processor. In order to make dual-core chips, all AMD has to do is take two Opterons, put them in the same package and hard-wire a HT link from one processor to the other.

      Of course, they also need to worry about things like size and power consumption but the simplified architecture really makes things a lot easier and will probably contribute to lower prices. It will also accelerate the introduction of multi-core (ie more than two) processors...

      If they were to implement a unified cache design, they would have to make significant changes. They would need to implement cache snooping and complicated memory management. Given that the new dual-core processors (AMD ones, at least) are meant to be pin-compatible with current processors, this would be a bit much to ask. Maybe they'll have unified caches sometime, but I don't see it happening anytime soon.

      --

      Don't you hate meta-sigs?
    6. Re:Note: Here, Single is Better by drinkypoo · · Score: 4, Interesting

      The Hammer-core processors with dual-channel memory controllers have more memory bandwidth than the best G5, and the memory is accessed directly by the processor. Hypertransport is really quite an excellent interconnect. Hammer is NUMA-architecture and each processor gets its own block of ram. Finally, the Opteron dissipates much less energy as heat than the intel offerings - only about 46W max. I believe this is still a bit more than the G5, of course, but it's really not that bad.

      So yes, the proper term is compete.

      --
      "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
    7. Re:Note: Here, Single is Better by spuzzzzzzz · · Score: 5, Informative
      Are there situations where two caches might be better? For example, a multi-threaded application with two memory-intensive threads, each locked down onto a specific CPU?

      Not really. The problem with 2 caches is duplication. It is quite probable that both cores will want to work on the same thing, in which case cache space will be wasted. It also creates timing complications when one core wants to write to its cache because the other core will have to be told to invalidate its relevant cache entry. On the other hand, you could create a single cache with double the size. This would make sharing memory between CPUs simpler and it wouldn't significantly increase access times (so the situation you mentioned wouldn't be affected). The argument for double caches is about cost, scalability and design simplicity, not performance.

      --

      Don't you hate meta-sigs?
    8. Re:Note: Here, Single is Better by riptide_dot · · Score: 2, Insightful

      FTA: Keeping the cache as one single unit theoretically allows each processor core to access more data in a rapid fashion. Dividing the cache, however, also cuts down on some design work.

      In case it's not obvious to those who didn't read the article all the way through, it's a better thing when the memory is shared (single cache) rather than separate (dual cache).

      Yes, it's better to have a single cache for performance reasons (cache "hit" rates would theoretically be higher with a single larger cache). But it's also better for other reasons too - more L1 and L2 cache (which is made using SRAM, not DRAM) is really expensive. Two cache modules mean more pricey chip$.

      --
      I was in the park the other day wondering why frisbees get bigger and bigger the closer they get - and then it hit me.
    9. Re:Note: Here, Single is Better by jackb_guppy · · Score: 4, Informative

      The PPC4 does not have single cache...

      There a L1 caches for both cores.

      There are 3 L2 caches hooked to cross bar switch for speed flowing data into and out of the L1

      There is a single L3 controller overseeing 2 L3 external memory banks.

      Then there is two busses to 2 main memory.

      And 3 interconnects to 3 other dual core chips that make a single 8way processor block.

      And 4 busses inter connecting 4 of these 8way to make a 32way machine, with dual IO channels to hardware!

    10. Re:Note: Here, Single is Better by hattig · · Score: 4, Informative

      No no no no.

      That's all wrong.

      The Opteron has always supported dual cores, and it isn't via "internal hypertransport", the internal crossbar connects to the SysReq that supports two cores attached directly. You cannot attach a shared cache dual core to this design. Each core must have its own individual L2 cache. This is why you could have an 8 processor Opteron system with dual-cores for 16 cores in total despite the fact that the current Opteron can only do 8 processors at the most glueless. Oh, and Hypertransport doesn't connect to memory either, the memory controller is something else connected to the internal crossbar.

      And for the Opteron this is a good design. As the cores are on the same chip, cache coherency will be done at the speed of the processor and not be limited by inter-processor bandwidth. It really isn't a problem at all that the cores each have their own individual cache. At least they aren't competing with each other for cache bandwidth. The only bad point is that a core cannot have the option of using up to 2MB of shared cache - not as big a problem as it might sound, 1MB is doing very well for Opteron, and the on-die memory controllers negate a lot of the latency penalty for main memory access.

    11. Re:Note: Here, Single is Better by tupps · · Score: 3, Interesting

      Motorola (Freescale) have already announced that they have announced that they will have dual core g4s available this autumn (I assume as engineering samples).

      They are aiming this at Mac Notebooks.

      I beleive IBM have already planned a roadmap for the g5 that includes dual core.

      --
      Go out and get sailing!
    12. Re:Note: Here, Single is Better by mrchaotica · · Score: 2, Interesting

      So all those people waiting for G5 Powerbooks are going to end up with dual-core G4 ones instead?

      --

      "[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz

    13. Re:Note: Here, Single is Better by spuzzzzzzz · · Score: 2, Informative

      If (1) your kernel did a perfect job of keeping a single process/thread confined to a single CPU and (2) none of your processes/threads were sharing the same memory then a dual cache would perform about the same as a single cache. The main problem here is number (2). When you're running a multi-threaded program, even if the kernel manages the CPUs perfectly, the threads will usually want to share some memory. They may need to pass information to each other or they may just be working on the same data set. In either case, a dual cache makes things worse.

      There are plenty of situations where a single cache would perform better than a dual cache, but there are (almost?) no situations where a dual cache would perform better than a single cache. Hence single cache is better performance-wise.

      Bear in mind, of course, that this is speculation. I have not carried out any benchmarks of single cache versus dual cache and I don't think there are any publicly available benchmarks comparing them. From a purely academic point of view, however, single cache wins.

      --

      Don't you hate meta-sigs?
    14. Re:Note: Here, Single is Better by randyest · · Score: 4, Informative

      Interconnect delay (latency) is reduced. Signals propagate traces on a die (silicon chip) are orders-of-magnitude faster than printed-circuit board (PCB) traces.

      That means you can get more bandwidth with silicon than a circuit board (each of reasonable size using modern components/processes.)

      Also, it takes a lot less power to run lower-voltage drivers on low loads (little resistance and capactiance on die compared to a PCB.)

      So, why not stack everything on onw chip? Cost of a chip rises exponentially with die size. Up to about 20mm^2, it's feasible (but pricy) bigger dice are very hard to make, result in lower yields, and hence cost a lot more.

      --
      everything in moderation
    15. Re:Note: Here, Single is Better by timeOday · · Score: 2, Informative
      it's a better thing when the memory is shared (single cache) rather than separate (dual cache).
      Yeah, if the dual cache could be shared and still run without added latency or decreased bandwidth. That doesn't mean a different chip with a unified cache would be faster though.

      Also, the same is true of dual cores in the first place. It would be better to have a single processor (without dual cores) if it could be twice as fast. Unfortunately, chip designers seem to be running out of ways to usefully employ all the transistors Moore's law is giving them. Now they're resorting to designs that employ parallelism, which is relatively easy to do, but harder to exploit in software, and sometimes hardly useful at all.

  3. Confused by Shard013 · · Score: 3, Interesting

    I'm not a hardware pro, but is this basically the same as having two seperate chips, or am I missing the point here?

    1. Re:Confused by dougmc · · Score: 4, Informative
      No, you're not missing the point.

      The benefit is that you get two CPUs in less space. You might even be able to get two CPUs in a system designed to support only one (because it has only one slot.) And if your system already has two CPU slots, this might give you four CPUs.

      It might also use less power than two CPUs, but I wouldn't hold my breath on that one.

    2. Re:Confused by eddy · · Score: 4, Interesting

      Yes. Actually, I would have thought that the reverse (shared cache) would have been news instead.

      The point is that you can have very fast inter-CPU communication, the moderboard gets cheaper to produce, you don't have to double the cooling machinery... and they're probably cheaper to produce also (one package instead of two).

      I assume the cores are actually produced one-by-one or it'd get big and very expensive.

      --
      Belief is the currency of delusion.
    3. Re:Confused by ERJ · · Score: 5, Informative

      Kinda. I could see a couple advantages though:

      1) Fast interconnect between chips. Instead of having to transfer data over the bus, if the CPU needed info from the other CPU it could transfer over a high speed connection without having to involve other parts of the machine (bus). AMD already has a sort of high speed interconnect to their multi-cpu motherboards instead of splitting like intel does but I would imagine that this would still be faster.

      2) Less motherboard room needed. You don't need dual cooling fans, dual power / interface lines and have more room overall on the motherboard.

    4. Re:Confused by Lord+Kano · · Score: 3, Informative

      I'm not a hardware pro, but is this basically the same as having two seperate chips, or am I missing the point here?

      Pretty much the same thing as having two processors, but once things are running at proper capacity, it will be cheaper to put two cores on one chip. In part because you won't have to reproduce the underlying electronics. The motherboards will also be cheaper. One socket means less money spent on R&D. If and when someone releases a dual socket/quad core motherboard it will be cheaper to design and build than a quad socket board.

      LK

      --
      "Hi. This is my friend, Jack Shit, and you don't know him." - Lord Kano
    5. Re:Confused by Anonymous Coward · · Score: 2, Informative

      I doubt the dual core processors will be socket compatible with existing single core processors, so you will be unlikely to be able to upgrade an existing motherboard to dual processor just by dropping in a different CPU. It is possible they will come out with new socket designs which can accomodate either dual or single core CPUs, but I wouldn't bet heavily on it.

      The benefit, as you say, is in space, with possibly a small amount in power consumption, but I'd agree not to hold your breath, and even if it did, probably not a lot. Space savings isn't that big an issue for desktop systems in most cases, but it is a huge issue in things like blade servers and even 1U/2U rackmount servers. Fitting two huge CPU sockets, as well as all of the heat sinks and fans necessary into a 1U case is a real challenge, so only needing 1 socket and one heat sink is a huge win there.

      The other benefit you don't mention is likely to be in cost, as a dual core CPU will probably be cheaper to manufacture than two single core CPUs. A significant portion of the cost of a CPU is the packaging (not the cardboard box, the ceramic casing, pins, heat spreader, etc), and the labor costs to put the chip into that package, if you only have to do that once, it will save money. Likely AMD and Intel won't pass all those savings along to us, so their margin on dual core CPUs will probably be higher, which is undoubtedly the reason they are pushing so hard in that direction.

  4. Licensing Issues? by xeon4life · · Score: 5, Interesting

    What will happen to those who must pay a royalty fee per CPU? Will companies that charge for each CPU begin to charge for two, or will it still be viewed as one...?

    --
    Real programmers can write assembly code in any language. -- Larry Wall
    1. Re:Licensing Issues? by Ianoo · · Score: 5, Informative

      When hyperthreading was released, the industry had to cope with similar issues. Those of us using operating systems with artificial limits imposed on the number of possible processors used in a system had to wait for software updates to fix detection. I'm sure that the same thing will happen again, undoutedly there will be some flag in a register somewhere that identifies whether a processor is part of a dual-core chip or just a single CPU on its own. The OS or software can just read this in and work out whether there is sufficient licensing to use them.

    2. Re:Licensing Issues? by elmegil · · Score: 2, Informative

      A typical vendor, Oracle, when talking about a different chip (the newest SPARC chips) says "yes you must pay for each core". I would be surprised if many vendors with such licensing schemes have any other answer.

      --
      7 November 2006: The day Americans realized corruption and incompetence weren't addressing 11 September 2001
    3. Re:Licensing Issues? by name773 · · Score: 5, Funny

      when the wind is blowing westward on odd days of the week you pay for one. when there are clouds on an even day, you pay for two. during leap year, when a west wind blows clouds away at midnight on an even day, you pay for four processors, two computers, a camel, three pci slots, and a partridge in a pear tree.

    4. Re:Licensing Issues? by Anonymous Coward · · Score: 2, Interesting

      The theory behind charging per cpu is that you pay for the value, or at least the work (valuable or not) that the software does. With hyperthreading, it really isn't doing any more work, in theory you could get similar speed-ups (if you are getting any) by improving the memory subsystem, and similar architectural changes for a single-threaded system. So it doesn't make sense to pay a per cpu licensing fee for those "virtual" cpus because they are not actual cpus.

      With a multi-core system, you really do have two independent fully functional processors. So, it would make sense to pay per core because they are actually real cpus.

      Of course the above is predicated on your acceptance that per processor licensing is reasonable in the first place. It is easy to pick holes in, but I don't think you will find the pay-for-real-cpus-but-not-virtual-ones to be out of line with the justifications and rational for paying nu the cpu for anything.

    5. Re:Licensing Issues? by TheLink · · Score: 2

      "The theory behind charging per cpu is that you pay for the value, or at least the work (valuable or not) that the software does"

      I disagree. The theory behind charging per CPU is much closer to the "how much milk you can squeeze from the cow before you get kicked" theory.

      --
  5. Different core models by SIGALRM · · Score: 5, Informative
    The dual-core chips that Advanced Micro Devices and Intel plan to bring to market next year won't be sharing their memories
    As I understand it, the rationale behind Opteron's "Direct Connect" dual-core architecture is to make it easier to place two processor cores on the same silicon die. It's also a power-consupmtion issue, as the two processors can run at lower clock speeds. However, unlike Intel's design, Direct Connect features an integrated memory controller and hypertransport interconnects that connect the processor to the I/o port or directly to another processor.
    --
    Sigs cause cancer.
  6. "Montecito" by Mateito · · Score: 5, Funny

    "Montecito", a spanish word, literally translates as "a small monte".

    Thus I predict that this will be followed by a quad-core chip called the "monte", an 8-core chip called the "montote" (the big monte), and finally a 16-core chip known as "The Full Monte".

    1. Re:"Montecito" by murr · · Score: 2, Funny

      Thus I predict that this will be followed by a quad-core chip called the "monte", an 8-core chip called the "montote" (the big monte), and finally a 16-core chip known as "The Full Monte".

      You forgot to mention the low power edition for portables: The "three core monte".

  7. Re:New Computer by Izago909 · · Score: 2, Insightful

    With that logic, you'll always be holding off for some new development.

  8. yeah, by pb · · Score: 4, Interesting

    You probably don't want to have both chips fighting over the cache, and slowing things down; I'm sure doing The Right Thing[tm] will take a while for them to work out. Until then, just pretend that they're mostly separate chips on the same silicon.

    Maybe in the future they'll come up with some more advanced cache designs that can share some cache and improve performance. But until then, expect to see it in the next generation of value chips. (Overclocked dual-core Celerons? Nifty!)

    --
    pb Reply or e-mail; don't vaguely moderate.
    1. Re:yeah, by laudney · · Score: 2, Insightful

      The cause for cache conflict is not a hardware but a software one. Suppose there is one process/thread running on each core. When the two processes have incompatible instruction/data streams that evict each other out of the cache, performance is seriously reduced. This requires an intelligent enough OS scheduler.

    2. Re:yeah, by Anonymous Coward · · Score: 2, Insightful

      You probably don't want to have both chips fighting over the cache, and slowing things down

      As a rule of thumb, if both cores are running threads from the same process (or two processes using shared memory) then shared cache is good because it increases inter-thread bandwidth and decreases inter-thread latency.

      But, if it is just two random processes doing there own thing with little to no interprocess communication, then independent caches are better because you need not worry (as much) about them fighting over the same cache-lines, each mapped to their own different memory spaces. N-way caches help with that kind of problem, and for a large N, might be seen as a good compromise, but the larger the N, the slower and/or more expensive($$$) the cache becomes.

  9. Non-news event by doormat · · Score: 3, Informative

    I've saw this article at another website earlier today, and I though this wasnt really important. Each core should have its own cache, thats exactly what a dual core chip is. Not twice as many execution units crammed into the same space, or some other funny configuration, its two seperate chips on the same die, perhaps some modifications for inter-processor communication, but thats about it. With AMD's core design, you have the physical layer only of the hypertransport bus to connect the chips, and the integrated memory controller has one or two ports to talk to memory (single/dual channel) and two ports to talk to two seperate chips. It will be interesting to see if AMD couples dual-core chips with DDR2-667 or DDR2-800, that would make the most sense, as to keep the memory controller from being the bottleneck, as opposed to the system bus on the intel side.

    --
    The Doormat

    If you're not outraged, then you're not paying attention.
    1. Re:Non-news event by silas_moeckel · · Score: 2, Informative

      It is better. As another poster pointed out and I'll concure unified cache is better than seperate but a lot harder to make so the first generation dual core chips will not use it. Expect the second generation to have larger unified cache.

      --
      No sir I dont like it.
    2. Re:Non-news event by Wesley+Felter · · Score: 2, Insightful

      Er, cache coherency works exactly the same way in a multicore chip as in an old-fashioned SMP. Opteron, Xeon, and small Itanic systems use the time-tested broadcast snooping algorithms that are taught in undergraduate courses.

  10. Re:How is this different from a two processor syst by hawkbug · · Score: 5, Informative

    It's not much different - that's the point. 2 processors in a single socket, saves a lot of money production wise, and that should pass onto the consumer. AMD has said their's is backward comaptible, and that's huge. You already got a single cpu opteron workstation? Well now you can have a dual cpu one for the price of a single cpu upgrade. That kicks ass.

  11. Inside the dual core by spirit_fingers · · Score: 4, Funny

    Actually, the left core will be verbal, creative and be really good at procesing visual information, while the right core will be logical, good at number crunching and have no style sense whatsoever.

  12. Re:Itanium? (somewhat off-topic) by Anonymous Coward · · Score: 5, Informative

    Despite what Sun has to say on the matter, Itanium system and processor sales have been increasing steadily since 2H,2000prior to that, there was a big lull in demand because few wanted to buy underperforming Itanium 1 machines when the Itanium 2 was expected rather soon (and announced relatively early).

    Today, in contrast, there _doesn't_ appear to a lull in demand for Itanium 2 machines, even though Montecito (Itanium 3) has been announced in a fair bit of detail. That's because for some applications (in HPC, high-end database work, certain EDA/CAD/CAE work, and ultra-high-reliability computing) Itanium 2 systems are basically unbeatable. They also run some OSes which are very important to some organizations, such as HP-UX and OpenVMS.

    Long story short, the Itanium 1 was something of a flop, the Itanium 2 is really pretty decent, and everyone is expecting the Itanium 3 to offer pretty decent _price/performance_, in addition to best-bar-none performance when it is released next year.

  13. AMD seems more promising by leathered · · Score: 3, Informative

    Luckily for AMD, the Opteron/A64 was designed with dual-core in mind. As I understand it both cores will talk to each other via an internal Hypertransport link and (as with current Opertons) together with the internal memory controller will eliminate the need for an external northbridge. It is also expected that upon release they will drop directly into existing motherboards with nothing more than a BIOS upgrade.

    Intel will find things more challenging. Both cores will have to contend the GTL bus, currently the Achilles heel of their MP solutions, by communicating via an external northbridge.

    --
    For all intensive porpoises your a bunch of rediculous loosers
  14. Re:New Computer by AKAImBatman · · Score: 4, Funny

    Well I would buy a computer now but I have no cash

    Is that a pun?

  15. Re:You Insensitive Clod by neuro.slug · · Score: 2, Funny

    Can someone who speaks Idiot please translate for me?

    Translated: Please mod me +5 funny.

    -- n

  16. Commodity hardware grows mature. by Skulker303 · · Score: 5, Insightful

    Daul core microprocessors are not a new development. IBM with their POWER4 and POWER5, HP and the PA-RISC 8800, and TI with their OMAP processors are definitive proof that multi-core solutions are not just a stop gap in increasing the performance delta of modern silicon.

    Daul core processors are a natural evolution in the development of general purpose and even specialized computing devices. SMT was to be a boon for the EV8, but later found its way into the Pentium4. Multiple logical processors were just a first step.

    It should be interesting to see just what AMD can do with both SMT and a daul core design.

    It just had better run BSD. = )

    1. Re:Commodity hardware grows mature. by Jhan · · Score: 2, Insightful

      Daul core microprocessors are not...
      Daul core processors are...
      It should be interesting to see just what AMD can do with both SMT and a daul core design.

      You keep using that word. I do not think it means what you think it means.

      --

      I choose to remain celibate, like my father and his father before him.

  17. Re:Dual core - what's the point? by NerveGas · · Score: 3, Interesting

    The benefits of HT, as currently implemented, are pretty insignificant compared to the benefits of multiprocessing, as the possible performance boost is very small, it certainly doesn't give you the ability to handle more interrupts, and it doesn't let you decrease the number of context-switches.

    As for building a more intelligent core to take advantage of the extra transistors, that just might make sense - but it would also take hundreds of millions (or billions) of dollars in development, and the chip wouldn't appear for a good number of years (look at the Itanium). It's a lot easier and cheaper to slap two cores on the same die and call it done. Because Intel is scurrying to try and play catch-up to AMD in the high-end market, time-to-market is critical for them.

    steve

    --
    Oh, you're not stuck, you're just unable to let go of the onion rings.
  18. coming this fall on Fox... by rarose · · Score: 5, Funny

    It's "RISC CPI for the CISC guy"

    I can't wait to see what they do to his nonorthogonal register file.

    --
    --Rob
  19. The down-side to this.... by NerveGas · · Score: 4, Informative


    The downside is that as the AMD chips are going to be backward-compatible with older boards, I imagine that the dual-core chip will still only have the single 128-bit memory controller.

    While that will still give you twice as many available CPU iterations, that means that the two cores will be fighting for memory bandwidth. In the case of Intel's chips, that's business-as-usual: But for the Opterons, where each processor brings its own memory controller, it just doesn't feel right. : (

    steve

    --
    Oh, you're not stuck, you're just unable to let go of the onion rings.
  20. Sure, OS/400 by Shivetya · · Score: 4, Insightful

    Been that way for many years. Is rock stable and secure.

    Granted it is on a mini, but we have enjoyed 64bit computing for nearly nearly 10 years. Even have some power5s in production.

    There are great OSes other than the ones used on PC hardware... too many "geeks" forget that.

    --
    * Winners compare their achievements to their goals, losers compare theirs to that of others.
  21. Re:Itanium? (somewhat off-topic) by csimpkin · · Score: 2, Informative

    The problem with the Itanium was that Intel didn't release an optimizing compiler with or before the Itanium. I believe (corrections welcome) that instructions are grouped in 'packets' (I forget the term used) that the Itanium can run in parallel. The problem is that only certain instructions can be bundled together. When older compilers are used the instructions are generated in a way that only a few or even just one instruction is in a 'packet'. So, the problem was that the processor wasn't being used to its fullest potential. I have never compaired the Itanium 1 and 2. But, I would guess that the Itanium 2 was primarily released to give the Itanium line a fresh start with an optimizing compiler.

  22. So can it crash twice now ? by mcraig · · Score: 5, Funny

    Kernel Panic Core Dumped... Still Panicking Dumping Second Core...

    1. Re:So can it crash twice now ? by Kranium · · Score: 2, Interesting

      You laugh.. but that's exactly what I've seen happen on Mac OS.. One processor panics, but you're still dragging a window around because one is still running.. (That doesn't last long, though..)

  23. Re:Yeah... by Carnildo · · Score: 2, Informative

    but will it make coffee? I didn't think so.

    Given that the power output of a single-core Prescott is 100 watts or more, a dual-core with separate caches will put out 200+ watts. Clock up the speed a bit more, and you'll be at about 300 watts.

    I figure that's probably enough to boil a cup of coffee.

    --
    "They redundantly repeated themselves over and over again incessantly without end ad infinitum" -- ibid.
  24. It's nice but.. by leathered · · Score: 4, Insightful

    I like Itanium. It's a pretty neat architecture which crushes most before it in FP intensive tasks. It is clear why it has done well in HPC. But HPC is nothing more than a niche.

    Now here are the problems:

    32 bit (x86) perfomance sucks. All those apps you've spent years developing will need re-writing (A simple recompile is often out of the question).

    HP (in collusion with Intel) killed perfectly good archs. in Alpha and PA-RISC in an effort to get people to migrate to IA-64. A few may have made the move but this has mostly served to push people towards the vasty cheaper x86. HP, and to a lesser extent Intel, should provide what their customers want, not what they think is best for them.

    It still uses a shared bus architecture. There are diminishing returns as you add more processors.

    Itanium requires massive caches to get the best from it. Cache = Silicon = Cost. It is clear that a large scale seeding exercise is still underway with Itanium systems being provided at or below cost. Looks like it will be a long time before there will be any return on the billions invested in Itanium.

    --
    For all intensive porpoises your a bunch of rediculous loosers
  25. what's the diff: dual core and hyperthreading? by Locutus · · Score: 2, Interesting

    A friend purchased a 3GHz( yes 3 ) Intel Pentium 4 with HyperThreading a few months back. I asked why he didn't purchase an AMD CPU and he said he needed x86 compatibility... So much for informed hardware engeers. Anyway, I recently asked him about the system since I just built an AMD 2600+ based system and wanted to know if he had some code he wanted to compare/test. Well, he told me that his 3GHz CPU really only runs most applications at 1.5GHz except if they are multi-threaded or hyperthread aware.

    Is this true? Does Intel put a 3GHz label on 1.5GHz dual/core CPU's or whatever this hyperthreading is? Sounds dual/core-ish to me...

    It's funny how that 1.5GHz number shows up again in Intel product. I remember when they could not build anything faster than 7xxMHz and then all of a sudden, they had a "new technology" that got them 1.5GHz( 2x 750MHz ) and it was found out later that only PART of the CPU was running at 2x. This all happened when AMD beat Intel passed the 1GHz barrier. Are they again playing "tricks" to get a big GHz label on their parts?

    So any of you people up on this dual-core and hyperthreading thing and feel like explaining to the rest of us what's going on? TIA.

    LoB

    --
    "Anyone who stands out in the middle of a road looks like roadkill to me." --Linus
    1. Re:what's the diff: dual core and hyperthreading? by RockyMountain · · Score: 2, Insightful

      It's almost as if they've reached some kind of break even point, where the probability of a defect on a dual core die falls to the point where the gains outweigh the losses.

      The gains definitely outweigh the losses, or they wouldn't do it. But the gains don't only come from CPU cost-per-core. There are lots of other factors, such as density, power efficiency, potential for core-to-core lockstep, etc.

      I have no first-hand knowledge of AMD, but for Itanium, smaller process geometries do not increase yield through smaller die size. As they've shrunk to smaller geometries, they have not shrunk die size at all. All the extra real estate goes into larger caches, and the die size, and thus the (raw) yield, remains about the same. They have improved yield, but it's not through shrinking the die.

      They have dramatically improved yield in other ways. As your execution units shrink and cache dominates an ever-increasing percentage of the die area, it becomes easier to use redundancy to make the chip tolerant of defects.

      Intel calls it Pellston Technology (I hate marketing speak). And it it this, more than anything, that makes such massive die as Montecito even possible. In the old days, one defect trashed the die. With this sort of technology, most defects are worked around through redundancy. And, if you have too many defects to allow that, you may still salvage the die by selling it at a lower price with a reduced-capacity caches. Most chips shipped to customers have several completely corrected defects.

      You're wrong.

      Probably. Wouldn't be the first time.

      If you take into account the overall _system_ cost, dual-core is definitely far cheaper than dual-socket. System cost also includes cost of board area, power delivery, cooling, etc. OEMs will happily pay well over double for a 2-core vs 1-core because of the savings they will make elsewhere in the system. Dual-core also gives system vendors much more flexibility by allowing the same board design to support twice as wide a range of CPU counts.

      I was comparing CPU+package cost only. Having been both a CPU designer and a system designer at different times in my career, I know how to look at it both ways.

    2. Re:what's the diff: dual core and hyperthreading? by RockyMountain · · Score: 2, Informative

      Note that cache sizes have fluctuated around 256-512 kb since the P2 days. My P2 and P4 both have 512 kb. I'd be shocked if the reason was something other than that being a sweet spot.

      Sorry, I live in a 64-bit world, to the point that I'm quite ignorant of X86 state of the art. I've been blindly (and wrongly) assuming a 64-bit context for this whole conversation.

      Your posting reminded me that caches of only 512M still exist! Montecito has 24M between 2 cores. Also, re-reading your posts in the context of 32-bit systems, they now make much more sense to me. X86 die aren't the same huge monsters that I'm used to. No wonder you and I have different views about yield cost tradeoffs -- we live on different parts of the curve.

      Unfortunately, most of what I know about Itanium I really can't talk about, other than in very general terms -- assuming I wish to remain employed, that is. :)

      The "sweet spot" for cache size is really determined by a race between core performance, and memory latency/bandwidth. Doubling cores doubles the data production/consumption rate. Doubling the frequency also does. The former is less demanding on memory latency and mostly requires more bandwidth. The latter is equally demanding on both. If you double the data production/consumption, and keep the same memory/bus bandwidth, ideally, you'd like to halve the cache miss rate -- but that's pretty unlikely in practice. That's why caches keep growing (at least in the 64-bit world). There is a point of diminuishing returns, because there's an upper limit to both temporal and spacial locality, but we're not quite there yet for Itanium.

      When more CPUs start to have integrated memory controllers and point-to-point links instead of multi-drop busses, I predict that cache sizes per core will actually decline for a while, since the memory performance side of the balance will lower the "sweet spot". After that, caches will probably creep slowly upwards again, because no memory or interconnect technology ever scales fast enough to keep up with CPU core performance scaling.

      So the $64 question is... When cache sizes per core start to decline or level off, will we see smaller die, or will we see even more cores per die? The way Intel seems to always position Itanium for high-end heavy metal, I expect huge die with more cores, although for X86 they went the other way. Or so I infer from your posting.

      Of course, I'm no more thrilled with a 200 watt CPU than anyone else, but that's what you get with a two CPU system anyway.

      Not sure which CPU you're referring to here. Is it something in the X86 line? If you're taking a single core power and multiplying by two, then you may be very pleasantly surprised. Montecito, despite having two cores, will have significantly lower total power than its single-core predecessors. (That much I can safely reveal, because it seems to be common knowledge already.)

      Having designed systems, I can tell you that difficulties arising from high power-per-socket are very non linear: 200W isn't merely twice as hard to deal with versus 100W. It's easily an order of magnitude more difficult to cool with the same MTBF reliability. Luckily, Intel have realised this, at least in their 64-bit line. Once again, I am too ignorant of the 32-bit world to know the state of the art there.

  26. There already is one. by Medievalist · · Score: 2, Informative


    VMS went 64-bit at least a decade ago.

    Great OS for English-speaking folk, despite Linus's hatred for it.

  27. Re:Dual core - what's the point? by ArbitraryConstant · · Score: 2, Informative

    Hyperthreading is not a better solution, particularly when dealing with the Intel implementation. Unless it's very carefully done, all it does is keep the cache from working effectively. Linux and FreeBSD actually got performance improvements from leaving one of the virtual processors idle when there were more processes scheduled to run. When there's two threads of the same process, they let them both run because those tend to have better locality of reference and therefore don't thrash the cache so much.

    Processor designers are in a different situation now than 10 years ago. They've got more transistors than they know what to do with, so adding cache and adding another core are cheap. Streamlining one core to run faster is much harder, as evidenced by Intel's unending troubles with anything faster than 3.2 ghz.

    --
    I rarely criticize things I don't care about.
  28. Re:Dual core - what's the point? by drinkypoo · · Score: 4, Informative

    Hyperthreading is simply a second context. It lets you run a second thread at the same time by using the unutilized capacity of existing functional units and is largely useful only when intel's branch prediction fails and the chip would otherwise be paying the ultimate penalty for its long, long, LONG pipeline.

    In other words, HT is an ingenious method for making up for the fact that the pentium 4 is horribly inefficient.

    It would be better to stick a whole bunch of simple cores on a single chip at a lower clock rate and have them work cooperatively, if only we used more multithreading. This is pretty much where intel is planning to go, with their multiple-core chips based on the Pentium-M. Or, so the rumors say.

    --
    "You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
  29. Re: unified (single) is not always better by mepperpint · · Score: 3, Insightful

    It's not entirely true that single is better. It depends on what the system is used for. If both cores are accessing the same memory (likely the case in a multi-threaded webserver for instance), then they can benefit from sharing a cache and effectively doubling the cache size. However, if both cores are accessing different memory (almost any situation where different applications are running on the different cores), then sharing a cache could have devastating effects on performance. As each process running on each of the cores would be likely to be evicting the other processes cached memory, there would be a plethora of cache misses. In the worst case, this could effective make the system as slow as if there were no cache at all. In the average case there would likely be a significant performance hit. A better strategy than unified or seperate caches would be to have a read/write cache for each core and allow each core to read the other core's cache. This would allow the benefits of the shared cache in the case where both cores were accessing the same memory without having the major performance hit when each process is accessing different memory. Unfortunately the hardware for this would be even more complicated than for the unified or seperate cache techniques.

  30. The G5 uses hypertransport... by Ayanami+Rei · · Score: 4, Interesting

    hence the block of RAM per CPU.

    --
    THIS THING CAN TURN ON A DIME, MACROSSZERO STYLE ALSO FUCK BETA, ~NYORON
    1. Re:The G5 uses hypertransport... by shawnce · · Score: 4, Informative

      Actually they don't use the same bus technology.

      The G5 (PPC970/970FX) has a two 32 bit wide buses one going in each direction from the CPU and they have a data rate at half that of the CPUs clock rate. At a clock rate of 2.5GHz the bus is capable of a max theoretical throughput of 5GB/s each direction or 10GB/s in total (that is per CPU). Real world throughput is around 8 GB/s per CPU at 2.5GHz because of address/command overhead. Apple/IBM terms this the elastic bus and it is not HT based.

      For more information see this block diagram referenced from this hardware tech note.

      Anyway the the post you are replying to is incorrect about each CPU having its own RAM. That is not true. Each CPU has it own independent bus to the memory controller (U3/U3H) and that controller has a dual channel connection memory capable of 6.4GB/s a second (DIMMS are required to be added in pairs to allow for a 128 bit wide path to memory). The U3 chip is basically cross bar like internally allowing for a few point-to-point connections to be taking place between its various interfaces (CPU to CPU, AGP to memory, etc.).

      HT is used for as a secondary interconnect to relatively lower bandwidth devices in the IO chain.

  31. Day late, dollar short... by gillbates · · Score: 3, Insightful

    While dual cores on a chip might be nice, it won't produce any serious performance increases.

    The underlying problem with Intel and AMD's processors is that they are at the mercy of the architecture:

    1. These chips must share a relatively slow memory bus with other devices.
    2. Currently, the fastest FSB to date is 1033MHz - almost 1/3 of the max clock speed of the processor. Given that Intel's integer units operate at twice the clock speed, the fastest parts of the chip operate at 6 times faster than memory.
    3. The monolithic, synchrous, central-processing-unit design of the architecture prohibits optimizations such as using memory controllers for block moves and having dedicated IO processors. Contrast this with Mainframes in which the CPU passes off IO instructions to ancillary processors and continues to work. In PC-land, when the IDE controller seizes the bus for a transfer from disk into memory, the CPU has to execute out of its cache for ~256 instruction cycles, or risk stalling.

    The ironic thing is that even though AMD and Intel are out-clocking mainframe processors by factors of 2 and 3, mainframes still get more work done simply because they aren't choked by a slow and overcrowded system bus .

    --
    The society for a thought-free internet welcomes you.
    1. Re:Day late, dollar short... by owlstead · · Score: 3, Interesting

      True, and someday every IO process will probably be handled by a dedicated processor. A distributed operating system will run processes on each, making it easy to reprogram the tasks. Fast interconnects will make a NUMA architecture possible.

      Currently however that future is far off. It's simply much cheaper to centralize processing, so the bus will remain an issue for some time to come. For most situations this will be fine, for specialized situations where a single (fast) real time process is needed, or when IO is more important than CPU power...it sucks.

      (listening to my integrated audio which takes about 7% of my processor, and I don't care a bit)

    2. Re:Day late, dollar short... by kscguru · · Score: 4, Informative
      These chips must share a relatively slow memory bus with other devices.

      No... on AMD chips the memory bus is dedicated. Intel chips have a very different system architecture (which does saturate at ~2 CPUs), but AMD gives each chip its own memory controller and memory - scales perfectly. (By the way, this isn't new ... big iron (e.g. Sparc) has been doing this for years).

      Currently, the fastest FSB to date is 1033MHz - almost 1/3 of the max clock speed of the processor. Given that Intel's integer units operate at twice the clock speed, the fastest parts of the chip operate at 6 times faster than memory.

      That's why modern processors use pipelining (in x86, since 486's) and caches (since, uh, 8086s ?). FSB only comes into play in 1-2% of the memory accesses. But those memory accesses are pipelined, interleaved, with multiple outstanding requests issued by the out-of-order pipeline ... processor designers have been working around a slow bus for years, and the FSB is only the bottleneck in extreme, pathological cases.

      The monolithic, synchrous, central-processing-unit design of the architecture prohibits optimizations such as using memory controllers for block moves and having dedicated IO processors

      Ever heard of DMA? A DMA controller does that memory transfer ... there are 2 DMA controllers with 8 channels on your current x86 PC. Heck, high-end PCI cards even have their own onboard DMA engines (it's called bus-mastering). I/O offload? You've obviously never written a device driver... modern drivers issue a few "start" instructions, then sleep; eventually the device completes the I/O and issues an interrupt to inform the CPU it's done. The last computer I had that stalled on disk I/O was running MS-DOS - nine years ago.

      In all fairness, I thought exactly the same things four years ago. Then I learned about modern computer architecture. And in today's world (and, in fact, all PCs for the past ten years), your points are completely - and utterly - irrelevant.

      --

      A witty [sig] proves nothing. --Voltaire

  32. Yield question by Michael+Woodhams · · Score: 2, Interesting

    Are the dual cores on the same piece of silicon? This would require both cores to be defect free. If only one core is defect free, is it possible to disable the dud and sell it as a single core CPU? This would make it a much more attractive proposition for the manufacturers.

    E.g. if a single core has a yeild (probability of being defect free) of 80%, then the dual core chips will have a yeild of 0.8^2 = 64%. (Actually slightly lower, because whatever interconnect they have also has to be free of defects.) 64% will have two good cores, 4% will have two bad cores, the remaining 32% will have one good core. The manufacturer would obviously like to make use of that 32% if they can.

    --
    Quattuor res in hoc mundo sanctae sunt: libri, liberi, libertas et liberalitas.
    1. Re:Yield question by mercuryresearch · · Score: 3, Informative

      The manufacturers have the choice of using multichip module packaging (common in notebook graphics controllers, for example) or single die, however it is my current understanding we're talking a single die.

      They very likely WILL disable the dud and sell them as single core CPUs. This is how the "value" brands (Celeron, ex-Duron, and now Sempron) are typically created -- when there's a defect in the processor cache (which is a very large area of the die, and thus more likely to have a defect), the faulty bank(s) are turned off via fusing, creating a CPU with a smaller cache.

      This is all pretty standard yield management.

      Also, your calculations are very close to being correct, while the manufacturers closely guard their yield information, you're in the ballpark -- and it's interesting to note according to my estimates Intel's Celeron volumes approximately mirror your computed single-core yield percentage... meaning it will likely be business as usual in our dual core future.

      BTW, if you're interested in computing yield values there's an excellent model to be had in one fo the chapters in Henessy and Paterson's _Computer Architecture, a Quantitative Approach_

    2. Re:Yield question by RockyMountain · · Score: 2, Funny

      If only one core is defect free, is it possible to disable the dud and sell it as a single core CPU?

      Yes, it is possible, in most cases. (Although there are a few types of defects that would prohibit this, such as power shorts).

      For example, hypothetically, Intel could sell a single core version of Montecito called the Half Monte and a dual core version called the Full Monte.

  33. Bus architectures are the key by Shapemaker · · Score: 2, Insightful

    From what I know of the current architectures, AMD's solution to main memory access woes (point-to-point bus) seems more sane as soon as more than a couple of processors are installed in the system. Shared bus (as in Intel's solution) seems to require huge caches to operate efficiently, and as we all know, Pentium 4 really does not like pipeline stalls or branch mispredictions.

    Let's take a hypothetical example: quad processor systems utilising dual core processors from Intel and AMD.

    AMD: each processor (core) talks directly to its local memory block, and via HT links to adjacent processors' memories. Processors do not have to contest for access to the bus and thus memory access is always low-latency, even when accessing remote memory. If built today, HT links would operate at 1 GHz.

    Intel: processors share the same bus with each other and memory controller. Any time a processor needs to access memory, it has to wait until the bus frees to ask the memory controller access to main memory. Pipeline stalls happen here if bus is not free when needed. This is compensated with huge L3 caches. As far as I know, current quad processor systems from Intel have bus speeds of around 533 MHz.

    So in a nutshell, Intel competes with AMD on a quite level field when the system has 1-2 processors, but as soon as processor count goes up, bus bandwidth becomes an issue with Intel. It shall be interesting to see how Intel attempts to counter that.

    What I am getting at with this? Well, those huge 12 MB L3 caches in Intel's future processors sure aren't cheap. They take up lots of silicon and WILL decrease core yields since they've got lots and lots of points of failure. So manufacturing processes really have to be ramped up to allow that at reasonable cost.

    --
    "Intellectual Property" should be an affront to anyone capable of independent thought.
  34. 64-bit by mr_burns · · Score: 2, Interesting

    It's not a question of if there will be 64-bit OS's to go with these things. Eventually, it's sure to happen in multiple flavors.

    The real question is what ELSE will be on the motherboards and in the chip by the time these things hit the market? Specifically, what DRM hardware will come with these things? What will the BIOS look like?

    That's why I think that the current generation of 64-bit desktops are probably one of the best values for a machine you might be using 4 years from now. It's risky to wait 6 months or a year with the current views of the US Congress and FCC. This generation of 64-bit machines might be one of the last to be multi-purpose Turing/Von Neumann devices.

    Don't wait for dual-cores if you have the cash and want to be the one in control of your 64-bit machine. Eventually the OS's will catch up.

    --
    "Let him go, Ralph. He knows what he's doing." --Otto Mann (simpsons)
  35. Processor by noidentity · · Score: 2, Funny

    ...will both have two processor cores, the actual unit inside a processor that performs the calculations...

    Oh, so that's what a processor does! Can you remind me again what "RAM" is?