computer ads by google

Thursday, February 26, 2009

CPU Forums

Topics


Posts


Last Post



Tech Trouble
Shoot your troubles or share your wealth of computing knowledge in an Ask and Answer forum.


3,954


31,405


I NEED router help BAD! Anyone a super smart guru? ..
2/25/2009 3:11:39 PM
by alphanumeric



Let's Hear It / Hardware
Praise or pummel new and emerging hardware products and technologies.


3,879


40,769


Need help with AMD Dragon build ..
2/26/2009 9:58:37 AM
by jcparks1980



Let's Hear It / Software
Praise or pummel new and emerging software programs & technologies.


1,805


15,684


Windows 7 Mid 2009 Release ..
2/26/2009 10:29:22 AM
by jjamesge



Reader Mods
Share your masterpiece with the world. Power and vanity mods welcome.


38


399


NZXT KHAOS CASE MOD "BIO-MECHANICAL" ..
2/26/2009 8:26:34 AM
by BillOwen3



CPU - The Mag & Site
How are we doing? Questions, comments, hits and misses submitted by you, the reader & site visitor.


824


10,456


Why do I have to login every time I come here? ..
2/26/2009 6:38:39 AM
by alphanumeric



General Discussion


3,507


60,937


The Countdown has begun ..
2/26/2009 10:19:16 AM
by seabear70



Buy My Stuff
Sell the stuff you don’t need, buy stuff you want, but read the Rules first.


228


1,655


