dapatkan dollar gratis di sini

top banner ad

Wednesday, April 30, 2008

What is a Network

The word network can be used to describe a very large and complicated set of equipment. In its most accurate and simplest definition a network refers to the cables and electronic components that amplify the signals going through the cables. The amplifying equipment is necessary to ensure accurate communication and make the signal stronger if it needs to go long distances.

Broader Definition

When many people talk about a network, they are talking about a network using a very broad concept. For instance if someone cannot get to their email, they may say "the network is down". Likewise they may say this if they cannot surf the internet or get to their files. They may not stop to think that in each specific instance there is a single piece of equipment that may provide the capability which they are trying to use.

Most people who work on a corporate or organizational network think about the network in component parts. The three main parts are:

  • The cabling and amplifiers mentioned in the first paragraph.
  • The workstations which most members of the organization use to access resources.
  • Higher powered computers called servers - These are the machines that provide what network administrators call services. Services include the functions that most people try to use such as email, reading and writing files, printing, and getting to the internet. Whenever a user is trying to do something on the network, there is a service or machine providing the capability to do so. This even includes times when someone is trying to get to network resources from their home.

Services

Services include:

  • Email service
  • File service - Allows users to use and share file space on a computer with a lot of file space.
  • Print service - Allows printing to printers connected on the network.
  • Web surfing - Allowing someone to open web pages and see web sites on the internet.
  • Filtering out undesired sites on the internet.
  • Allowing someone to access the network from the outside (from home).
  • Updating virus definitions on workstations.
  • Allowing someone to log onto the network.
  • Even giving a workstation an address on the network is a service. If your computer does not have an address, it cannot access the internet or any other resource on the network.

A Typical Network

A typical corporate or organizational network is shown below:

Typical Network

Of course there are variations on this network layout and some details have been left out for the sake of simplicity but this drawing should give you some idea about what goes on behind the scene on the network at your organization. Some servers and server functions have not been shown here.

The firewall is the device that protects all computers in the network from many attacks. It allows some types of network traffic into the network from the outside, but usually only for mail or web services. Usually the internet traffic that that is allowed to come into the network is routed to the part of the network labeled "DMZ" on the right side of the diagram. DMZ stands for demilitarized zone and is also called a semi-private network. In this DMZ is a web server which is used to allow people surfing on the internet to see web pages posted by the organization. A mail server is also shown in the DMZ but this could be replaced by a mail relay server while the mail server is placed inside the private network. The mail relay server would forward mail traffic from the outside to the mail server. This would increase the security of the network since a direct connection from the internet to the mail server would not be allowed.

The private network is of course the most secure part of the network. There are several servers on this network including:

  • A login server (called a domain controller) which controls everyones permissions and access to the network resources such as files. Without this server, they cannot login to the network.
  • An address server (called a DHCP server) which provides addresses to computers on the network so they can communicate as discussed earlier.
  • A file server which provides common files and a private folder for users.
  • A remote access server which allows users to connect to the network by telephone from the outside.

Also the workstations are part of this network.

Conclusion

Knowing the above information, if someone cannot get their mail, they may think the network is down. This is not likely to be the case. The mail server may be down but the network is not likely to be down. The same goes for when someone can't surf the web. There may be a problem with the firewall or the line connecting to the internet, but it is unlikely that the whold netwlrk is down. When problems are noticed it is best for the user to describe what they were trying to do and what happened.


from: http://www.comptechdoc.org

Tuesday, April 29, 2008

Introduction to Algorithms


General Algorithm History

Algorithms were used to solve every day problems long before computers were

ever invented. In fact algorithms have been used for so long they were named for the ninth

century mathematician, Al-Khowarizmi. Algorithms have been used for centuries to solve the

most complex problems that humanity has encountered. One of the most famous algorithms

was imagined in ancient greece. Euclid's algorithm for calculating the greatest common divisor

of two integers had and still does have impacts in the mathematical world. The importance of

algorithms in today's society should not be underestimated. The computer, for example, would

have no purpose since almost all programs are written using an algorithmic approach.

Algorithm Defintions and General Concepts

Webopedia defines an algorithm as:

"A formula or set of steps for solving a particular problem. To be an algorithm, a set of
rules must be unambiguous and have a clear stopping point. Algorithms can be expressed
in any language, from natural languages like English or French to programming languages
like FORTRAN.

We use algorithms every day. For example, a recipe for baking a cake is an algorithm.
Most programs, with the exception of some artificial intelligence applications, consist of
algorithms. Inventing elegant algorithms -- algorithms that are simple and require the fewest
steps possible -- is one of the principal challenges in programming."


Pseudo Code

Pseudo Code is used to represent algorithms in a programming language free context. It is basically a language that is not implemented on a computer. These are the constructs of pseudo code.

variable <-- value

- This means that variable is assigned value.

if (condition) then
statements1
else
statements2

- This is used for making choices in pseudo code. if some condition is true then statements1 is done. if condition is false then statements2 are done.

while {condition} do
statement

-This is used for repeating statements in pseudo code. As condition evaluates to true the statements are done.

repeat until {condition}
statement

- Statements are evaluated until the condition evaluates to statement true, then exit the loop.

for {condition} do
statement

