Monday, December 29, 2008

Hard Drive Problems (Optical Drives)

Hard Drive Problems (Optical Drives)
Problem: Your drive reads data very slowly.
Cause: This could occur if the drive is old, and the laser pick up assembly weakens. It might also happen when the pickup lensgathers dust.
Solution: Get a lens cleaning kit and clean the lens. If that doesn’t work, it’s time to get a new drive!

Problem: Your CD-RW drive ejects and reloads the disc during operation
Cause: This isn’t a problem; it’s a mechanism to clear the drive’s buffer. All CD-RW drives are provided with some buffer memory to smooth out the writing process. While some drives have a way to clear it out, some aren’t provided with any, in which case the drive might pop out the disc to clear the buffer memory.
Solution: Before buying a drive, make sure it has a way to clear out buffer memory. To find out what drives have this feature and which ones don’t, ask someone who already has the drive model you’re contemplating buying.

Problem: Your CD-ROM drive immediately ejects an empty disc.
Cause: This can be either a software or a hardware problem.
Solution: Certain hardware faults can cause the drive to immediately reject certain CDs. To make sure that it’s the drive and not the OS that is rejecting the CD, pull out the data cable from the drive and then insert a CD. If it is rejected, then the drive has a hardware fault. If the problem is with the OS, try disabling features such as auto-insertion notification.If the machine is powered on for some time and the CD-R was in use, then the resultant heat can at times lead to such rejection problems. The drive might needs realignment, and should be given to a service centre.

Problem: A multi-session disc has only the last-burnt data; you can’t see data from older sessions
Cause: This happens when you forget to link the data from previous sessions to the data in the latest sessions. Most CD-ROMs can’t view the data from older sessions unless they use an application that allows a selection of sessions to view.
Solution: This used to be a problem with older burning applications that simply over looked this problem. Newer applications default to saving the older sessions,or prompt for user input in this regard. If you are stuck with older software, update to a newer one that supports the session saving feature. Else in the older software, make sure you manually specify that the disc is a multi-session disc and that you want the older session to be saved.Also, applications such as IsoBuster and CD-R diagnostics allow accessing of older data sessions. However, some older CD-ROMs might not be able to work with this software, especially for retrieving older data.

Problem: A disc fails repeatedly.
Cause: The problem probably lies with the media and not the writer.
Solution: Media compatibility is critical for proper CD writing.Cheap blank CDs are the culprit—their reliability is questionable.Always use reliable CDs, even if they are more expensive. Try out different media and see which one offers better compatibility with your drive.

Problem: You’re unable to copy game CDs
Cause: It’s illegal to try to copy game CDs! Today, most game CDs come with some form of copy protection to avoid piracy. The game publisher places blank or unreadable sectors on the disc, which confuses the copying applications.
Solution: There’s no “solution” we can provide! We only suggest you use your game CD carefully so you won’t ever need a copy.

Problem: You get a buffer under run error.
Cause: Almost all CD/DVD recorders come with a small amount of buffer memory to smooth out the burning process. The buffer reads ahead and provides the data required for burning in a linear manner. A buffer under run error happens when the data source slows down for some reason. Since the CD is spinning and there is no data to be burnt, it causes the burning process to be aborted, resulting in a coaster.
Solution: Unless you have a really old drive, you shouldn’t see this error. In fact, almost all recorders today have hardware support to ensure buffer under runs don’t occur. Moreover, burning software also have support for this feature - make sure you activate it; it’s just a matter of checking a box. If you have a drive that does not support this feature, make sure you use your hard drive as the data source, since a CD to CD copy will definitely result in a coaster. Also,defragment your hard disk regularly to avoid a slow-down during the burning process.

Problem: Despite the write process completing, a CD turns upblank.
Cause: It’s not clear why this happens.
Solution: Try using different media. Go to the burning software’sWeb site and check whether any patches to fix the problem have been released. Sometimes, these patches will fix such an issue, if they don’t, try an alternative application.

Problem: A recorder won’t work with blank CD-RWs.
Cause: This is a common problem. CD-RWs are rated as Slow (1x to4x), High Speed (4x to 10x), Ultra Speed (12x to 24x), and Ultra Speed+ (for drives supporting even higher burning speeds).
Solution: Choose the correct CD-RW media depending on the burning speed supported by your drive. Also, if you’re trying to use an Ultra Speed + media, it might not get detected, whereas a lower speed media will get burnt at its maximum speed.

Problem: Video DVDs stutter.
Cause: This is a common problem with most DVD players. During video playback, most drives drop down to a lower speed to cut down on the excessive noise they make when spinning at high speeds. In technical terms, this lowering of the speed is called rip lock. In poor-quality DVD drives, rip lock is responsible for videos Cutter.
Solution: When choosing a DVD drive, make sure it won’t suffer from video stutter - ask people who have bought the same model you’re contemplating. Essentially, opt for drives from known manufacturers.

Problem: Some DVDs aren’t recognized in your DVD drive.
Cause: The problem lies with the media type. There are two main DVD formats - +R and -R. -R format is more commonly available and hence is usually supported by lot many older drives than +R format.If you have an older DVD drive, then it is possible that it has been manufactured to recognize only one format.
Solution: Check the formats supported by your drive and use mediaof only that format.

Problem: Your DVD-Writer doesn’t play DVD-RAMs.
Cause: Not all DVD-Writers are equipped to handle DVD-RAM. Unlike DVD±RW, DVD-RAM uses phase-change dual technology peppered with magneto-optic features. The main advantage of DVD-RAM is its defect management and faster access speeds. However, as we’ve mentioned,this format incompatible with most drives.
Solution: Select a drive that features support for DVD-RAM. Drives manufactured by LG, Hitachi, and Matsushita (Panasonic) have support for DVD-RAM.

Problem: You can’t burn DVDs faster than the rated speed as youused to do with your CD-Writer.
Cause: Over speeding is a feature supported only by a handful of drives, and only on selected media types. DVD drives from BenQ andPhilips officially support over speeding; however, you need to use good-quality media or media specially developed for over speeding.
Solution: Buy a DVD drive that officially supports the over speeding feature. Also, make sure you use officially certified over speeding media, for example, Taiyo Yuden. It might be possible to get such media, but it is not commonly available.

Problem: Some movie DVDs don’t play on your DVD drive
Cause: The movie is region locked, and will only play on a DVD drive that has the same region code. To control the release of their movies, the motion picture group divided the world into seven regions or zones. Each zone has its own region or zone number.When a specific movie is released in a particular zone, it is encoded with the zone number. DVD players, too, have a zone number.Hence, a movie released in America plays on all DVD players manufactured in the US, but not on DVD players manufactured in India such as those from Onida, Mitashi, Sony, etc.
Solution: Many DVD players can be hacked using software to doaway with the region locking encryption. This voids the warranty,but it isn’t illegal to do so. On some drives, however, you need to modify the chip to make it all-region playable.

Sunday, December 28, 2008

Troubleshooting the Monitor

Troubleshooting the Monitor

Modern monitors are especially robust and in most cases, you would upgrade the PC before thinking of changing the monitor. Troubleshooting is relatively easier than the rest of the PC for the simple reason that it is an independent ‘box’ with no user-service­able parts.

Warning
Do not try to open the monitor yourself. There are high voltages inside, and it is best left to a monitor professional who knows what he is doing.

There’s no power to the monitor
Cause 1: There actually is no power being supplied to the monitor.
Solution 1: By far the most common mistake people make is to for­get to check the power cables! Sometimes, when monitors are moved around, the power connectors come off or become loose. Plug all cables in tight and check if the power returns. If it is con­nected to a UPS or stabiliser, check if there is power supply from that unit. Also check the power cable; try using another cable which you know works, to see if power is restored.

Cause 2: If the power cables are plugged in and there is still no power, the problem is more serious. It could mean that a fuse has blown, or there is a more serious problem with the CRT (Cathode Ray Tube).
Solution 2: If the fuse is accessible from the casing of the monitor, replace it and check. If the fuse blows again, or if it still doesn’t power up, you have a problem with the electrical circuitry inside the monitor. Your only option is to take it in for repairs.

The LED on the monitor glows but the screen is blank
Cause 1: A black screen is dis­played.
Solution 1: Another common mistake. Check the brightness and contrast settings. Some­times the settings are turned way down, giving you a blank screen. Also try the other display controls if changing the brightness and contrast don’t seem to work.

Cause 2: The monitor is incompatible with the PC or the CRT is dead.
Solution 2: If the monitor is being connected to the PC for the first time, it could be that you have a monitor that is incompati­ble with your PC. Check if the monitor works on another PC. If the monitor doesn’t work on that PC either, then it is most like­ly some sort of internal failure in the monitor and you will have to get it repaired, if possible. Otherwise, you’ll have to go in for a new monitor.

Cause 3: There might be a problem with the signal between the PC and the monitor.
Solution 3: In most modern monitors, if there is no signal from the video card, there should be a message on the screen saying some­thing like “No Signal.” Absence of any message, however, does not rule out the possibility of a problem with the cable between the monitor and PC. If the monitor works with another PC and the sig­nal cable is detachable (most monitors have the signal cable inte­grated with the monitor), use a different signal cable.If the signal cable is not detachable you might have to take it in for repairs. Check the other possible problems before you do so. If there is still no picture then this would point to some problem with the video card.

The monitor is producing a high-pitched whine
Cause: This is often noticed in cheaper monitors, and it will become more pronounced with age.
Solution: Try adjusting the brightness and contrast controls, this may reduce the noise somewhat. You can also try ignoring the noise and let it merge with the background, like the hum from your TV. If it is bothersome, take it to repair shop; there might be some components that can be changed to reduce the noise.

The screen is totally white or grey in colour
Cause: There is no signal from the video card.
Solution: Check the signal cable as explained above.

The display is too bright or dim; the contrast is too high or low
Cause: The brightness and contrast settings may not be set correctly. The CRT may be wearing out.
Solution: Check the brightness and contrast settings. As the CRT ages, the screen will start to dim. In some cases, your repair shop may be able to tweak the monitor to improve the brightness. Change the lighting in the room so that there is no direct light falling on the monitor. Turn off the monitor when not in use. In any case, this might well be an indication of age catching up with the monitor—time to go shopping!

The screen has a bluish, greenish or purplish tint
Cause: This is usually caused by a break in one of the three colour sig­nals between the video card and the monitor. The problem is espe­cially common in older monitors, and is caused by heat stresses that break the connections between the cable and the circuit board inside the monitor.
Solution: Check the signal cable for kinks, frays and other signs of wear and tear. If the cable is not integrated, have it replaced, else take the monitor to the repair shop and they should replace it for you at very little cost.

The screen twists with wavy lines and the picture bends
Cause: This is caused by electromagnetic interference (EMI) from some other appliance such as a fan, motor, or even other monitors, either very close to the monitor or on the same power circuit.
Solution: Move the other appliance out of range of the monitor or off the same power circuit. If the symptom continues, there could be an EMI problem with the monitor itself. Have it checked at the repair shop.

Images are blurred
Cause: This may be a problem with the display settings of the mon­itor, or with the signal cable
Solution: Adjust the display. There might be an option called ‘Focus’ or ‘Sharpness’. Adjust that setting. If that doesn’t work, check the cable and its connection to the PC.

There is some irregular discoloration along the edges of the screen
Cause: This is caused by the magnetisation of the metallic elements on the surface of the CRT. The magnetisation happens because of EMI or due to sudden knocks to the body.
Solution: Cycle through the display controls and select the Degauss option. Degaussing is the process of demag­netising the CRT.

The image disappears and reappears randomly
Cause: This most probably points to an electrical fault.
Solution: Check all the cable connections as well as the video card. The electrical fault may be internal to the monitor; get it checked at a repair shop.

MS-DOS-OPERATING SYSTEM


MS-DOS v6.22

IO.SYS - Interface between main operating system code and the hardware
MSDOS.SYS - Main operating system code
COMMAND.COM - Interface between main operating system code and the user

NB. If any of the core files are missing or corrupt the MS-DOSboot sequence will fail.

Boot Sequence

PC is switched ON
Signal is sent to the motherboard via the POWER GOOD wire (orange)
ROM BIOS performs POST (Power On Self-Test)
ROM BIOS references CMOS RAM (comparison)
ROM BIOS searches for the boot sector/MBR on the FD/HDD
The Boot Code searches for and loads IO.SYS
IO.SYS loads MSDOS.SYS
The Boot Code searches for and loads CONFIG.SYS
The Boot Code searches for and loads COMMAND.COM
The Boot Code searches for and loads AUTOEXEC.BAT

