Saturday, January 6, 2007

DIMM Ranking

The number of ranks on any DIMM is the number of independent sets of DRAMs that can be accessed simultaneously for the full data bit-width of the DIMM to be driven on the bus. The physical layout of the DRAM chips on the DIMM itself does not necessarily relate to the number of ranks. Sometimes the layout of all DRAM on one side of the DIMM PCB versus both sides is referred to as "single-sided" versus "double-sided".

These terms may cause confusion as they do not necessarily relate to how the DIMMs are logically organized or accessed.

For example, on a single rank DIMM that has 64 data bits of I/O pins, there is only one set of DRAMs that are turned on to drive a read or receive a write on all 64-bits. In most electronic systems, memory controllers are designed to access the full data bus width of the memory module at the same time.

On a 64-bit (non-ECC) DIMM made with two ranks, there would be two sets of DRAM that could be accessed at different times. Only one of the ranks can be accessed at a time, since the DRAM data bits are tied together for two loads on the DIMM (Wired OR). Ranks are accessed through chip selects (CS). Thus for a two rank module, the two DRAMs with data bits tied together may be accessed by a CS per DRAM (e.g. CS0 goes to one DRAM chip and CS1 goes to the other). DIMMs are currently being commonly manufactured with up to four ranks per module.

Consumer DIMM vendors have recently begun to distinguish between single and dual ranked DIMMs. JEDEC decided that the terms "dual-sided," "double-sided," or "dual-banked" were not correct when applied to registered DIMMs.

Dual In-line Memory Module DIMM

A DIMM, or dual in-line memory module comprises a series of random access memory integrated circuits. These modules are mounted on a printed circuit board and designed for use in personal computers. DIMMs began to replace SIMMs (single in-line memory modules) as the predominant type of memory module as Intel's Pentium processors began to control the market.

The main difference between SIMMs and DIMMs is that SIMMs have a 32-bit data path, while DIMMs have a 64-bit data path. Since Intel's Pentium has (as do several other processors) a 64-bit bus width, it required SIMMs installed in matched pairs in order to use them. The processor would then access the two SIMMs simultaneously. DIMMs were introduced to eliminate this inefficiency. Another difference is that DIMMs have separate electrical contacts on each side of the module, while the contacts on SIMMs on both sides are redundant.
The most common types of DIMMs are:

72-pin-DIMMs, used for SO-DIMM
144-pin-DIMMs, used for SO-DIMM
200-pin-DIMMs, used for SO-DIMM
168-pin-DIMMs, used for FPM, EDO and SDRAM
184-pin-DIMMs, used for DDR SDRAM
240-pin-DIMMs, used for DDR2 SDRAM

There are 2 notches on the bottom edge of 168-pin-DIMMs, and the location of each notch determines a particular feature of the module.

The first notch is DRAM key position. It represents RFU (reserved future use), registered, and unbuffered.

The second notch is voltage key position. It represents 5.0V, 3.3V, and Reserved.

The upper DIMM in the photo is an unbuffered 3.3V 168-pin DIMM. A DIMM's capacity and timing parameters may be identified with SPD (Serial Presence Detect), an additional chip which contains information about the module type.

ECC DIMMs are those that have extra data-bits which can be used by the system memory controller to detect and correct errors. There are numerous ECC schemes, but perhaps the most common is Single Error Correct, Double Error Detect (SECDED) which uses a 9th extra bit per byte.

Synchronous Graphics RAM (SGRAM)

SGRAM is a specialized form of SDRAM for graphics adaptors. It adds functions such as bit masking (writing to a specified bit plane without affecting the others) and block write (filling a block of memory with a single colour). Unlike VRAM and WRAM, SGRAM is single-ported. However, it can open two memory pages at once, which simulates the dual-port nature of other video RAM technologies.

SGRAM and SDRAM became the most popular types of DRAM at the end of the 1990s, and well into the first decade of the 2000s.

Burst EDO (BEDO) DRAM

