Saturday, October 18, 2008

                                    PRIMARY MEMORY

• Blocks of spaces that computer can address from time to time to help in processing airthmetic and logical operations and also hold programs and data being manipulated are called primary memory or system memory or memory.
• In other words the CPU continuously reads instructions stored there and executes them. Any data actively operated on is also stored there in uniform manner.
• It is the only one directly accessible to the CPU.

HISTORY

• Early computers used delay lines, Williams’s tubes, or rotating magnetic drums as primary storage.
• By 1954, those unreliable methods were mostly replaced by magnetic core memory, which was still rather cumbersome. But with the invention of a transistor unbelievable miniaturization of electronic memory via solid-state silicon chip technology was possible.
• This led to a modern random access memory (RAM). It is small-sized, light, but quite expensive at the same time. (The particular types of RAM used for primary storage are also volatile, i.e. they lose the information when not powered)

PRIMARY MEMORY includes

1. Random access memory
2. Read only memory
3. Flash memory
4. Cache memory

RANDOM-ACCESS MEMORY (RAM)

• RAM is a type of computer data storage which takes the form of integrated circuits that allow the stored data to be accessed in any order, i.e. at random. Thus, the word random thus to the fact that any piece of data can be returned in a constant time, regardless of its physical location and whether or not it is related to the previous piece of data.[1]
• RAM is mostly associated with volatile types of memory where the information is lost after the power is switched off.

HISTORY

• An early type of widespread writable random access memory was the magnetic core memory, developed in 1949-1951, and subsequently used in most computers up until the development of the static and dynamic integrated RAM circuits in the late 1960s and early 1970s.
• Before this, computers used relays, delay lines or various kinds of vacuum tube arrangements to implement "main" memory functions (i.e. hundreds or thousands of bits), some of which were random access, some not.
• Latches built out of vacuum tube triodes, and later, out of discrete transistors, were used for smaller and faster memories such as registers and (random access) register banks.

TYPES OF RAM

On the basis, the way the data is stored RAM can be further divided into two :

i. STATIC  RAM (SRAM)

 SRAM is a type of semiconductor memory where the word statici.e: it does not need to be periodically refreshed, as SRAM uses bistable latching circuitry to store each bit.
 SRAM exhibits data remanence,[1] but is still volatile in the conventional sense that data is eventually lost when the memory is not powered.

CHARACTERISTICS

 More expensive
 Faster
 Less power consuming
 SRAM is also easier to control
 More complex internal structure.

ii. DYNAMIC  RAM (DRAM)

• 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.
• The advantage of DRAM 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.
• It is also in the class of volatile memory devices, since it loses its data when the power supply is removed. (Unlike SRAM however, data may still be recovered for a short time after power-off).

RECENT DEVELOPMENTS

 Several new types of non-volatile RAM, which will preserve data while powered down, are under development.
 The technologies used include carbon nanotubes and the magnetic tunnel effect.
 In 2003, a 128 KB magnetic RAM chip manufactured with 0.18 µm technology was introduced. The core technology of MRAM is based on the magnetic tunnel effect.
 In 2004, Infineon Technologies unveiled a 16 MB[3] prototype again based on 0.18 µm technology.
 Nantero built a functioning carbon nanotube memory prototype 10 GB[3] array in 2004.
 Since 2006, "Solid-state drives" (based on flash memory) with capacities exceeding 150 gigabytes and speeds far exceeding traditional disks have become available. This development has started to blur the definition between traditional random access memory and "disks", dramatically reducing the difference in performance.

READ-ONLY MEMORY (ROM)

 ROM refers only to mask ROM (the oldest type of solid state ROM), which is fabricated with the desired data permanently stored in it, and thus can never be modified.
 The term ‘read only means that the storage cannot be altered by regular program instructions’.

WORKING OF ROM