- Evaluates statement as long as condition is true.

Plain English can be used in pseudo code as long as the point is made clear. Math operators can also be used, for example <, >, <, >, and not equals.

Here is an example for an algorithm that will assign the variable x the numbers from 1 to 10 except for 5.

x <-- 0

while x <>
if x = 4 then
x <-- x + 2
else
x <-- x + 1

This is done very simply. x is initialized to 0. The algorithm enters the while loop because 0 <>

Central Processing Unit - CPU

The CPU of a computer is a lot like its brain. Rather than actually thinking, though, it moves data bits around in ways defined by the programmer. It takes data from the program that is running in memory, other sections of memory, and/or input devices, modifies it according to the rules layed out by the programmer, then delivers it to output, disk storage, and/or memory.
Pictured here is a typical CPU chip (known as a socket-7 chip). The actual size of the chip itself is about 2 centimetres square. the rest of the module consist of a plastic case and, pins which connect it to the computer. Some newer models of chips include an external cache in the case as well. It's hard to see at this detail level, but the CPU is made up primarily of transistors. These transistors are grouped into gates which do very simple operations on data bits. These gates are grouped into larger logical units which do useful functions.
The main parts of the CPU are: Control - Decides which operation is being performed. It sends signals to the various multiplexors to decide which output occurs. This peice examines the actual machine instruction code. Registers - Small local storage areas, used to store data about to be manipulated. These vary in size and number depending on the processor. Once 16 bit, now commonly 32 bit, and in the future 64 bit will become more common. They can store numerical values or other data including memory addresses and machine-language instructions. Arithmetic Logic Unit (ALU) - Performs all mathematical operations, such as addition, subtraction, multiplication, division, logical bit shifting. Multiplexors - Select input or output from a number of possible values. These are used to decide input and output in the CPU. Cache - Not always present, but can enhance CPU performance by storing regularly-used values for fast retrieval.
One of the most important sections of the CPU is the Arithmetic Logic Unit, or ALU. This component can do many operations including addition, subtraction, multiplication, and other bit-altering routines like logical AND and OR. Like all main sections of the CPU there are many control lines running to and from the ALU, as well as input and output.
The CPU decides what should be done next by reading instructions from the computer's memory. These instructions are created by a programmer, usually using a high-level language like C, C++, or JAVA. When a high-level program is compiled, it is translated into machine-language instructions. These are in binary format but can be represented by what is called "Assembly language". Essentially this is just the binary instructions translated into human-understandable words.
Comparing CPUs is at the same time difficult and simple. There are a number of ways to evaluate CPU performance. Unfortunately few are very straightforward or accurate. The simplest comparison with which everyone is familar is Clock Speed, usually expressed in Mega-Hertz (MHz). This represents directly the number of calculations per second that the processor can perform.
Not too long ago (March, 2000) the 1 GHz (1 Giga-Hertz = 1000 Mega-Hertz) barrier was broken by two leading chip manufacturing companies, Intel and AMD. In at least one benchmarking test, the Intel Pentium III chip out-did the AMD Athlon by a very small margin. The difference was simply due to materials used to manufacture the chip.
These new CPUs will not work in any computer, so don't go and buy a brand new PIII 1G chip to replace your old 486 chip. Only certain motherboards can accept certain types of chips. The size and shape of the chip itself can vary from model to model. The first chip shown above will fit into a regular pentium slot, know as Socket 7. The next one shown, at the top of this section, is a brand-new Intel Pentium III 1GHz processor. As you can see by the shape and size, this new chip attaches to the motherboard in a completely different way than the Socket 7. Even if the sockets were the same for both chips, the older motherboard could probably not provide enough electricity, or fast enough clock signals to the new chip to make it work.

from: http://www.cs.usask.ca

MEDIA BELAJAR HTML: Tukaran link

MEDIA BELAJAR HTML: Tukaran link

Monday, April 28, 2008

Belajar Memulai Bisnis Internet Dengan Affiliate Marketing

Apa Itu Affiliate Marketing?

Bila Anda ingin memulai suatu bisnis di internet, Anda harus paham mengenai Affiliate Marketing. Karena dalam menjalankan bisnis internet dan untuk mendapatkan penghasilkan dari internet tidak lepas dari affiliate marketing. Jadi Apa itu Affiliate Marketing ? Penjelasan affiliate marketing sangat sederhana yaitu memasarkan produk orang lain dan mendapatkan komisi dari perjualan produk tersebut.

Jadi untuk mendapatkan uang dari internet, Anda tidak selalu harus memiliki produk Anda sendiri untuk Anda jual di internet, Anda bisa memasarkan produk orang lain dengan bergabung dalam program affiliate yang diselenggarakan oleh website orang tersebut.

Download artikel lebih lanjut melalui link:

http://bisnisinternetonline.com/ilmukomputer/bisnisinternetonline.com-affiliatemarketing.zip


from: ilmukomputer.com

Beberapa Strategi Menghasilkan Uang Melalui Internet

Media internet memberikan kepada kita banyak peluang dalam menghasilkan uang. Pada ebook ini, saya akan memberikan gambaran besar kepada Anda, strategi yang bisa Anda lakukan untuk menghasilkan uang melalui internet. Kemudian Anda bisa fokus pada satu strategi yang Anda pilih dan mempelajarinya lebih lanjut.