An evolution of the former, Burst EDO DRAM, could process four memory addresses in one burst, for a maximum of 5-1-1-1, saving an additional three clocks over optimally designed EDO memory. It was done by adding an address counter on the chip to keep track of the next address. BEDO also added a pipelined stage allowing page-access cycle to be divided into two components. During a memory-read operation, the first component accessed the data from the memory array to the output stage (second latch). The second component drove the data bus from this latch at the appropriate logic level. Since the data is already in the output buffer, faster access time is achieved (up to 50% for large blocks of data) than with traditional EDO.
Although BEDO DRAM showed additional optimization over EDO, by the time it was available, the market had made a significant investment towards synchronous DRAM, or SDRAM, even though BEDO RAM was technically superior to SDRAM.

Extended Data Out (EDO) DRAM

EDO DRAM is similar to Fast Page Mode DRAM with the additional feature that a new access cycle can be started while keeping the data output of the previous cycle active. This allows a certain amount of overlap in operation (pipelining), allowing somewhat improved speed. It was 5% faster than Fast Page Mode DRAM, which it began to replace in 1993.

Single-cycle EDO has the ability to carry out a complete memory transaction in one clock cycle. Otherwise, each sequential RAM access within the same page takes two clock cycles instead of three, once the page has been selected. EDO's speed and capabilities allowed it to somewhat replace the then-slow L2 caches of PCs. It created an opportunity to reduce the immense performance loss associated with a lack of L2 cache, while making systems cheaper to build. This was also good for notebooks due to difficulties with their limited form factor, and battery life limitations. An EDO system with L2 cache was tangibly faster than the older FPM/L2 combination.

Single-cycle EDO DRAM became very popular on video cards towards the end of the 1990s. It was very low cost, yet nearly as efficient for performance as the far more costly VRAM.
EDO was sometimes referred to as Hyper Page Mode.

Window RAM or WRAM

Window RAM or WRAM is an obsolete type of semiconductor computer memory that was designed to replace video RAM (VRAM) in graphics adapters. It was developed by Samsung and also marketed by Micron Technology, but had only a short market life before being superseded by SDRAM and SGRAM.

WRAM has a dual-ported dynamic RAM structure similar to that of VRAM, with one parallel port and one serial port, but has extra features to enable fast block copies and block fills (so-called window operations). It was often clocked at 50 MHz. It has a 32-bit wide host port to enable optimal data transfer in PCI and VESA Local Bus systems. Typically WRAM was 50% faster than VRAM, but with costs 20% lower. It is sometimes erroneously called Windows RAM, because of confusion with the Microsoft Windows operating systems, to which it is unrelated apart from the fact that window operations could boost the performance of windowing systems.

Video DRAM (VRAM)

VRAM is a dual-ported version of DRAM formerly used in graphics adaptors. It is now almost obsolete, having been superseded by SDRAM and SGRAM. VRAM has two paths (or ports) to its memory array that can be used simultaneously.

The first port, the DRAM port, is accessed as with plain DRAM. The second port, the video port, is read-only, and is dedicated to feeding a fast stream of data to the display. To use the video port, the controller first uses the DRAM port to select the row of the memory array that is to be displayed. The VRAM then copies that entire row to an internal shift-register. The controller can then continue to use the DRAM port for drawing objects on the display. Meanwhile, the controller feeds a clock called the shift clock (SCLK) to the VRAM's video port. Each SCLK pulse causes the VRAM to deliver the next item of data, in strict address order, from the shift-register to the video port. For simplicity, the graphics adapter is usually designed so that the contents of a row, and therefore the contents of the shift-register, corresponds to a complete horizontal line on the display.

How Dynamic Random Access Memory (DRAM) Works