Internal Commands

These commands are less complex and are imbedded within COMMAND.COM

CD or CHDIR

Displays the name of or changes the current directory.

CHDIR [drive:][path]
CHDIR[..]
CD [drive:][path]
CD[..]

Type CD drive: to display the current directory in the specified drive.
Type CD without parameters to display the current drive and directory

MD or MKDIR

Creates a directory.

MKDIR [drive:]path
MD [drive:]path

RD or RMDIR

Removes (deletes) a directory.

RMDIR [drive:]path
RD [drive:]path

TYPE

Displays the contents of text files.

TYPE [drive:][path]filename

CLS

Clears the screen.

CLS

DATE

Displays or sets the date.

DATE [date]

Type DATE without parameters to display the current date setting and a prompt for a new one. Press ENTER to keep the same date.

TIME

Displays or sets the system time.

TIME [time]

Type TIME with no parameters to display the current time setting and a prompt for a new one. Press ENTER to keep the same time.

DIR

Displays a list of files and subdirectories in a directory.

DIR [drive:][path][filename] [/P] [/W] [/A[[:]attributes]]
[/O[[:]sortorder]] [/S] [/B] [/L] [/V] [/4]

[drive:][path][filename]
Specifies drive, directory, and/or files to list.
(Could be enhanced file specification or multiple filespecs.)
/P Pauses after each screenful of information.
/W Uses wide list format.
/A Displays files with specified attributes.
attributes D Directories R Read-only files
H Hidden files A Files ready for archiving
S System files - Prefix meaning not
/O List by files in sorted order.
sortorder N By name (alphabetic) S By size (smallest first)
E By extension (alphabetic) D By date & time (earliest first)
G Group directories first - Prefix to reverse order
A By Last Access Date (earliest first)
/S Displays files in specified directory and all subdirectories.
/B Uses bare format (no heading information or summary).
/L Uses lowercase.
/V Verbose mode.
/4 Displays year with 4 digits (ignored if /V also given).

Switches may be preset in the DIRCMD environment variable. Override preset switches by prefixing any switch with - (hyphen)--for example, /-W.

COPY

Copies one or more files to another location.

COPY [/A /B] source [/A /B] [+ source [/A /B] [+ ...]] [destination
[/A /B]] [/V] [/Y /-Y]

source Specifies the file or files to be copied.
/A Indicates an ASCII text file.
/B Indicates a binary file.
destination Specifies the directory and/or filename for the new file(s).
/V Verifies that new files are written correctly.
/Y Suppresses prompting to confirm you want to overwrite an
existing destination file.
/-Y Causes prompting to confirm you want to overwrite an
existing destination file.

The switch /Y may be preset in the COPYCMD environment variable.
This may be overridden with /-Y on the command line

To append files, specify a single file for destination, but multiple files
for source (using wildcards or file1+file2+file3 format).
DEL
Deletes one or more files.

DEL [drive:][path]filename [/P]
ERASE [drive:][path]filename [/P]

[drive:][path]filename Specifies the file(s) to delete. Specify multiple
files by using wildcards.
/P Prompts for confirmation before deleting each file.

REN or RENAME

Renames a file/directory or files/directories.

RENAME [drive:][path][directoryname1 filename1] [directoryname2 filename2]
REN [drive:][path][directoryname1 filename1] [directoryname2 filename2]

Note that you cannot specify a new drive or path for your destination.

PROMPT
Changes the Windows command prompt.

PROMPT [text]

text Specifies a new command prompt.

Prompt can be made up of normal characters and the following special codes:

$Q = (equal sign)
$$ $ (dollar sign)
$T Current time
$D Current date
$P Current drive and path
$V Windows version number
$N Current drive
$G > (greater-than sign)
$L < (less-than sign)
$B (pipe)
$H Backspace (erases previous character)
$E Escape code (ASCII code 27)
$_ Carriage return and linefeed

Type PROMPT without parameters to reset the prompt to the default setting.

VER

Displays the DOS version.

External Commands

These files are larger and are stored either as .COM or .EXE files, normally in the DOS directory.

Power Supply

Power Supplies

The computer needs electrical power to operate. It is plugged into a 110-volt socket, which uses Alternating Current (AC). Computers use 5- and 12-volt direct current (DC) electricity. Therefore, a device is required to convert the power from the wall socket to the power required by the computer. This is the function of a power supply. Power supply connectors are either the Molex type (square shape) or the Bundy type (rectangular shape).
Although power supplies are rated in different ways, the most common rating is in watts. A watt is a unit of measurement of an electrically powered device and is affected by the electricity that is passed through it. Because computer components are becoming increasingly more efficient with large-scale integration and low-power designs, a 200 or 250 watt power supply is typically large enough for most systems. Do not be surprised, however, to see a 300-or-more-watt power supply in some of the larger network servers with large hard drives and other peripherals.

Power supplies are most often found in a rear corner of the inside of the computer, and have several colored wires running out of them. These are called power connectors and are used to connect peripherals such as floppies, tape backups, or hard drives. The power supply will most likely have a fan attached. Although some newer designs do not, most still use the fan in order to maintain an internal temperature acceptable to the design of the circuitry. The fan moves warm air outside the computer and brings cool air in.

The power supply will have an AC line that will connect into the wall. It will also have connectors for external peripheral devices. Usually there are three or more disk drive connectors and two system board connectors. Hard drives and 5-1/4" floppy drives use the same connector; 31/2" drives use a smaller one. Older models of computers typically connected the monitor to the power supply. Newer models of monitors plug directly into the wall, because they require more power than the power supply connector can provide.

Getting a bit more technical, the AC current is converted to DC in the power supply. There are four voltages present in a power supply: +12 volts, -12 volts, +5 volts, and -5 volts. The +12 voltage is for the motor, and the +5 voltage is for the processor. These are the four levels of electricity the computer needs to operate. Different devices use different voltage levels. The power supply not only converts these, but also ensures that the flow of electricity into the computer is received evenly, without bursts or sags.

Because of the voltages used and because not all technicians are certified electricians, repairing power supplies is not recommended. Replacement is the safest option. However, the wiring for the connectors can be tested for proper voltage levels.
The following table shows specifications for the output wiring of the power supply.

Wire Voltage Proper Range Current Range (Amps)
Yellow +12 +8.5 - +12.6 0.0 - 2.00
Blue -12 -8.5 - -12.6 0.0 - 0.25
Red +5 +2.4 - +5.2 2.3 - 7.00
White -5 -4.5 - -5.4 0.0 - 0.30
The specifications may be tested with a multimeter, which has a dial so you can specify what you want tested. You can select DC Volts, AC Volts, or Amps. Later in the course, we will demonstrate the use of multimeters.

Selecting Power Supplies

When selecting power supplies to be used as on-hand spares, when building PCs from component subsystems, or when given the option on vendor-built systems, you need to give some thought to what you are selecting. While all power supplies use the same input voltages and provide the same DC output voltages, there are some differences, which may influence your decision.

Peak Power

This determines the amount of power available for short term, high current situations, as it occurs when you first turn on the system. Large hard disks can increase your peak power requirements.

Number and type of connectors

You will need a connector for each hard disk and floppy disk you install in your system. Both hard disks and 5-1/4" floppy disk drives use the same power connector.
Many 3-1/2" disk drives use a different type of connector. There are jumper plugs available that convert one type of connector to the other.

For today's PCs, the minimum rating for a power supply is 200 to 250 Watts.

Power Requirements

Listed below are the average power requirements that you can expect from many common devices. Several factors can affect these requirements. Always check vendor documentation for information on specific devices.

Device AC Current Requirements at 120 Volts Power Requirements
System Board &expansion cards 0.80 Amps 96.0 VA
Diskette drive and adapter 0.16 Amps 19.2 VA
Additional diskette drive 0.05 Amps 6.0 VA
Hard Disk* 0.13 Amps 15.6 VA
* Average value for 3 1/2" hard disk. Increase to 40 VA for a 5 1/4" hard disk. VA (Volt Amps) is a measure of power and is equal to WATTS.

Scanner Installation

Scanner Installation

You will want to consider the following before purchasing a scanner to attach to a PC.
The scanner will need to be attached to the PC via an expansion card. Some scanners offer a serial interface in addition to another interface; however, scanners generate large amounts of data, up to 7 MB or more. You will not want to send all of the data through a serial port because it takes too long. Faster interfaces, such as SCSI or Hewlett-Packard's General Purpose Interface Bus (GPIB), or one that is proprietary, will offer better scanner performance.

Does the machine to which you are planning to add the scanner have adequate expansion slots? Is an IRQ available? If you are adding a scanner to an 8-bit machine, IRQ 2 is a good starting point, because some network and video adapters use this IRQ. When adding a scanner to a 16-bit machine, try using the interrupts above IRQ 8.
In addition to finding an available IRQ, you will have to find an available I/O port. First, try using the address suggested by the manufacturer of the scanner. If you find you have a conflict in the I/O ports, you will have to find another address that works.

When installing a scanner, you may want to test it before reassembling the case of the PC. If you have problems and need access to the inside of the PC, the case will already be removed.
As always, exercise EXTREME care when working with a computer with the case removed. Make sure that you follow all safety guidelines discussed in Chapter Two.
After you install the expansion card and make the hardware settings, you will need to install the software to operate the scanner.

Before loading the scanner's software, make a backup copy of both the autoexec.bat and config.sys files so you will have a record of them before the scanner software is installed. You will need to make changes to the config.sys file to add a device driver. This change may be made automatically by the scanner's installation software. You will need to reboot the computer for the changes to take effect.

Saturday, December 27, 2008

Troubleshooting TCP/IP

Troubleshooting TCP/IP

Troubleshooting TCP/IP - Detailed Steps

This article shows how to troubleshoot TCP/IP connectivity between computers on a Windows network. If you haven’t already done so, disable XP’s Internet Connection Firewall on all local area network connections, and remove all firewall programs on the network. Improperly configured firewalls are the most common cause of TCP/IP problems.

Open a Command Prompt Window

For many of these steps, you’ll be typing at the command prompt. To open a command prompt window in Windows 2000 or XP, click Start Run, type cmd in the box, and click OK. To open a command prompt window in Windows 95, 98, or Me, click Start Run, type command in the box, and click OK. Type one command per line, and press Enter after each one to execute it. To close the command prompt window, use the exit command.

Determine the TCP/IP Settings

Determine the TCP/IP settings of each computer on the local area network. In XP, open the Network Connections folder, right click the LAN connection, and click Status Support Details. For example, here are the Status and Details views for the LAN connection on an Internet Connection Sharing host.

In Windows 95/98/Me, click Start Run, type winipcfg in the box, and click OK. Select the LAN adapter from the menu, and click More Info.

You can also see the TCP/IP settings from the command prompt. This is especially convenient if a computer has more than one network adapter. Use the ipconfig /all command, which is available in all versions except Windows 95. The output from this command can be long, so it’s best to write it to a file. Specify the file name in the command this way:

ipconfig /all >ipconfig.txt

Description of TCP/IP Settings

Here are the TCP/IP settings that are used in network troubleshooting:

IP Address – Unique address assigned to a network adapter. A computer with multiple network adapters has an IP address for each one, and each one must be in a different subnet.

Subnet Mask – Used in conjunction with the IP address to determine which subnet an adapter belongs to. At the simplest level, communication is only possible between two network adapters when they’re in the same subnet.

Default Gateway - IP address of a computer or router, on one of this computer’s local area networks, that knows how to communicate with subnets not present on this computer. For an Internet connection, the default gateway is a router belonging to your Internet service provider, and all access to sites on the Internet goes through it. For an ICS client, the default gateway is the ICS host. If you use a hardware router, it serves as the default gateway.

DHCP Server – If an adapter is configured to obtain an IP address automatically, this is the address of the server that provides it. It could be your ISP, an ICS host, or a hardware router.