Media Internet merupakan media informasi, Anda dapat terus menambah pengetahuan Anda dalam mengembangkan strategi untuk menghasilkan uang. Pilih Strategi yang Anda sukai. Masing-masing orang berbeda sesuai dengan minatnya. Dan memang itulah internet, memberikan banyak peluang.

Strategi menghasilkan uang dengan berjualan produk, berjualan ebook, berjualan software, menjual jasa web design, web hosting, membuat website komunitas, berjualan gambar, dan lain-lainya.

Pelajarilah lebih lanjut ebook ini dan mulailah bisnis internet Anda sekarang.

Sukses Untuk Anda

David Odang
http://www.bisnisinternetonline.com

Download ebook melalui link berikut:

DOWNLOAD ARTIKEL LENGKAP (PDF):
  1. davidodang-bisnisinternetonline.com
FROM: ILMUKOMPUTER.COM

Visual display unit

A visual display unit, often called simply a monitor, is a piece of electrical equipment which displays viewable images generated by a computer without producing a permanent record. The word "monitor" is used in other contexts; in particular in television broadcasting, where a television picture is displayed to a high standard. A computer display device is usually either a cathode ray tube or some form of flat panel such as a TFT LCD. The monitor comprises the display device, circuitry to generate a picture from electronic signals sent by the computer, and an enclosure or case. Within the computer, either as an integral part or a plugged-in interface, there is circuitry to convert internal data to a format compatible with a monitor.

Diagonal size

The inch size is the diagonal size of the picture tube or LCD panel. With 4:3 CRTs the picture is squarer than 16:10 TFT and so has a larger area for the same diagonal, hence a 17" CRT generally gives about the same area of picture as a 19" TFT.

This method of size measurement dates from the early days of CRT television when round picture tubes were in common use, which only had one dimension that described display size. When rectangular tubes were used, the diagonal measurement of these was equivalent to the round tube's diameter, hence this was used.

A better way to compare CRT and LCD displays is by viewable image size.


As with television, several different hardware technologies exist for displaying computer-generated output:

  • Liquid crystal display (LCD). TFT LCDs are the most popular display device for new computers in the world.
    • Passive LCD gives poor contrast and slow response, and other image defects. These were used in some laptops until the mid 1990s.
    • TFT Thin Film Transistor LCDs give much better picture quality in several respects. All modern LCD monitors are TFT.
  • Cathode ray tube (CRT)
    • Standard raster scan computer monitors
    • Vector displays, as used on the Vectrex, many scientific and radar applications, and several early arcade machines (notably Asteroids) - always implemented using CRT displays due to requirement for a deflection system, though can be emulated on any raster-based display.
    • Television receivers were used by most early personal and home computers, connecting composite video to the television set using a modulator. Image quality was reduced by the additional steps of composite video ? modulator ? TV tuner ? composite video.
  • Plasma display
  • Surface-conduction electron-emitter display (SED)
  • Video projector - implemented using LCD, CRT, or other technologies. Recent consumer-level video projectors are almost exclusively LCD based.
  • Organic light-emitting diode (OLED) display
  • Penetron military aircraft displays

From Wikipedia, the free encyclopedia

Keyboard

In computing, a keyboard is a peripheral partially modeled after the typewriter keyboard.

Physically, a keyboard is an arrangement of buttons, or keys. A keyboard typically has characters engraved or printed on the keys; in most cases, each press of a key corresponds to a single written symbol. However, to produce some symbols requires pressing and holding several keys simultaneously or in sequence; other keys do not produce any symbol, but instead affect the operation of the computer or the keyboard itself. See input method editor.

A majority of all keyboard keys produce letters, numbers or signs (characters) that are appropriate for the operator's language. Other keys can produce actions when pressed, and other actions are available by the simultaneous pressing of more than one action key.

There exists a large number of different arrangements of symbols on keys. These different keyboard layouts arise mainly because different people need easy access to different symbols; typically, this is because they are writing in different languages, but specialized keyboard layouts for mathematics, accounting, and computer programming also exist.

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 technical limitations of the typewriters. The letters were attached to levers that needed to move freely; because jamming would result if commonly used letters were placed too close to one another, Christopher Sholes invented the QWERTY layout. However, with the advent of modern electronics, this is no longer an issue. QWERTY layouts and their brethren had been a de facto standard for decades prior to the introduction of the very first computer keyboard, and were primarily adopted for electronic keyboards for this reason. Alternative layouts do exist, the best known of which are the Dvorak and more recently Colemak layouts; however, these are not in widespread use.

The number of keys on a keyboard varies from the standard of 101 keys introduced in the late 1980s to the 104-key Windows keyboards and all the way up to 130 keys or more, with many of the additional keys being symbol-less programmable keys that can simulate multiple functions such as starting a web browser or e-mail client. There also were "Internet keyboards," sold in the late 1990s, that replaced the function keys with pre-programmed internet shortcuts. Pressing the shortcut keys would launch a browser to go to that website.

Connection types

This photograph shows a QWERTY keyboard dismantled, with all of the keys properly removed, during the cleaning process.
This photograph shows a QWERTY keyboard dismantled, with all of the keys properly removed, during the cleaning process.

