Consider the various aspects of an ideal computer memory discussed in Section 2.1.1 and the characteristics of
Question:
Consider the various aspects of an ideal computer memory discussed in Section 2.1.1 and the characteristics of available memory devices discussed in Section 2.1.2. Fill in the columns of the table below with the following types of memory devices, in order from most desirable to least desirable: magnetic hard disk, semiconductor DRAM, CD-R, DVD-RW, semiconductor ROM, DVD-R, semiconductor flash memory, magnetic floppy disk, CD-RW, semiconductor static RAM, and semiconductor EPROM.
Data From Section 2.1.1
What would be the characteristics of an ideal memory device? As designers or at least potential users of a computer system, we could make a list of attributes we would like our memory system to have. Several come quickly to mind:
Low cost: Ideally, we would like memory to be free; failing that, we would like it to be as inexpensive as possible so that we can afford all we need. In order to make a fair comparison of cost between memory devices of different sizes, we generally refer to the price of memory per amount of storage. Once upon a time, it was common to refer to the cost of memory in terms of dollars per bit or byte of storage; now, it would be more appropriate to price memory in dollars per gigabyte or even dollars per terabyte. In any event, we would like this cost to be as low as possible while meeting any other requirements we might have.
High speed: Every type of memory has an associated access time (time to read or write a single piece of information) and cycle time (the time between repetitive reads or writes; sometimes, due to overhead or device recovery time, the cycle time is longer than the access time).
Depending on the type of device, these times may be measured in milliseconds, microseconds, nanoseconds, or even picoseconds. The shorter the access and cycle times, the faster the device. Ideally, we would like to be able to store information, or access stored information, instantly (in zero time), but this is not possible in the real world. Practically, in order to keep our CPU busy rather than “sitting around” waiting, we need to be able to access information in memory in the same or less time that it takes to perform a computation.
This way, while the current computation is being performed, we can store a previous result and obtain the operand for the next computation.
High density: An ideal memory device would have very high information density—that is to say, we would like to be able to store a great deal of information in a small physical space. We might refer to the number of gigabytes or terabytes that can be stored in a given area of circuit board space or, more properly, in a given volume (e.g., cubic inches or cubic centimeters). We cannot store an infinite amount of information in a finite amount of space or any finite amount of information in an infinitesimal space, but the closer a given memory technology can come to approximating this, the better we like it.
Nonvolatile: Many memory technologies are volatile; they require continuous application of power (usually electrical) in order to retain their contents. This is obviously undesirable, as power outages are an unavoidable fact of life (and according to Murphy’s Law, they will always occur at the least desirable moment). Some types of memory, for example the dynamic RAM that is used as main memory in most computer systems, require not only continuous power but periodic refresh of the stored information. Such a memory is volatile in more ways than one. All else being equal, we would prefer to use a memory technology that is nonvolatile, meaning it maintains its stored information indefinitely in the absence of power and outside intervention.
Read/write capable: For maximum versatility, we would like to be able to store or retrieve information in memory at any time. Memory devices that allow the user to readily store and retrieve information are called read/write memories (RWMs). The less desirable alternative is a memory with fixed contents that can only be read; such a device is called a read-only memory (ROM). Of course, a write-only memory that allowed storage but not retrieval wouldn’t make much sense; it would effectively be an information black hole. There are also some memory technologies that allow writes to occur, but in a way that is more costly (in terms of time, overhead, device life, or some other factor) than reads. We might refer to such a device, such as a flash memory, as a “read-mostly memory.” Again, all else being equal, we would usually prefer a RWM over other types.
Low power: In an ideal world, memory would require no energy at all to operate; once again, that is not achievable with real technologies in the real world. Volatile memory devices require continuous application of power. Even nonvolatile memories, which can maintain their contents without power, require power for information to be read or written. Sometimes, this is a relatively minor consideration;
in other applications, such as when heating is a problem or when a system must run off batteries, it is critical that our memory system consume as little power as possible. All else being equal, memory that consumes less power is always better (unless it is winter and your computer is doubling as a space heater).
Durability: We would like our memory system to last forever, or at least until the rest of the system is obsolete and we are ready to retire it. Based on historical data and knowledge of their manufacturing processes, memory device manufacturers may provide an estimate of the mean time between failures (MTBF) of their products. This is the average time a given part is supposed to last.
(Keep in mind, however, that the life of any individual device may vary quite a bit from the average.) They may also express the expected lifetime of the product in other ways, for example, in terms of the total number of read and write operations it should be able to perform before failing. (For this information to be useful, one has to be able to estimate how frequently the device will be accessed during normal operations.) Durability may also be interpreted in terms of a device’s ability to survive various forms of abuse, such as impact, temperature and humidity extremes, etc. In general, memory technologies that do not employ moving mechanical parts tend to last longer and survive more mistreatment than those that do.
Removable: In many instances, we consider it an advantage to be able to transport memory (and preferably its contents) from one computer system to another. This facilitates being able to share and back up information. In rare situations, for example, in which physical security of information (e.g., government or trade secrets) is extremely important, being able to remove memory devices may be considered undesirable. In most cases, however, it is a desirable feature, and in some cases, it is essential.
You can probably think of other desirable characteristics that a computer’s memory system might ideally have, but even from the above list, it is obvious that no memory technology currently in use or likely to be developed in the near future has all of these ideal characteristics. In the next few pages, we explore some of the characteristics and limitations of popular memory technologies. Then, in the remainder of this chapter, we examine some of the techniques used in memory system design to maximize the advantages of each type of memory while minimizing or compensating for the disadvantages. The goal, of course, is a memory system that is fast, has high storage capacity, is readable and writable, maintains its contents under as many scenarios as possible, and yet is as inexpensive and convenient to use as possible.
Data From Section 2.1.2
Several types of memory devices are used in modern computer systems.
The most popular types of memory are semiconductor chips (integrated circuits) and magnetic and optical media. There are several subtypes using each of these technologies, and each of these has some of the advantages mentioned in the previous section but also some disadvantages. As potential designers or at least users of computer systems, we need to be familiar with these memory technologies.
Semiconductor memories in general possess the advantage of speed.
This is why the main memory space of virtually all modern computers is populated exclusively with semiconductor devices, and magnetic and optical devices are relegated to the role of secondary or tertiary (backup)
storage. The CPU is built using semiconductor technology, and only a similar memory technology can keep up with processor speeds. In fact, not all semiconductor memories can operate at the full speed of most modern CPUs; this is why the vast majority of semiconductor main memory systems have an associated cache memory (see Section 2.4) made up of the very fastest memory devices. The semiconductor memory technology with the highest information density is dynamic random access memory (DRAM). For this reason, because it is read/write memory, and because it has a relatively low cost per gigabyte, DRAM is used for the bulk of main memory in most computer systems.
A DRAM device consists of a large array of capacitors (electrical devices capable of storing a charge). A charged capacitor is interpreted as storing a binary 1, and an uncharged capacitor indicates binary 0.
Unfortunately, the capacitors in a DRAM device will discharge, or leak, over time; thus, to be able to continue to distinguish the 1s from the 0s and avoid losing stored information, the information must periodically be read and then rewritten. This process is called dynamic RAM refresh.
It adds to the complexity of the memory control circuitry, but in general, this is a worthwhile trade-off due to the low cost and high storage density of DRAM.
Given the desired main memory size in most computer systems as compared to the amount of DRAM that can be fabricated on a single integrated circuit, DRAM is not usually sold as individual chips. Rather, several integrated circuits (ICs) are packaged together on a small printed circuit board module that plugs into the system board, or motherboard.
These modules come in various forms, the most popular of which are known as dual inline memory modules (DIMMs) and small outline dual inline memory modules (SODIMMs). Some of these modules are faster (have lower access times and/or higher synchronous clock frequencies) than others, and different types plug into different size sockets (thus, it is important to buy the correct type for a given system), but they all use DRAM devices as the basic storage medium.
Although dynamic RAM offers relatively low-cost and high-density storage, in general it is not capable of keeping up with the full speed of today’s microprocessors. Capacitors can be made very small and are easy to fabricate on silicon, but they take time to charge and discharge; this affects the access time for the device. The highest-speed semiconductor read/write memory technology is referred to as static random access memory (SRAM). In a SRAM device, the binary information is stored as the states of latches or flip-flops rather than capacitors. (In other words, SRAM is built in a very similar way to the storage registers inside a CPU.) SRAM is less dense than DRAM (it takes more silicon “real estate” to build a static RAM cell than a capacitor) and therefore is more expensive per amount of storage. SRAM, like DRAM, is a volatile technology that requires continuous application of electrical power to maintain its contents. However, because the bits are statically stored in latches, SRAM does not require periodic refresh. Contents are maintained indefinitely as long as power is applied. Compared to DRAM, SRAM circuitry requires more power for read/write operation, but some SRAMs, such as the Complementary Metal Oxide Semiconductor (CMOS) static RAM devices sometimes used to retain system settings, require very little current in standby mode and thus can maintain stored information for years under battery power.
Semiconductor read-only memories (ROMs), including programmable read-only memories (PROMs) and erasable/programmable read-only memories (EPROMs), are roughly comparable to SRAM in cost and density although they generally operate at DRAM speeds or slower. They are nonvolatile but have the major limitation of not being writable (although EPROMs can be reprogrammed in a separate circuit after erasure with ultraviolet light). Because they are not read/write memories, ROMs are only useful in limited applications, such as single-purpose embedded systems, video game cartridges, and the basic input/output system (BIOS) that contains the bootstrap code and low-level input/output (I/O) routines for most typical computer systems.
Semiconductor “read-mostly” memories include electrically erasable programmable read-only memories (EEPROMs) and their technological descendants, flash memories. These memories are nonvolatile, but unlike ROMs, they are rewritable in-circuit. Writes, however, can take significantly longer than reads to perform and in some cases must be done as “block” writes rather than individual memory locations. Also, these devices are more expensive than most other semiconductor memories and can only be rewritten a limited number (usually a few tens or hundreds of thousands) of times, so they are not suitable for populating the entire main memory space of a computer. Instead, read-mostly memories are typically used for special-purpose applications, such as digital cameras, portable thumb drives, hybrid drives, tablet computers, and smartphones.
Magnetic memories have been in use much longer than semiconductor memories—almost as long as there have been electronic computers.
Mainframe computers of the 1950s often used rotating magnetic drums for storage; a few years later, magnetic core memory became the standard technology for main memory and remained so until it was replaced by integrated-circuit RAM and ROM in the 1970s. Magnetic core memory, like all magnetic memories, offered the advantage of nonvolatility (except in the presence of a strong external magnetic field). Access times were on the order of microseconds, however, and so this technology fell out of favor when faster semiconductor memories became cost-competitive.
Another related (but slower) technology, magnetic bubble memory, was once thought ideal for long-term storage applications but could not compete with inexpensive disk drives, battery–backed-up SRAMS, and EEPROMs;
it eventually died out. Ferroelectric RAM (FeRAM), another descendant of core memory, is still in production but has never caught on widely due to its much lower information storage density as compared with DRAM and flash memory.
Magnetic storage in most modern computer systems is in the form of disk and tape drives. Access times for magnetic disks are on the order of milliseconds or longer, so this technology is useful only for secondary storage, not main memory. Tape drives are even slower due to the frequent necessity of traversing a long physical distance down the tape in order to find the needed information. The chief advantages of magnetic memories, besides their nonvolatility, are very low cost per gigabyte of storage and extremely high information density (a hard drive can store a terabyte or more of data in a few cubic inches of space). Removable disks and tape cartridges (and some hard drives) also offer the advantage of portability.
Although magnetic memories are currently relegated to secondary storage applications, magnetic RAM (MRAM) is a developing memory technology that has the potential to eventually replace DRAM in main memory applications. MRAM operates on the principle of magnetoresistance, where an electric current is used to change the magnetic properties of a solid-state material. Pieces of this material are sandwiched between two perpendicular layers of wires. A bit is stored at each point where one wire crosses over another. To write a bit, a current is passed through the wires; changing the polarity of the magnet changes the electrical resistance of the sandwiched material. Reading a bit is accomplished by passing a current through the wires connected to a sandwich and detecting its resistance; a high resistance is interpreted as a binary 1 and a low resistance as binary 0.
Because the bits are stored as magnetic fields rather than electrical charge, MRAM (like other magnetic memories) is nonvolatile. If it can achieve density, speed, and cost comparable to DRAM (no small feat, but a reasonable possibility), MRAM will enable the development of “instanton”
computers that retain the operating system, applications, and data in main memory even when the system is turned off. Several companies, including IBM, Honeywell, Everspin, and Cypress Semiconductor, have produced MRAM devices in limited quantities. However, perhaps due to continued high demand for DRAM and flash memory, manufacturers have been hesitant to commit resources (money and fabrication plants)
to high-volume production of MRAM chips. If and when they are mass produced, MRAM devices could largely replace DRAM in computer main memory applications within a few years.
Optical memories are becoming more and more common—all the way down to low-end computer systems. Even inexpensive personal computers often have an optical drive that can at least read and often write various types of optical disks including compact disks (CDs), digital versatile disks (DVDs), and/or Blu-ray disks (BDs). Depending on type, an optical disk can store anywhere from several hundred megabytes of data (CD) to as much as 50 GB (Blu-ray) at a typical price of less than one dollar each. In addition to their low cost, optical disks offer most of the same advantages (portability, nonvolatility, and high density) as magnetic disks and also are immune to erasure by magnetic fields. They are much too slow to be used for main memory, however, and the writing process takes considerably longer than writing to a magnetic disk. Their most common uses are for distribution of software and digitally recorded audio/video and as an inexpensive form of backup/archival data storage.
Step by Step Answer:
Computer Architecture Fundamentals And Principles Of Computer Design
ISBN: 9781032097336
2nd Edition
Authors: Joseph D. Dumas II