FS: PSP "Slim and Lite" ( ..
2/13/2009 10:28:33 PM
by BenT



LAN Parties
Been to a great LAN event lately? Let your fellow readers hear about it!


15


53


Fragfest 09 ..
2/20/2009 2:41:09 PM
by Pureawesomeness



Statistics & Active Users

Last Visited: 2/25/2009 11:40:58 AM
Total Online Users: 9
New Posts For Today: 8
Registered Users: 592,639
Total Posts: 161,358


Welcome our newest member: Hot$
There are currently 1 member(s) and 8 anonymous user(s) browsing the system.
Mantra

CPU operation

The fundamental operation of most CPUs, regardless of the physical form they take, is to execute a sequence of stored instructions called a program. The program is represented by a series of numbers that are kept in some kind of computer memory. There are four steps that nearly all CPUs use in their operation: fetch, decode, execute, and writeback.

The first step, fetch, involves retrieving an instruction (which is represented by a number or sequence of numbers) from program memory. The location in program memory is determined by a program counter (PC), which stores a number that identifies the current position in the program. In other words, the program counter keeps track of the CPU's place in the current program. After an instruction is fetched, the PC is incremented by the length of the instruction word in terms of memory units.[3] Often the instruction to be fetched must be retrieved from relatively slow memory, causing the CPU to stall while waiting for the instruction to be returned. This issue is largely addressed in modern processors by caches and pipeline architectures (see below).

The instruction that the CPU fetches from memory is used to determine what the CPU is to do. In the decode step, the instruction is broken up into parts that have significance to other portions of the CPU. The way in which the numerical instruction value is interpreted is defined by the CPU's instruction set architecture(ISA).[4] Often, one group of numbers in the instruction, called the opcode, indicates which operation to perform. The remaining parts of the number usually provide information required for that instruction, such as operands for an addition operation. Such operands may be given as a constant value (called an immediate value), or as a place to locate a value: a register or a memory address, as determined by some addressing mode. In older designs the portions of the CPU responsible for instruction decoding were unchangeable hardware devices. However, in more abstract and complicated CPUs and ISAs, a microprogram is often used to assist in translating instructions into various configuration signals for the CPU. This microprogram is sometimes rewritable so that it can be modified to change the way the CPU decodes instructions even after it has been manufactured.

After the fetch and decode steps, the execute step is performed. During this step, various portions of the CPU are connected so they can perform the desired operation. If, for instance, an addition operation was requested, an arithmetic logic unit (ALU) will be connected to a set of inputs and a set of outputs. The inputs provide the numbers to be added, and the outputs will contain the final sum. The ALU contains the circuitry to perform simple arithmetic and logical operations on the inputs (like addition and bitwise operations). If the addition operation produces a result too large for the CPU to handle, an arithmetic overflow flag in a flags register may also be set.

The final step, writeback, simply "writes back" the results of the execute step to some form of memory. Very often the results are written to some internal CPU register for quick access by subsequent instructions. In other cases results may be written to slower, but cheaper and larger, main memory. Some types of instructions manipulate the program counter rather than directly produce result data. These are generally called "jumps" and facilitate behavior like loops, conditional program execution (through the use of a conditional jump), and functions in programs.[5] Many instructions will also change the state of digits in a "flags" register. These flags can be used to influence how a program behaves, since they often indicate the outcome of various operations. For example, one type of "compare" instruction considers two values and sets a number in the flags register according to which one is greater. This flag could then be used by a later jump instruction to determine program flow.

After the execution of the instruction and writeback of the resulting data, the entire process repeats, with the next instruction cycle normally fetching the next-in-sequence instruction because of the incremented value in the program counter. If the completed instruction was a jump, the program counter will be modified to contain the address of the instruction that was jumped to, and program execution continues normally. In more complex CPUs than the one described here, multiple instructions can be fetched, decoded, and executed simultaneously. This section describes what is generally referred to as the "Classic RISC pipeline," which in fact is quite common among the simple CPUs used in many electronic devices (often called microcontroller). It largely ignores the important role of CPU cache, and therefore the access stage of the pipeline.

[edit] Design and implementation

Main article: CPU design

[edit] Integer range

The way a CPU represents numbers is a design choice that affects the most basic ways in which the device functions. Some early digital computers used an electrical model of the common decimal (base ten) numeral system to represent numbers internally. A few other computers have used more exotic numeral systems like ternary (base three). Nearly all modern CPUs represent numbers in binary form, with each digit being represented by some two-valued physical quantity such as a "high" or "low" voltage.[6]
MOS 6502 microprocessor in a dual in-line package, an extremely popular 8-bit design.

Related to number representation is the size and precision of numbers that a CPU can represent. In the case of a binary CPU, a bit refers to one significant place in the numbers a CPU deals with. The number of bits (or numeral places) a CPU uses to represent numbers is often called "word size", "bit width", "data path width", or "integer precision" when dealing with strictly integer numbers (as opposed to floating point). This number differs between architectures, and often within different parts of the very same CPU. For example, an 8-bit CPU deals with a range of numbers that can be represented by eight binary digits (each digit having two possible values), that is, 28 or 256 discrete numbers. In effect, integer size sets a hardware limit on the range of integers the software run by the CPU can utilize.[7]

Integer range can also affect the number of locations in memory the CPU can address (locate). For example, if a binary CPU uses 32 bits to represent a memory address, and each memory address represents one octet (8 bits), the maximum quantity of memory that CPU can address is 232 octets, or 4 GiB. This is a very simple view of CPU address space, and many designs use more complex addressing methods like paging in order to locate more memory than their integer range would allow with a flat address space.

Higher levels of integer range require more structures to deal with the additional digits, and therefore more complexity, size, power usage, and general expense. It is not at all uncommon, therefore, to see 4- or 8-bit microcontrollers used in modern applications, even though CPUs with much higher range (such as 16, 32, 64, even 128-bit) are available. The simpler microcontrollers are usually cheaper, use less power, and therefore dissipate less heat, all of which can be major design considerations for electronic devices. However, in higher-end applications, the benefits afforded by the extra range (most often the additional address space) are more significant and often affect design choices. To gain some of the advantages afforded by both lower and higher bit lengths, many CPUs are designed with different bit widths for different portions of the device. For example, the IBM System/370 used a CPU that was primarily 32 bit, but it used 128-bit precision inside its floating point units to facilitate greater accuracy and range in floating point numbers (Amdahl et al. 1964). Many later CPU designs use similar mixed bit width, especially when the processor is meant for general-purpose usage where a reasonable balance of integer and floating point capability is required.

[edit] Clock rate

Main article: Clock rate

Most CPUs, and indeed most sequential logic devices, are synchronous in nature.[8] That is, they are designed and operate on assumptions about a synchronization signal. This signal, known as a clock signal, usually takes the form of a periodic square wave. By calculating the maximum time that electrical signals can move in various branches of a CPU's many circuits, the designers can select an appropriate period for the clock signal.

This period must be longer than the amount of time it takes for a signal to move, or propagate, in the worst-case scenario. In setting the clock period to a value well above the worst-case propagation delay, it is possible to design the entire CPU and the way it moves data around the "edges" of the rising and falling clock signal. This has the advantage of simplifying the CPU significantly, both from a design perspective and a component-count perspective. However, it also carries the disadvantage that the entire CPU must wait on its slowest elements, even though some portions of it are much faster. This limitation has largely been compensated for by various methods of increasing CPU parallelism (see below).

However architectural improvements alone do not solve all of the drawbacks of globally synchronous CPUs. For example, a clock signal is subject to the delays of any other electrical signal. Higher clock rates in increasingly complex CPUs make it more difficult to keep the clock signal in phase (synchronized) throughout the entire unit. This has led many modern CPUs to require multiple identical clock signals to be provided in order to avoid delaying a single signal significantly enough to cause the CPU to malfunction. Another major issue as clock rates increase dramatically is the amount of heat that is dissipated by the CPU. The constantly changing clock causes many components to switch regardless of whether they are being used at that time. In general, a component that is switching uses more energy than an element in a static state. Therefore, as clock rate increases, so does heat dissipation, causing the CPU to require more effective cooling solutions.

One method of dealing with the switching of unneeded components is called clock gating, which involves turning off the clock signal to unneeded components (effectively disabling them). However, this is often regarded as difficult to implement and therefore does not see common usage outside of very low-power designs.[9] Another method of addressing some of the problems with a global clock signal is the removal of the clock signal altogether. While removing the global clock signal makes the design process considerably more complex in many ways, asynchronous (or clockless) designs carry marked advantages in power consumption and heat dissipation in comparison with similar synchronous designs. While somewhat uncommon, entire asynchronous CPUs have been built without utilizing a global clock signal. Two notable examples of this are the ARM compliant AMULET and the MIPS R3000 compatible MiniMIPS. Rather than totally removing the clock signal, some CPU designs allow certain portions of the device to be asynchronous, such as using asynchronous ALUs in conjunction with superscalar pipelining to achieve some arithmetic performance gains. While it is not altogether clear whether totally asynchronous designs can perform at a comparable or better level than their synchronous counterparts, it is evident that they do at least excel in simpler math operations. This, combined with their excellent power consumption and heat dissipation properties, makes them very suitable for embedded computers (Garside et al. 1999).

[edit] Parallelism

Main article: Parallel computing

Model of a subscalar CPU. Notice that it takes fifteen cycles to complete three instructions.

The description of the basic operation of a CPU offered in the previous section describes the simplest form that a CPU can take. This type of CPU, usually referred to as subscalar, operates on and executes one instruction on one or two pieces of data at a time.

This process gives rise to an inherent inefficiency in subscalar CPUs. Since only one instruction is executed at a time, the entire CPU must wait for that instruction to complete before proceeding to the next instruction. As a result the subscalar CPU gets "hung up" on instructions which take more than one clock cycle to complete execution. Even adding a second execution unit (see below) does not improve performance much; rather than one pathway being hung up, now two pathways are hung up and the number of unused transistors is increased. This design, wherein the CPU's execution resources can operate on only one instruction at a time, can only possibly reach scalar performance (one instruction per clock). However, the performance is nearly always subscalar (less than one instruction per cycle).

Attempts to achieve scalar and better performance have resulted in a variety of design methodologies that cause the CPU to behave less linearly and more in parallel. When referring to parallelism in CPUs, two terms are generally used to classify these design techniques. Instruction level parallelism (ILP) seeks to increase the rate at which instructions are executed within a CPU (that is, to increase the utilization of on-die execution resources), and thread level parallelism (TLP) purposes to increase the number of threads (effectively individual programs) that a CPU can execute simultaneously. Each methodology differs both in the ways in which they are implemented, as well as the relative effectiveness they afford in increasing the CPU's performance for an application.[10]

[edit] Instruction level parallelism

Main articles: Instruction pipelining and Superscalar

Basic five-stage pipeline. In the best case scenario, this pipeline can sustain a completion rate of one instruction per cycle.

One of the simplest methods used to accomplish increased parallelism is to begin the first steps of instruction fetching and decoding before the prior instruction finishes executing. This is the simplest form of a technique known as instruction pipelining, and is utilized in almost all modern general-purpose CPUs. Pipelining allows more than one instruction to be executed at any given time by breaking down the execution pathway into discrete stages. This separation can be compared to an assembly line, in which an instruction is made more complete at each stage until it exits the execution pipeline and is retired.

Pipelining does, however, introduce the possibility for a situation where the result of the previous operation is needed to complete the next operation; a condition often termed data dependency conflict. To cope with this, additional care must be taken to check for these sorts of conditions and delay a portion of the instruction pipeline if this occurs. Naturally, accomplishing this requires additional circuitry, so pipelined processors are more complex than subscalar ones (though not very significantly so). A pipelined processor can become very nearly scalar, inhibited only by pipeline stalls (an instruction spending more than one clock cycle in a stage).
Simple superscalar pipeline. By fetching and dispatching two instructions at a time, a maximum of two instructions per cycle can be completed.

Further improvement upon the idea of instruction pipelining led to the development of a method that decreases the idle time of CPU components even further. Designs that are said to be superscalar include a long instruction pipeline and multiple identical execution units. [Huynh 2003] In a superscalar pipeline, multiple instructions are read and passed to a dispatcher, which decides whether or not the instructions can be executed in parallel (simultaneously). If so they are dispatched to available execution units, resulting in the ability for several instructions to be executed simultaneously. In general, the more instructions a superscalar CPU is able to dispatch simultaneously to waiting execution units, the more instructions will be completed in a given cycle.

Most of the difficulty in the design of a superscalar CPU architecture lies in creating an effective dispatcher. The dispatcher needs to be able to quickly and correctly determine whether instructions can be executed in parallel, as well as dispatch them in such a way as to keep as many execution units busy as possible. This requires that the instruction pipeline is filled as often as possible and gives rise to the need in superscalar architectures for significant amounts of CPU cache. It also makes hazard-avoiding techniques like branch prediction, speculative execution, and out-of-order execution crucial to maintaining high levels of performance. By attempting to predict which branch (or path) a conditional instruction will take, the CPU can minimize the number of times that the entire pipeline must wait until a conditional instruction is completed. Speculative execution often provides modest performance increases by executing portions of code that may or may not be needed after a conditional operation completes. Out-of-order execution somewhat rearranges the order in which instructions are executed to reduce delays due to data dependencies.

In the case where a portion of the CPU is superscalar and part is not, the part which is not suffers a performance penalty due to scheduling stalls. The original Intel Pentium (P5) had two superscalar ALUs which could accept one instruction per clock each, but its FPU could not accept one instruction per clock. Thus the P5 was integer superscalar but not floating point superscalar. Intel's successor to the Pentium architecture, P6, added superscalar capabilities to its floating point features, and therefore afforded a significant increase in floating point instruction performance.

Both simple pipelining and superscalar design increase a CPU's ILP by allowing a single processor to complete execution of instructions at rates surpassing one instruction per cycle (IPC).[11] Most modern CPU designs are at least somewhat superscalar, and nearly all general purpose CPUs designed in the last decade are superscalar. In later years some of the emphasis in designing high-ILP computers has been moved out of the CPU's hardware and into its software interface, or ISA. The strategy of the very long instruction word (VLIW) causes some ILP to become implied directly by the software, reducing the amount of work the CPU must perform to boost ILP and thereby reducing the design's complexity.

[edit] Thread level parallelism

Another strategy of achieving performance is to execute multiple programs or threads in parallel. This area of research is known as parallel computing. In Flynn's taxonomy, this strategy is known as Multiple Instructions-Multiple Data or MIMD.

One technology used for this purpose was multiprocessing (MP). The initial flavor of this technology is known as symmetric multiprocessing (SMP), where a small number of CPUs share a coherent view of their memory system. In this scheme, each CPU has additional hardware to maintain a constantly up-to-date view of memory. By avoiding stale views of memory, the CPUs can cooperate on the same program and programs can migrate from one CPU to another. To increase the number of cooperating CPUs beyond a handful, schemes such as non-uniform memory access (NUMA) and directory-based coherence protocols were introduced in the 1990s. SMP systems are limited to a small number of CPUs while NUMA systems have been built with thousands of processors. Initially, multiprocessing was built using multiple discrete CPUs and boards to implement the interconnect between the processors. When the processors and their interconnect are all implemented on a single silicon chip, the technology is known as a multi-core microprocessor.

It was later recognized that finer-grain parallelism existed with a single program. A single program might have several threads (or functions) that could be executed separately or in parallel. Some of earliest examples of this technology implemented input/output processing such as direct memory access as a separate thread from the computation thread. A more general approach to this technology was introduced in the 1970s when systems were designed to run multiple computation threads in parallel. This technology is known as multi-threading (MT). This approach is considered more cost-effective than multiprocessing, as only a small number of components within a CPU is replicated in order to support MT as opposed to the entire CPU in the case of MP. In MT, the execution units and the memory system including the caches are shared among multiple threads. The downside of MT is that the hardware support for multithreading is more visible to software than that of MP and thus supervisor software like operating systems have to undergo larger changes to support MT. One type of MT that was implemented is known as block multithreading, where one thread is executed until it is stalled waiting for data to return from external memory. In this scheme, the CPU would then quickly switch to another thread which is ready to run, the switch often done in one CPU clock cycle. Another type of MT is known as simultaneous multithreading, where instructions of multiple threads are executed in parallel within one CPU clock cycle.

For several decades from the 1970s to early 2000s, the focus in designing high performance general purpose CPUs was largely on achieving high ILP through technologies such as pipelining, caches, superscalar execution, out-of-order execution, etc. This trend culminated in large, power-hungry CPUs such as the Intel Pentium 4. By the early 2000s, CPU designers were thwarted from achieving higher performance from ILP techniques due to the growing disparity between CPU operating frequencies and main memory operating frequencies as well as escalating CPU power dissipation owing to more esoteric ILP techniques.

CPU designers then borrowed ideas from commercial computing markets such as transaction processing, where the aggregate performance of multiple programs, also known as throughput computing, was more important than the performance of a single thread or program.

This reversal of emphasis is evidenced by the proliferation of dual and multiple core CMP (chip-level multiprocessing) designs and notably, Intel's newer designs resembling its less superscalar P6 architecture. Late designs in several processor families exhibit CMP, including the x86-64 Opteron and Athlon 64 X2, the SPARC UltraSPARC T1, IBM POWER4 and POWER5, as well as several video game console CPUs like the Xbox 360's triple-core PowerPC design, and the PS3's 8-core Cell microprocessor.

[edit] Data parallelism

Main articles: Vector processor and SIMD

A less common but increasingly important paradigm of CPUs (and indeed, computing in general) deals with data parallelism. The processors discussed earlier are all referred to as some type of scalar device.[12] As the name implies, vector processors deal with multiple pieces of data in the context of one instruction. This contrasts with scalar processors, which deal with one piece of data for every instruction. Using Flynn's taxonomy, these two schemes of dealing with data are generally referred to as SISD (single instruction, single data) and SIMD (single instruction, multiple data), respectively. The great utility in creating CPUs that deal with vectors of data lies in optimizing tasks that tend to require the same operation (for example, a sum or a dot product) to be performed on a large set of data. Some classic examples of these types of tasks are multimedia applications (images, video, and sound), as well as many types of scientific and engineering tasks. Whereas a scalar CPU must complete the entire process of fetching, decoding, and executing each instruction and value in a set of data, a vector CPU can perform a single operation on a comparatively large set of data with one instruction. Of course, this is only possible when the application tends to require many steps which apply one operation to a large set of data.

Most early vector CPUs, such as the Cray-1, were associated almost exclusively with scientific research and cryptography applications. However, as multimedia has largely shifted to digital media, the need for some form of SIMD in general-purpose CPUs has become significant. Shortly after floating point execution units started to become commonplace to include in general-purpose processors, specifications for and implementations of SIMD execution units also began to appear for general-purpose CPUs. Some of these early SIMD specifications like Intel's MMX were integer-only. This proved to be a significant impediment for some software developers, since many of the applications that benefit from SIMD primarily deal with floating point numbers. Progressively, these early designs were refined and remade into some of the common, modern SIMD specifications, which are usually associated with one ISA. Some notable modern examples are Intel's SSE and the PowerPC-related AltiVec (also known as VMX).[13]

Discrete transistor and IC CPUs

CPU, core memory, and external bus interface of a DEC PDP-8/I. made of medium-scale integrated circuits

The design complexity of CPUs increased as various technologies facilitated building smaller and more reliable electronic devices. The first such improvement came with the advent of the transistor. Transistorized CPUs during the 1950s and 1960s no longer had to be built out of bulky, unreliable, and fragile switching elements like vacuum tubes and electrical relays. With this improvement more complex and reliable CPUs were built onto one or several printed circuit boards containing discrete (individual) components.

During this period, a method of manufacturing many transistors in a compact space gained popularity. The integrated circuit (IC) allowed a large number of transistors to be manufactured on a single semiconductor-based die, or "chip." At first only very basic non-specialized digital circuits such as NOR gates were miniaturized into ICs. CPUs based upon these "building block" ICs are generally referred to as "small-scale integration" (SSI) devices. SSI ICs, such as the ones used in the Apollo guidance computer, usually contained transistor counts numbering in multiples of ten. To build an entire CPU out of SSI ICs required thousands of individual chips, but still consumed much less space and power than earlier discrete transistor designs. As microelectronic technology advanced, an increasing number of transistors were placed on ICs, thus decreasing the quantity of individual ICs needed for a complete CPU. MSI and LSI (medium- and large-scale integration) ICs increased transistor counts to hundreds, and then thousands.

In 1964 IBM introduced its System/360 computer architecture which was used in a series of computers that could run the same programs with different speed and performance. This was significant at a time when most electronic computers were incompatible with one another, even those made by the same manufacturer. To facilitate this improvement, IBM utilized the concept of a microprogram (often called "microcode"), which still sees widespread usage in modern CPUs (Amdahl et al. 1964). The System/360 architecture was so popular that it dominated the mainframe computer market for the decades and left a legacy that is still continued by similar modern computers like the IBM zSeries. In the same year (1964), Digital Equipment Corporation (DEC) introduced another influential computer aimed at the scientific and research markets, the PDP-8. DEC would later introduce the extremely popular PDP-11 line that originally was built with SSI ICs but was eventually implemented with LSI components once these became practical. In stark contrast with its SSI and MSI predecessors, the first LSI implementation of the PDP-11 contained a CPU composed of only four LSI integrated circuits (Digital Equipment Corporation 1975).

Transistor-based computers had several distinct advantages over their predecessors. Aside from facilitating increased reliability and lower power consumption, transistors also allowed CPUs to operate at much higher speeds because of the short switching time of a transistor in comparison to a tube or relay. Thanks to both the increased reliability as well as the dramatically increased speed of the switching elements (which were almost exclusively transistors by this time), CPU clock rates in the tens of megahertz were obtained during this period. Additionally while discrete transistor and IC CPUs were in heavy usage, new high-performance designs like SIMD (Single Instruction Multiple Data) vector processors began to appear. These early experimental designs later gave rise to the era of specialized supercomputers like those made by Cray Inc.

[edit] Microprocessors

Main article: Microprocessor

The integrated circuit from an Intel 8742, an 8-bit microcontroller that includes a CPU running at 12 MHz, 128 bytes of RAM, 2048 bytes of EPROM, and I/O in the same chip.
Intel 80486DX2 microprocessor in a ceramic PGA package.

The introduction of the microprocessor in the 1970s significantly affected the design and implementation of CPUs. Since the introduction of the first microprocessor (the Intel 4004) in 1970 and the first widely used microprocessor (the Intel 8080) in 1974, this class of CPUs has almost completely overtaken all other central processing unit implementation methods. Mainframe and minicomputer manufacturers of the time launched proprietary IC development programs to upgrade their older computer architectures, and eventually produced instruction set compatible microprocessors that were backward-compatible with their older hardware and software. Combined with the advent and eventual vast success of the now ubiquitous personal computer, the term "CPU" is now applied almost exclusively to microprocessors.

Previous generations of CPUs were implemented as discrete components and numerous small integrated circuits (ICs) on one or more circuit boards. Microprocessors, on the other hand, are CPUs manufactured on a very small number of ICs; usually just one. The overall smaller CPU size as a result of being implemented on a single die means faster switching time because of physical factors like decreased gate parasitic capacitance. This has allowed synchronous microprocessors to have clock rates ranging from tens of megahertz to several gigahertz. Additionally, as the ability to construct exceedingly small transistors on an IC has increased, the complexity and number of transistors in a single CPU has increased dramatically. This widely observed trend is described by Moore's law, which has proven to be a fairly accurate predictor of the growth of CPU (and other IC) complexity to date.

While the complexity, size, construction, and general form of CPUs have changed drastically over the past sixty years, it is notable that the basic design and function has not changed much at all. Almost all common CPUs today can be very accurately described as von Neumann stored-program machines. As the aforementioned Moore's law continues to hold true, concerns have arisen about the limits of integrated circuit transistor technology. Extreme miniaturization of electronic gates is causing the effects of phenomena like electromigration and subthreshold leakage to become much more significant. These newer concerns are among the many factors causing researchers to investigate new methods of computing such as the quantum computer, as well as to expand the usage of parallelism and other methods that extend the usefulness of the classical von Neumann model.

History of CPUs

Main article: History of general purpose CPUs

EDVAC, one of the first electronic stored program computers.

Prior to the advent of machines that resemble today's CPUs, computers such as the ENIAC had to be physically rewired in order to perform different tasks. These machines are often referred to as "fixed-program computers," since they had to be physically reconfigured in order to run a different program. Since the term "CPU" is generally defined as a software (computer program) execution device, the earliest devices that could rightly be called CPUs came with the advent of the stored-program computer.

The idea of a stored-program computer was already present during ENIAC's design, but was initially omitted so the machine could be finished sooner. On June 30, 1945, before ENIAC was even completed, mathematician John von Neumann distributed the paper entitled "First Draft of a Report on the EDVAC." It outlined the design of a stored-program computer that would eventually be completed in August 1949 (von Neumann 1945). EDVAC was designed to perform a certain number of instructions (or operations) of various types. These instructions could be combined to create useful programs for the EDVAC to run. Significantly, the programs written for EDVAC were stored in high-speed computer memory rather than specified by the physical wiring of the computer. This overcame a severe limitation of ENIAC, which was the large amount of time and effort it took to reconfigure the computer to perform a new task. With von Neumann's design, the program, or software, that EDVAC ran could be changed simply by changing the contents of the computer's memory. [1]

While von Neumann is most often credited with the design of the stored-program computer because of his design of EDVAC, others before him such as Konrad Zuse had suggested similar ideas. Additionally, the so-called Harvard architecture of the Harvard Mark I, which was completed before EDVAC, also utilized a stored-program design using punched paper tape rather than electronic memory. The key difference between the von Neumann and Harvard architectures is that the latter separates the storage and treatment of CPU instructions and data, while the former uses the same memory space for both. Most modern CPUs are primarily von Neumann in design, but elements of the Harvard architecture are commonly seen as well.

Being digital devices, all CPUs deal with discrete states and therefore require some kind of switching elements to differentiate between and change these states. Prior to commercial acceptance of the transistor, electrical relays and vacuum tubes (thermionic valves) were commonly used as switching elements. Although these had distinct speed advantages over earlier, purely mechanical designs, they were unreliable for various reasons. For example, building direct current sequential logic circuits out of relays requires additional hardware to cope with the problem of contact bounce. While vacuum tubes do not suffer from contact bounce, they must heat up before becoming fully operational and eventually stop functioning altogether.[2] Usually, when a tube failed, the CPU would have to be diagnosed to locate the failing component so it could be replaced. Therefore, early electronic (vacuum tube based) computers were generally faster but less reliable than electromechanical (relay based) computers.

Tube computers like EDVAC tended to average eight hours between failures, whereas relay computers like the (slower, but earlier) Harvard Mark I failed very rarely (Weik 1961:238). In the end, tube based CPUs became dominant because the significant speed advantages afforded generally outweighed the reliability problems. Most of these early synchronous CPUs ran at low clock rates compared to modern microelectronic designs (see below for a discussion of clock rate). Clock signal frequencies ranging from 100 kHz to 4 MHz were very common at this time, limited largely by the speed of the switching devices they were built with.

CPU" redirects here.

For other uses, see CPU (disambiguation).
Die of an Intel 80486DX2 microprocessor (actual size: 12×6.75 mm) in its packaging.

A central processing unit (CPU) is an electronic circuit that can execute computer programs. This broad definition can easily be applied to many early computers that existed long before the term "CPU" ever came into widespread usage. The term itself and its initialism have been in use in the computer industry at least since the early 1960s (Weik 1961). The form, design and implementation of CPUs have changed dramatically since the earliest examples, but their fundamental operation has remained much the same.

Early CPUs were custom-designed as a part of a larger, sometimes one-of-a-kind, computer. However, this costly method of designing custom CPUs for a particular application has largely given way to the development of mass-produced processors that are suited for one or many purposes. This standardization trend generally began in the era of discrete transistor mainframes and minicomputers and has rapidly accelerated with the popularization of the integrated circuit (IC). The IC has allowed increasingly complex CPUs to be designed and manufactured to tolerances on the order of nanometers. Both the miniaturization and standardization of CPUs have increased the presence of these digital devices in modern life far beyond the limited application of dedicated computing machines. Modern microprocessors appear in everything from automobiles to cell phones to children's toys.

CPU - Last modified

LET Toolkit
Microsoft has developed the Local Engagement Toolkit - a complete set of marketing & event resources designed to simplify your marketing efforts while saving you time and expense in the process. Take advantage of these resources to help you promote your solutions and to uncover new business opportunities in your area. Just visit www.mslocalpartner.com and select Access. »

LET BDM Advisor
Need Help Reaching More Customers and Increasing Revenue? Microsoft can connect you with organizations in your community that are equally dedicated to meeting the needs of small and mid-size business customers. Microsoft's Local Engagement Team is made up of Business Decision Managers (BDMs) in regional areas throughout the United States. Contact your local BDM today to learn how you can team up with complementary local organizations in your area and start to grow your business. Visit www.mslocalpartner.com and select Connect. »
Abbreviation for central processing unit, and pronounced as separate letters. The CPU is the brains of the computer. Sometimes referred to simply as the central processor,but more commonly called processor, the CPU is where most calculations take place. In terms of computing power, the CPU is the most important element of a computer system.

On large machines, CPUs require one or more printed circuit boards. On personal computers and small workstations, the CPU is housed in a single chip called a microprocessor. Since the 1970's the microprocessor class of CPUs has almost completely overtaken all other CPU implementations.

The CPU itself is an internal component of the computer. Modern CPUs are small and square and contain multiple metallic connectors or pins on the underside. The CPU is inserted directly into a CPU socket, pin side down, on the motherboard. Each motherboard will support only a specific type or range of CPU so you must check the motherboard manufacturer's specifications before attempting to replace or upgrade a CPU. Modern CPUs also have an attached heat sink and small fan that go directly on top of the CPU to help dissipate heat.

Two typical components of a CPU are the following:

* The arithmetic logic unit (ALU), which performs arithmetic and logical operations.
* The control unit (CU), which extracts instructions from memory and decodes and executes them, calling on the ALU when necessary.

See "What Is CPU Overclocking?" in the "Did You Know...?" section of Webopedia.

Also see All About Dual-Core Processors in the "Did You Know...?" section of Webopedia.

To understand how your computer system communicates with your CPU, see "Understanding PC Buses" in the Did You Know...?" section of Webopedia.

•E-mail this definition to a colleague•

Sponsored listings

Office & Mac. Together for good. Then 50% off kind of good. - Save instantly on Microsoft® Office 2008 when you buy any Mac. Hurry & Save Now!

Computers - Online Auction - Find Computers Online Today. Buy and Sell Surplus from our Industrial Auctioneer and Asset Appraisal Firm.

Try Computers Products Before you Buy - Find quality products and receive your complimentary sample today!


For internet.com pages about CPU . Also check out the following links!

Related Links

Building Your Own PC
What hard-core techies and companies like Dell and Compaq have been doing for years is what any computer user can learn how to do - build a computer from scratch. Let SE take you on a stroll through the park and ease the pain of building a DIY PC.

Hardware Central
Detailed test reports on the latest desktop and laptop computers. Plus news on trend-setting products just coming into the pipeline.

Microprocessor Comparison Chart
A cut-to-the-chase guide that compares and contrasts popular processing chips.

PC system processor reference guide
Comprehensive look at the system processor. Covers semiconductor technology, manufacturing, characteristics, power, voltage levels, cooling, packaging, sockets, external and internal architecture. Discusses performance factors. Complete look at over 20 popular processors, including the latest offerings from Intel, AMD and Cyrix.

Webopedia's "Did You Know... AMD & Intel Processor Lineups"
It never fails. Just after you upgrade your CPU, Intel or AMD announces a new processor, pushing technology to new limits — at least its next processor.

Webopedia's "Did You Know... What Is CPU Overclocking?"
While the words CPU and microprocessor are used interchangeably, in the world of personal computers (PC), a microprocessor is actually a silicon chip that contains a CPU.

CPU performance enhancing utilities
A collection of utilities designed to unlock advanced features of the Cyrix 6x86, 5x86, and Pentium Pro processors. Includes many popular programs frequently requested on USENET.

ComputerPowerUse

r.com Daily Thursday, February 26, 2009
CPU Magazine Forums



Computer Power User Cover

FREE Daily email -
Sign up now! Review:
Asus N10Jc-A1

Daily Deal:
SanDisk 8GB Ultra II SDHC Card $24.99

CPU Forums
Tech Trouble
Let's Hear It / Hardware
Let's Hear It / Software
CPU - The Mag & Site
Reader Mods
General Discussion
Buy My Stuff
LAN Parties

Computing Chat Rooms Next Month's Articles Online Now:
Thecus M3800 Stream Box

ComputerPowerUser.com Web Log

by Vince Cogley and Chris Trumble

Computer Power User Web Log Google give paying gmail users 15 days, free users get bubkes.
Businesses, government agencies, and various other entities that pay for industrial-grade gmail accounts are getting 15 days of free service in return.....


Dated:2/25/2009 11:01:14 AM
Computer Power User Web Log Cheeky Android developer zings Apple “I Am Rich” app.
Anyone following the App Store for Apple’s iPhone is likely familiar with the $1,000 “I Am Rich” application, which did nothing more than display a br.....


Dated:2/25/2009 11:01:14 AM
Computer Power User Web Log Man pays $28K to watch Chicago Bears.
AT&T Wireless wanted Wayne Burdick to pay $28,000 and change for watching the Bears play on November 2 while he sat in the harbor waiting for his crui.....


Dated:2/25/2009 11:01:14 AM
More

Search All Articles
Product Reviews


Search Now

Browse All Issues
Browse All Articles

Search the editorial archive, including every issue of CPU plus all Smart Computing, PC Today, First Glimpse, Guide, Learning, and Reference Series.

Read Hardware Reviews

Read Software Reviews

Search For Product Reviews:
Enter Product Name: (examples: Compaq Presario or Compaq Presario 5150)


Latest Issues Which One Should I Subscribe To?


Computer Power User
This issue, CPU takes a look at your best component options for a DIY notebook you can be proud of. Also, check out our latest mobile build, based on OCZ’s DIY17A2 chassis.


Computer Power User
More


Smart Computing
If you think of your computer as a money pit, it’s time to change the way you use your computer. In this issue, we show you how to do more and spend less with your PC and your Internet connection.

Smart Computing
Visit SmartComputing.com More


PC Today
With your bank account in mind, this month’s featured articles help you decide whether it’s worthwhile to spend money on a netbook, how to find the best full-sized notebook for the money, and more.

PC Today
Visit PCToday.com More


First Glimpse
With HDMI, 802.11n, Blu-ray Disc players, quad-core processors, and TV capabilities, both desktops and laptops are becoming faster and offering more features than ever before. In this month’s First Glimpse, we focus on the latest and greatest PCs to hit shelves, and we’ll tell you how they to find a future-forward PC.

First Glimpse
Visit FirstGlimpseMag.com More


Reference Series
Your complete guide to installing and using the latest version of Microsoft Windows. Learn how to use the new features found in every "flavor" of Vista, set up the OS for networking, and share online resources. The troubleshooting section will help keep your system running smoothly.

Reference Series

Wednesday, February 25, 2009

Your Present Position

:HOME >> Our product >> Digital Signage


  Name:Easy Signage Terminal


  Model:APM-800 (Press Photo for Details)




  Name:12.1" Product Enquiry Terminal


  Model:PC121A (Press Photo for Details)




  Name:8" Product Enquiry Terminal


  Model:PC801A (Press Photos for Details)




  Name:8" Multimedia Customer Display


  Model:AP801A (Press Photo for Details)

Obedia Results

Obedia Results




* New "Tech-in-a-Box" Support Plans from Obedia
07 Jul 2005

Obedia, the company that provides 24/7 technical support and training for digital technology-based musicians and engineers, has released a new product - the aptly named "Tech-in-a-Box."

* New "Tech-in-a-Box" Support Plans from Obedia
28 Jun 2005

Obedia, the company that provides 24/7 technical support and training for digital technology-based musicians and engineers, has released a new product - the aptly named "Tech-in-a-Box."

* Obedia Launches "Tech-in-A-Box"
28 Jun 2005

Obedia, the company that provides 24/7 technical support and training for digital technology-based musicians and engineers, has released an innovative new product – the aptly named “Tech-in-a-Box.”

* TREND #1: JUST MAKE IT SIMPLER FOR ME, OKAY?
01 Jan 2005

Talk about instant gratification: Last month, EQ ran an article called “Keeping the Art in State of the Art.” Seems we’re not the only ones who just want to make music and not get drowned in the bitstream. Manufacturers are hitting ...

Layout

[edit] Alphabetic

Main article: Keyboard layout

The 104-key PC US English QWERTY keyboard layout evolved from the standard typewriter keyboard, with extra keys for computing.
The Dvorak Simplified Keyboard layout arranges keys so that frequently used keys are easiest to press, which reduces muscle fatigue when typing common English.

There are a number of different arrangements of alphabetic, numeric, and punctuation symbols on keys. These different keyboard layouts arise mainly because different people need easy access to different symbols, either because they are inputting text in different languages, or because they need a specialized layout for mathematics, accounting, computer programming, or other purposes. Most of the more common keyboard layouts (QWERTY-based and similar) were designed in the era of the mechanical typewriters, so their ergonomics had to be slightly compromised in order to tackle some of the mechanical limitations of the typewriter. As the letter-keys were attached to levers that needed to move freely, inventor Christopher Sholes developed the QWERTY layout to reduce the likelihood of jamming. With the advent of computers, lever jams are no longer an issue, but nevertheless, QWERTY layouts were adopted for electronic keyboards because they were widely used. Alternative layouts such as the Dvorak Simplified Keyboard are not in widespread use.

The QWERTZ layout is fairly widely used in Germany and much of Central Europe. The main difference between it and QWERTY is that Y and Z are swapped, and most special characters such as brackets are replaced by diacritical characters. Another situation takes place with “national” layouts. Keyboards designed for typing in Spanish have some characters shifted, to release the space for Ñ ñ; similarly, those for French and other European languages may have a special key for the character Ç ç . The AZERTY layout is used in France, Belgium and some neighbouring countries. It differs from the QWERTY layout in that the A and Q are swapped, the Z and W are swapped, and the M is moved from the right of N to the right of L (where colon/semicolon is on a US keyboard). The digits 0 to 9 are on the same keys, but to be typed the shift key must be pressed. The unshifted positions are used for accented characters.

Keyboards designed for non-English speaking markets may have special keys to switch between non-English typing and the Roman alphabet and vice-versa. In Japan, keyboards often can be switched between Japanese and the Roman alphabet, and the character ¥ (the Yen currency) is used instead of "\". In Israel, keyboards can often be switched between Hebrew and English. In bilingual regions of Canada and in the French-speaking province of Quebec, keyboards can often be switched between an English and a French-language keyboard; while both keyboards share the same QWERTY alphabetic layout, the French-language keyboard enables the user to type accented vowels such as "é" or "à" with a single keystroke. Using keyboards for other languages leads to a conflict: the image on the key does not correspond to the character. In such cases, each new language may require an additional label on the keys, because the standard keyboard layouts do not share even similar characters of different languages (see the example in the figure above).

[edit] Key types

[edit] Alphanumeric
A Hebrew keyboard lets the user type in both Hebrew and the Latin alphabet.

Alphabetical, numeric, and punctuation keys are used in the same fashion as a typewriter keyboard to enter their respective symbol into a word processing program, text editor, data spreadsheet, or other program. Many of these keys will produce different symbols when modifier keys or shift keys are pressed. The alphabetic characters become uppercase when the shift key or Caps Lock key is depressed. The numeric characters become symbols or punctuation marks when the shift key is depressed. The alphabetical, numeric, and punctuation keys can also have other functions when they are pressed at the same time as some modifier keys.

The Space bar is a horizontal bar in the lowermost row, which is significantly wider than other keys. Like the alphanumeric characters, it is also descended from the mechanical typewriter. Its main purpose is to enter the space between words during typing. It is large enough so that a thumb from either hand can use it easily. Depending on the operating system, when the space bar is used with a modifier key such as the control key, it may have functions such as resizing or closing the current window, half-spacing, or backspacing. In computer games and other applications the key has myriad uses in addition to its normal purpose in typing, such as jumping and adding marks to check boxes. In certain programs for playback of digital video, the space bar is used for pausing and resuming the playback.

[edit] Modifiers
A Space-cadet keyboard has many modifier keys.

Modifier keys are special keys that modify the normal action of another key, when the two are pressed in combination. For example, + in Microsoft Windows will close the program in an active window. In contrast, pressing just will probably do nothing, unless assigned a specific function in a particular program. By themselves, modifier keys usually do nothing. The most widely-used modifier keys include the Control key, Shift key and the Alt key. The AltGr key is used to access additional symbols for keys, that have three symbols printed on them. On the Macintosh and Apple keyboards, the modifier keys are the Option key and Command key, respectively. On MIT computer keyboards, the Meta key is used as a modifier and for Windows keyboards, there is a Windows key. Compact keyboard layouts often use a Fn key. "Dead keys" allow placement of a diacritic mark, such as an accent, on the following letter (e.g., the Compose key).

The Enter/Return key typically causes a command line, window form or dialog box to operate its default function, which is typically to finish an "entry" and begin the desired process. In word processing applications, pressing the enter key ends a paragraph and starts a new one.

[edit] Navigation and typing mode

Navigation keys include a variety of keys which move the cursor to different positions on the screen. Arrow keys are programmed to move the cursor in a specified direction; page scroll keys, such as the 'Page Up and Page Down keys', scroll the page up and down. The Home key is used to return the cursor to the beginning of the line where the cursor is located; the End key puts the cursor at the end of the line. The Tab key advances the cursor to the next tab stop.

The Insert key is mainly used to switch between overtype mode, in which the cursor overwrites any text that is present on and after its current location, and insert mode, where the cursor inserts a character at its current position, forcing all characters past it one position further. The Delete key discards the character ahead of the cursor's position, moving all following characters one position "back" towards the freed place. On many notebook computer keyboards the key labeled Delete (sometimes Delete and Backspace are printed on the same key) serves the same purpose as a Backspace key. The Backspace key deletes the preceding character.

Lock keys lock part of a keyboard, depending on the settings selected. The lock keys are scattered around the keyboard. Most styles of keyboards have three LEDs indicating which locks are enabled, in the upper right corner above the numpad. The lock keys include Scroll lock, Num lock (which allows the use of the numeric keypad), and Caps lock.

[edit] System commands

The SysRq / Print screen commands often share the same key. SysRq was used in earlier computers as a "panic" button to recover from crashes. The Print screen command used to capture the entire screen and send it to the printer, but nowadays it usually puts a screenshot in the clipboard. The Break key/Pause key no longer has a well-defined purpose. Its origins go back to teletype users, who wanted a key that would temporarily interrupt the communications line. The Break key can be used by software in several different ways, such as to switch between multiple login sessions, to terminate a program, or to interrupt a modem connection. In programming, especially old DOS-style BASIC, Pascal and C, Break is used (in conjunction with Ctrl) to stop program execution. In addition to this, Linux and variants, as well as many DOS programs, treat this combination the same as Ctrl+C. On modern keyboards, the break key is usually labeled Pause/Break. In most Windows environments, the key combination Windows key+Pause brings up the system properties.

The Escape key (often abbreviated Esc) is used to initiate an escape sequence. As most computer users no longer are concerned with the details of controlling their computer's peripherals, the task for which the escape sequences were originally designed, the escape key was appropriated by application programmers, most often to mean Stop. This use continues today in Microsoft Windows's use of escape as a shortcut in dialog boxes for No, Quit, Exit, Cancel, or Abort. A common application today of the Esc key is as a shortcut key for the Stop button in many web browsers. On machines running Microsoft Windows, prior to the implementation of the Windows key on keyboards, the typical practice for invoking the "start" button was to hold down the control key and press escape. This process still works in Windows XP and Windows Vista.

The Menu key or Application key is a key found on Windows-oriented computer keyboards. It is used launch a context menu with the keyboard rather than with the usual right mouse button. The key's symbol is a small icon depicting a cursor hovering above a menu. This key was created at the same time as the Windows key. This key is normally used when the right mouse button is not present on the mouse. Some Windows public terminals do not have a Menu key on their keyboard to prevent users from right-clicking (however, in many windows applications, a similar functionality can be invoked with the Shift+F10 keyboard shortcut).

[edit] Miscellaneous

Many, but not all, computer keyboards have a numeric keypad to the right of the alphabetic keyboard. On Japanese/Korean keyboards, there may be Language input keys. Some keyboards have power management keys (e.g., Power key, Sleep key and Wake key); internet keys to access a web browser or E-mail; and/or multimedia keys, such as volume controls.

[edit] Technology

[edit] Key switches
Keyboards on laptops such as this Sony VAIO usually have a shorter travel distance for the keystroke and a reduced set of keys.

"Dome-switch" keyboards (sometimes incorrectly referred to as a membrane keyboards) are the most common type in use in the 2000s. When a key is pressed, it pushes down on a rubber dome sitting beneath the key. A conductive contact on the underside of the dome touches (and hence connects) a pair of conductive lines on the circuit below. This bridges the gap between them and allows electric current to flow (the open circuit is closed). A scanning signal is emitted by the chip along the pairs of lines in the matrix circuit which connects to all the keys. When the signal in one pair becomes different, the chip generates a "make code" corresponding to the key connected to that pair of lines.

Keycaps are also required for most types of keyboards; while modern keycaps are typically surface-marked, they can also be 2-shot molded, or engraved, or they can be made of transparent material with printed paper inserts

Keys on older IBM keyboards were made with a "buckling spring" mechanism, in which a coil spring under the key buckles under pressure from the user's finger, pressing a rubber dome, whose inside is coated with conductive graphite, which connects two leads below, completing a circuit. This produces a clicking sound, and gives physical feedback for the typist indicating that the key has been depressed.[2][3]When a key is pressed and the circuit is completed, the code generated is sent to the computer either via a keyboard cable (using on-off electrical pulses to represent bits) or over a wireless connection.

A chip inside the computer receives the signal bits and decodes them into the appropriate keypress. The computer then decides what to do on the basis of the key pressed (e.g. display a character on the screen, or perform some action). When the key is released, a break code (different from the make code) is sent to indicate the key is no longer pressed. If the break code is missed (e.g. due to a keyboard switch) it is possible for the keyboard controller to believe the key is pressed down when it is not, which is why pressing then releasing the key again will release the key (since another break code is sent). Other types of keyboards function in a similar manner, the main differences being how the individual key-switches work. For more on this subject refer to the article on keyboard technology.

Certain key presses are special, namely Ctrl-Alt-Delete and SysRq, but what makes them special is a function of software. In the PC architecture, the keyboard controller (the component in the computer that receives the make and break codes) sends the computer's CPU a hardware interrupt whenever a key is pressed or released. The CPU's interrupt routine which handles these interrupts usually just places the key's code in a queue, to be handled later by other code when it gets around to it, then returns to whatever the computer was doing before. The special keys cause the interrupt routine to take a different "emergency" exit instead. This more trusted route is much harder to intercept.

The layout of a keyboard can be changed by remapping the keys. When you remap a key, you tell the computer a new meaning for the pressing of that key. Keyboard remapping is supported at a driver-level configurable within the operating system, or as add-ons to the existing programs. For Windows, Microsoft provides a downloadable tool called Microsoft Keyboard Layout Creator, and there are several other software programs, including SharpKeys and KeyTweak.

[edit] Control processor

The modern PC keyboard has more than just switches. It also includes a control processor and indicator lights to provide feedback to the user about what state the keyboard is in. Depending on the sophistication of the controller's programming, the keyboard may also offer other special features. The processor is usually a single chip 8048 microcontroller variant. The keyboard switch matrix is wired to its inputs and it processes the incoming keystrokes and sends the results down a serial cable (the keyboard cord) to a receiver in the main computer box. It also controls the illumination of the "caps lock", "num lock" and "scroll lock" lights.

A common test for whether the computer has crashed is pressing the "caps lock" key. The keyboard sends the key code to the keyboard driver running in the main computer; if the main computer is operating, it commands the light to turn on. All the other indicator lights work in a similar way. The keyboard driver also tracks the shift, alt and control state of the keyboard.

When pressing a keyboard key, the key "bounces" like a ball against its contacts several times before it settles into firm contact. When released, it bounces some more until it reverts to the uncontacted state. If the computer were watching for each pulse, it would see many keystrokes for what the user thought was just one. To resolve this problem, the processor in a keyboard (or computer) "debounces" the keystrokes, by aggregating them across time to produce one "confirmed" keystroke that (usually) corresponds to what is typically a solid contact.

Some low-quality keyboards suffer problems with rollover (that is, when multiple keys are pressed in quick succession); some types of keyboard circuitry will register a maximum number of keys at one time. This is undesirable for games (designed for multiple keypresses, e.g. casting a spell while holding down keys to run) and undesirable for extremely fast typing (hitting new keys before the fingers can release previous keys). A common side effect of this shortcoming is called "phantom key blocking": on some keyboards, pressing three keys simultaneously sometimes resulted in a 4th keypress being registered. Modern keyboards prevent this from happening by blocking the 3rd key in certain key combinations, but while this prevents phantom input, it also means that when two keys are depressed simultaneously, many of the other keys on the keyboard will not respond until one of the two depressed keys is lifted. With better keyboards designs, this seldom happens in office programs, but it remains a problem in games even on expensive keyboards, due to wildly different and/or configurable key/command layouts in different games.

[edit] Connection types

There are several ways of connecting a keyboard using cables, including the standard AT connector commonly found on motherboards, which was eventually replaced by the PS/2 and the USB connection. Prior to the iMac line of systems, Apple used the proprietary Apple Desktop Bus for its keyboard connector.

Wireless keyboards have become popular for their increased user freedom. A wireless keyboard often includes a required combination transmitter and receiver unit that attaches to the computer's keyboard port (see Connection types above). The wireless aspect is achieved either by radio frequency (RF) or by infrared (IR) signals sent and received from both the keyboard and the unit attached to the computer. A wireless keyboard may use an industry standard RF, called Bluetooth. With Bluetooth, the transceiver may be built into the computer. However, a wireless keyboard needs batteries to work and may pose a security problem due to the risk of data "eavesdropping" by hackers.[4]

[edit] Alternative text-entering methods
An on-screen keyboard controlled with the mouse can be used by users with limited mobility.

Optical character recognition (OCR) is preferable to rekeying for converting existing text that is already written down but not in machine-readable format (for example, a Linotype-composed book from the 1940s). In other words, to convert the text from an image to editable text (that is, a string of character codes), a person could re-type it, or a computer could look at the image and deduce what each character is. OCR technology has already reached an impressive state (for example, Google Book Search) and promises more for the future.

Speech recognition converts speech into machine-readable text (that is, a string of character codes). The technology has already reached an impressive state and is already implemented in various software products. For certain uses (e.g., transcription of medical or legal dictation; journalism; writing essays or novels) it is starting to replace the keyboard; however, it does not threaten to replace keyboards entirely anytime soon. It can, however, interpret commands (for example, "close window" or "undo that") in addition to text. Therefore, it has theoretical potential to replace keyboards entirely (whereas OCR replaces them only for a certain kind of task).

Pointing devices can be used to enter text or characters in contexts where using a physical keyboard would be inappropriate or impossible. These accessories typically present characters on a display, in a layout that provides fast access to the more frequently used characters or character combinations. Popular examples of this kind of input are Graffiti, Dasher and on-screen virtual keyboards. FITALY (http://www.FITALY.com) is a stylus/one-finger keyboard that can yield 50+ WPM. The key is to stare at the keyboard, not the screen (as in traditional touch typing). No memorization of layout is required. It is engineered for rapid text input (e.g., some 85% of English words are visible at the center of the keyboard). It is available for many mobile and laptop devices.

[edit] Other issues

[edit] Keystroke hacking

Keystroke logging (often called keylogging) is a method of capturing and recording user keystrokes. While it is used legitimately to measure employee productivity on certain clerical tasks, or by law enforcement agencies to find out about illegal activities, it is also used by hackers for law-breaking. Hackers use keyloggers as a means to obtain passwords or encryption keys and thus bypassing other security measures.

Keystroke logging can be achieved by both hardware and software means. Hardware key loggers are attached to the keyboard cable or installed inside standard keyboards. Software keyloggers work on the target computer’s operating system and gain unauthorized access to the hardware, hook into the keyboard with functions provided by the OS, or use remote access software to transmit recorded data out of the target computer to a remote location. Some hackers also use wireless keylogger sniffers to collect packets of data being transferred from a wireless keyboard and its receiver, and then they crack the encryption key being used to secure wireless communications between the two devices.

Anti-spyware applications are able to detect many keyloggers and cleanse them. Responsible vendors of monitoring software support detection by anti-spyware programs, thus preventing abuse of the software. Enabling a firewall does not stop keyloggers per se, but can possibly prevent transmission of the logged material over the net if properly configured. Network monitors (also known as reverse-firewalls) can be used to alert the user whenever an application attempts to make a network connection. This gives the user the chance to prevent the keylogger from "phoning home" with his or her typed information. Automatic form-filling programs can prevent keylogging entirely by not using the keyboard at all. Most keyloggers can be fooled by alternating between typing the login credentials and typing characters somewhere else in the focus window. [5]

Electromagnetic waves released every time key is pressed on the keyboard can be detected by a nearby antenna and interpreted by computer software to work out exactly what was typed. [6]

[edit] Physical injury
Proper ergonomic design of computer keyboard desks is necessary to prevent repetitive strain injuries, which can develop over time and can lead to long-term disability.[7]

The use of any keyboard may cause serious injury (that is, carpal tunnel syndrome or other repetitive strain injury) to hands, wrists, arms, neck or back. The risks of injuries can be reduced by taking frequent short breaks to get up and walk around a couple of times every hour. As well, users should vary tasks throughout the day, to avoid overuse of the hands and wrists. When inputting at the keyboard, a person should keep the shoulders relaxed with the elbows at the side, with the keyboard and mouse positioned so that reaching is not necessary. The chair height and keyboard tray should be adjusted so that the wrists are straight, and the wrists should not be rested on sharp table edges. Wrist or palm rests should not be used while typing.

Some Adaptive technology ranging from special keyboards, mouse replacements and pen tablet interfaces to speech recognition software can reduce the risk of injury. Pause software reminds the user to pause frequently. Switching to a much more ergonomic keyboard layout such as Dvorak[citation needed] or Colemak may reduce the risk of injury. Switching to a much more ergonomic mouse, such as a vertical mouse or joystick mouse may provide relief. Switching from using a mouse to using a stylus pen with graphic tablet or a trackpad such as a Smart Cat trackpad can lessen the repetitive strain on the arms and hands.

[

key board types

Heres the completed felt in place. Save the "holes" you'll need a few later.

felt underweartest fit

For the keyboard status lights I remove the cardboard letters from three of the keys and replaced them with translucent acetate. These were glued to short brass tubes which were in turn glued over the LEDs.

The whole frame was wiped down with denatured alcohol and sprayed with a coat of clear lacquer.

steampunk status lightslacquer the cradle

Ready to start the tedious job of positioning and gluing the new keys on

final assemblely

I cleaned the backs of the keys and the tops of the key bottoms with alcohol and affixed them with G.E. Silicon II Window and Door Sealant. Each key was carefully lined up by eye, the silicon sealant gives you and open time of about 10 minutes before it starts to skim over.

gluing the keys down

I also glued down the status lights at this time.

more gluing of keysinstalling staus lights

I wanted the enhanced keys to have proper labels on them so I disassembled several of the keys and printed labels on glossy photo paper. These I punched out of the sheet of paper with the same punch I used for the felt.

key labelsassembling key with new labels

Two old typewriters did not supply quite enough keys for the entire project, so I ran down to Joanne Fabrics and found these brass rimmed buttons.

brass rimmed buttonsbutton fixture

The backs were rounded so I attached them to a piece of wood with double-sticky tape and sanded them flat.

sanding button backs

I printed out some more labels on glossy photo paper, punched them out, blackened the edges with a Sharpie and gave them a coat of clear lacquer. They were then glued to the tops of the buttons with the silicon sealant.

attaching labels to the buttons

I covered the front and back of the keyboard with gaffer's tape to deaden the sound and give the keyboard a solid feel.

gaffers tape to deaden soundgaffers tape to cover steel

Here are the status lights lit up.

keyboard lights

Remember I said to save the felt "holes" ? here is where you'll want to use them to cover the blank posts for the formerly wide keys.

I painted the keyboard cord with Krylon Fusion gloss black paint to cover the hideous beige.

felt blank coversroman function keys

And just to show that I've met my design goal, the Lady von Slatt touch types:

Starboard

Steampunk Keyboard - Starboard

Larboard

Steampunk Keyboard - Larboard

The underside

Steampunk Keyboard - Underside

Steampunk Keyboard

Steampunk Keyboard Mod

Jake von Slatt — Thu, 03/01/2007 - 13:16

Datamancers von Slatt Keyboard
Update:

My friend Doc is makinga whole line of Steampunk Keyboards

My goal with this project was to build a retro keyboard that was fully functional and of a sufficient quality that it could be used everyday by a touch typist. In order to achieve this I chose a high quality (though widely available) keyboard as my starting point. This is an IBM Model M "Clicky" keyboard. They were made starting in the mid 1980's and a version is still manufactured today. This particular keyboard was made in 1989 and shipped with and IBM PowerStation 530, a UNIX box the size of a kegerator.


Besides its overall quality and heft, one of the things that makes this keyboard particularly good for such a mod is the fact that it has removable key caps and the under-cap has a flat surface ideal for affixing a new key top.

IBM Model M KeyboardIBM Model M Keyboard keys removed

Step one was disassembly and the removal of the skirts on the key caps. The skirt removal was kind of tricky, I originally planned to use a circle punch, but that nearly destroyed the first key I tried it on. After some experimentation I came up with a method using a heated, sharpened piece of steel tubing and a drill press.

IBM Model M Keyboard al keys removedIBM Model M Keyboard keys cut

Here is a short movie demonstration the process of removing the skirts from the key caps.


In the second half of this video I show a different and I believe superior method for making the keys. Kudos go out to Doc Datamancer for coming up with it!

After I removed all of the key cap skirts and cleaned the excess plastic off of the key bottoms, I reassembled them into the keyboard. At this point I started to design the Steampunk cradle that I planned to make from 1/4" thick brass plate.

IBM Model M Keyboard read for retro keysdesigning keyboard

I wanted a simple and clean design, the finished keyboard actually takes up less desktop real estate then the original Model M.



steampunk keyboard drawing

Next came the process of cutting and shaping the brass. Be very careful cutting brass on a table saw, if the work piece binds it can be thrown back at you with a great deal of force. Stand well to one side when doing this. Note: the blade guard has been removed for the same reason that Norm removes the blade guard of his saw in the New Yankee Workshop, that is to allow the camera a good angle. I'm sure that Norm puts them right back on after filming.

The shapes were then cut out on a band saw.

cutting brass on a tabel sawbrass template

The interior cut outs on the feet were drilled and cut with a coping saw. Brass cuts very easily, the entire project could probably be done with just a coping saw. A series of files were used to smooth the contours.

cutting brass with a coping sawfinish filing the brass foor

I drilled 3/16" pilot holes on the drill press and then enlarged them with this step drill. The step drill left a shoulder about half way through the hole because it's step are 1/8" and the piece is 1/4" thick. I think the steps add a visual appeal so I did not drill from the other side to remove them.

drilling brass with a step drillbrass parts

The pieces were then cleaned up with several grades of sandpaper, steel wool ,and a rotating fiberglass brush in the drill press. Holes were drilled and tapped to attach the legs.

nice piece of brass

Two lengths of brass "C" channel were cut on the table saw and threaded rod was used to fixture the cradle for soldering.

cradle fixturecradle fixture closeup

The completed cradle. The next step was the preparation of the old typewriter keys I planned to attach to the key bottoms. I have an old Royal typewriter that I had planned to cut the keys off of but I made the mistake of showing it to my daughter who instantly fell in love with it. So these keys were ordered from eBay. There are plenty of people offering these since they are popular among crafters. Depending on shipping cost it is sometimes cheaper to by a whole typewriter and cut the keys off yourself.

soldered keyboard cradletypewriter keys from eBay

The cheaper typewriters keys on eBay are usually removed quickly with a bolt cutter or angle grinder with a cutting disk, I needed to cut these flush before I could use them. Heres a movie that shows my method for flush cutting the backs of typewriter keys.

After they were all flush cut I laid out the keys to see what I had. I also cut a piece of felt to cover the exposed plastic of the keyboard bed. I put the entire keyboard on a copier and made an image that I then used as a template for punching holes in the felt with a sharpened piece of steel tubing.

Audition

Audition

Get in-depth reviews from our expert musicians on a massive range of gear, software and sounds.

Play

Whether you’re a novice or an expert, we’ve got tutorials from top pros that are guaranteed to improve your chops.

How To

Tips, tricks, workshops and all the know-how you need to improve your music.

Keyboard Merch

Let your Keyboard flag fly! Check out the Keyboard online store for clothing and more, all done up with the slick KB logo!


Keyboard TV

Keyboard Television! Video lessons, artist interviews and more! Broadcast online, on-demand, for players by experts!



Subscribe to Keyboard today!

* ADVERTISE
* CONTACT US
* PRIVACY POLICY - REVISED
* TERM & CONDITIONS - REVISED
* PUBLICATION INDEX

Keyboard (computing)

From Wikipedia, the free encyclopedia
(Redirected from Computer keyboard)
Jump to: navigation, search
This article needs additional citations for verification. Please help improve this article by adding reliable references. Unsourced material may be challenged and removed. (October 2008)
For other uses, see Keyboard.

In computing, a keyboard is an input device, partially modeled after the typewriter keyboard, which uses an arrangement of buttons or keys, which act as electronic switches. A keyboard typically has characters engraved or printed on the keys and each press of a key typically corresponds to a single written symbol. However, to produce some symbols requires pressing and holding several keys simultaneously or in sequence. While most keyboard keys produce letters, numbers or signs (characters), other keys or simultaneous key presses can produce actions or computer commands.

In normal usage, the keyboard is used to type text or numbers into a word processor, text editor or other program. In a modern computer, the interpretation of keypresses is generally left to the software. A computer keyboard distinguishes each physical key from every other and reports all keypresses to the controlling software. Keyboards are also used for computer gaming, either with regular keyboards or by using special gaming keyboards, which can expedite frequently used keystroke combinations. A keyboard is also used to give commands to the operating system of a computer, such as Windows' Control-Alt-Delete combination, which brings up a task window or shuts down the machine

Tuesday, February 24, 2009

Mechanical mouse devices

Mechanical mouse shown with the top cover removed
Operating a mechanical mouse.
1: moving the mouse turns the ball.
2: X and Y rollers grip the ball and transfer movement.
3: Optical encoding disks include light holes.
4: Infrared LEDs shine through the disks.
5: Sensors gather light pulses to convert to X and Y velocities.

Bill English, builder of Engelbart's original mouse,[10] invented the so-called ball mouse in 1972 while working for Xerox PARC.[11] The ball-mouse replaced the external wheels with a single ball that could rotate in any direction. It came as part of the hardware package of the Xerox Alto computer. Perpendicular chopper wheels housed inside the mouse's body chopped beams of light on the way to light sensors, thus detecting in their turn the motion of the ball. This variant of the mouse resembled an inverted trackball and became the predominant form used with personal computers throughout the 1980s and 1990s. The Xerox PARC group also settled on the modern technique of using both hands to type on a full-size keyboard and grabbing the mouse when required.

The ball mouse utilizes two rollers rolling against two sides of the ball. One roller detects the forward–backward motion of the mouse and other the left–right motion. The motion of these two rollers causes two disc-like encoder wheels to rotate, interrupting optical beams to generate electrical signals. The mouse sends these signals to the computer system by means of connecting wires. The driver software in the system converts the signals into motion of the mouse pointer along X and Y axes on the screen.

Ball mice and wheel mice were manufactured for Xerox by Jack Hawley, doing business as The Mouse House in Berkeley, California, starting in 1975.[12][13]

Based on another invention by Jack Hawley, proprietor of the Mouse House, Honeywell produced another type of mechanical mouse.[14][15] Instead of a ball, it had two wheels rotating at off axes. Keytronic later produced a similar product.[16]

Modern computer mice took form at the École polytechnique fédérale de Lausanne (EPFL) under the inspiration of Professor Jean-Daniel Nicoud and at the hands of engineer and watchmaker André Guignard.[17] This new design incorporated a single hard rubber mouseball and three buttons, and remained a common design until the mainstream adoption of the scroll-wheel mouse during the 1990s.[18]

Another type of mechanical mouse, the "analog mouse" (now generally regarded as obsolete), uses potentiometers rather than encoder wheels, and is typically designed to be plug-compatible with an analog joystick. The "Color Mouse," originally marketed by Radio Shack for their Color Computer (but also usable on MS-DOS machines equipped with analog joystick ports, provided the software accepted joystick input) was the best-known example.

Etymology and plural

The first known publication of the term "mouse" as a pointing device is in Bill English's 1965 publication "Computer-Aided Display Control".[3]

The Compact Oxford English Dictionary (third edition) and the fourth edition of The American Heritage Dictionary of the English Language endorse both computer mice and computer mouses as correct plural forms for computer mouse. Some authors of technical documents may prefer either mouse devices or the more generic pointing devices. The plural mouses treats mouse as a "headless noun."

Two manuals of style in the computer industry – Sun Technical Publication's Read Me First: A Style Guide for the Computer Industry and Microsoft Manual of Style for Technical Publications from Microsoft Press – recommend that technical writers use the term mouse devices instead of the alternatives.

[edit] Technologies

[edit] Early mice

The world's first trackball invented by Tom Cranston, Fred Longstaff and Kenyon Taylor working on the Royal Canadian Navy's DATAR project in 1952. It used a standard Canadian five-pin bowling ball. It was not patented, as it was a secret military project.


Early mouse patents. From left to right: Opposing track wheels by Engelbart, Nov. 1970, U.S. Patent 3,541,541 . Ball and wheel by Rider, Sept. 1974, U.S. Patent 3,835,464 . Ball and two rollers with spring by Opocensky, Oct. 1976, U.S. Patent 3,987,685 .


The first computer mouse, held by inventor Douglas Engelbart, showing the wheels that make contact with the working surface


A Smaky mouse, as invented at the EPFL by Jean-Daniel Nicoud and André Guignard.

Douglas Engelbart at the Stanford Research Institute invented the mouse in 1968[4] after extensive usability testing. He initially received inspiration for the design after reviewing a series of experiments conducted in the early 1960's by American geneticist Clarence Cook Little. Intrigued by Little's examination of laboratory mice at the National Cancer Institute, Engelbart endeavored to design a more efficient method for controlling computers, based on small movements of the hand corresponding to a point on a screen. The term "mouse" is a play on this connection, originally coined by Bill English, Engelbart's friend and colleague at the institute. He never received any royalties for it, as his patent ran out before it became widely used in personal computers.[5]

The invention of the mouse was just a tiny piece of Engelbart's much larger project, aimed at augmenting human intellect.[6]

Eleven years earlier, the Royal Canadian Navy had invented the trackball using a Canadian five-pin bowling ball as a user interface for their DATAR system.[7]

Several other experimental pointing-devices developed for Engelbart's oN-Line System (NLS) exploited different body movements – for example, head-mounted devices attached to the chin or nose – but ultimately the mouse won out because of its simplicity and convenience. The first mouse, a bulky device (pictured) used two gear-wheels perpendicular to each other: the rotation of each wheel translated into motion along one axis. Engelbart received patent US3541541 on November 17, 1970 for an "X-Y Position Indicator for a Display System".[8] At the time, Engelbart envisaged that users would hold the mouse continuously in one hand and type on a five-key chord keyset with the other.[9] The concept was preceded in the 19th century by the telautograph, which also anticipated the fax machine.

Mouse (computing)

It has been suggested that this article be split into multiple articles accessible from a disambiguation page. (Discuss)
This article is about the computer input device. For the animal, see mouse. For other uses, see mouse (disambiguation).
A contemporary computer mouse, with the most common standard features: two buttons and a scroll wheel which can also act as a third button

In computing, a mouse (plural mouses, mice, or mouse devices) is a pointing device that functions by detecting two-dimensional motion relative to its supporting surface. Physically, a mouse consists of an object held under one of the user's hands, with one or more buttons. It sometimes features other elements, such as "wheels", which allow the user to perform various system-dependent operations, or extra buttons or features can add more control or dimensional input. The mouse's motion typically translates into the motion of a pointer on a display, which allows for fine control of a Graphical User Interface.

The name mouse, originated at the Stanford Research Institute, derives from the resemblance of early models (which had a cord attached to the rear part of the device, suggesting the idea of a tail) to the common mouse.[1]

The first marketed integrated mouse – shipped as a part of a computer and intended for personal computer navigation – came with the Xerox 8010 Star Information System in 1981. However, the mouse remained relatively obscure until the appearance of the Apple Macintosh; in 1984 a prominent PC columnist commented the release of this new computer with a mouse: “There is no evidence that people want to use these things.”[2]

A mouse now comes with most computers and many other varieties can be bought separately.

IT era

"To give opportunities to and uplift the students of rural and tribal areas of North Gujarat and push them into the main stream of IT era."

Introduction

The Department of computer science of the H. North Gujarat University had been established in 1996. We conducts following study programmes.

* Master of Science (Computer Application & Information Technology)
* Master of Computer Application
* Post Graduate diploma in Computer Application
* Ph. D. (Computer Science / Information Technology)

The exclusive building of the computer science department is constructed in campus near the sarasvati river bank. The building of computer science department is surrounded by Ladies hostel(West), Boys hostel(East), Lake(North) and students facility center(Bank, Post, canteen and shops) in the south. More than 600 students pursuing their study in above study programs at present. Now the computer science department & computer center are separated from june-2006 and computer department shifted to newly constructed building.
Sr. No. Study Programme Duration Eligilility Admission
1 Master of Computer Application(MCA) 3 Years Master Degree Any Graduate from any recognized University Through GCET (Gujarat Common Entrance Test) held every year in June
2 Master of Science (Computer Application & Information Technology)(M.Sc.(CA & IT)) 5 Years Integrated Master Degree 12th Standard having English and Maths or Account Advertisement comes in May every year and merit list prepared by University on 12th Marks
3 Post Graduate Diploma in Computer Application (P.G.D.C.A) 1 year P.G. diploma Any Graduate from any recognized University Through Merit list prepared by University every year in June

4 Doctor of Philosophy (Ph. D.) in Computer Science / Applications / Internet Technologies Minimum 6 terms Master Degree in Relevant subject & Research experience



Department of Computer Science,
H. North Gujarat University,
University Road, Patan-384265, Gujarat.
Phone : +91 2766 233642 Ext. 400, 399
E-mail : hod_computer@ngu.ac.in


For Passout students :

All Alumni students are requested to registered themselves

through Alumni website: www.dcs-hngu.ac.in

For Further Detail Please Contact

Vishal Bhemwala ( Vice President of Alumni Association)

Mobile No. 09725001569 E-mail : vishal@dcs-hngu.ac.in

Corporate Products

Zenith recommends Windows VistaTM Business



To buy Contact Zenith Helpdesk 1800 22 2004

Highlights:
The Ultimate Laptop! With very High End Graphics, Bluetooth, Giga LAN, Web Camera at the MOST competitive Price.
• Long “Battery-Run Down” Time
• NVidia/GeForce Graphics with dedicated RAM
• Mobile Intel® Graphics Media Accelerator (GMA) 4500MHD
Intel Centrino 2 Technology
• Integrated 2.0 Mega Pixel Web Camera
Download Brochure

Specifications
Product Code Model Director Plus Ultra
Processor Intel® Core™2 Duo Processor P8400 - 2.26 GHz, 3 MB Cache, 1066 MHz FSB
Operating System Genuine Windows Vista® Business
Chipset Intel PM45 + ICH9-M Chipset {for a Lsit of Certified Zenith Machines Click Here}
Memory 1 GB DDR2, Two SO-DIMM Slots for Maximum Memory of 8 GB with 4

Shopping Categories

Peripherals



* Mobile Phones
o GSM Handsets
o Mobile Accessories
+ Bluetooth Speakers
+ Bluetooth
+ Hands Free
+ Data Cables
+ Mobile Chargers
+ Memory Card
+ Carry Cases
+ Mobile Batteries
o CDMA Handsets
o PDAs and Smartphones
* Cameras
o Digital Cameras
o Telescopes
o Film Cameras
+ Focus Free
+ SLR
+ Compact Zooms
o Binoculars
o Camera Accessories
+ Camera Batteries
+ Camera Bags
+ Tripods
+ Camera Chargers
o Camcorders
o Digital SLR
* Computers & Peripherals
o Printers
+ Multifunction Device
+ Inkjet
+ Laserjet
o Scanners
o Computer Accessories
+ RAM
+ Motherboards
+ Headphones
+ Speakers
+ Mouse
+ Keyboards
+ UPS
+ Web Cameras
o Desktop PCs
o Storage Devices
+ CD Writers
+ Hard Disk Drives
+ DVD Writers
+ USB Drives
+ Memory Cards
+ DVD ROM
o Laptops
o Projectors
o Monitors
* Consumer Electronics
o Telephones
+ Corded Phones
+ Cordless Phones
o Portable Audio
+ Portable DVD Players
+ Portable Speakers
+ Audio Systems
+ Portable VCD Players
+ FM Radios
+ Head Phones & Head Sets
+ Discmans
o Heaters
+ Room Heater
+ Water Heater
+ Geyser
o Home Appliances
+ Dryer
+ Window AC
+ Water Coolers
+ Safety Lockers
+ Water Dispenser
+ Coolers
+ Vacuum Cleaner
+ Washing Machine
+ Sewing Machine
+ Iron
+ Split AC
o Security & Surveillance
+ Security Camera
o MP3 players and iPods
+ iPods
+ MP3 and MP4 Players
o Home Entertainment
+ DTH
+ Gaming Media
+ Plasma TVs
+ Micro HI-FI
+ LCD TVs
+ Home Theatre
+ Gaming Consoles
+ DVD Players
+ Gaming Devices
+ Flat TVs
+ VCD Players
* Automobiles
o Cars
o Scooters & Mopeds
o Auto Accessories
+ Car Battery
+ Car Subwoofer & Speaker
+ Car Bluetooth
+ Car DVD Player
+ Car Vacuum Cleaner
+ Car Amplifier
+ Car Jack
+ Car Charger
+ Car Mp3 & CD Player
o Motor Bikes
* Kitchen Appliances
o Cooking
+ Ovens
+ Toasters
+ Electric Chimneys
+ Coffee Makers
+ Cooking Range
+ Cooktops & Hobs
+ Microwave Oven
+ Rice Cookers
o Refrigerators
o Dishwashers & Filters
+ Water Filters and Purifiers
+ Kitchen Sinks
+ Dishwashers
o Mixers & Grinders
+ Hand Blenders
+ Food Processors
+ Mixer & Juicer
* Gems & Jewellery
o Estate Jewellery
o Silver Jewellery
o Gem Stones
o Diamond Jewellery
o Gold Jewellery
o Artificial Jewellery
* Gifts
o Name Accessories
o Toys & Nursery
o Combo Gift Packs
o Cakes Chocolates & Sweets
o Fragrances and Perfumes
o Cosmetics
o Lucky Bamboo
o Flowers
o Stationary
* Fashion
o Opticals
o Fashion Accessories
o Watches
o Bags
o Shoes
* Health and Fitness
o Orthopedic Equipments
o Accessories
o Strength Equipments
o Beauty saloon & Miscellaneous
o Aerobic Equipments
* Home Decor
o Furniture
o Statues
o Digital Photo Frame
o Showpieces
o Home Textiles
o Name Plates
* Apparels
o Womens Wear
+ Lingeries
+ Sarees
+ Ladies kurtas
+ Shawls
+ Stoles
o Mens Wear
+ Gents Kurtas

computer store
Computers & Peripherals

To live up to the latest trends and the array of accessories that come with a computer our categorization is meant to suit your needs. You will find options of Computers and Laptops as per your customized needs and moreover you will find all the latest and popular accessories including Storage devices, Printers, Headphones, Speakers, UPS, Webcams, and much more to enhance your computer in the best possible way considering your budget.
Printers
Multifunction Device
Multifunction Device

Inkjet
Inkjet

Laserjet
Laserjet

Computer Accessories
RAM
RAM

Motherboards
Motherboards

Headphones
Headphones

Speakers
Speakers

Mouse
Mouse

Keyboards
Keyboards

UPS
UPS

Web Cameras
Web Cameras

Storage Devices
CD Writers
CD Writers

Hard Disk Drives
Hard Disk Drives

DVD Writers
DVD Writers

USB Drives
USB Drives

Memory Cards
Memory Cards

DVD ROM
DVD ROM

Scanners
Scanners

Desktop PCs
Desktop PCs

Laptops
Laptops

Projectors
Projectors
Monitors
Monitors