There are several different ways of connecting a keyboard which have evolved over the years. These include the standard AT (DIN-5) connector commonly found on pre-80486 motherboards, which was eventually replaced by the PS/2 and USB connection. Prior to the iMac line of systems, Apple Computer used ADB, a proprietary system, for its keyboard connector.

Sound card

A sound card (also known as an audio card) is a computer expansion card that facilitates the input and output of audio signals to/from a computer under control of computer programs. Typical uses of sound cards include providing the audio component for multimedia applications such as music composition, editing video or audio, presentation/education, and entertainment (games). Many computers have sound capabilities built in, while others require additional expansion cards to provide for audio capability.

Sound cards usually feature a digital-to-analog converter, that converts recorded or generated digital data into an analog format. The output signal is connected to an amplifier, headphones, or external device using standard interconnects, such as a TRS connector or an RCA connector. If the number and size of connectors is too large for the space on the backplate the connectors will be off-board, typically using a breakout box, or an auxiliary backplate. More advanced cards usually include more than one sound chip to provide for higher data rates and multiple simultaneous functionality, eg between digital sound production and synthesized sounds (usually for real-time generation of music and sound effects using minimal data and CPU time). Digital sound reproduction is usually done with multi-channel DACs, which are capable of multiple digital samples simultaneously at different pitches and volumes, or optionally applying real-time effects like filtering or distortion. Multi-channel digital sound playback can also be used for music synthesis when used with a digitized instrument bank, typically a small amount of ROM or Flash memory containing samples corresponding to MIDI instruments. A contrasting way to synthesize sound on a PC uses "audio codecs", which rely heavily on software for music synthesis, MIDI compliance, and even multiple-channel emulation. This approach has become common as manufacturers seek to simplify the design and the cost of sound cards.

Most sound cards have a line in connector for signal from a cassette tape recorder or similar sound source. The sound card digitizes this signal and stores it (under control of appropriate matching computer software) on the computer's hard disk for storage, editing, or further processing. Another common external connector is the microphone connector, for use by a microphone or other low level input device. Input through a microphone jack is often used by speech recognition software or for Voice over IP applications.


Sound channels and polyphony

8-channel digital-to-analog converter Cirrus Logic CS4382 placed on Sound Blaster X-Fi Fatal1ty
8-channel digital-to-analog converter Cirrus Logic CS4382 placed on Sound Blaster X-Fi Fatal1ty

Another important characteristic of sound cards is polyphony, which is more than one distinct voice or sound playable simultaneously and independently, and the number of simultaneous channels. These are intended as the number of distinct electrical audio outputs, which may correspond to a speaker configuration such as 2.0 (stereo), 2.1 (stereo and sub woofer), 5.1 etc.). Sometimes, the terms "voices" and "channels" are used interchangeably to indicate the degree of polyphony, not the output speaker configuration.

For example, many older sound chips could accommodate three voices, but only one audio channel (ie, a single mono output) for output, requiring all voices to be mixed together. More recent cards, such as the AdLib sound card, have a 9 voice polyphony and 1 mono channel as a combined output.

For some years, most PC sound cards have had multiple FM synthesis voices (typically 9 or 16) which were usually used for MIDI music. The full capabilities of advanced cards aren't often completely used; only one (mono) or two (stereo) voice(s) and channel(s) are usually dedicated to playback of digital sound samples, and playing back more than one digital sound sample usually requires a software downmix at a fixed sampling rate. Modern low-cost integrated soundcards (ie, those built into motherboards) such as audio codecs like those meeting the AC'97 standard and even some budget expansion soundcards still work that way. They may provide more than two sound output channels (typically 5.1 or 7.1 surround sound), but they usually have no actual hardware polyphony for either sound effects or MIDI reproduction, these tasks are performed entirely in software. This is similar to the way inexpensive softmodems perform modem tasks in software rather than in hardware).

Also, in the early days of wavetable synthesis, some sound card manufacturers advertised polyphony solely on the MIDI capabilities alone. In this case, the card's output channel is irrelevant (and typically, the card is only capable of two channels of digital sound). Instead, the polyphony measurement solely applies to the amount of MIDI notes the sound card is capable of producing at one given time.

Today, a sound card providing actual hardware polyphony, regardless of the number of output channels, is typically referred to as a "hardware audio accelerator", although actual voice polyphony is not the sole (or even a necessary) prerequisite, with other aspects such as hardware acceleration of 3D sound, positional audio and real-time DSP effects being more important.

Since digital sound playback has become available and provided better performance than synthesis, modern soundcards with hardware polyphony don't actually use DACs with as many channels as voices, but rather perform voice mixing and effects processing in hardware (eventually performing digital filtering and conversions to and from the frequency domain for applying certain effects) inside a dedicated DSP. The final playback stage is performed by an external (in reference to the DSP chip(s)) DAC with significantly fewer channels than voices (e.g., 8 channels for 7.1 audio, which can be divided among 32, 64 or even 128 voices).

Video card

A video card, also referred to as a graphics accelerator card, display adapter, graphics card, and numerous other terms, is an item of personal computer hardware whose function is to generate and output images to a display. It operates on similar principles as a sound card or other peripheral devices.The price range for this device starts from $50 to $6500.