DRAM is usually arranged in a square array of one capacitor and transistor per cell. The illustrations above show a simple example with only 4 by 4 cells (modern DRAM can be thousands of cells in length/width). A read operation proceeds as follows: the row of the selected cell is activated, turning on the transistors and connecting the capacitors of that row to the sense lines. The sense lines lead to the sense amplifiers, which distinguish signals that represent a stored 0 or 1. The amplified value from the appropriate column is then selected and connected to the output. At the end of a read cycle, the row values must be restored to the capacitors, which were depleted during the read. A write operation is done by activating the row and connecting the values to be written to the sense lines, which charges the capacitors to the desired values. During a write to a particular cell, the entire row is read out, one value changed, and then the entire row is written back in, as illustrated in the figure to the right.

Typically, manufacturers specify that each row should be refreshed every 64 ms or less, according to the JEDEC standard. Refresh logic is commonly used with DRAMs to automate the periodic refresh. This makes the circuit more complicated, but this drawback is usually outweighed by the fact that DRAM is much cheaper and of greater capacity than SRAM. Some systems refresh every row in a tight loop that occurs once every 64 ms. Other systems refresh one row at a time -- for example, a system with 213 = 8192 rows would require a refresh rate of one row every 7.8 µs (64 ms / 8192 rows). A few real-time systems refresh a portion of memory at a time based on an external timer that governs the operation of the rest of the system, such as the vertical blanking interval that occurs every 10 to 20 ms in video equipment. All methods require some sort of counter to keep track of which row is the next to be refreshed. Some DRAM chips include that counter; other kinds require external refresh logic to hold that counter. (Under some conditions, most of the data in DRAM can be recovered even if the DRAM has not been refreshed for several minutes.

Dynamic Random Access Memory (DRAM)

Dynamic random access memory (DRAM) is a type of random access memory that stores each bit of data in a separate capacitor within an integrated circuit. Since real capacitors leak charge, the information eventually fades unless the capacitor charge is refreshed periodically. Because of this refresh requirement, it is a dynamic memory as opposed to SRAM and other static memory. Its advantage over SRAM is its structural simplicity: only one transistor and a capacitor are required per bit, compared to six transistors in SRAM. This allows DRAM to reach very high density. Since DRAM loses its data when the power supply is removed, it is in the class of volatile memory devices.

Random Access Memory RAM

Random access memory (usually known by its acronym, RAM) is a type of data store used in computers that allows the stored data to be accessed in any order — that is, at random, not just in sequence. In contrast, other types of memory devices (such as magnetic tapes, disks, and drums) can access data on the storage medium only in a predetermined order due to constraints in their mechanical design.

It costs practically the same time to access any piece of data stored in a RAM chip. In contrast, disks and the like need a short time to retrieve a piece of data if it happens to be close to the current position of the read head, and a long time if the data is far away and the head needs to be repositioned considerably.

Generally, RAM in a computer is considered main memory or primary storage: the working area used for loading, displaying and manipulating applications and data. This type of RAM is usually in the form of integrated circuits (ICs). These are commonly called memory sticks or RAM sticks because they are manufactured as small circuit boards with plastic packaging and are about the size of a few sticks of chewing gum. Most personal computers have slots for adding and replacing memory sticks.

Most RAM can be both written to and read from, so "RAM" is often used interchangeably with "read-write memory." In this sense, RAM is the "opposite" of ROM, but in a more true sense, of sequential access memory.

Laptop

A laptop computer or simply laptop (also notebook computer or notebook or labtop) is a small mobile computer, which usually weighs 2.2-12 pounds (1-6 kilograms), depending on size, materials and other factors.

While the terms laptop and notebook are often used interchangeably, "laptop" is the older term, introduced in 1983 with the Gavilan SC. "Notebook computer" is a later coinage, which was used to differentiate smaller devices such as those of the NEC UltraLite and Compaq LTE series in 1989, which were, in contrast to previous laptops, the approximate size of an A4 paper sheet.[1] The terms are imprecise: due to heat and other issues, many laptops are inappropriate for use on one's lap, and most notebooks are not the size of typical A4 paper notebook. Although some older portable computers, such as the Macintosh Portable and certain Zenith TurbosPort models, were sometimes described as "laptops", their size and weight were too great for this category.

Laptops usually run on a single battery or from an external AC/DC adapter which can charge the battery while also supplying power to the computer itself.
As personal computers, laptops are capable of the same tasks as a desktop PC, although they are typically less powerful for the same price. They contain components that are similar to their desktop counterparts and perform the same functions, but are miniaturized and optimized for mobile use and efficient power consumption. Laptops usually have liquid crystal displays and most of them use different memory modules for their random access memory (RAM), for instance, SO-DIMM in lieu of the larger DIMMs. In addition to a built-in keyboard, they may utilize a touchpad (also known as a trackpad) or a pointing stick for input, though an external keyboard or mouse can usually be attached.

Central Processing Unit

The central processing unit, or CPU, is the part of the computer that executes software programs, including the operating system. Nearly all PCs contain a type of CPU known as a microprocessor. The microprocessor often plugs into the motherboard using one of many different types of sockets. IBM PC compatible computers use an x86-compatible processor, usually made by Intel, AMD, VIA Technologies or Transmeta. Apple Macintosh processors were initially built with the Motorola 68000 family of processors, then the Power PC (a RISC architecture), but as of 2005, Apple has used x86 compatible processors from Intel.

Motherboard

The motherboard (or mainboard) is the primary circuit board for a personal microcomputer. Many other components connect directly or indirectly to the motherboard. Motherboards usually contain one or more CPUs, supporting circuitry and ICs for CPU operation, main memory, and facilities for initial setup of the computer immediately after being powered on (often called boot firmware or a BIOS). In many portable and embedded personal computers, the motherboard houses nearly all of the PC's core components. Often a motherboard will also contain one or more peripheral buses and physical connectors for expansion purposes. Sometimes a secondary daughter board is connected with the motherboard to provide further expandability or to satisfy space constraints.

Computers at Home

One early use of the term "personal computer" appeared in a November 3, 1962 New York Times article reporting John W. Mauchly's vision of future computing as detailed at a recent meeting of the American Institute of Industrial Engineers. Mauchly stated, "There is no reason to suppose the average boy or girl cannot be master of a personal computer." Forty years later, many boys and girls owned and used personal computers.

The minicomputer ancestors of the modern personal computer did not use microprocessors, which explained their size and high cost. After the commercialization of the "computer-on-a-chip", the cost of manufacture of a computer system dropped dramatically. The arithmetic, logic, and control functions that previously occupied several costly circuit boards were now available in integrated form. Concurrently, advances in the development of solid-state memory eliminated the bulky, costly, and power-consuming core storage used in prior generations of computers.

A programmable terminal called the Datapoint 2200 is the earliest known device that bears any significant resemblance to the modern personal computer. It was made by CTC (now known as Datapoint) in 1970 and was a complete system in a small case bearing the approximate footprint of an IBM Selectric typewriter. The system's CPU was constructed from a variety of discrete components, although the company had commissioned Intel to develop a single-chip processing unit; there was a falling out between CTC and Intel, and the chip Intel had developed wasn't used. Intel soon released a modified version of that chip as the Intel 8008, the world's first 8-bit microprocessor. The needs and requirements of the Datapoint 2200 therefore determined the nature of the 8008, upon which all successive processors used in IBM-compatible PCs were based. Additionally, the design of the Datapoint 2200's multi-chip CPU and the final design of the Intel 8008 were so similar that the two are largely software-compatible; therefore, the Datapoint 2200, from a practical perspective, can be regarded as if it were indeed powered by an 8008, which makes it a strong candidate for the title of "first microcomputer" as well.
Development of the single-chip microprocessor was an enormous catalyst to the popularization of cheap, easy to use, and truly personal computers. The Altair 8800, introduced in a Popular Electronics magazine article in the December, 1974 issue, at the time set a new low price point for a computer, bringing computer ownership to an admittedly select market in the 1970s. It was arguably this computer that spawned the development of both Apple Computer as well as Microsoft, spawning the Altair BASIC programming language interpreter, Microsoft's first product. The second generation of microcomputers — those that appeared in the late 1970s, sparked by the success of the Steve Wozniak-designed Apple release, the Apple II — were usually known as home computers. These were less capable and in some ways less versatile than large business computers of the day. They were generally used by computer enthusiasts for learning to program, running simple office/productivity applications, electronics interfacing, and general hobbyist pursuits. By the late 1990's, the "home computer" was becoming a less common label in favor of "personal computer." The graphics and sound capacities of "home" systems were matched by those intended for "business" purposes, with a general decrease in costs. The two market segments fused. These computers were pre-assembled, often pre-configured with bundled software, and required little technical knowledge to operate.

Mainframes

Before the advent of the microprocessor in the early 1970s, computers were generally large, costly systems owned by universities, government agencies, and similar-sized institutions. End users often did not directly interact with the machine but instead would prepare tasks for the computer on off-line equipment, such as card punches. A number of assignments for the computer would be gathered up and processed in batch mode. After the job had completed, users could collect the results. In some cases it could take hours or days between submitting a job to the computing center and receiving the output.
A more interactive form of computer use developed commercially by the middle 1960's. In a time-sharing system, multiple computer terminals let many people share the use of one mainframe computer processor. This was common in business applications and in science and engineering.

A different model of computer use was foreshadowed by the way in which early, pre-commercial, experimental computers were used, where one user had exclusive use of a processor. Some of the first computers that might be called "personal" were early minicomputers such as the LINC and PDP-8, and later on VAX and larger minicomputers from DEC, Data General, Prime, and others. By today's standards they were very large (about the size of a refrigerator) and cost prohibitive (typically tens of thousands of US dollars), and thus were rarely purchased by an individual. However, they were much smaller, less expensive, and generally simpler to operate than many of the mainframe computers of the time. Therefore, they were accessible for individual laboratories and research projects. Minicomputers largely freed these organizations from the batch processing and bureaucracy of a commercial or university computing center.

In addition, minicomputers were relatively interactive and soon had their own operating systems. The minicomputer Xerox Alto (1973) was a landmark step in the development of personal computers, because of its graphical user interface, bit-mapped high resolution screen, large internal and external memory storage, mouse, and special software. The minicomputer era was an intermediary step from mainframes to personal computer usage.

Minicomputers were available to smaller organizations than those that once used mainframes, but were not aimed at individuals, Ken Olsen, founder of DEC, has been widely quoted as saying in 1971 "I can think of no reason why an individual would want to own a computer." A few individuals, such as Steve Wozniak, had differing views, as will be seen below.

Personal Computer (PC)

A personal computer (PC) is a microcomputer whose price, size, and capabilities make it suitable for personal usage. The term was popularized by Apple Computer with the Apple II in the late-1970s and early-1980s, and afterwards by IBM with the IBM Personal Computer. Personal computers are also known as home computers.

Thursday, January 4, 2007

Computer

A computer is a machine for manipulating data according to a list of instructions.

Computers take numerous physical forms. Early electronic computers were the size of a large room, consuming as much power as several hundred modern personal computers. Today, computers can be made small enough to fit into a wrist watch and be powered from a watch battery. Society has come to recognize personal computers and their portable equivalent, the laptop computer, as icons of the information age; they are what most people think of as "a computer". However, the most common form of computer in use today is by far the embedded computer. Embedded computers are small, simple devices that are often used to control other devices—for example, they may be found in machines ranging from fighter aircraft to industrial robots, digital cameras, and even children's toys.

The ability to store and execute programs makes computers extremely versatile and distinguishes them from calculators. The Church–Turing thesis is a mathematical statement of this versatility: Any computer with a certain minimum capability is, in principle, capable of performing the same tasks that any other computer can perform. Therefore, computers with capability and complexity ranging from that of a personal digital assistant to a supercomputer are all able to perform the same computational tasks so long as time and storage capacity are not considerations.