DNS Servers – IP address of one or more Domain Name Server computers. DNS servers translate Internet names (like http://www.practicallynetworked.com/) to their IP addresses (like 63.146.109.227).

Subnets

See our article on subnets for a brief description of how they work. For more details, see this Microsoft Knowledge Base article.

If two computers are supposed to be on the same subnet, but aren’t, something is wrong with the network hardware or software configuration. This is most likely to happen when one of them receives an IP address of 169.254.x.x, which indicates that:

It’s configured to obtain an IP address automatically.

It couldn’t find a DHPC server on the network to make the assignment.

Windows assigned it an Automatic Private IP Address.

See our article on Specific Networking Problems and Their Solutions for more information.

Pinging

The ping command is the basic tool for testing TCP/IP connectivity. It sends a special packet (called ICMP Echo) to a particular IP address and looks for a reply. If everything is working right, the reply comes back. If not, the ping times out in a few seconds. By default, the ping command repeats the process four times. Here’s an example of an ICS client computer pinging a Windows XP Home Edition ICS host, using the host’s IP address and its computer name.

When ping fails, you’ll see one of these error messages:

Request timed out - The IP address is valid, but there’s no reply from it. If the IP address is on a local area network, the most likely cause is a firewall program blocking the ping.

Unknown host or Ping request could not find host - The computer name doesn’t exist on the local area network. Make sure that NetBIOS over TCP/IP is enabled.

Destination host unreachable – The IP address isn’t on a local area network, and the default gateway can’t access it. Either there’s no default gateway, its address is wrong, or it isn’t functioning.

Pinging the Local Area Network

Here is a series of ping commands to use in finding where a problem occurs on a local area network. Run them in the order shown, and don’t go on to the next command until all of the previous commands work properly. In this example:

The computer being tested is named Winxp, with IP address 192.168.1.101.

There’s another computer on the network, named Win98, with IP address 192.168.1.123

Substitute the appropriate IP addresses and computer names for your network.

Command Target What Ping Failure Indicates

ping 127.0.0.1 Loopback address Corrupted TCP/IP installation

ping localhost Loopback name Corrupted TCP/IP installation

ping 192.168.1.101 This computer’s IP address Corrupted TCP/IP installation

ping winxp This computer’s name Corrupted TCP/IP installation

ping 192.168.1.123 Another computer’s IP address Bad hardware or NIC driver

ping win98 Another computer’s name NetBIOS name resolution failure

To fix a corrupted TCP/IP Installation on Windows XP, follow the steps in this Microsoft Knowledge Base article. For Windows 95/98/Me, un-install the TCP/IP protocol in Control Panel Network, reboot, and re-install it. If that doesn’t fix it, use this procedure on Windows 95 or 98.

Pinging the Internet

You can also use ping to find a problem with Internet access. Run these commands in the order shown, and don’t go on to the next command until all of the previous commands work properly. Use the Default Gateway and DNS Server addresses that you got from the winipcfg or ipconfig /all command.

Command Target What Ping Failure Indicates

ping w.x.y.z Default Gateway Default Gateway down

ping w.x.y.z DNS Server DNS Server down

ping w.x.y.z Web site IP address Internet service provider or web site down

ping www.something.com Web site name DNS Server down or web site down

Thursday, December 25, 2008

Installation of Plug and Play Devices

Installation of Plug and Play Devices
If the device is a new installation, Windows should detect the
device at startup. One of three things can happen:
1. Windows will already have the required software device drivers and configure the system with or without user prompts
2. Windows will prompt the user for the OS installation CDs to retrieve the required drivers
3. Windows will prompt the user to provide the location for the required drivers supplied by the device manufacturer.
This would be your cue to insert the manufacturer’s CD that came with the device and point Windows to the correct driver installation file for the OS. Alternately, the manufacturer’s instal­lation guide may provide a different method for installation. Example: most USB devices require that you install the software first before connecting the device.
If Windows recognizes the device but you don’t have the man­ufacturer’s CD, there is a good chance that you can enable basic functionality by using the default Windows drivers. See the section Installation of non-Plug and Play Devices on how to tell Windows to use the default Windows drivers.

Installation of non-Plug and Play devices
If the device is not getting detected by Plug and Play during system startup, this usually means that you have a non-Plug and Play device. If you have the manufacturer’s CD and/or manual, look for installation instructions. Non-Plug and Play devices are usually older, and require manual allocation of resources, usually through setting jumpers or switchers on the device itself. Once you have ensured that the device has been configured as per the manufac­turer’s guidelines, boot up and install any software provided by the manufacturer as per the installation guidelines.
If there are no installation guidelines or the device is a second hand component with no documentation or you don’t have the required software drivers, then you can try to force Windows to recognise the device. First try to verify if the phys­ical installation and the jumper/switch settings on the device are correct. Search the Internet for information on how to do this. If you are able to do this, good; if not, don’t worry too much about it and go on to forcing Windows to recognise the device:
1. Click on the Add New Hardware (Windows 9x/ME) / Add Hardware (Windows 2000/XP) in the Control Panel. The Add Hardware Wizard will start up. Click Next.
2. If you have Windows 9x/ME go to Step 3, else go to Step 5.
3. In Windows 9x/ME, the Wizard will inform you that it is going to search for new hardware. Allow it to do so by clicking Next twice. After Windows finishes searching for Plug and Play Devices it will report that no Plug and Play devices are found.
4. Click Next. The first option tells Windows to search for non-Plug and Play devices. If it successfully detects the device, follow the on-screen instructions to complete the installation. Otherwise, select “No, I want to select the hardware from a list” and click Next. Go to Step 6.
5. In Windows 2000/XP, select “Add a new hardware device” and click Next. In the next dialog box, you can either ask Windows to search for a driver, or you can install the device manually. For manual device installation, select “Install the hardware that I manually select from a list (Advanced)”.
6. Select the hardware type from the list and click Next.
7. If you know the name of the device manufacturer, select the name of the manufacturer and browse through the list on the right side to see if your device model number is listed or a gener­ic name for your model series e.g. HP DeskJet for DeskJet printers. If you do not know the name of the manufacturer or the device model number, check if there are standard device types that you can install. If there are no standard types that can be installed, you will need to find a suitable driver by searching the Internet or getting it from other sources.
8. If the device has a standard type, choose the specification closest matching to your device. If the device does not have a standard type, click the “Have Disk…” button and provide the location for the appropriate driver installation file. Follow the on-screen instructions to complete the installation.

The above steps (for both Plug and Play and non-Plug and Play devices) should normally solve the device conflict and get your hard­ware operational.

BIOS Problems

General BIOS Problems

Problem: The BIOS fails to detect the hard disk(s), CD-ROM, floppy drive, etc.

Cause: All of a sudden, hard drives and floppies disappear from the list of devices, or you cannot boot because the BIOS declares that you have no hard drive!

Solution: The most common reason for this error is a bad or loose­ly connected cable or incorrect jumper settings on the device. Check all the cable connections to the device. Ensure that the data cable and the power cable are properly plugged in both to the device and to the motherboard. Next, check the jumper settings. If two disks are connected to a single port, make sure one is set to Master and the other to Slave. Also check the BIOS setup program and ensure that IDE controllers are enabled. Go to the Integrated Peripherals menu and confirm that the Primary and Secondary Channels are enabled. If you are not comfortable changing indi­vidual values, reset the settings using the “Load Fail-safe (or Factory) Defaults” option.

Problem: After powering off the PC and switching it back on after a few hours, the time has changed

Cause: The CMOS battery powers the real-time clock. This symp­tom indicates that the battery is dying. In rare cases, it could also mean there’s a problem with the battery port of the CMOS. Solution: Replace the battery. If the symptom persists, there’s a good chance that the battery port is damaged. In this latter case, you may need to replace the motherboard! Get it checked by a computer technician first.


Problem: An error message says there is a problem with IRQ, I/Oport, DMA configuration or resource allocation, and refers totroubleshooting the BIOS

Cause: The BIOS configures and allocates resources to the IRQ,and I/O ports. In most BIOSes, this allocation cannot be changed or modified by the user. Some BIOSes may provide a “soft menu” to change these allocations.

Solution: It’s preferable to get the BIOS checked by a computer engineer. Use the “Load Fail-safe (Factory) Defaults” options in the setup menu. If a soft menu is available, ensure you read up the associated documentation before changing any settings.

Problem: An error message asks to update the BIOS

Cause: The BIOS firmware does not support the device without an update.

Solution: See the Updating the BIOS section

Device Manager Error Codes

Device Manager Error Codes

Additionally, a problem code explaining the problem is displayed for the device. The next step is to understand what each of these error codes mean and apply the recommended resolution. The list of problem codes and the recommended resolution are as follows:

Code 1

Code Meaning: The device is not configured correctly.

Recommended Resolution: The software drivers for the device have been incorrectly installed or incorrectly configured. Select the Driver tab and click the Update Driver button. This will launch an update Wizard. Follow the instructions and locate the correct driver for the device to install it.

Additionally, you could try removing the device from Device Manager and reinstalling it using the Add Hardware Wizard.

Verify from the hardware documentation/manufacturer’s Web site that the device will work with your OS.


Code 2

Code Meaning: (Not applicable to Windows XP) Depending on the

type of device, this could indicate either a problem with the BIOS

or a problem with loading the device driver.

Recommended Resolution: Check with the BIOS manufacturer for

an updated BIOS. See the BIOS section of this guide on how to

update the BIOS.

OR

Get an updated driver for the device from the manufacturer and

update the device software by clicking Update Driver on the Driver

tab.

Remove the device from Device Manager and reinstall it using the

Add Hardware Wizard.

Code 3,REGISTRY PROBLEMS

Code Meaning: The driver is corrupt or your system is running low on memory and other resources.

Recommended Resolution: Run the Update Driver Wizard and rein­stall the driver or get an updated driver from the manufacturer. AND/OR

Close any applications using memory. AND/OR

Add more RAM. See the chapter on Memory on how to do that. AND/OR

Remove the device from Device Manager and reinstall it using the Add Hardware Wizard.

Code 4

Code Meaning: (Not applicable to Windows XP) One of the drivers

for the device may have been corrupted, or its Windows Registry

entry may be damaged.

Recommended Resolution: Check the registry by running scan-

regw.exe. Click Start > Run. Type scanregw.exe and hit [Enter]. This

program will check the Registry for corruption and prompt you to

restore a previous good version of the Registry if it encounters any

damaged entries.

AND

Remove the device from Device Manager and reinstall it using Add

Hardware Wizard.

Code 5

Code Meaning: (Not applicable to Windows XP) The device has requested a resource that Windows doesn’t know how to handle. Recommended Resolution: Run the Update Driver Wizard and rein-stall the driver or get an updated driver from the manufacturer.


OR

Remove the device from Device Manager and reinstall it using the

Add Hardware Wizard.


Code 6

Code Meaning: (Not applicable to Windows XP) Another device is using a resource that this device needs.

Recommended Resolution: Run msinfo32.exe to get more infor­mation on the conflict. Check the Resources tab to get details of the conflict. Refer to the hardware documentation and/or the man­ufacturer’s Web site for instructions on the correct values that need to be set manually. Clear the Automatic Settings checkbox, click the Change Setting button and input the values.

OR

Run the Update Driver Wizard and reinstall the driver or get an updated driver from the manufacturer. AND/OR

Remove the device from Device Manager and reinstall it using Add Hardware Wizard.

Code 7

Code Meaning: (Not applicable to Windows XP) The drivers need to be reinstalled.

Recommended Resolution: Run the Update Driver Wizard and rein­stall the driver or get an updated driver from the manufacturer. AND/OR

Remove the device from Device Manager and reinstall it using the Add Hardware Wizard.

Code 8

Code Meaning: (Not applicable to Windows XP) Windows cannot load the basic device loader file that loads the device driver, or it is missing or corrupt, or a software value for the device is missing or corrupt.

Recommended Resolution: Run the Update Driver Wizard and rein­stall the driver or get an updated driver from the manufacturer.

OR

Remove the device from Device Manager and reinstall it using the

Add Hardware Wizard.

Code 9

Code Meaning: (Not applicable to Windows XP) The BIOS is report­ing the resources for this device incorrectly and the Windows Registry is invalid.

Recommended Resolution: Run the Update Driver Wizard and reinstall the driver or get an updated driver and the correct Registry entries from the manufacturer. AND/OR

Remove the device from Device Manager and reinstall it using the Add Hardware Wizard. OR (as a last resort) Reinstall Windows.

Code 10

Code Meaning: The hardware will report the reason for failure that Windows should display. If the hardware doesn’t report the reason for failure, Windows will say that the device is not present, not working correctly or does not have all the required drivers installed.

Recommended Resolution: If the failure message is present, use that to troubleshoot the problem by referring to the documenta­tion or manufacturer’s Web site. AND/OR

Run the Update Driver Wizard and reinstall the driver or get an updated driver from the manufacturer.

OR

Remove the device from Device Manager and reinstall it using the Add Hardware Wizard.


Code 11

Code Meaning: (Not applicable to Windows XP) Windows stopped responding when it tried to start the device, and hence will never try to start this device again.

Recommended Resolution: Run the Update Driver Wizard and reinstall with an updated driver from the manufacturer.

Code 12

Code Meaning: Two devices have been assigned the same I/O port, interrupt or DMA channel. This could be by the BIOS, by Windows, or both. Also, it could be that the BIOS has not allocated enough resources for the device.

Recommended Resolution: Disable one of the devices. (Windows 9x/ME: Double-click, select “Disable in this hardware profile” on the General tab of the property sheet; Windows 2000/XP: Right-click and select Disable)

OR


Check the Resources tab to get details of the conflict. Refer to the hardware documentation and/or the manufacturer’s Web site for instructions on the correct values that need to be set manually. Clear the “Automatic Settings” checkbox, click the “Change Setting” button, and input the values.

OR

Reconfigure the BIOS resource allocation if possible. Refer to the motherboard documentation along with the device documentation.

Code 13

Code Meaning: (Not applicable to Windows XP) Windows did not detect the hardware.

Recommended Resolution: Verify that the hardware is working and that the physical installation is correct. Refer to the manufac­turer’s documentation for specific installation instructions. AND

Remove the device from Device Manager and reinstall it using the Add Hardware Wizard.

Code 14

Code Meaning: The device cannot work properly until the system is

restarted.

Recommended Resolution: Restart the computer.

Code 15

Code Meaning: (Not applicable to Windows XP) The device is caus­ing a resource conflict.

Recommended Resolution: Run msinfo32.exe to get more infor­mation on the conflict. Check the Resources tab to get details of the conflict. Refer to the hardware documentation and/or the manufacturer’s Web site for instructions on the correct values that need to be set manually. Clear the “Automatic Settings” checkbox, click the “Change Settings” button, and input the values.

Code 16

Code Meaning: The device is only partially configured and Windows could not find all the resources required by this device.

Recommended Resolution: Run msinfo32.exe to get more infor­mation on the conflict. Check the Resources tab to get details of the conflict. Refer to the hardware documentation and/or the man­ufacturer’s Web site for instructions on the correct values that need to be set manually. Clear the “Automatic Settings” checkbox, click the “Change Settings” button, and input the values.

Code 17

Code Meaning: (Not applicable to Windows XP) The hardware is a multi-function device whose driver file is reporting invalid infor­mation on how to split the resources.

Recommended Resolution: Remove the device from Device Manager and reinstall it using the Add Hardware Wizard. Use an updated device driver if required.

Code 18

Code Meaning: The drivers for this device should be reinstalled.

Recommended Resolution: Select the driver tab and click the “Update Driver” button. Use an updated device driver if required.

Code 19

Code Meaning: A problem with the Windows Registry entry for

this device was detected.

Recommended Resolution: In Windows 9x/ME/2000, run the Registry scanner (scanreg.exe). If this does not solve the problem, run “scanreg.exe /restore”. If this still does not solve the problem, remove the device and reinstall it using the Add New Hardware Wizard.

In Windows XP, run the Troubleshooting Wizard from the General tab of the Device Properties sheet. Click Uninstall and then click “Scan for hardware changes” to reinstall the device. If that doesn’t solve the problem, restart the computer in Safe Mode and select “Last Known Good Configuration”.

Code 20

Code Meaning: (Not applicable to Windows XP) One of the drivers

for this device could not be loaded, and Windows is not able to

interpret the result.

Recommended Resolution: Remove the device from Device

Manager and reinstall it using the Add Hardware Wizard.

Code 21

Code Meaning: The device is being removed as it has a problem,

and Windows needs to be restarted.

Recommended Resolution: Wait a few seconds and refresh the

Device Manager. If the device still shows, then restart the computer.

Code 22

Code Meaning: The device has either been disabled by a user or has

not started.

Recommended Resolution: Wait a few seconds and refresh the

Device Manager. If the device still shows, then restart the computer.

Trying enabling the device. If that is not possible, remove the

device, reboot the computer and reinstall it using the Add

Hardware Wizard.

Code 23

Code Meaning: (Not applicable to Windows XP) This indicates a problem with the drivers of either the primary or secondary dis­play adaptor. The device loader program delayed loading the device and then did not inform Windows.

Recommended Resolution: Verify that the drivers for all the dis­play adaptors on the computer are correct and updated. Remove the display adaptors and reboot. Windows will automatically detect the adaptors and configure them.

If the device is not a display adaptor, then remove the device and reinstall it using the Add Hardware Wizard.


Code 24

Code Meaning: Windows couldn’t detect the device. This error may

happen if the device has been set for removal.

Recommended Resolution: Verify that the hardware is working

and that the physical installation is correct. Remove the device

from Device Manager. Reinstall it using the Add Hardware Wizard.

Update the device driver to the latest.

Code 25

Code Meaning: (Not applicable to Windows XP) The device installa­tion has not yet been completed.

Recommended Resolution: Restart the computer. Windows may require to be reinstalled depending on whether the reboot solves the problem or not.

Code 26

Code Meaning: (Not applicable to Windows XP)

The device did not load or not all the drivers were installed.

Recommended Resolution: Remove the device from Device

Manager. Reinstall using the Add Hardware Wizard.

Code 27:

Code Meaning: (Not applicable to Windows XP)

The Windows Registry entry describing the resources for this

device is not valid.

Recommended Resolution: Remove the device from Device

Manager. Reinstall it using the Add Hardware Wizard.

Code 28

Code Meaning: (Not applicable to Windows XP) The driver for the device was not installed correctly.

Recommended Resolution: Use the Update Driver Wizard to rein­stall the driver. AND/OR

Remove the device from Device Manager. Reinstall it using the Add Hardware Wizard.

Code 29

Code Meaning: The device has been disabled in the BIOS, or the device will not work with the version of Windows you are using. Recommended Resolution: Enable the device in the BIOS. Refer to the motherboard documentation for details and see the BIOS sec­tion of this guide for further information.

Code 30

Code Meaning: (Not applicable to Windows XP) An IRQ that cannot be shared is being used by this device and another device driver. Recommended Resolution: View the resource conflict in the resources tab, if available. Refer to the manufacturer’s documenta­tion for either device and change the IRQ allocation manually. You can do this by clearing the “Automatic Settings” checkbox and clicking the “Change Settings” button.

Code 31

Code Meaning: To function properly, the device depends on anoth­er device which is not functioning properly. Most likely the other device will also have a error code.

Recommended Resolution: Troubleshoot the dependant device to enable this device. If they still don’t work, remove them from Device Manager and reinstall them using the Add Hardware Wizard.


Code 32

Code Meaning: (a) The installation disk/CD-ROM or network loca­tion was not accessible to install the device drivers. (b) A driver or service for the device has been disabled.

Recommended Resolution: (a) Restart the computer. If that doesn’t solve the problem, copy the installation files to the hard disk and run the setup program for the device.

(b) Remove the device from Device Manager and reinstall it using the Add Hardware Wizard.

Code 33

Code Meaning: (a) The hardware is not responding to the driver software for the device.

(b) The software that determines the resources required by the device has failed.

Recommended Resolution: (a) Obtain an updated driver from the manufacturer. Remove the device from Device Manager and rein­stall it using the Add Hardware Wizard. (b) The hardware might have failed and needs to be replaced.

Code 34

Code Meaning: The device has to be configured manually.

Recommended Resolution: Refer to the manufacturer’s documen­tation for instructions.

Code 35

Code Meaning: The BIOS is missing a resource assignment entry

for the device and needs to be updated.

Recommended Resolution: Obtain and install a new or updated

BIOS from the computer manufacturer or motherboard

manufacturer.

Code 36

Code Meaning: The IRQ configuration has failed.

Recommended Resolution: Refer to the motherboard documenta­tion to see if you can change the IRQ settings in the BIOS. See the BIOS section of this guide for further information.

Code 37

Code Meaning: The driver software failed to load.

Recommended Resolution: Remove the device from Device Manager and reinstall it using the Add Hardware Wizard.

Code 38

Code Meaning: The driver software is already loaded into RAM and

cannot be loaded again.

Recommended Resolution: Restart the computer.

Code 39

Code Meaning: Some or all the drivers could not be loaded as they

may be corrupted or missing.

Recommended Resolution: Remove the device from Device

Manager and reinstall it using the Add Hardware Wizard. Update

the driver if possible.

Code 40

Code Meaning: The driver’s Registry entry is either corrupted or

missing.

Recommended Resolution: Remove the device from Device

Manager and reinstall it using the Add Hardware Wizard. Update

the driver if possible.

Code 41

Code Meaning: This usually happens when Windows cannot

detect non-Plug and Play devices.

Recommended Resolution: Obtain an updated driver for the

device from the manufacturer. Remove the device from Device

Manager and reinstall it using the Add Hardware Wizard. Update

the driver if possible.

Code 42

Code Meaning: A (system bus) driver has created duplicate entries,

or a serial number is discovered in a new location before it is

removed from the old location.

Recommended Resolution: Restart the computer.

Code 43

Code Meaning: One of the drivers controlling the device notified

Windows that the hardware has failed in some manner, and

Windows stopped the device.

Recommended Resolution: Refer to the hardware documentation

or the manufacturer’s Web site to resolve this error.

Code 44

Code Meaning: A software program or system service has shut

down the hardware.

Recommended Resolution: Restart the computer.

Code 45

Code Meaning: The hardware is not connected to the computer.

This error is reported when the computer is set to show all devices

previously connected to the computer.

Recommended Resolution: Reconnect the hardware or ignore the

error. No resolution is necessary.

Code 46

Code Meaning: Windows is not able to access the device as the sys­tem is shutting down.

Recommended Resolution: The device should work correctly when the computer restarts.

Code 47

Code Meaning: The device has been prepared for safe removal either by unplugging or pressing an eject button.

Recommended Resolution: Unplug or eject the device and then plug it or insert it back in to bring the device back online. Note: Restarting the computer also brings the device back online.

Code 48

Code Meaning: The driver for the device is known to have problems

with Windows.

Recommended Resolution: Obtain an updated driver from the

device manufacturer and update the driver.

Code 49

Code Meaning: The system hive of the Windows registry has reached its maximum limit and new devices cannot work until the size is reduced.

Recommended Resolution: The system hive contains configura­tion for the entire computer. Uninstall all device drivers that are no longer in use to reduce the size of the system hive.

BIOS Beep Codes

BIOS Beep Codes

When your system has a problem that won’t let it start up proper­ly, the first thing you will hear is warning beeps. These could be because of hardware or even because of the BIOS itself.

Unfortunately, beep codes are not standardized across BIOS vendors and motherboard manufacturers. Below are mentioned the beep codes, along with the possible problem that could be causing the beep, and some suggestions towards resolution. These are for two popular BIOS vendors—AMI and Award. If your BIOS is from any other vendor, you will need to refer to the motherboard manufacturer’s or the BIOS vendor’s manual for details.

Also, motherboard manufacturers may modify the beep codes to their convenience and not maintain consistency. Keep an open mind when you decipher the beep, and don’t get into a tizzy if the codes don’t match what is in here or in the BIOS vendor’s manual! You should always try and contact the manufacturer to get the correct beep codes.

AMIBIOS (American Megatrends Inc.)


One beep:
RAM failure

Problem: Motherboard problem or failed RAM.

Solution: Troubleshoot the motherboard and/or the RAM.

Two beeps: Parity Circuit Failure

Problem: Motherboard problem or failed RAM.

Solution: Troubleshoot the motherboard and/or the RAM.

Three beeps: Base 64K RAM failure

Problem: There is a failure within the first 64K of memory.

Solution: Troubleshoot the motherboard and/or the RAM.


Four beeps: System Timer Failure

Problem: One or more of the system timers on the motherboard has failed; usually indicates motherboard failure.

Solution: Troubleshoot the motherboard. You may need to replace it.

Five beeps: Processor Failure

Problem: The processor is generating an error condition. This does not mean that the processor is not working—with a dead proces­sor, the computer won’t boot at all.

Solution: Check if the processor is overheating, and whether it is set correctly on the motherboard. Troubleshoot the motherboard.

Six beeps: Keyboard controller or gate A20 failure

Problem: Keyboard, keyboard controller or motherboard error.

Solution: Check if the keyboard is connected properly. Use anoth­er keyboard to see if the problem persists. If it does, look for the keyboard controller chip on the motherboard and see if it is seat­ed properly and that it is not damaged. If the problem continues, troubleshoot the motherboard.

Seven beeps: Virtual mode exception error

Problem: This error is reported when testing the processor’s virtu­al mode. Solution: Troubleshoot the motherboard/processor. Verify that all jumpers are properly configured.

Eight beeps: Display memory read/write failure

Problem: The BIOS is not able to read/write the display card’s memory.

Solution: Troubleshoot the motherboard and/or display card.

Nine beeps: BIOS’ ROM checksum failure

Problem: The BIOS CMOS chip is most likely defective. May also be a problem with the motherboard.

Solution: The CMOS chip can be replaced, but replacing the moth­erboard is simpler and more cost-effective.

10 beeps: CMOS shutdown register read/write error

Problem: A motherboard component is creating an error when interacting with the CMOS.

Solution: Troubleshoot the motherboard and verify that all com­ponents are properly set up and configured.

11 beeps: Cache memory error

Problem: There is an problem with the processor’s L2 cache.

Solution: Verify that the L2 cache chip is inserted correctly. Verify that all connections inside the PC are correct. Replace the cache module if the problem persists.

Continuous beeps: Video / Memory problem

Problem: A problem with the RAM, display card or motherboard.

Solution: Troubleshoot the RAM first, followed by the display card and then the motherboard.

Other beeps: Check motherboard manual

Problem: Check the motherboard manual or the vendor’s Web site for more information. Treat it as a motherboard problem.

Solution: Troubleshoot the motherboard.

Award BIOS Award has the least number of documented beep codes. They prefer to display an error message on the screen. Beep codes are used only if the BIOS can’t access the display subsystem.

One long beep: Memory problem

Problem: A problem with the memory or motherboard

Solution: Troubleshoot the memory and the motherboard

One long and two short beeps: Video error

Problem: The BIOS is not able to access the video sub-system

Solution: Troubleshoot the video card, and if the problem persists, go on to the motherboard.

One long and three short beeps: Video error

Problem: The BIOS is not able to access the video sub-system

Solution: Troubleshoot the video card, and the if problem persists, go on to the motherboard.

Continuous beeps: Video / memory problem

Problem: There is a problem with the RAM, display card or motherboard.

Solution: Troubleshoot the RAM first, followed by the display card and then the motherboard.

Other beeps: Check the motherboard manual

Problem: Check the motherboard manual or the vendor’s Web site for more information. Treat it as a motherboard problem.

Solution: Check the motherboard manual. Troubleshoot the motherboard.

Troubleshooting the Blue Screen

Troubleshooting the Blue Screen Of Death
One of the most dreaded error messages for a Windows user is the blue screen, or the Blue Screen of Death (BSOD) as it is pop­ularly known, which suddenly pops up informing you that something is seriously wrong with Windows. What this screen essentially means is that Windows has crashed and needs to reboot to recover. Usually, you will be able to recover and con­tinue without any problems, but it can sometimes be a hair-rais­ing experience—like when you’re pressed for time and have to get that PowerPoint presentation ready for your boss!

Windows 9x/ME
In Windows 9x/ME this error is less serious but more common. You can usually recover from the error by simply pressing [Ctrl] + [Alt] + [Del] and restarting the computer, or by switching off the PC and switching it back on. However, the error message will contain very little information that you can use in troubleshooting.

Problems causing the BSOD
The BSOD is the main way for virtual device drivers to report a problem. The error description will state that Windows faced a problem (exception) at a particular memory address (a portion of the RAM) in a certain file, usually with the prefix VxD (virtual device driver), or the file name may have the DLL extension. At the minimum, it indicates that there was a problem with that particu­lar file. Typically, this may have been caused by some action of the user that Windows does not allow—like accessing a document from a floppy and then removing the floppy before closing document. In other cases it may indicate that there is a problem with a particular software or hardware. If the BSOD repeats with the same message, then there is potentially something seriously wrong, and you should investigate further.

The basic approach
Use the file name in the error message to give you a clue as to what is causing the problem. Search the hard disk for the filename and look at the folder in which the file is located to give you an idea of which software program or hardware uses this file. Also search the Internet for any information on this file. Once you have identified the soft­ware or hardware associated with the filename, uninstall or remove the software or hardware. Verify that the software or hardware, as the case may be, is compatible with your version of Windows. Get updates if applicable and reinstall it. Also, see the Troubleshooting Startup, Shutdown and Power Management sections in this guide.

System Restore in Windows ME and Windows XP
In addition to the above, Windows ME/XP provides the extremely useful System Restore tool. System Restore takes daily snapshots of the system state—every 10 hours the system is on and every 24 hours of real-time. The snapshot contains all the information required to restore the system to that particular point in time. To restore the system to a previous point in time do the following: o Go to Start > Programs > Accessories > System Tools > System
Restore. o Choose “Restore my computer to an earlier time” and click Next. o On the calendar on the left, choose the last day you remember that Windows operated without problems. On the right, choose the Restore Point description; if there are multiple restore points that day, choose the one you’re most certain about or choose the latest time. Click Next. o Make sure you’ve closed all open files and running programs, and click OK. oThe system will roll back to the settings of that restore point and you can continue working normally.

Windows 2000/XP
Error reporting in Windows 2000/XP is more robust, nevertheless,hen you get a BSOD, it is just as mysterious at first glance. The “Windows Stop Message”, which is the official name for the BSOD, occurs when Windows encounters a problem from which it cannot recover. At this moment Windows stops and displays the error mes­sage shown on the screen. Additionally, the contents of the system memory are dumped to a file. This memory dump file can be analysed by competent support technicians to troubleshoot the problem in depth. All the stop errors are numbered according to the circumstances that caused the error. This is a big step up from Windows 9x/ME, where the stop errors were more generalised and hence were much more dif­ficult to troubleshoot.

Problems causing the BSOD
The BSODs are generally associated with five problems faced by Windows:
o Software or device drivers may have a problem
o A hardware device is malfunction­ing, or was removed while Windows was running, or does not fully support Windows. On older machines, outdated BIOS informa­tion can also cause errors.
o Hardware or hard disk errors during installation of Windows.
o Corrupted startup files, hardware and driver software during Windows startup can also be the cause. This type of error will always require troubleshooting before Windows can start up normally.
o Intermittent errors that appear randomly. These can be caused by an overheating processor, a defective memory system, a dying or dead hard disk, or faulty software and device drivers.

Possible solutions to the BSOD
When a BSOD occurs, the first step is to note down the Stop num­ber, the ‘friendly name’ of the error and also the name of the file that is reported as the cause of the problem. The Stop number will be in hexadecimal format—something like this:

STOP : 0x0000000A (0xDB000000, 0x00000001, 0x00000002, 0xB04FB0DB)

The friendly name will be something like this:
IRQL_NOT_LESS_OR_EQUAL

If the error comes up very briefly, before you can note it down, and the system restarts, you will need to change a setting to tell Windows not to automatically reboot. Right-click My Computer, select the Advanced tab, and click “Startup and Recovery”, in Windows 2000, clear the “Automatically Reboot” checkbox. In Windows XP, click Settings and clear the “Automatic Restart” checkbox. This, of course, assumes that Windows has rebooted normally and you are able to change the setting.
If you are not able to boot normally, restart Windows and press [F8] repeatedly during the POST cycle. This will take you to the Advanced Options menu. Choose Safe Mode. Windows will attempt to load with a minimum set of drivers. If Windows is able to boot into Safe Mode, this most likely means that the problem is with a particular software, and is not hardware-related. If Windows is not able to boot into Safe Mode, restart the computer, bring up the Advanced Options screen (by pressing [F8] during POST) and select “Last Known Good Configuration”. Windows will then attempt to load the last settings where everything worked normally. If that doesn’t work, then it most likely means you have a serious hardware or critical startup system file error. If this error has occurred after any recent hardware additions, remove the hardware and try to boot again.
If you are able to boot into Safe Mode, first perform a virus and spy-ware scan using a tool such as Norton AntiVirus and Spybot S&D. Uninstall any recently added software, and remove or roll back any updated device drivers. (To roll back device drivers, go to the Properties page of the device in Device Manager, select the Driver tab, and click Roll Back Driver). In XP, you can perform one additional step—running System Restore, as explained above for Windows ME.
Restart the computer normally and check if the problem recurs. If it is an intermittent problem, and occurs at random, you can note down the error number the next time it occurs, since you disabled Automatic Restart after a crash. Boot into Safe Mode and see if you get the same random error. If you do, then the problem is likely hardware-related. Resolve the issue by following the hardware trou­bleshooting steps explained below. If the error only occurs in nor­mal mode, then it is likely a software problem. Follow the steps for software and device driver troubleshooting described below.
Look in Device Manager and troubleshoot any hardware device conflicts as explained in the Troubleshooting Hardware Device Conflicts in Windows section. You can remove or disable the device, or roll back its driver to a previous version.
If the BSOD is caused by a faulty program that crashes Windows at system startup, you can disable the software from starting up by using msconfig.exe. Type Start > Run, type in “msconfig” and press [Enter]. Select the Startup tab and disable any or all software you think may be the ones causing the problem. Better still, you could disable all the software in the list, enable them one at a time, and reboot the computer to identify the offending software.
If the BSOD is caused by faulty hardware, remove any recently added hardware—after switching off the PC, of course! If the BSOD still occurs, or there are no newly added hardware, test the RAM for errors by using a memory diagnostic program such as Windows Memory Diagnostic (http://oca.microsoft.com/en/windiag.asp). See the Memory section of this guide for further information. If the diagnostic reports errors, then you’ve found the culprit. Replace the defective RAM.
If the BSOD is due to corrupt system startup files, you can repair Windows by performing a Repair Install. Boot the PC from the Windows installation CD, press [Enter] to set up Windows XP, press [F8] to accept the license agreement, and then press [R] to start the Repair Installation. Windows will reinstall all the system files and redetect all the hardware. Note: You will have to visit the Windows Update site to reinstall any patches and Service Packs, since the repair installation will remove them.
If you are still getting BSODs, switch off the PC, open the cabinet and remove all but the essential hardware: the mouse, keyboard, hard disk, CD-ROM, display card and RAM, along with the PSU and proces­sor of course! Now, first attempt booting into Safe Mode, and if that works, reboot normally. If you are successful, the problem is with one of the peripheral devices. Add all the peripherals back one by one till you get a BSOD again—the last added peripheral is the culprit.
If you are getting BSODs during installation, then the prob­lem could be with the RAM, hard disk, processor, or one of the peripherals. Test the RAM using a memory diagnostic tool as described above, check the hard disk for errors (most hard disk manufacturers provide software utilities that can diagnose errors), verify that the CPU is not overheating by following the instructions in the Motherboard section of this guide, and remove all peripherals and run the installation with the mini­mum configuration as described above. If the installation is suc­cessful, you can troubleshoot the rest of the hardware devices from within Windows.

Friday, November 7, 2008

COMPUTER HARDWARE NOTES

Computer hardware
A computer contains several major subsystems such as the Central Processing Unit (CPU), memory,and peripheral device controllers. These components all plug into a "Bus". The bus is essentially a communications highway; all the other components work together by transferring data over the bus.The active part of the computer, the part that does calculations and controls all the other parts is the "Central Processing Unit" (CPU). The Central Processing Unit (CPU) contains electronic clocks that control the timing of all operations;electronic circuits that carry out arithmetic operations like addition and multiplication; circuits that identify and execute the instructions that make up a program; and circuits that fetch the data from memory. Instructions and data are stored in main memory. The CPU fetches them as needed. Peripheral device controllers look after input devices, like keyboards and mice,output devices, like printers and graphics displays, and storage devices like disks.The CPU and peripheral controllers work together to transfer information between the computer and its users. Sometimes, the CPU will arrange for data be taken from an input device, transfer through the controller, move over the bus and get loaded directly into the CPU. Data being output follows the same route in reverse – moving from the CPU, over the bus, through a controller and out to a device. In other cases, the CPU may get a device controller to move data directly into, or out of, main memory.
CPU AND INSTRUCTIONS
The CPU of a modern small computer is physically implemented as single silicon "chip". This chip will have engraved on it the million or more transistors and the interconnecting wiring that define the CPU's circuits. The chip will have one hundred or more pins around its rim --- some of these pins are connection points for the signal lines from the bus, others will be the points where electrical power is supplied to the chip. Although physically a single component, the CPU is logically made up from a number of subparts. The three most important, which will be present in every CPU Timing and control circuits
The timing and control circuits are the heart of the system. A controlling circuit defines the computer's basic processing cycle:
repeat
fetch next instruction from memory
decode instruction (i.e. determine which data
manipulation circuit is to be activated)
fetch from memory any additional data that are needed execute the instruction (feed the data to the appropriate manipulation circuit)until "halt" instruction has been executed;Along with the controlling "fetch-decode-execute" circuit, the timing and control component of the CPU contains the circuits for decoding instructions and decoding addresses (i.e. working out the location in memory of required data elements).The arithmetic logic unit (ALU) contains the circuits that manipulate data.
There will be circuits for arithmetic operations like addition and multiplication. Often there will be different versions of such circuits – one version for integer numbers and a second for real numbers. Other circuits will implement comparison operations that permit a program check whether one data value is greater than or less than some other value. There will also be "logic" circuits that directly manipulate bit pattern data.While most data are kept in memory, CPUs are designed to hold a small amount of data in "registers" (data stores) in the CPU itself. It is normal for main memory to be large enough to hold millions of data values; the CPU may only have space for something like 16 values. A CPU register will hold as many bits as a "word" in the computer's memory.
Most current CPUs have registers that each store 32 bits of data.The circuits in the ALU often are organized so that some or all of their inputs and outputs must come from, or go to, CPU registers. Data values have to be fetched from memory and stored temporarily in CPU registers. Only then can they be combined using an ALU circuit, with the result again going to a register. If the result is from the final step in a calculation, it gets stored back into main memory.While some of the CPU registers are used for data values that are being manipulated, others may be reserved for calculations that the CPU has to do when it is working out where in memory particular data values are to be stored.CPU designs vary with respect to their use of registers. But, commonly, a CPU will have 8 or more "data" registers and another 8 "address" registers.Programmers who write in low-level "assembly languages" Assembly language code defines details such as how data should be moved to specific data registers and how addresses are to be calculated and saved temporarily in address registers.Generally, programmers working with high level languages 1but, when necessary, a programmer can find out how the CPU registers are used in their code.In addition to the main data and address registers, the CPU contains many other registers The ALU will contain numerous registers for holding temporary values that are generated as arithmetic operations are performed. The Computer hardware timing and control component contains a number of registers that hold control information. The Program Counter (PC) holds the address of the memory location containing the next instruction to be executed. The Instruction Register (IR) holds the bit pattern that represents the current instruction; different parts of the bit pattern are used to encode the "operation code" and the address of any data required.Most CPUs have a "flags" register. The individual bits in this register record various status data. Typically, one bit is used to indicate whether the CPU is executing code from an ordinary program or code that forms part of the controlling Operating Systems (OS) program. (The OS code has privileges; it can do things,which ordinary programs can not do, like change settings of peripheral device controllers. When the OS-mode bit is not set, these privileged instructions can not be executed.) Commonly, another group of bits in the flags register will be used to record the result of comparison instructions performed by the ALU. One bit in the flags register would be set if the comparator circuits found two values to be equal;a different bit would be set if the first of the two values was greater than the second.
Ultimately, a program has to be represented as a sequence of instructions in memory. Each instruction specifies either one data manipulation step or a control action. Normally, instructions are executed in sequence. The machine is initialized with the program counter holding the memory location of the first instruction from the program and then the fetch-decode-execute cycle is started. The CPU sends a fetch request to memory specifying the location specified by the PC (program counter); it receives back the instruction and stores this in the IR. The PC is then updated so that it holds the address of the next instruction in sequence. The instruction in the IR is then decoded and executed. Sometimes, execution of the instruction will change the contents of the PC.
Program Counter and Instruction Register Flags register Programs and instructions CPU and instructions "branch" instruction (these instructions allow a program to do things like skip over processing steps that aren't required for particular data, or go back to the start of some code that must be repeated many times).A CPU is characterized by its instruction repertoire – the set of instructions that can be interpreted by the circuits in the timing and control unit and executed using the arithmetic logic unit.. The Motorola 68000 CPU chip can serve as an example.The 68000 (and its variants like 68030 and 68040) were popular CPU chips in the 1980s being used in the Macintosh computers and the Sun3 workstations. The chip had, as part of its instruction repertoire, the following instructions:
ADD Add two integer values
AND Perform an AND operation on two bit patterns
Bcc Test a condition flag, and possibly branch to
another instruction (variants like BEQ
testing equality, BLT testing less than)
CLR Clear, i.e. set to 0
CMP Compare two values
JMP Jump or goto
JSR Call a subroutine
SUB Subtract second value from first
RTS Return from subroutine
(Instructions are usually given short "mnemonic" names – names that have been chosen to remind one of the effect achieved by the instruction, like ADD and CLeaR.)Different CPU architectures, e.g. the Motorola 68000 and Intel-086 architectures, have different instruction sets. There will be lots of instructions that are common – ADD, SUB, etc. But each architecture will have its own special instructions that are not present on the other. Even when both architectures have similar instructions, e.g. the compare and conditional branch instructions, there may be differences in how these work. is a simplified illustration of how instructions are represented inside a computer.Instruction repertoire mnemonic instruction names Computer hardware An instruction is represented by a set of bits. A few CPUs have fixed size instructions; on such machines, every instruction is 16-bits, or 32-bits or whatever.Most CPUs allow for different sizes of instructions. An instruction will be at least 16-bits in size, but may have an additional 16, 32, or more bits.The first few bits of an instruction form the "Op-code" (operation code). These bits identify the data manipulation or control operation required. Again CPUs vary; some use a fixed size op-code, most have several different layouts for instructions with differing numbers of bits allocated for the op-code. If a CPU uses a fixed size op-code, decoding is simple. The timing and control component will implement a form of multiway switch. Thus, if one had a 4-bit op-code, one could have a decoding scheme something like the following:
0000 Do an addition
0001 Do a subtraction
0010 Copy (move) some data
0011 Do an AND operation
...
...
The meaning of the remaining bits of an instruction depends on the actual instruction.
Many instructions require that data be specified. Thus, an ADD instruction needs to identify which two values are to be summed, and must also specify a place where the result should be stored. Often some of this information can be implicit.An ADD instruction can be arranged so that the sum of the two specified values always replaces the first value wherever this was stored.Although some data locations can be implicit, it is necessary to define either the source or destination locations for the other data. Sometimes a program will need to add numbers that are already held in data registers in the CPU; at other times, the program may need to fetch additional data from memory. So sometimes the "operand description" part of an add instruction will need to identify the two CPU data registers that are to be used; other times, the "operand description" will have to identify one CPU register and one memory location. Occasionally, the "operand description" part might be used to identify a CPU register and the value that is to added to that register's existing contents.It is here that things get a bit complex. CPUs have many different ways of encoding information about the registers to be used, the addresses of memory locations, and the use of explicit data values. A particular machine architecture will have a set of "addressing modes" – each mode specifies a different way of using the bits of the operand description to encode details concerning the location of data values. Different architectures have quite different sets of addressing modes.Some instructions don't need any data. For example, the "Bcc" (conditional branch) group instructions use only information recorded in the CPU's Flags register. These instructions have different ways of using the operand bits of instruction word. Often, as with the Bcc instructions, the operand bits encode an address of an instruction that is to be used to replace the current contents of the program counter. Replacing the contents of the PC changes the next instruction executed.
MEMORY AND DATA
Computers have two types of memory:
ROM – Read Only Memory
RAM - normal Read Write Memory
The acronym RAM instead of RWM is standard. It actually standards for "Random Access Memory". Its origin is very old, it was used to distinguish main memory (where data values can be accessed in any order – hence "randomly") from secondary storage like tapes (where data can only be accessed in sequential order).ROM memory is generally used to hold parts of the code of the computer's operating system. Some computers have small ROM memories that contain only a minimal amount of code just sufficient to load the operating system from a disk storage unit. Other machines have larger ROM memories that store substantial parts of the operating system code along with other code, such as code for generating graphics displays.Most of the memory on a computer will be RAM. RAM memory is used to hold the rest of the code and data for the operating system, and the code and data for the program(s) being run on the computer.
Memory sizes may be quoted in bits, bytes, or words:
Bit a single 0 or 1 data value
Byte a group of 8 bits
Word the width of the primary data paths between memory and the CPU, maybe
16-bit (two byte), 32-bit (four byte) or larger.Memory sizes are most commonly given in terms of bytes. (The other units are less useful for comparative purposes. Bits are too small a unit of storage. Word sizes vary between machines and on some machines aren't really defined.) The larger memory units like bytes and words are just made up from groups of bits.All storage devices require simple two-state components to store individual bits.Many different technologies have been used Some early computers distinguished 0 and 1 bit values by the presence or absence of a pulse of energy moving through a tube of mercury; external storage was provided using paper media like cards or tapes where the presence or absence of a punched hole distinguished the 0/1 bit setting. Later, the most popular technology for a computer's main memory used small loops of magnetic oxide ("cores") that could be set with differing North/South polarity to distinguish the 0/1 bit state. Disks (and tapes) still use magnetic encoding – 0/1 bit values are distinguished by the magnetic state of spots of oxide on the disk's surface.The main memories of modern computers are made from integrated circuits.One basic circuit is a "flip-flop". This uses four transistors wired together; it can be
ROM memory
RAM memory
Bits, bytes, and words
Computers set in an on or an off state and so can hold one bit. A more elaborate circuit, with eight flip-flops, can hold one byte. Repeated again and again, these can be built up into integrated circuits that hold millions of bytes. Individual memory chips with as much as 4 million bytes of storage capacity can now be purchased. A computer's memory will be made up out of several of these chips.Memory can be viewed as a vector (one dimensional array) of words. The words can be identified by their positions (index number) in this vector – the integer index of a word is its "address". Most computers are designed to allow addressing of individual bytes. (If a request is made for a specific byte, the memory unit may return the entire word, leaving it to the CPU circuits to select the required byte). Because the individual bytes are addressable, word addresses increase in 2s (or in 4s if it is a machine with 4 byte words).The amount of memory available on a computer has increased rapidly over the last few years. Most current personal computers now have around 8 million bytes of storage (8 megabyte, 8MB); more powerful workstations have from 32MB to 256MB and large time shared systems may have 1000 MB (or 1gigabyte)."Cache" memories are increasingly common ("cache – a hiding place for provisions, treasures etc"). Cache memories are essentially hidden from the applications programmer; the cache belongs to the computer hardware and its controlling operating system. These work together using a cache to increase performance. Currently, a typical cache memory would be up to 256 KB in size.The cache may form a part of the circuitry of the CPU chip itself, or may be a separate chip. Either way, the system will be designed so that information in the cache can be accessed much more quickly than information in main storage.
Memory addresses
Cache memories
Memory and data
The OS and CPU hardware arrange to copy blocks of bytes ("pages") from main memory into the cache. The selected pages could be those with the instructions currently being executed. Most programs involve loops where particular sets of instructions are executed repeatedly. If the instructions forming a loop are in the cache, the CPU's instruction-fetch operation is greatly speeded up. Sometimes it is worth copying pages with data from main memory to the cache – then subsequent data accesses are faster (though data that get changed do have to be copied back to main memory eventually). The operations shifting pages, or individual data elements, between cache and memory are entirely the concern of the CPU hardware and the operating system. The only way that a programmer should be able to detect a cache is by noticing increased system's performance.All data manipulated by computers are represented by bit patterns. A byte, with 8 individual bits, can represent any of 256 different patterns; some are shown in A set of 256 patterns is large enough to have a different pattern for each letter of the alphabet, the digits, punctuation characters, and a whole variety of special characters. If a program has to work with textual data, composed of lots of individual characters, then each character can be encoded in a single byte. Of course there have to be conventions that assign a specific pattern to each different character. At one time, different computer manufacturers specified their own character encoding schemes. Now, most use a standard character encoding scheme known as ASCII (for American Standard Code for Information Interchange).Although standardized, the assignments of patterns to characters is essentially arbitrary.
Tab
Space
(
*
6
@
B
U
a
d
}
±
P
V

0
1
This ASCII scheme is mandated by an international standard. It specifies the bit patterns that should be used to encode 128 different characters including all the letters of the Roman alphabet, digits, punctuation marks and a few special control characters like "Tab".
Data as bit patterns in memory Character data ASCII character codes
Some computer systems may have these patterns assigned to additional characters like ™, ±, ¢, ‡.Bit patterns can also be used to represent numbers. Computers work with integer numbers and "floating point" numbers. Floating point numbers are used to approximate the real numbers of mathematics.A single byte can only be used to encode 256 different values. Obviously,arithmetic calculations are going to work with wider ranges – like -2,000,000,000 to +2,000,000,000. Many more bits are needed to represent all those different possible values. All integer values are represent using several bytes. Commonly,CPUs are designed to work efficiently with both two-byte integers and four-byte integers (the CPU will have two slightly different versions of each of the arithmetic instructions). Two-byte integers are sufficient if a program is working with numbers in the range from about minus thirty thousand to plus thirty thousand; the four-byte integers cover the range from minus to plus two thousand million.. The number representations have an obvious regular pattern. Unlike the case of character data, the patterns used to represent integers can not be arbitrary.They have to follow regular patterns in order to make it practical to design electronic circuitry that can combine patterns and achieve effects equivalent to arithmetic operations. The code scheme that provides the rules for representing numbers is known as "two's complement notation"; this scheme is covered in introductory courses on computer hardware.There are other coding schemes for integers but "two's complement notation" is the most commonly used. The actual coding scheme used to represent integers,and the resulting bit patterns, is not often of interest to programmers.While a computer requires special bit patterns representations of numbers,
strings of 0 and 1 characters are not appropriate for either output or input. Humans require numbers as sequences of digit characters. Every time a number is input to a program, or is printed by a program, some code has to be executed to translate between the binary computer representation and the digit string representation used by humans.The electronic circuits in the CPU can process the binary patterns and correctly reproduce the effects of arithmetic operations. There is just one catch with integers – in the computer they are limited to fixed ranges.Two-bytes are sufficient to represent numbers from -32767 to +32768 – and it is an error if a program generates a value outside this range. Mistakes are possible.Consider for example a program that is specified as only having to work with values in the range 0 to 25000; a programmer might reasonably choose to use twobyte integers to represent such values. However, a calculation like "work out 85% of 24760" could cause problems, even though the result (21046) is in range. If the calculation is done by multiplying 85 and 24760, the intermediate result 2104600 is out of range.Arithmetic operations that involve unrepresentable (out of range) numbers can be detected by the hardware – i.e. the circuits in the ALU. Such operations leave incorrect bit patterns in the result, but provide a warning by setting an "overflow"bit in the CPU's flags register. Commonly, computer systems are organized so that setting of the overflow bit will result in the operating system stopping the program with the error. The operating system will provide some error message. (The most common cause of "overflow" is division by zero – usually the result of a careless programming error or, sometimes, due to incorrect data entry.)Floating point numbers are used to approximate real numbers. They are mainly used with engineering and scientific calculations. The computer schemes for floating point numbers are closely similar to normalized scientific notation:
Number Normalized scientific representation
17.95 +1.795 E+01
-0.002116 -2.116 E-03
1.5 +1.5 E+00
31267489.2 +3.12674892 E+07
The normalized scientific notation has a sign, a "mantissa", and a signed "exponent" – like '+', 1.795, and E+01. Floating point representations work in much the same way (you can think of floating point as meaning that the exponent specifies how far the "decimal" point need to be moved, or floated, to the left or the right).A floating point number will be allocated several bytes (at least four bytes,usually more). One bit in the first byte is used for the sign of the number. Another group of bits encode the (signed) exponent. The remaining bits encode the
Integer overflow
Floating point
numbers
Computers mantissa. Of course, both exponent and mantissa are encoded using a binary system rather than a decimal system.Since the parts of a floating point number are defined by regular encoding rules,it is again possible to implement "floating point" arithmetic circuits in the ALU that manipulate them appropriately. Like integers, floating point numbers can overflow. If the number has an exponent that exceeds the range allowed, then overflow occurs. As with integers, this is easy to detect (and is most often due to division by zero). But with floating point numbers, there is another catch – a rather more pervasive one than the "overflow" problem.The allocation of a fixed number of bits for the mantissa means that only certain numbers are accurately represented. When four bytes are used, the mantissas are accurate to about eight decimal digits. So, while it might be possible to represent numbers like 0.81246675 and 0.81246676 exactly, all the values in the range 0.812466755.. to 0.812466764... have to be approximated by the nearest number that can be represented exactly i.e. 0.81246676. Any remaining digits, in the 9th and subsequent places in the fraction, are lost in this rounding off process.Each floating point operation that combines two values will finish by rounding off the result to the nearest representable value. It might seem that loss of one part in a hundred million is not important. Unfortunately, this is not true. Each calculation step can introduce such errors – and a complete calculation can involve millions of steps in which the errors may combine and grow. Further, it is quite common for scientists and engineers to be trying to calculate the small difference between two large values – and in these cases the "rounded off" parts may be comparable to the final result. While integer overflow errors are easily detected by hardware and are obvious errors, round off errors can not be dealt with so simply. Those needing to work extensively with floating point numbers really need to take a numerical analysis course that covers the correct way of organizing calculations so as to minimize the effects of cumulative round off errors.Instructions are represented as bit patterns – maybe 16 bits (two bytes) in length, possibly longer. In memory, instructions are stored in a sequence of successive bytes. A few experimental computers have been built where every word in memory had something like 2 or 3 extra bits that tagged the type of data stored in that word. These "tagged memory architecture" machines might have used code 00 to mark a word containing an instruction, 01 if it contained integer data etc. Such computers are a typical. On most computers, bit patterns in memory have no "type", no intrinsic meaning. The meaning of a bit pattern is determined by the circuit of the CPU that interprets it; so if it ends up in the IR (instruction register) it gets interpreted as representing an instruction, while if it goes to an (integer) addition circuit in the ALU it is interpreted as an integer. It is possible (though uncommon)to make programming errors so that data values fetched from memory to be interpreted as instructions or, alternatively, for a program to start storing results of calculations in those parts of its memory that hold the instruction sequence. If a program contains such gross errors, it usually soon attempts an illegal operation (like attempting to execute a bit pattern that can not be recognized as a valid instruction) and so is stopped by the computer hardware and operating system.
Round-off errors
Instructions – just
another bit pattern
All just bit patterns
Memory and data
BUS
A computer's bus can be viewed as consisting of about one hundred parallel wires;Some of these wires carry timing signals, others will have controlsignals, another group will have a bit pattern code that identifies the component (CPU, memory, peripheral controller) that is to deal with the data, and other wires carry signals encoding the data.Signals are sent over the bus by setting voltages on the different wires (the voltages are small, like 0-volts and 1-volt). When a voltage is applied to a wire the effect propagates along that wire at close to the speed of light; since the bus is only a few inches long, the signals are detectable essentially instantaneously by all attached components. Transmission of information is controlled by clocks that put timing signals on some of the wires. Information signals are encoded on to the bus,held for a few clock ticks to give all components a chance to recognize and if appropriate take action, then the signals are cleared. The clock that controls the bus may be "ticking" at more than one hundred million ticks per second The "plugs" that attach components to the bus incorporate quite sophisticated circuits. These circuits interpret the patterns of 0/1 voltages set on the control and address lines – thus memory can recognize a signal as "saying" something like "store the data at address xxx", while a disk control unit can recognize a message like "get ready to write to disk block identified by these data bits". In addition,these circuits deal with "bus arbitration". Sometimes, two or more components may want to put signals on the bus at exactly the same time – the bus arbitration circuitry resolves such conflicts giving one component precedence (the other component waits a few hundred millionths of a second and then gets the next chance to send its data).
PERIPHERALS
There are two important groups of input/output (i/o) devices. There are devices that provide data storage, like disks and tapes, and there are devices that connect the computer system to the external world (keyboards, printers, displays, sensors). The storage devices record data using the same bit pattern encodings as used in the memory and CPU. These devices work with blocks of thousands of bytes. Storage space is allocated in these large units. Data transfers are in units of blocks".The other i/o devices transfer only one, or sometimes two, bytes of data at a time. Their controllers have two parts. There is a part that attaches to the bus and has some temporary storage registers where data are represented as bit patterns. A second part of the controller has to convert between the internal bit representation of data and its external representation. External representations vary – sensors and effectors (used to monitor and control machinery in factories) use voltage levels, devices like simple keyboards and printers may work with timed pulses of current.
Disks and tapes
Most personal computers have two or three different types of disk storage unit.There will be some form of permanently attached disk (the main "hard disk"), some form of exchangeable disk storage (a "floppy disk" or possibly some kind of cartridge-style hard disk), and there may be a CD-ROM drive for read-only CD disks.CD disks encode 0 and 1 data bits as spots with different reflectivity. The data can be read by a laser beam that is either reflected or not reflected according to the setting of each bit of data; the reflected light gets converted into a voltage pulse and hence the recorded 0/1 data values gets back into the form needed in the computer circuits. Currently, optical storage is essentially read-only – once data have been recorded they can't be changed. Read-write optical storage is just beginning to become available at reasonable prices.Most disks use magnetic recording. The disks themselves may be made of thin plastic sheets (floppy disks), or ceramics or steel (hard disks). Their surfaces are covered in a thin layer of magnetic oxide. Spots of this magnetic oxide can be magnetically polarized. If a suitably designed wire coil is moved across the surface, the polarized spots induce different currents in the coil – allowing data to be read back from the disk. New data can be written by moving a coil across the surface with a sufficiently strong current flowing to induce a new magnetic spot with a required polarity. There is no limit on the number of times that data can be rewritten on magnetic disks.The bits are recorded in "tracks" – these form concentric rings on the surface of the disk. Disks have hundreds of these tracks. (On simple disk units, all tracks hold the same number of bits; since the outermost tracks are slightly longer, their bits are spaced further apart than those on the innermost
Optical disks
Magnetic disks
Tracks
Disks and tapes
More elaborate disks can arrange to have the bits recorded at the same density; the outer tracks then hold more bits than the inner tracks.)Tracks are too large a unit of storage – they can hold tens of thousands of bits.Storage on a track is normally broken down into "blocks" or sectors. At one time,programmers could select the size of blocks. A programmer would ask for some tracks of disk space and then arrange the breakdown into blocks for themselves.Nowadays, the operating system program that controls most of the operations of a computer will mandate a particular block size. This is typically in the range 512 bytes to 4096 bytes (sometimes more).The blocks of bytes written to the disk will contain these data bytes along with a few control bytes added by the disk controller circuitry. These control bytes are handled entirely by the disk controller circuits. They provide house keeping information used to identify blocks and include extra checking information that can be used, when reading data, to verify that the data bits are still the same as when originally recorded.The disk controller may identify blocks by block number and track number, see, or may number all blocks sequentially. it is used sequential numbering, track 1 would contain blocks 16, 17, ….
Blocks (or sectors)
18 Computers
Blocks of 512 bytes
(plus extra control bytes used
by disk controller)
Block 0 Track 0 Block 1 Track 0
Block 0 Track 1 Block 1 Track 1
Block 0 Track 2 ...
...

Before data blocks can be read or written, the read/write head mechanism must be moved to the correct track. The read/write head contains the coil that detects or induces magnetism. It is moved by a stepping motor that can align it accurately over a specific track. Movements of the read/write heads are, in computer terms,relatively slow – it can take a hundredth of a second to adjust the position of the read/write heads. (The operation of moving the heads to the required track is called "seeking"; details of disk performance commonly include information on "average seek times".) Once the head is aligned above the required track, it is still necessary for the spinning disk to bring the required block under the read/write head (the disk controller reads its control information from the blocks as they pass under the head and so "knows" when the required block is arriving). When the block arrives under the read/write head, the recorded 0/1 bit values can be read and copied to wherever else they are needed.The read circuitry in the disk reassembles the bits into bytes. These then get transferred over the bus to main memory (or, sometimes, into a CPU register).Disks may have their own private cache memories. Again, these are "hidden"stores where commonly accessed data can be kept for faster access. A disk may have cache storage sufficient to hold the contents of a few disk blocks (i.e. several thousand bytes). As well as being sent across the bus to memory, all the bytes of a block being read can be stored in the local disk cache. If a program asks the disk to "Seeking" for tracks
Disk cache memory
The required bytes can be read from the cache and sent to main memory.Commonly, hard disks have several disk platters mounted on a single central spindle. There are read/write heads for each disk platter. Data can be recorded on both sides of the disk platters (though often the topmost and bottommost surfaces are unused). The read/write heads are all mounted on the same stepping motor mechanism and move together between the disk platters. The controller will have several registers (similar to CPU registers) and circuitry for performing simple additions on (binary) integer numbers. (The cache memory shown is optional; currently, most disk controllers don't have these caches.) One register (or group of registers) will hold the disk address or "block number" of the data block that must be transferred. Another register holds a byte count; this is initialized to the block size and decremented as each byte is transferred. The disk controller stops trying to read bits when this counter reaches zero. The controller will have some special register used for grouping bits into bytes before they get sent over the bus. Yet another register holds the address of the (byte) location in memory that is to hold the next byte read from the disk (or the next byte to be written to disk).Errors can occur with disk transfers. The magnetic oxide surface may have been damaged. The read process may fail to retrieve the data. The circuits in the disk can detect this but need some way of passing this information to the program that wanted the data. This is where the Flags register in the disk controller gets used. If something goes wrong, bits are set in the flags register to identify the
Disk controller
A program doing a disk transfer will check the contents of the flags register when the transfer is completed and can attempt some recovery action if the data transfer was erroneous.
Bus
Block number
Byte counter
Destination
address
Flags
Disk cache
This elaborate circuitry and register setup allows a disk controller to work with a fair degree of autonomy.The data transfer process will start with the CPU sending a request over the bus to the disk controller; the request will cause the disk unit to load its block number register and to start its heads seeking to the appropriate track.It may take the disk a hundredth of a second to get its heads positioned . During this time, the CPU can execute tens of thousands of instructions. Ideally, the CPU will be able to get on with other work, which it can do provided that it can work with other data that have been read earlier. At one time, programmers were responsible for trying to organize data transfers so that the CPU would be working on one block of data while the next block was being read.Nowadays, this is largely the responsibility of the controlling OS program.When the disk finds the block it can inform the CPU which will respond by providing details of where the data are to be stored in memory.The disk controller can then transfer successive bytes read from the disk into successive locations in memory. A transfer that works like this is said to be using "direct memory access".
Direct Memory Access
When the transfer is complete, the disk controller will send another signal to the CPU files on disk are made up out of blocks. For example, a text file with twelve thousand characters would need twenty four 512-byte blocks. (The last block would only contain a few characters from the file, it would be filled out with either space characters or just random characters). Programmers don't choose the blocks used for their files. The operating system is responsible for choosing the blocks used for each file, and for recording details for future reference.The data in these blocks form a table of entries with each entry specifying a file name, file size (in bytes actually used and complete blocks allocated), and some record of which blocks are allocated. The allocation scheme shown in Figure 1.14 uses a group of contiguous blocks to make up each individual file. This makes it easy to record details of allocated blocks; the directory need only record the file size and the first block number. Fixed set of blocks holding a file directory: In addition to the table of entries describing allocated files, the directory structure would contain a record of which blocks were allocated and which were free and therefore available for use if another file had to be created. One simple scheme uses a map with one bit for each block; the bit is set if the block is allocated.Tapes are now of minor importance as storage devices for users' files. Mostly they are used for "archival" storage – recording data that are no longer of active interest but may be required again later. There are many different requirements for archival data. For example, government taxation offices typically stipulate that companies keep full financial record data for the past seven years; but only the current year's data will be of interest to a company. So, a company will have its current data on disk and hold the data for the other six years on tapes. Apart from archival storage, the main use of tapes is for backup of disk units. All the data on a computer's disks will be copied to tape each night (or, maybe just weekly). The tapes can be stored somewhere safe, remote from the main computer site. If there is a major accident destroying the disks, the essential data can be retrieved from tape and loaded on some other computer system.
Tapes
The tape units used for most of the last 45 years are physically a bit like large reel-to-reel tape recorders. The tapes are about half an inch wide and two thousand feet in length and are run from their reel, through tensioning devices, across readwrite heads, to a take up reel. The read write heads record 9 separate data tracks;these 9 tracks are used to record the 8-bits of a byte along with an extra check bit.Successive bytes are written along the length of the tape; an inch of tape could pack in as much as a few thousand bytes. Data are written to tape in blocks of hundreds,or thousands, of bytes. (On disks, the block sizes are now usually chosen by the operating system, the size of tape blocks is program selectable.) Blocks have to be separated by gaps where no data are recorded – these "inter record gaps" have to be large (i.e. half an inch or so) and they tend to reduce the storage capacity of a tape. Files are written to tape as sequences of blocks. Special "end of file" patterns can be recorded on tape to delimit different files.A tape unit can find a file (identified by number) by counting end of file marks and then can read its successive data blocks. Data transfers are inherently sequential, block 0 of a file must be read before the tape unit can find block 1. Files cannot usually be rewritten to the same bit of tape – writing to a tape effectively destroys all data previously recorded further along the tape (the physical lengths of data blocks, interrecord gaps, file marks etc vary a little with the tension.on the tape so there is no guarantee that subsequent data won't be overwritten). All the processes using tapes, like skipping to file marks, sequential reads etc, are slow. Modern "streamer" tape units used for backing up the data on disks use slightly different approaches but again they are essentially a sequential medium. Although transfer rates can be high, the time taken to search for files is considerable. Transfers of individual files are inconvenient; these streamer tapes are most effective when used to save (and, if necessary restore) all the data on disk.
Other I/O devices
A keyboard and a printer are representative of simple Input/Output (I/O) peripheral devices. Such devices transfer a single data character, encoded as an 8-bit pattern,to/from the computer. When a key is pressed on the keyboard, internal electronics identifies which key was pressed and hence identifies the appropriate bit pattern to send to the computer. When a printer receives a bit pattern from the computer, its circuitry works out how to type or print the appropriate character.Figure 1.15 shows, in simplified form, the general structure of a controller for one of these simple i/o devices. The controller will have a 1-bit register for a "ready flag". This flag is set when the controller is ready to transfer data. There will be an 8-bit data register (or "buffer" register) that will hold the data byte that is to be transferred. The controller will incorporate whatever circuits are needed to convert the bit pattern data value into output voltages/light pulses/…. The controller will be connected to the actual device by some cable. This will have at least two wires; if there are only two wires, the bits of a byte are sent serially.Many personal computers have controllers for "parallel ports"; these have a group of 9 or more wires which can carry a reference voltage and eight signal voltages (and so can effectively transmit all the bits of a byte at the same time).CPU wait until data arrive from the device. The program code would be:Repeat ask the device its status until device replies "ready" read data The "repeat" loop would be encoded using three instructions. The first would send a message on the bus requesting to read the status of the device's ready flag. The instruction would cause the CPU to wait until the reply signal was received from the device. The second instruction would test the status data retrieved. The third instruction would be a conditional jump going back to the start of the loop. The loop corresponds to panes 1 and 2 .When a key is pressed on the keyboard the hardware in the keyboard identifies the key and sends its ASCII code as a sequence of voltage pulses. These pulses are interpreted by the controller which assembles the correct bit pattern in the controller's data register. When all 8 bits have been obtained, the controller will set the ready flag. The next request to the device for its status will get a 1 reply (step 4). The program can continue with a "read data register" request which would copy the contents of the device's data register into a CPU register. If the character was to be stored in memory, another sequence of instructions would have to be executed to determine the memory address and then copy the bits from the CPU register into memory. A wait loop like this is easy to code, but makes very poor use of CPU power. The CPU would spend almost all its time waiting for input characters (most computer users type very few characters per second). There are other approaches to organizing input from these low-speed character oriented devices. These alternative approaches are considerably more complex. They rely on the device sending an "interrupt signal" at the same time as it sets its ready flag. The program running on the CPU has to be organized so that it gets on with other work; when the interrupt signal is received this other work is temporarily suspended while the character data is read.Visual displays used for computer output have an array of data elements, one element for each pixel on the screen. If the screen is black and white, a single bit data element will suffice for each pixel. The pixels of colour screens require at least one byte of storage each. The memory used for the visual display may be part of the main memory of the computer, or may be a separate memory unit. Programs get information displayed on a screen by setting the appropriate data elements in the memory used by the visual display. Programs can access the data element for each pixel. Setting individual pixels is laborious. Usually, the operating system of the computer will help by providing routines that can be used to draw lines, colour in rectangles, and show images of letters and digits. There are many other input and output devices that can be attached to computers. Computers have numerous clock devices.
Clocks
Computers frequency clocks that control the internal operations of the CPU and the bus, there will be clocks that record the time of day and, possibly, serve as a form of "alarm
clock" timer. The time of day clock will tick at about 60-times per second; at each tick, a counter gets incremented. An alarm clock time can be told to send a signal when a particular amount of time has elapsed. "Analog-to-Digital" (A-to-D) converters change external voltages ("analog" data) into bit patterns that represent numbers ("digital" data). A-to-Ds allow computers to work with all kinds of input. The input voltage can come from a photo-multiplier/detector system (allowing light intensities to be measured), or from a thermocouple (measurements of temperature), a pressure transducer, or anything else that can generate a voltage. This allows computers to monitor all kinds of external devices – everything from signals in the nerves of frog's leg to neutron fluxes in a nuclear reactor. Joystick control devices may incorporate simple forms of A-to-D converters. (Controllers for mice are simpler. Movement of a mouse pointer causes wheels to turn inside the mouse assembly. On each complete revolution, these wheels send a single voltage pulse to the mouse controller. This counts the pulses and stores the counts in its data registers; the CPU can read these data registers and find how far the mouse has moved in x and y directions since last checked.)
The controller for an A-to-D , except that the data register will have more bits. A one-byte data register can only represent numbers in the range 0 to 255; usually an accuracy of one part in 250 is insufficient. Larger data registers are used, e.g. 12-bits for measurements that need to be accurate to one part in four thousand, or 16-bits for an accuracy of one part in thirty thousand. On a 12-bit register, the value 0 would obviously encode a minimum (zero) input, while 4095 would represent the upper limit of the measured range. The external interface parts of the A-to-D will allow different measurement ranges to be set, e.g. 0 to 1 volt, 0 to 5 volt, -5 to 5 volt. An A-to-D unit will often have several inputs; instructions from the CPU will direct the controller to select a particular input for the next measurement.
A "Digital-to-Analog" (D-to-A) converter is the output device equivalent to an A-to-D input. A D-to-A has a data register that can be loaded with some binary number by the CPU. The D-to-A converts the number into a voltage. The voltage can then be used to control power to a motor. Using an A-to-D for input and a D-to-A for output, a computer program can do things like monitor temperatures in reactor vessels in a chemical plant and control the heaters so that the temperature remains within a required range.Often, there is a need for a computer to monitor, or possibly control, simple two-state devices – door locks (open or locked), valves (open or shut), on/off control lights etc. There are various forms of input devices where the data register has each bit wired so that it indicates the state of one of the monitored devices.Similarly, in the corresponding output device, the CPU can load a data register with the on/off state for the controlled devices. A change of the setting of a bit in the control register causes actuators to open or close the corresponding physical device.
A-to-D converters
D-to-A converters
Relays

EXERCISES
A computer's CPU chip is limited in the number of circuits that it can contain. CPU designers have the equivalent of a million transistors from which to build their circuits.
A CPU designer can implement circuits that perform many different kinds of data manipulation. Alternatively, a designer can chose to implement fewer distinct operations, instead using their circuits to duplicate elements (allowing two or more operations to proceed simultaneously) or so as to have more high speed registers. One approach gains speed by the program needing to execute relatively few instructions to achieve complex data manipulations; the other approach gains speed by having much faster, though simpler operations. Designers dispute which approach is best. Research these two approaches – they are known by the acronyms CISC and RISC.Write a brief report summarizing the information that you were able to obtain.The CPU used in the machine that you will be using for your course will be based on one of these design approaches. Which one?2. Produce a table containing summary statistics on the machine that you will be using for your course. How much main memory? Does the video display use a separate memory,if so how much? How many colours can the video display use? What is the hard disk capacity? What I/O devices are attached? What is the CPU? ...
Charles Babbage, an English mathematician of the early nineteenth century, designed a number of calculating engines. The first, the "difference engine", was a special purpose calculator used to compute tables of functions (e.g. tables giving sines of angles);although Babbage never completed his model, a working version of the difference engine was marketed by a Swedish company in the mid nineteenth century.Babbage's other machine was the "Analytical Engine". This was a general purpose programmable computing device – a real computer that was to be constructed entirely from cog wheels, gears, pistons and similar mechanical components. Some computer historians suggest that had it been built the Analytical Engine would have been a fullyworking computer analogous to modern machines, albeit very much slower.Attempts at building the Analytical Engine failed; the technology available in the 1830s didn't permit construction of mechanical components with the precisions required.Suppose it had been possible to build these machines. Write a "science fantasy"essay based on the assumption that the Babbage Computer Mark 1 entered commercial production in January 1840. (Possible ideas – a system manager's manual for steam driven computing devices, Charles Dicken's Mr. Scrooge as a database administrator, or a maybe a more serious essay exploring differences in how society might have evolved.)