The term is usually used to refer to a separate, dedicated expansion card that is plugged into a slot on the computer's motherboard, as opposed to a graphics controller integrated into the motherboard chipset. An integrated graphics controller may be referred to as an "integrated graphics processor" (IGP).

Some video cards offer added functions, such as video capture, TV tuner adapter, MPEG-2 and MPEG-4 decoding or even FireWire, mouse, light pen, joystick connectors, or even the ability to connect multiple monitors.

Video cards are not used exclusively in IBM type PCs; they have been used in devices such as Commodore Amiga (connected by the slots Zorro II and Zorro III), Apple II, Apple Macintosh, Atari Mega ST/TT (attached to the MegaBus or VME interface), Spectravideo SVI-328, MSX and in video game consoles.

Video card history starts in the 1960s, when printers were replaced with screens as visualization element. Video cards were needed to create the first images.


Year Text Mode Graphics Mode Colors Memory
MDA 1981 80*25 - 1 4 KB
CGA 1981 80*25 640*200 16 16 KB
HGC 1982 80*25 720*348 1 64 KB
EGA 1984 80*25 640*350 16 256 KB
IBM 8514 1987 80*25 1024*768 256 -
MCGA 1987 80*25 320*200 256 -
VGA 1987 720*400 640*480 256 256 KB
SVGA 1989 80*25 800*600 256 1 MB
XGA 1990 80*25 1024*768 65,536 2 MB

The first IBM PC video card, which was released with the first IBM PC, was developed by IBM in 1981. The MDA (Monochrome Display Adapter) could only work in text mode representing 25x80 lines in the screen. It had a 4KB video memory and just one color.[1]

Starting with the MDA in 1981, several video cards were released, which are summarized in the attached table.[2][3][4][5]

VGA was widely accepted, which lead some corporations such as ATI, Cirrus Logic and S3 to work with that video card, improving its resolution and the number of colours it used. And so was born the SVGA (Super VGA) standard, which reached 2 MB of video memory and a resolution of 1024x768 at 256 color mode.

The evolution of video cards took a turn for the better in 1995 with the release of the first 2D/3D cards, developed by Matrox, Creative, S3 and ATI, among others. Those video cards followed the SVGA standard, but incorporated 3D functions. In 1997, 3dfx released the graphics chip Voodoo, which was very powerful and included new 3D effects (Mip Mapping, Z-buffering, Anti-aliasing...). From this point, a series of 3D video cards were released, like Voodoo2 from 3dfx, TNT and TNT2 from NVIDIA. The power reached with these cards exceeded the PCI port capacity. Intel developed the AGP (Accelerated Graphics Port) which solved the bottleneck between the microprocessor and the video card. From 1999 until 2002, NVIDIA controlled the video card market (taking over 3dfx)[6] with the GeForce family. The improvements carried out in these years were focused in 3D algorithms and graphics processor clock rate. Nevertheless, video memory also needed to improve their data rate, and DDR technology was incorporated. The capacity of video memory goes in this period from 32 MB with GeForce to 128 MB with GeForce 4.

In 2006, the leadership of the video cards market[7] was contested between NVIDIA and ATI with their biggest graphics models GeForce and Radeon respectively.

The most common connection systems between the video card and the computer display are:

  • DVI: Digital-based standard designed for displays such as flat-panel displays (LCDs, plasma screens, wide High-definition television displays) and video projectors. It avoids image distortion and electrical noise, corresponding each pixel from the computer to a display pixel, using its native resolution.

Image:Pseudo_miniDIN-9_Diagram.png

[edit] Other Types of Connection Systems:

  • Component video: It has three cables, each with RCA connector (YCbCr); it is used in projectors, DVD players and some televisions.

  • HDMI: digital technology released in 2003, whose goal is to replace all the others.

  • Display Port: An advanced license and royalty-free digital audio/video interconnect released in 2007.

Computer power supply

A computer power supply unit (Computer PSU) is the component that supplies power to a computer. More specifically, a power supply is typically designed to convert 100-120 V (North America and Japan) or 220-240 V (Europe, Africa, Asia and Australia) AC power from the mains to usable low-voltage DC power for the internal components of the computer. Some power supplies have a switch to change between 230 V and 115 V. Other models have automatic sensors that switch input voltage automatically, or are able to accept any voltage between those limits.

The most common computer power supplies are built to conform with the ATX form factor. The most recent specification of the ATX standard is version 2.2, released in 2004. This enables different power supplies to be interchangeable with different components inside the computer. ATX power supplies also are designed to turn on and off using a signal from the motherboard (PS-ON wire, which can be shorted to ground to turn on the PSU outside the computer), and provide support for modern functions such as the standby mode available in many computers.

Power rating

Computer power supplies are rated based on their maximum output power. Typical power ranges are from 300 W to 500 W (lower than 300 W for Small form factor systems). Power supplies used by gamers and enthusiasts sometimes range from 500 W to 1000 W, with the highest end units going up to 2 kW for servers and extreme performance computers with multiple processors, several hard disks and multiple graphics cards (ATI CrossFire or NVIDIA SLI).

