Hardware - Memory
Computers use many types of memory to perform various functions. Some of these memory types are, first one we mentioned here, is the cache memory used as a scratch pad for the microprocessor for repetitive operations, stores frequently used commands and read-ahead. We have the cache memory here. This is the fastest memory in the computer, and we'll talk about the speeds here in just a few moments. There is the BIOS, this is the Basic Input Output System for the computer. Way down here, we would refer to this as ROM, Read-Only Memory.
When your computer first starts up, there's a program that's stored in ROM that your processor will retrieve and execute, that will actually perform the basic start-up of your machine and perform a task called Post. There is internal memory, that is going to be right here. Internal memory, the bulk of the information programs and partial results are stored here during program execution. Internal memory is referred to as RAM, Random-Access Memory. Actually, cache memory is called RAM, too, but since it's so small, we typically just say RAM when we're talking about this.There is video memory, dedicated to the storage of video information. Here we have video memory over here, and that is for purposes of video. Just a little bit about these, the microprocessor, it will, ideally it wants to interact with cache memory, and if we had a sample system, and I'm just going to throw some numbers out, not because they're necessarily numbers you see on current machines, but because it makes the math easier if I just do some real foundational numbers here.
Let's pretend that we have a 1 GHz processor and it's interfacing with memory that goes at 100 MHz, and one day I had a student come to me and he said, “Why should I spend the money on a 1 GHz processor?” This was a few years ago because now they are much faster now. Anyway, he asked me about, “Why should I buy a 1 GHz processor when RAM only goes at a 100 MHz?” If you do the math here, you'll see that the processor is going ten times faster than the RAM is capable of going. The question is very apropos, really, because here I'm going to spend all this money on a fast processor, but can it really do anything, because it has to interface with RAM that can only go one pulse for every ten of these, and so is it a wise investment?What he did not realize was that there is something up here called “cache memory,” and there's something called level 1 and level 2 cache. Cache memory typically is right on the processor, it's not a separate component like RAM. Cache is extremely fast, and cache memory, actually portion of cache, the level 1 cache, usually can go at the same speed as the processor, so this is 1 GHz processor, then the level 1 cache would be capable of that 1 GHz speed, and it has to do with the fact that cache memory is constructed differently. It actually is made out of transistors and flip flops, whereas internal regular RAM is actually a function of the capacitors, but we won't get into the detail here. At this point, I'm just talking about the speeds.
Ideally, your processor does its interfacing with the cache, and you'll note that there is small, actually, it's a relatively small, amount of memory that goes at the 1 GHz speed. There's a level 2 cache, and usually, it goes at about half the speed of the processor. In this explanation, that would be about 500 MHz. In the grand scheme of things, remember we have this thing here called the system controller, and actually, the system controller, it interfaces with the cache as well.The processor ideally does its interfacing with cache, and when it needs a command, it first looks in cache and if cache has it, it can immediately process it, and if it's in the level 1 cache, if it can't get what it needs from the level 1 cache, it looks into level 2, and if it can't get it there, it slow down slightly, but not much.If it is not in either of the caches, then it has to slow down quite a bit. This is a 10 to 1 change here, where it has to get stuff out of the internal memory. If it's not available in internal memory, then it slows down to whatever it needs to do to get the information, it's either through the hard drive or through the PCI or ISA or whatever.In theory, the processor's interaction is going to be primarily with the cache, now, this doesn't always happen. One of the things we did not mention is this system controller down here. What are the things that it is doing? It is monitoring, what is the microprocessor's asking for? Based on what he had asked, or one of the things that it does, as noticed here at read ahead, is that it will read ahead in RAM and load the commands that it anticipates that the microprocessor is going to ask for next into the cache memory.
Anyway, to answer that student's questions from a long time ago, the system actually can utilize this 1 GHz processor, but it needs a cache to do so, and so this memory that we called a cache is of very great importance to the performance of a given PC. We did mention video memory here. I don't have a whole lot to say about video memory except that it is just been coming in larger and larger pieces as video cards advanced. Video memory usually is typically very large now, also another item is that many video controllers now are set up so that they can actually share the internal RAM as well as their onboard video memory, so that's often something that you will see available in modern PCs.
The video controller is used in conjunction with the AGP bus right here. To coordinated video operations and display functions, sometimes it is integrated to share system memory. I just mentioned that it provides interface to drive CRT, that would be a Cathode Ray Tube or Digital Display Device. These days the CRTs are fading away. Now, when you go into the computer store, all you're seeing is the digital split display devices, one of the main claims to fame, that is a couple of things that are very nice about those, one is that they consume a lot less electricity, and probably the thing that people really like about it is they take up a lot less space than a CRT.
Concerning the AGP bus in the earlier sections, as we thought quite a bit about the interface with AGP 1, 2, 4 and 8, so I won't go in any more detail about that.
Audio circuits in a computer accept inputs and provide outputs. Typically, they are PCI, and here I got a graphic here showing the audio inputs. Usually, they're on a plug-in card, but sometimes they are integrated into a system board and so by that, I mean so oftentimes they're on a card, it would plug into either the PCI bus or the ISA bus, but on some systems, this, too, could produce systems more cheaply. What they'll do is, all the audio functions will be placed on an IC and it's just slotted into the system board. That makes the system cheaper, but it makes upgrades difficult.
Feature sophisticated drivers, specialized sound effects, synthesizers, et cetera. Modern sound cards have all kinds of things that earlier sound cards did not have. They have very specialized drivers, sound effects, oftentimes synthesizers were built into sound cards. Digital recording studios are often housed in PCs and Macs, allowing for multiple track recording. Sound has just come a long way in PCs, and that's not mentioned in your text, but I'm just throwing it in for fun.
In this section, we looked at the audio, briefly, we looked at the video controller and we looked at the major types of memory and just a little bit about how they all interface together. That concludes our discussion on memory.