ROM chips contain a grid of columns and rows. While RAM uses transistors to turn on or off access to a capacitor at each intersection, ROM uses a diode to connect the lines if the value is 1. If the value is 0, then the lines are not connected at all.
A diode normally allows current to flow in only one direction and has a certain threshold, known as the forward breakover, that determines how much current is required before the diode will pass it on. In silicon-based items such as processors and memory chips, the forward breakover voltage is approximately 0.6 volts. By taking advantage of the unique properties of a diode, a ROM chip can send a charge that is above the forward breakover down the appropriate column with the selected row grounded to connect at a specific cell. If a diode is present at that cell, the charge will be conducted through to the ground, and, under the binary system, the cell will be read as being "on" (a value of 1). The neat part of ROM is that if the cell's value is 0, there is no diode at that intersection to connect the column and row. So the charge on the column does not get transferred to the row.

HISTORY

 The simplest type of solid state ROM is as old as semiconductor technology itself. Combinatorial logic gates can be joined manually to map n-bit address input onto arbitrary values of m-bit data output (a look-up table).
 With the invention of the integrated circuit came mask ROM. Mask ROM consists of a grid of word lines (the address input) and bit lines (the data output), selectively joined together with transistor switches, and can represent an arbitrary look-up table with a regular physical layout and predictable propagation delay.

USE OF ROM

 Every stored-program computer requires some form of non-volatile storage to store the initial program that runs when the computer is powered on or otherwise begins execution (a process known as bootstrapping, often abbreviated to "booting" or "booting up"). For this purpose ROM was employed as non-volatile storage for programs in most early stored-program computers, such as ENIAC after 1948 (until then it was not a stored-program computer as every program had to be manually wired into the machine, which could take days to weeks).
 ROM and its successor technologies remain prevalent in embedded systems, such as MP3 players, set-top boxes, and broadband routers.
 ROM is also useful for binary storage of cryptographic data, as it makes them difficult to replace, which may be desirable in order to enhance information security.

TYPES OF ROMs

SEMICONDUCTOR BASED

Classic mask-programmed ROM chips are integrated circuits that physically encode the data to be stored, and thus it is impossible to change their contents after fabrication. Other types of non-volatile solid-state memory permit some degree of modification:
• Programmable read-only memory (PROM), or one-time programmable ROM (OTP), can be written to or programmed via a special device called a PROM programmer. Typically, this device uses high voltages to permanently destroy or create internal links (fuses or antifuses) within the chip. Consequently, a PROM can only be programmed once.
• Erasable programmable read-only memory (EPROM) can be erased by exposure to strong ultraviolet light (typically for 10 minutes or longer), then rewritten with a process that again requires application of higher than usual voltage. Repeated exposure to UV light will eventually wear out an EPROM, but the endurance of most EPROM chips exceeds 1000 cycles of erasing and reprogramming. To rewrite an EPROM, you must erase it first. To erase it, you must supply a level of energy strong enough to break through the negative electrons blocking the floating gate. In a standard EPROM, this is best accomplished with UV light at a frequency of 253.7. Because this particular frequency will not penetrate most plastics or glasses, each EPROM chip has a quartz window on top of it. The EPROM must be very close to the eraser's light source, within an inch or two, to work properly.
An EPROM eraser is not selective; it will erase the entire EPROM. The EPROM must be removed from the device it is in and placed under the UV light of the EPROM eraser for several minutes. An EPROM that is left under too long can become over-erased. In such a case, the EPROM's floating gates are charged to the point that they are unable to hold the electrons at all

• Electrically erasable programmable read-only memory (EEPROM) is based on a similar semiconductor structure to EPROM, but allows its entire contents (or selected banks) to be electrically erased, then rewritten electrically, so that they need not be removed from the computer (or camera, MP3 player, etc.). Writing or flashing an EEPROM is much slower (milliseconds per bit) than reading from a ROM or writing to a RAM (nanoseconds in both cases), since available densities are not as great and the cost per bit is higher.

Electrically erasable programmable read-only memory (EEPROM) chips remove the biggest drawbacks of EPROMs.

In EEPROMs:

• The chip does not have to remove to be rewritten.
• The entire chip does not have to be completely erased to change a specific portion of it.
• Changing the contents does not require additional dedicated equipment.
Instead of using UV light, you can return the electrons in the cells of an EEPROM to normal with the localized application of an electric field to each cell. This erases the targeted cells of the EEPROM, which can then be rewritten. EEPROMs are changed 1 byte at a time, which makes them versatile but slow. In fact, EEPROM chips are too slow to use in many products that make quick changes to the data stored on the chip.

OTHER TECHNOLOGIES

There are other types of non-volatile memory which are not based on solid-state IC technology, includes:
• Optical storage media, such CD-ROM which is read-only (analogous to masked ROM). CD-R is Write Once Read Many (analogous to PROM), while CD-RW supports erase-rewrite cycles (analogous to EEPROM); both are designed for backwards-compatibility with CD-ROM.
Cache

A CPU cache is a cache used by the central processing unit of a computer to reduce the average time to access memory. The cache is a smaller, faster memory which stores copies of the data from the most frequently used main memory locations. As long as most memory accesses are to cached memory locations, the average latency of memory accesses will be closer to the cache latency than to the latency of main memory.
When the processor needs to read from or write to a location in main memory, it first checks whether a copy of that data is in the cache. If so, the processor immediately reads from or writes to the cache, which is much faster than reading from or writing to main memory.

FLASH MEMORY

Flash memoryis non-volatile computer memory that can be electrically erased and reprogrammed. It is a technology that is primarily used in memory cards and USB flash drives for general storage and transfer of data between computers and other digital products. It is a specific type of EEPROM (Electrically Erasable Programmable Read-Only Memory) that is erased and programmed in large blocks; in early flash the entire chip had to be erased at once. Flash memory costs far less than byte-programmable EEPROM and therefore has become the dominant technology wherever a significant amount of non-volatile, solid-state storage is needed. Example applications include PDAs (personal digital assistants), laptop computers, digital audio players, digital cameras and mobile phones. It has also gained popularity in the game console market, where it is often used instead of EEPROMs or battery-powered SRAM for game save data.
Flash memory is non-volatile, which means that no power is needed to maintain the information stored in the chip. In addition, flash memory offers fast read access times (although not as fast as volatile DRAM memory used for main memory in PCs) and better kinetic shock resistance than hard disks. These characteristics explain the popularity of flash memory in portable devices. Another feature of flash memory is that when packaged in a "memory card," it is enormously durable, being able to withstand intense pressure, extremes of temperature, and even immersion in water.

REGISTERS

As the instructions are interpreted and executed by the CPU, there is movement of information between the various units of the computer system. In order to handle this process satisfactorily and to speed up the rate of information transfer , the computer uses a number of special memory units called registers. Registers are temporary memory units and are located in the processor. Registers are fast memory, almost always connected to circuitry that allows various arithmetic, logical, control, and other manipulations. Most early computers had only one data register that could be used for arithmetic and logic instructions. Often there would be additional special purpose registers set aside either for temporary fast internal storage or assigned to logic circuits to implement certain instructions. Some early computers had one or two address registers that pointed to a memory location for memory accesses Computers soon had multiple data registers, address registers, and sometimes other special purpose registers. Some computers have general purpose registers that can be used for both data and address operations.
The length of registers equals the number of bits it can store. Thus a register that can store 8 bits is known as 8 bit registers. The size of registers is sometimes called the word size, indicates the amount of data, which the computer can process in a given period.
The numbers of registers varies among computers. Most computers use several types of registers, each designed to perform a specific function. Each of the registers possesses the ability to receive information, to hold it temporarily and to pass it on as directed by the control unit.

TYPES OF REGISTERS

1 MEMORY ADDRESS REGISTER (MAR): This register contains the address of the place the CPU wants to work with in the main memory. It is directly connected to the RAM chips on the motherboard. It holds the address of the active memory location.

2 MEMORY BUFFER REGISTER (MBR): This register contains the word that was either loaded from main memory or that is going to be stored in main memory. It is also directly connected to the RAM chips on the motherboard. An instruction word placed in this register is transferred to the instruction register. A word to be stored in a memory location must first be transferred to the MBR, from where it is written in the memory.