Using a power supply that is larger than necessary can significantly increase operating costs by wasting energy. Many overestimate the size of power supply that is needed; several of the online calculators overestimate as well. Typical desktop computers, even those with power hungry processors like the Prescott P4 or a hot GPU, use a maximum of 200 to 250 W or less at full load.

External

Most computer power supplies have the appearance of a square metal box, and have a large bundle of wires emerging from one end. Opposite the wire bundle is the back face of the power supply, with an air vent and C14 IEC connector to supply AC power. There may optionally be a power switch and/or a voltage selector switch. A label on one side of the box lists technical information about the power supply, including safety certifications maximum output wattage. Common certification marks for safety are the UL mark, GS mark, TÜV, NEMKO, SEMKO, DEMKO, FIMKO, CCC, CSA, VDE, GOST R and BSMI. Common certificate marks for EMI/RFI are the CE mark, FCC and C-tick. The CE mark is required for power supplies sold in Europe and India.

Dimensions of an ATX power supply are 150 mm width, 86 mm height, and typically 140 mm depth, although the depth can vary from brand to brand.

Connectors

Various connectors from a computer PSU.
Various connectors from a computer PSU.

Typically, power supplies have the following connectors:

  • PC Main power connector (usually called P1): Is the connector that goes to the motherboard to provide it with power. The connector has 20 or 24 pins. One of the pins belongs to the PS-ON wire mentioned above (it is usually green). This connector is the largest of all the connectors. In older AT power supplies, this connector was split in two: P8 and P9. If you have a power supply with 24-pin connector, you can plug it into a motherboard with a 20-pin connector. In cases where the motherboard has a 24-pin connector, some power supplies come with two connectors (one with 20-pin and other with 4-pin) which can be used together to form the 24-pin connector.
  • ATX12V 4-pin power connector (also called the P4 power connector). A second connector that goes to the motherboard (in addition to the main 24-pin connector). This connector is found on recent motherboards.
  • 4-pin Peripheral power connectors (usually called Molex for its manufacturer): These are the other, smaller connectors that go to the various disk drives of the computer. Most of them have four wires: two black, one red, and one yellow. Unlike the standard mains electrical wire color-coding, each black wire is a ground, the orange wire is +3.3 V, the red wire is +5 V, and the yellow wire is +12 V.
  • 4-pin Floppy drive power connectors (usually called Mini-connector): This is one of the smallest connectors that supplies the floppy drive with power. In some cases, it can be used as an auxiliary connector for AGP video cards. Its cable configuration is similar to the Peripheral connector.
  • Auxiliary power connectors: There are several types of auxiliary connectors designed to provide additional power if it is needed.
  • Serial ATA power connectors: a 15-pin connector for components which use SATA power plugs. This connector supplies power at three different voltages: +3.3, +5, and +12 volts.
  • Most modern computer power supplies include 6-pin connectors which are generally used for PCI Express graphics cards, but a newly introduced 8-pin connector should be seen on the latest model power supplies. Each PCI Express 6-pin connector can output a maximum of 75 W.
  • A C14 IEC connector with an appropriate C13 cord is used to attach the power supply to the local power grid.

nternal

Inside the computer power supply is a complex arrangement of electrical components, including diodes, capacitors, transistors and transformers. Also, most computer power supplies have metal heat sinks and fans to dissipate the heat produced. The speed of the fan is often dependent on the temperature, or less often the power load. It may be dangerous to open a power supply even if it is not connected to an electrical outlet, as high voltages may still be present in charged capacitors. However, for most PSUs this can be fixed by unplugging the PSU and then pressing the power-on button, which will drain the capacitors. Still, care should be taken as some PSUs require a load on the output in order to discharge the capacitors fully. Even when the PC is turned off, a PSU will draw some power from the electrical outlet, most of it going to power the +5 VSB (standby voltage) rail.

Some models even include heat pipes to assist in heat dissipation.

AT vs. ATX

A typical installation of an ATX form factor computer power supply.
A typical installation of an ATX form factor computer power supply.

There are two basic differences between old AT and newer ATX power supplies:

  • The PC main connectors (see above description of connectors).
  • The soft switch. On older AT power supplies, the Power-on switch wire from the front of the computer is connected directly to the power supply. On newer ATX power supplies, the switch goes to the motherboard, allowing other hardware or software to turn the system on or off.

Wiring diagrams

AT power connector (Used on older AT style mainboards)
Color Pin Signal

P8.1 Power Good

P8.2 +5 V

P8.3 +12 V

P8.4 −12 V

P8.5 Ground

P8.6 Ground


P9.1 Ground

P9.2 Ground

P9.3 −5 V

P9.4 +5 V

P9.5 +5 V

P9.6 +5 V
24-pin ATX power supply connector
(20-pin omits the last 4: 11, 12, 23 and 24)
Color Signal Pin Pin Signal Color

+3.3 V 1 13 +3.3 V sense

+3.3 V 2 14 −12 V

Ground 3 15 Ground

+5 V 4 16 Power on

Ground 5 17 Ground

+5 V 6 18 Ground

Ground 7 19 Ground

Power good 8 20 −5 V (optional)

+5 V standby 9 21 +5 V

+12 V 10 22 +5 V

