CSSLP Tutorial: Module 04,Part 03 – Memory

Types of memory in computer

There are varying types of memory in computer and we’ll talk about primary, secondary as well as cache storage.  There’s also two main branches where both have acronyms: one is RAM and the other is ROM.  RAM is random access memory while ROM is read only memory. Then there are different types of RAM and also different types of ROM.  This section is about the differences between the various types and underlying principles surrounding the different types of memory.

Primary storage is RAM  where the stored information is not in any particular sequence in terms of accessibility. The memory of the system is generally in RAM.  It’s really easy on the part of the programs to pick out the information that’s necessary for it to run effectively.  There are two main forms of RAM. One is d RAM or also known as dynamic RAM and is very volatile.   The memory of the system general is dynamic in nature and so that means when there are frequent changes, the contents will constantly be refreshed and not hold the data for very long.  Any time there is a loss of power to RAM type of memory, the contents of what is being stored there is erased. So, again, it is a volatile type of memory. 

There is another source of memory which doesn’t necessarily require this constant source of power and is referred to as static RAM ( s RAM), however, it is a lot more expensive.  It is not as volatile as dynamic RAM, and holds it’s charge a lot longer. It doesn’t have to be constantly refreshed and most often, this memory is to be used for cache.  It is a more expensive form of RAM, however, it is utilized to help speed things up quite a bit.  There are a number of locations where we see cache being used.  For example, the CPU register, on the processor portion and then also built onto the motherboard. Regardless of where the location of cache memory, its purpose is the same – saving a location for things that are requested repeatedly, so as to speed up the next time the same request occurs.  Cache is important for storing things we anticipate we’ll need to use in near future.

Cache is a very important usage of static RAM. There’s also all types of virtual cache applications. In the hardware aspect, because the static RAM can hold their charge much longer, there are millions of transistors associated.   Hence, it is also much more expensive.  As an example of some of the differences, at one point intel sold two types of chips: pentium and the celeron. With these choices, you saw both were made for a 933 system. They both operated at the same speed. However, the celeron processor would be less expensive than that of the pentium, by a hundred dollars or even more in value.  The differences between the two is that the celeron chip had 128 Megs of onboard cache versus the 512 Megs of onboard cache of memory on the Pentium.  So, the primary difference was in the less amount of onboard memory which led to over a hundred dollars in cost.  So, the static cache or RAM, is very expensive. As a big part of our understanding about types of RAM, this is also why static RAM is also not used for system memory. In addition to cache memory being a type of s RAM, there is the dynamic or d RAM which generally is what developers use for the system memory.  Another major branch of memory is read only memory.  The next section is a discussion of this other major branch of memory.

The second major branch of memory,(also known as secondary storage) more commonly referred to as ROM, or read only memory, is a type of memory that can only be written to it as one-time-only deal.   There are a number of different types of ROM which can be used in a variety of ways.There are the CD-ROMs that can be written to as a blank disc, there are musical CD-ROMs that your system can read but cannot write to.  There are kinds of ROM which historically, used to be in chips and motherboard development.  There is also the programmable read only as well as electronic erasable programmable read only. All of these are important for our devices, and in some of the basis for system architecture.

At one point in time, chips and motherboards were written as ROM memory.  There’d be basic instruction which couldn’t be modified. So, as an upgrade could be in order to PROM which is programmable ROM memory.  However, that still wasn’t flexible enough.  So the next update was to the EEPROM which is where it can be electronically erased and programmed as ROM memory.The EEPROM chip is the erasable chip for the system’s BIOS.  Historically before being able to use an erasable memory, there was some tricks into convincing the BIOW to rewrite memory.  For example, the “Flashing the BIOS”  technique was when you could take the sticky tape off of the BIOS chip  and expose it to UV light.  Because of the exposure to UV light, then the BIOS would be more open to having parts of it rewritten.  When people talk about upgrading their processor, they’ll refer to it as “flashing the BIOS”, giving the nod to the more cumbersome but more traditional method of rewriting the BIOS.

The EEPROM is what most devices are using today.  We currently can now use software off of a thumbdrive, to flash the BIOS today.  The issue isn’t having it easier for us to update our files but more to do with the fact that if it’s easier for us to update, then it’s also easier for the people who want to cause harm to also update our BIOS but not with anything helpful. We have to be cognizant of the fact that the BIOS can become corrupted because of threats to the system and  that our chips are much easier to rewrite to, and so be mindful about how we improve performance and cost.  So having these options would be easier for us to make changes, but again it would also make it easier for others who aren’t invited, to also make changes as well.

So, in summary there are several different types of memory.  The primary is the RAM and the secondary is ROM. Cache memory is RAM but for a more specialized purpose.  There are other types of RAM memory as well, just as there are differing types of ROM memory. All of these make for an understanding with underlying principles associated with upgrades to the processor, chips, motherboard, and so on to improve the performance and cost of of the overall system architecture.