3 PROGRAM COUNTER REGISTER (PCR): The program counter points to the memory location that stores the next executable instruction. This register goes through a step by step counting sequence and causes the computer to read the successive instruction previously stored in the memory. It is assumed that instruction words are stored in consecutive memory location and read and executed in a sequence unless a branch instruction is encountered.

A BRANCH INSTRUCTION is an operation that calls for a transfer to a non consecutive instruction. The address of a branch instruction is transferred to the PC register to become the address of next instruction. To read the instruction the content of PC register is transferred to the MAR and the memory read cycle is initiated.


4 ACCUMULATOR REGISTER (A) :In a computer's central processing unit CPU, an accumulator is a register in which intermediate arithmetic and logic results are stored. Without a register like an accumulator, it would be necessary to write the result of each calculation (addition, multiplication, etc.) to main memory, perhaps only to be read right back again for use in the next operation. Access to main memory is slower than access to a register like the accumulator because the technology used for the large main memory is slower (but cheaper) than that used for a register.
The canonical example for accumulator use is summing a list of numbers. The accumulator is initially set to zero, then each number in turn is added to the value in the accumulator. Only when all numbers have been added is the result held in the accumulator written to main memory or to another, non-accumulator, CPU register.
An accumulator machine, also called a 1-operand machine, is a kind of CPU in which -- although it may have several registers -- the CPU always stores the results of most calculations in one special register -- typically called "the" accumulator of that CPU. Historically almost all early computers were accumulator machines; and many microcontrollers still popular as of 2008 (such as the Freescale 68HC12 and the PICmicro) are accumulator machines.
Modern CPUs are typically 2-operand or 3-operand machines -- the additional operands specify which one of many general purpose registers (also called "general purpose accumulators") are used as the source and destination for calculations. These CPUs are not considered "accumulator machines".

5 INSTRUCTION REGISTER (IR) : It store the instruction currently being executed. As soon as the insruction is stored in this register, the operation part and the address part of the instruction is separated. The address part of the instruction is sent to the MAR while it’s operation part is sent to the control section where it is decoded and interpreted and ultimatly command signals are generated to carry out the task specified by the instruction.

6 INPUT/OUTPUT REGISTERS (I/O): This register is used to communicate with the input/ output devices. All input information such as instruction and data are transferred to this register by an input device. Similarly, all output information to be transmitted to an output device is found in this register.

7 GENERAL PURPOSE REGISTER (GPR): It can store both data and addresses, i.e., they are combined Data/Address registers.

8 DATA REGISTER:It is used to hold numeric values such as integer and floating-point values. In some older and low end CPUs, a special data register, known as the accumulator, is used implicitly for many operations.

9 CONDITIONAL REGISTER: It hold truth values often used to determine whether some instruction should or should not be executed.

10 CONSTANT REGISTER: Constant registers are special read-only registers that store a constant. Attempts to write to a constant register are illegal or ignored. Constant registers are used to store commonly used values (such as zero, one, or negative one) — for example, a constant register containing zero can be used in register to register data moves, providing the equivalent of a clear instruction without adding one to the instruction set.



EXECUTION OF AN INSTRUCTION

The execution of instruction by the CPU during program execution normally involves the following steps:

1 The control unit takes the address of the next program instruction to b executd from the program control register and reads the instruction from the corresponding memory address into the instruction register of the control unit.

2 The control unit then sends the operation part and the address part of the instruction to the decoder and the memory address register respectively.

3 The decoder interprets the instruction an accordingly the control unit sends signsls to the appropriate unit that needs to be involved in carrying out the task specified in the instruction. For example if it is an arithmetic or logic operation the signal is send to the ALU. In this case the control unit also ansures that the data corresponding to the address part of the instruction is loaded in a suitabl register in the ALU before the signal is send to the ALU. The ALU performs the necessary operation on the data and signals the control unit as soon as it has finished.

4 As each instruction is executed, the address of next instruction to be executed automatically gets loaded into the program control register and steps 1 to 4 get repeated.