+12 V 11 23 +5 V

+3.3 V 12 24 Ground

Motherboard/Logicboard

  • Motherboard - the "body" of the computer, through which all other components interface.
  • Central processing unit (CPU) - Performs most of the calculations which enable a computer to function, sometimes referred to as the "brain" of the computer.
    • Computer fan - Used to lower the temperature of the computer; a fan is almost always attached to the CPU, and the computer case will generally have several fans to maintain a constant airflow. Liquid cooling can also be used to cool a computer, though it focuses more on individual parts rather than the overall temperature inside the chassis.
  • Random Access Memory (RAM) - Fast-access memory that is cleared when the computer is powered-down. RAM attaches directly to the motherboard, and is used to store programs that are currently running.
  • Firmware is loaded from the Read only memory ROM run from the Basic Input-Output System (BIOS) or in newer systems Extensible Firmware Interface (EFI) compliant
  • Internal Buses - Connections to various internal components.
  • External Bus Controllers - used to connect to external peripherals, such as printers and input devices. These ports may also be based upon expansion cards, attached to the internal buses.

Computability theory

In computer science, computability theory is the branch of the theory of computation that studies which problems are computationally solvable using different models of computation.

Computability theory differs from the related discipline of computational complexity theory, which deals with the question of how efficiently a problem can be solved, rather than whether it is solvable at all.

Introduction

A central question of computer science is to address the limits of computing devices. One approach to addressing this question is understanding the problems we can use computers to solve. Modern computing devices often seem to possess infinite capacity for calculation, and it's easy to imagine that, given enough time, we might use computers to solve any problem. However, it is possible to show clear limits to the ability of computers, even given arbitrarily vast computational resources, to solve even seemingly simple problems. Problems are formally expressed as a decision problem which is to construct a mathematical function that for each input returns either 0 or 1. If the value of the function on the input is 0 then the answer is "no" and otherwise the answer is "yes".

To explore this area, computer scientists invented automata theory which addresses problems such as the following: Given a formal language, and a string, is the string a member of that language? This is a somewhat esoteric way of asking this question, so an example is illuminating. We might define our language as the set of all strings of digits which represent a prime number. To ask whether an input string is a member of this language is equivalent to asking whether the number represented by that input string is prime. Similarly, we define a language as the set of all palindromes, or the set of all strings consisting only of the letter 'a'. In these examples, it is easy to see that constructing a computer to solve one problem is easier in some cases than in others.

But in what real sense is this observation true? Can we define a formal sense in which we can understand how hard a particular problem is to solve on a computer? It is the goal of computability theory of automata to answer just this question.

Formal models of computation

In order to begin to answer the central question of automata theory, it is necessary to define in a formal way what an automaton is. There are a number of useful models of automata. Some widely known models are:

Deterministic finite state machine
Also called a deterministic finite automaton (DFA), or simply a finite state machine. All real computing devices in existence today can be modeled as a finite state machine, as all real computers operate on finite resources. Such a machine has a set of states, and a set of state transitions which are affected by the input stream. Certain states are defined to be accepting states. An input stream is fed into the machine one character at a time, and the state transitions for the current state are compared to the input stream, and if there is a matching transition the machine may enter a new state. If at the end of the input stream the machine is in an accepting state, then the whole input stream is accepted.
Nondeterministic finite state machine
Similarly called a nondeterministic finite automaton (NFA), it is another simple model of computation, although its processing sequence is not uniquely determined. It can be interpreted as taking multiple paths of computation simultaneously through a finite number of states. However, it is proved that any NFA is exactly reducible to an equivalent DFA.
Pushdown automaton
Similar to the finite state machine, except that it has available an execution stack, which is allowed to grow to arbitrary size. The state transitions additionally specify whether to add a symbol to the stack, or to remove a symbol from the stack. It is more powerful than a DFA due to its infinite-memory stack, although only some information in the stack is ever freely accessible.
Turing machine
Also similar to the finite state machine, except that the input is provided on an execution "tape", which the Turing machine can read from, write to, or move back and forth past its read/write "head". The tape is allowed to grow to arbitrary size. The Turing machine is capable of performing complex calculations which can have arbitrary duration. This model is perhaps the most important model of computation in computer science, as it simulates computation in the absence of predefined resource limits.
Multi-tape Turing machine
Here, there may be more than one tape; moreover there may be multiple heads per tape. Surprisingly, any computation that can be performed by this sort of machine can also be performed by an ordinary Turing machine, although the latter may be slower or require a larger total region of its tape.

Power of automata

With these computational models in hand, we can determine what their limits are. That is, what classes of languages can they accept?

Power of finite state machines

Computer scientists call any language that can be accepted by a finite state machine a regular language. Because of the restriction that the number of possible states in a finite state machine is finite, we can see that to find a language that is not regular, we must construct a language that would require an infinite number of states.

An example of such a language is the set of all strings consisting of the letters 'a' and 'b' which contain an equal number of the letter 'a' and 'b'. To see why this language cannot be correctly recognized by a finite state machine, assume first that such a machine M exists. M must have some number of states n. Now consider the string x consisting of (n + 1) 'a's followed by (n + 1) 'b's.

As M reads in x, there must be some state in the machine that is repeated as it reads in the first series of 'a's, since there are (n + 1) 'a's and only n states by the pigeonhole principle. Call this state S, and further let d be the number of 'a's that our machine read in order to get from the first occurrence of S to some subsequent occurrence during the 'a' sequence. We know, then, that at that second occurrence of S, we can add in an additional d (where d > 0) 'a's and we will be again at state S. This means that we know that a string of (n + d + 1) 'a's must end up in the same state as the string of (n + 1) 'a's. This implies that if our machine accepts x, it must also accept the string of (n + d + 1) 'a's followed by (n + 1) 'b's, which is not in the language of strings containing an equal number of 'a's and 'b's.

We know, therefore, that this language cannot be accepted correctly by any finite state machine, and is thus not a regular language. A more general form of this result is called the Pumping lemma for regular languages, which can be used to show that broad classes of languages cannot be recognized by a finite state machine.

Power of pushdown automata

Computer scientists define a language that can be accepted by a pushdown automaton as a Context-free language, which can be specified as a Context-free grammar. The language consisting of strings with equal numbers of 'a's and 'b's, which we showed was not a regular language, can be decided by a push-down automaton. Also, in general, a push-down automaton can behave just like a finite-state machine, so it can decide any language which is regular. This model of computation is thus strictly more powerful than finite state machines.

However, it turns out there are languages that cannot be decided by push-down automaton either. The result is similar to that for regular expressions, and won't be detailed here. There exists a Pumping lemma for context-free languages. An example of such a language is the set of prime numbers.

Power of Turing machines

Turing machines can decide any context-free language, in addition to languages not decidable by a push-down automaton, such as the language consisting of prime numbers. It is therefore a strictly more powerful model of computation.

Because Turing machines have the ability to "back up" in their input tape, it is possible for a Turing machine to run for a long time in a way that is not possible with the other computation models previously described. It is possible to construct a Turing machine that will never finish running (halt) on some inputs. We say that a Turing machine can decide a language if it eventually will halt on all inputs and give an answer. A language that can be so decided is called a recursive language. We can further describe Turing machines that will eventually halt and give an answer for any input in a language, but which may run forever for input strings which are not in the language. Such Turing machines could tell us that a given string is in the language, but we may never be sure based on its behavior that a given string is not in a language, since it may run forever in such a case. A language which is accepted by such a Turing machine is called a recursively enumerable language.

The Turing machine, it turns out, is an exceedingly powerful model of automata. Attempts to amend the definition of a Turing machine to produce a more powerful machine are surprisingly met with failure. For example, adding an extra tape to the Turing machine, giving it a 2-dimensional (or 3 or any-dimensional) infinite surface to work with can all be simulated by a Turing machine with the basic 1-dimensional tape. These models are thus not more powerful. In fact, a consequence of the Church-Turing thesis is that there is no reasonable model of computation which can decide languages that cannot be decided by a Turing machine.

The question to ask then is: do there exist languages which are recursively enumerable, but not recursive? And, furthermore, are there languages which are not even recursively enumerable?

The halting problem

Main article: Halting problem

The halting problem is one of the most famous problems in computer science, because it has profound implications on the theory of computability and on how we use computers in everyday practice. The problem can be phrased:

Given a description of a Turing machine and its initial input, determine whether the program, when executed on this input, ever halts (completes). The alternative is that it runs forever without halting.

Here we are asking not a simple question about a prime number or a palindrome, but we are instead turning the tables and asking a Turing machine to answer a question about another Turing machine. It can be shown (See main article: Halting problem) that it is not possible to construct a Turing machine that can answer this question in all cases.

That is, the only general way to know for sure if a given program will halt on a particular input in all cases is simply to run it and see if it halts. If it does halt, then you know it halts. If it doesn't halt, however, you may never know if it will eventually halt. The language consisting of all Turing machine descriptions paired with all possible input streams on which those Turing machines will eventually halt, is not recursive. The halting problem is therefore called non-computable or undecidable.

An extension of the halting problem is called Rice's Theorem, which states that it is undecidable (in general) whether a given language possesses any specific nontrivial property.

Beyond recursive languages

The halting problem is easy to solve, however, if we allow that the Turing machine that decides it may run forever when given input which is a representation of a Turing machine that does not itself halt. The halting language is therefore recursively enumerable. It is possible to construct languages which are not even recursively enumerable, however.

A simple example of such a language is the complement of the halting language; that is the language consisting of all Turing machines paired with input strings where the Turing machines do not halt on their input. To see that this language is not recursively enumerable, imagine that we construct a Turing machine M which is able to give a definite answer for all such Turing machines, but that it may run forever on any Turing machine that does eventually halt. We can then construct another Turing machine M' that simulates the operation of this machine, along with simulating directly the execution of the machine given in the input as well, by interleaving the execution of the two programs. Since the direct simulation will eventually halt if the program it is simulating halts, and since by assumption the simulation of M will eventually halt if the input program would never halt, we know that M' will eventually have one of its parallel versions halt. M' is thus a decider for the halting problem. We have previously shown, however, that the halting problem is undecidable. We have a contradiction, and we have thus shown that our assumption that M exists is incorrect. The complement of the halting language is therefore not recursively enumerable.