Monday, December 15, 2008

A+ Core Hardware Tutorial

Computer Hard Disk Drive
• Working of a Hard Disk Drive
• Hard Disk Drive Interfaces
Working of a HDD:
The hard disk drive (Abbreviated as HDD or HD) holds the main storage media of a computer. A HDD consists of several platters (or hard disks) along with head actuator, head arm secured in a chassis. A schematic diagram of a HDD is shown in the figure below:

Schematic of a Hard Disk Drive Photo of a HDD that has two concentric disks
The individual hard disks (platters) are used to store the information. The storage is achieved by depositing a thin magnetic film on either side of each disk. The disks are mounted on a rotary drive.
Basically, the surface of each disk is divided into concentric Tracks. Then each track is divided into Sectors. The data is accessed by specifying the disk number, track number, and the sector number. The disks rotate at a very high speed ( several thousands of revolutions per minute), enabling very fast read and write operations. The magnetically sensitive head reads/writes information when the disks rotate. The disks are sealed to prevent any dust or moisture entering the drive.

A typical hard disk drive is shown in the figure.
Hard Disk Drive Interfaces:
There are several standards connected with the Hard Disk Drives. These include the following:
• IDE/EIDE
• SCSI
• Serial ATA
• Notebook IDE/PATA
IDE/EIDE Hard Disk Drives:
IDE (Integrated Drive Electronics), also known as ATA is used with IBM compatible hard drives. IDE and its successor, Enhanced IDE (EIDE), are the commonly used with most Pentium computers..


Figure: A 40-pin IDE cable connector
Enhanced IDE (EIDE) is the enhanced version of IDE technology, and supports faster access to the hard disks.
Small Computer Systems Interface (SCSI): SCSI is commonly used with server grade machines. IDE supports only two drives (one master drive and one slave drive) per channel, whereas SCSI can support 8 or more hard drives. There are different versions of SCSI available today. Different versions of SCSI include the following:
1. SCSI-1
2. SCSI-2
3. SCSI-3
4. Ultra-2
5. Ultra-3
6. Ultra-320
7. Ultra-640
8. iSCSI
9. Serial SCSI
The various standards primarily differ in the following:
• Maximum throughput (MB/sec)
• Maximum cable length, and
• Maximum number of devices that could be connected.
For example, SCSI-I has a throughput of 5MB/sec, where as SCSI-3 can go up to 40MB/sec.
Serial ATA (SATA):
Serial ATA (SATA) is a next generation technology based on ATA, and for transfer of data to and from a hard disk. Earlier, ATA was used to mean parallel transfer of bits between the motherboard and the hard drive. However, with the advent of SATA, traditional ATA was named as PATA (Parallel ATA). IDE/EIDE is usually associated with PATA.

The DVD-ROM vs CD-ROM

DVD-ROM can be considered the big brother of the CD-ROM format (in terms of its capacity and speed). Overall, more information is packed onto a DVD-ROM versus a CD-ROM by changing the size of the Track Distance, Pit Length, Pit Width , and the Pit Depth.

DVD+R(W) is superior to DVD-R(W)

DVD+R(W) is superior to DVD-R(W) Posted by Robin on 23 June 2003

Since the war between DVD+R(W) and DVD-R(W) started, several comparisons of the two formats have been published, but none of those I read did contain really accurate technical information. Instead, journalists relied on public press releases and white papers provided by vendors to write their articles, resulting in the end into superficial explanations and sometimes contradictory conclusions.

The main problem here is that getting DVD+R(W) and DVD-R(W) standards require money and NDAs, so that little detailed technical information about these formats can be found on the Internet. This is very unfortunate, as it prevents both journalists and techies from all over the world to independently review, compare and choose the best format by themselves.

Because they cannot access the technical details (or simply due to laziness), some people prefer to carefully conclude that there's no real technical difference between the two formats, and that if you forget all the marketing propaganda + and - are equally good. To me this is an evidence that such people have not understood (or more probably not even read) the format specifications.

After having studied the two formats I found that there are several fundamental differences between them, and I concluded that + is superior to -. The goal of this paper is to present the technical details from the specifications that led me to this conclusion, so that anyone with basic engineering knowledge can make his own opinion. This article is by no mean exhaustive, and some exclusive + and - features (e.g. CAV writing or copyright management) are not tackled here because I considered them less significant. Note that this article is pretty technical, so some understanding of optical storage technologies is required.

Pre-pits versus ADIP
To help its recording, a blank disc usually gives 3 kind of information to the drive : tracking (so that the pits are correctly written along a track), addresses (so that the drive can write at the good location) and speed (so that the disc is spinned at the correct velocity). With CD-R(W), tracking and speed information are carried by the wobble, while addresses are contained in the ATIP data (Absolute Time In Pregroove, a frequency modulation of the wobble).

DVD-R(W) format uses a slow wobble (140,6kHz) for tracking and speed, and the addressing (and additional) information is carried by the land pre-pits (pre-recorded pits between grooves). On the groove signal, pre-pits give amplitude spikes.

DVD+R(W) format uses a much faster wobble (817,4kHz), and the addressing (and additional) information is carried by a phase modulation of this wobble called ADIP (ADdress In Pre-groove).



As taught by signal theory, the phase modulation method has a better noise immunity than the pre-pits method, and therefore ADIPs are generally more robust than LPPs against all external disturbances (electrical noise, disc tilting, focusing problems, etc). Apart from the usual sources of noise in a drive, a particularly annoying example of this problem occur when you are burning data on a DVD-R(W) and try to read the pre-pits information at the same time : because the light emitted by the burning laser is interfering with the reading beam, correct pre-pits detection is much more difficult to achieve, which can jeopardize linking precision. But the pre-pit technology is not only a weakness against noise, it also becomes a limiting problem as the speed of the disc increases, because at high speeds pre-pits are more difficult to detect than phase inversions. Indeed, on the wobble signal the pre-pit information only exist where the pre-pit is located in time, while the information of phase inversion is spread over the complete inverted period of wobble (or more, actually as long as the phase is not inverted again). According to the specifications, the minimum length of a DVD-R(W) pre-pit is 1T (1/26.16E6 s), while a DVD+R(W) wobble period lasts 32T, which makes it much easier to detect.

Another bad side effect of this pre-pits method is that DVD-R(W) mastering is made more difficult than with DVD+R(W), since a higher precision is required to cut both the grooves and the pre-pits between them. Special dual-beam recorders are usually required for - stamper mastering, although some manufacturers now also use single beam cutting.
Not only are the pre-pits more error prone than phase modulation, but data they carry are also less protected. In one ECC block pre-pits carry 192 bits of information (one pre-pit block). Out of these 192 bits, 48 are not protected by any error correction mechanism, 24 bits are protected by 24 bits of parity (A parity), and the last 56 bits are also protected by 24 bits of parity (B parity). All in all, this strange heterogeneous structure finally gives a pretty weak protection to the information bits carried by pre-pits.

On the other hand the corresponding DVD+R(W) structure is 4 times smaller : one ADIP word is 52 bits large, consisting of 1 sync bit, 31 data bits and 20 parity bits (which protect all data bits). One ECC block contains 4 ADIP words, so 204 bits of information in total. Also each ADIP word contains the full ECC block address, while 4 times this size are needed in the - technology to extract this address : this gives significant speedups when seeking uses this method.

Defect management and recording quality
Another major advantage of DVD+RW format over DVD-RW (although no drive support it yet) is hardware defect management provided by the DVD+MRW standard (Mt Rainier for DVD+RW). On a DVD+MRW disc, when an error occur during a read or write access to an ECC block, this block is flagged as bad and the drive will not use it any more. Instead, when writing to the disc, data which should have been stored in this bad block are relocated elsewhere; likewise, when the drive is asked to read these data again, it will fetch them from the new location. These operations are completely transparent for any software (whatever operating system, driver or burning application is used), and while the initiator is requesting consecutive sectors the drive will actually read data from various locations : this new abstraction layer is called Logical to Physical address translation.

As a side note, popular belief is that defect management is only useful when burning new discs (where data which are being written can also be read back, checked and moved to another location if needed), but that it is helpless on discs which get damaged after they have been burned. This is wrong, because when an ECC block is partially damaged and requires several retries to be read (or for instance give too many PI/PO errors), these data can proactively be moved to another clean location on the disc before media wear-out makes them unreadable. Of course, if an ECC block is damaged beyond error correction capabilities, data are definitely lost ; however, only very serious damages can make such a thing happen, as PI/PO correction can handle burst errors larger than 6 mm.

As with formatting, DVD+RW standard enables background verifications, i.e. the disc is checked for defects when the drive is idle. Of course, at any time the user can still read or write to the disc, or eject it from the drive ; background verification would then resume later from where it was stopped. Combining these features together gives a very powerful system which can continuously try to improve the longevity of discs : while the user performs its usual operations, the drive can check in the background the complete surface of the disc and move data from damaged locations to clean areas. Such advanced use of defect management are already described in the DVD+MRW specification, for instance with the Self Monitoring Analysis and Reporting Technology (SMART, a technology inspired from hard discs). Finally, it is important to mention that DVD+MRW provides full read-only compatibility for players which don't understand MRW.

Although DVD-R(W) also support some defect management (Persistent-DM and DRT-DM), it is mainly software based and actions must always be initiated by a specific program. Furthermore, since DVD-RW format lacks the needed structures, address translation has to be performed also by software, and translation tables have to be stored on the user area of the disc according to a higher level specification (for instance in the sparing tables of UDF 2.0). This makes DVD-RW not well suited for simple file storage or image burning, as it requires a complete file system to benefit from defect management. Note also that although DVD-RW cannot use +MRW technology (due to technical differences), DVD+RW can very well use UDF 2.0.
Also a DVD+R(W) disc allows a drive to achieve better writing quality (independently of media quality), because it gives more information to a drive than a DVD-R(W). Indeed, just like with CD-R(W), the best writing settings for a given disc are found at startup during the OPC (Optimum Power Control) algorithm, which use data contained in the pre-pits blocks/ADIP words. And regarding OPC, a DVD+R(W) gives not only more information (e.g. power dependency on wavelength) but also more precise ones (e.g. startup laser power). Moreover, all these information are available for 4 different speed ranges (primary and upper speeds, normal and 4x+ mode), while - format only provides one set of data. This is very important because optimal writing settings are very sensitive to burning speeds. Also the OPC test area of DVD+ is 32768 sectors in total, compared to 7088 sectors for DVD-.
Linking
When for any reason writing on the disc has been stopped and is resumed, new data have to be linked with the old ones. Linking is a very important and tricky task, which can cause various problems both at physical and logical level. First, a short overview of the linking methods used by the two formats is required.

With DVD-R(W), 3 different linking methods can be used : 2K linking, 32K linking, and loss-less linking. In all cases recording has to stop 16 bytes after the first sync of the first sector of an ECC block, and new data are recorded starting between the 15th and the 17th byte of this same frame. The precision of the linking is therefore 2 bytes and the space waste either 2KB, 32KB or nothing (note that loss-less linking method does not work with DVD-R for Authoring). With DVD+R(W), linking is performed in the last 8 channel bits (4 data bits) of an ECC block. Linking precision is therefore 4 times higher and loss-less linking is the only method allowed by the standard, which guarantees no space waste.

Even when loss-less linking methods are used, the pits are not perfectly contiguous on the disc, and therefore some PI/PO errors will always occur : to minimize this effect, the location of the linking region is very important. With -RW, the linking region is in user data, and therefore useful bytes will always be corrupted there. Also since the linking occurs after the first sync, the second sync frame (and possibly the third one) will also be lost, since the sync words will not be correctly spaced in the ECC block. With +RW, the linking region is in the last byte of PI correction, which leaves user data bytes untouched. Also the linking position guarantees that all syncs in the next ECC block will be corrected spaced, which gives at least one sync frame less to correct for the player compared to -RW. Note that with +RW, corrections due to the linking region and corrections due to the sync shift are split between two ECC blocks, while they must all be performed by a single ECC block with -RW.

Linking can also cause various troubles at physical level, and when looking directly at the HF signal read by the PUH, the linking region looks like the following:

The slicing level is the digital threshold which separates zeroes from ones, and therefore it must always be centred in the HF signal for good reading quality : when the slicing level deviates too much from its perfect position, the run-lengths (3T to 14T) are wrongly recognized, which causes decoding errors. But as explained previously linking is not perfectly accurate, and therefore a gap will always exist between the two recorded sessions, and the longer the gap, the further the slicing level can drift. Furthermore, between the two linked regions the slicing level can also differ, because of various physical parameters which could have changed between the two recording sessions (laser power, media properties, recording speed, etc) : when this jump is too high, again errors appear. So the smaller the gap and the jump, the better quality and compatibility we get : -RW allows a 32T large linking gap and does not care about this slicing level jump, while +RW allows a 8T large linking gap and a maximum limit for this jump under any condition. This makes +RW loss-less linking also more powerful at physical level.

Multiple recording sessions and compatibility
If you want to partially record a DVD-R(W) disc and use it immediately, but also want to be able to record more data later, border zones are used, which are meant to make this partially recorded disc compatible with standard DVD-ROM players. So every -R(W) recording session has to start with a border-in area (except the first one, which starts with the lead-in) and stop with a border-out area.

However, the size of these border zones is quite amazing : 32 to 96 MB for the first zone, then 6 to 18 MB for the next ones. This means that a disc containing 3 recorded sessions can require up to 132 MB (more than 2% of the complete storage capacity) just for separating these regions. Furthermore, the border-out and border-in areas have to be linked together, using one of the 3 methods (and the possible associated problems) explained previously. Note also that for some unknown reason a border-out is needed before the lead-out, while the first border-in is replaced by the lead-in.
On the other hand, when multiple recording sessions are used on a DVD+R(W) disc, Intro and Closure zones are used (the counterpart of border-in and border-out), but they are always 2 MB large : therefore, with + format, a 3 sessions disc always uses only 4 MB to delimit the regions (the lead-out replaces the last Closure zone). Also a nice feature of multi-sessions implementation on DVD+R(W) is that one can use a session to reserve space, i.e. sectors which are left unrecorded (this blank area is called Reserved Fragment). Thus, additional data can be recorded in next sessions while the first one will only be written later : this can be useful for instance when a precise location on the disc has to contain file system tables, which can only be filled after all the files have been written to the disc.

Compatibility is a very sensitive topic when comparing the two technologies, but independently of media, recorders and players quality, some logical causes of incompatibility can be noted. Indeed, both recordable formats use values in the lead-in structures which were forbidden or reserved in the first DVD-ROM specification (e.g. disc structure, recording density, etc) and which can cause compatibility failures on some old or particularly picky players.
A famous example of such logical incompatibility is the "Book Type" field, which indicates the type of the disc. The first DVD-ROM specification only allowed 0 (i.e. read-only) to be written there, but later each recordable format defined its own value to identify itself ; unfortunately it turned out that some players simply refuse to read a disc with a non-zero value. To handle this problem, the latest DVD+R standard specifically authorizes to write a zero Book Type for compatibility reasons, and nowadays many drive manufacturers have made this bit programmable. But this cannot be done for DVD-R(W), as the Book Type (with several other information in the lead-in) are pre-embossed (i.e. pre-recorded) on blank media. Note however that although it reduces compatibility, this pre-recorded Book Type also improves copy-protection security, as it enables any player to easily identify a DVD-R(W) disc.

An additional compatibility risk exists with DVD-(W) in the user data area and is introduced by the 2K/32K linking methods. Indeed, the linking sectors used with these methods must use a special data type to be differentiated from normal data sectors, and this value was not allowed in the original DVD-ROM specification. There's no known study about the impact of this field on compatibility, but sector headers are a vital part of the decoding process, and therefore it is always safer to keep them fully compliant with the strictest DVD-ROM standard.

Conclusion
During my study of rewritable DVD formats it seemed very clear to me that DVD-R(W) standard was not as well designed as DVD+R(W) (or even DVD-RAM). And although some serious efforts have been put in the latest revisions of the - format to fix some of the original problems (at the cost of a much increased complexity), it still remains technically inferior to +, due to some intrinsic weaknesses (e.g. pre-pits). This is not very surprising, as Sony and Philips have a much longer experience at defining standards than Pioneer (and several key patents), and they also had the advantage to publish their standards after their competitors.

Although the arguments presented in this document might look like technical details to most readers, disc format is what defines the limits of what drives can do with a given medium, both in terms of performances and features. Therefore, the technical advantages of the DVD+R(W) format will with time turn into faster, more powerful and more reliable drives for end users. This is already the case today, and the gap will continue to increase as DVD+R(W) drives will exploit more and more of the advantages of the + format. However, as history showed, the best ideas are not guaranteed to win on technology markets, and only time will tell which format becomes the new standard.

Acknowledgements
I would like to thank the engineers from Pioneer Japan and Philips Netherlands who reviewed early versions of this article for their most useful corrections and comments (note that this only means that these people kindly contributed to the technical correctness of the article, not that they - or their company - agree with my conclusions of this article). Also many thanks to J.W. Aldershoff for having suggested and organized these reviews, and for hosting this article.

Disclaimer
This article is meant to be a list of technical arguments showing some of the advantages of the + format over the - format, and it reflects only my personal opinion, and not the one of CD Freaks. It is not a detailed comparison of the two formats, and it does not take into account specificities of drives, media or third party software : only the format differences are compared here, as described in the DVD-R 2.0, DVD-RW 1.1, DVD+R 1.1 and DVD+RW 1.1 standards. Corrections are welcome by email, but questions and contradictory opinions should be posted to our forum, so that everyone can benefit from an open discussion.Michael Spath - spath@cdfreaks.com

DVD Burning

With the current consumer grade DVDs, your current DVD player will not support larger media. 4.7 GB per layer is all that the current technology will support.

The way that the movie studios get around this is that their DVDs hold 4.7 GB of data to the outer ring and then when the laser gets to the edge, it switches frequencies and reads the disc again.

Unfortunately, writeable DVDs must be opaque and do not have the ability to do this as of yet. However, double sided blank DVD media will work well! (4.7 GB per side = 9.4 GB total). However, the DVD must be flipped over if the movie is larger than 4.7 GB.

How Excel Sees Time.
Before you delve into Excel’s date functions, however, it helps to understand a bit about the serial numbers the program uses for this type of calculation. Excel for Windows uses the 1900 Date System, in which serial numbers range from 1 to 65,380, corresponding to Jan. 1, 1900, through Dec. 31, 2078.

In this system, Jan. 1, 1900, has a serial date of 1, while Dec. 31, 2078, has a serial date of 65,380 to represent the number of days after Jan. 1, 1900.

Because the program keeps track of a date or time function’s underlying serial number, it can easily perform calculations using it. For example, you can calculate how many days have transpired since you billed a client or the number of days until your vacation.

In Word you can make the date "stick" if you select the date and press Ctrl-Shift-F9 to convert the date field to simple text. Save your document after this change to make the date entry permanent.

Current date: Ctrl+;
Current time: Ctrl+Shift+;
Ctrl+Shift+~

Question:
Which function should you use if you want a permanent date to display in the workbook?

Answer:
You should enter the date directly into the workbook without using a function.

Data read from CD-ROM

Data is read from the CD-ROM at a certain speed. There are two principles used reading from a CD-ROM:
CLV
Constant Linear Velocity was used in the early generations of CD-ROM drives. It implies that the data track must pass under the read head at the same rate, whether in inner or outer parts of the track. This is accomplished by varying the disk rotation speed, based on the read head's position. The closer to the center of the disk the faster the rotation speed to deliver the same constant stream of data.
CAV
Constant Angular Velocity. It is not very smart to change the rotational speed of a CD-ROM all The time, as the CLV drives do. Therefore, in more modern and speedy drives, the CD-ROM rotates at a constant number of rounds per minute. This implies that the data transfer varies; data read from the outer parts of the CD-ROM are read at very high bit rates. Data from the inner parts are read slower.
Let us look at a modern 40X CAV drive. It rotates constantly with a whopping 8900 RPM. This drive will deliver 6 MB per second when reading from the outer tracks. Reading from the inner tracks it only delivers 2.6 MB per second. An average will be 4.5 MB/sec.
________________________________________
Problematic readings
The CD-ROM disk has to read in random pattern. The read head must jump frequently to different parts of the disk. You can feel that. It causes pauses in the read function. That is a disadvantage of the CD-ROM media. Also the faster drives can be rather noisy.
Within the next years the CD-ROM and DVD drives will merge into one unified drive type.
Rotation speed and data transmission [top]

There are different generations of CD-ROM drives. Here you see their data.
CD-ROM type Data transfer rate Revolutions per minute outermost - innermost track
1X 150 KB/sec 200 - 530
2X 300 KB/sec 400-1060
4X 600 KB/sec 800 - 2,120
8X 1.2 MB/sec 1,600 - 4,240
40X CAV 2.6 - 6 MB/sec 8,900 (constant)
40X40 multibeam 6 MB/sec 1,400 (constant)

Semiconductor History

Memory chips have been called the crude oil of the twenty-first century. They are used in a wide variety of electronic applications from children's toys to sophisticated communication satellites. The current generation of memory chip (64 Mb) is capable of storing 3,355 pages of text on a piece of about the size of a dime.
What is a Semiconductor?
A number of elements are classified as semiconductors including silicon, zinc, and germanium. These elements have the ability to conduct electrical current, and they can be regulated in the amount of their conductivity. Silicon is the most widely used semiconductor material because it is easily obtained.
Silicon is basically extracted from sand. It has been used for centuries to make cast iron, bricks, and pottery. In ultra-pure form, the controlled addition of minute amounts of certain impurities (called dopants) alters the atomic structure of the silicon. The silicon can then be made to act as a conductor or a nonconductor, depending upon the polarity of an electrical charge applied to it. Hence, the generic term semiconductor.

Early Developments
Semiconductor materials were studied in laboratories as early as 1830. The first materials studied were a group of elements and compounds that were usually poor conductors if heated. Shining light on some of them would generate an electrical current that could pass through them in one direction only.
By 1874, electricity was being used not only to carry power, but to carry information. The telegraph, telephone, and later the radio were the earliest devices in an industry that would eventually be called electronics.
Radio receivers required a device called a rectifier to detect signals. Ferdinand Braun used the rectifying properties of the galena crystal, a semiconductor material composed of lead sulfide, to create the cat's whisker diode for this purpose. Thus was born the first semiconductor device.

The Integrated Circuit
Until 1959, all electronic components were discrete: that is, they performed only one function, and many of them had to be wired together to create a functional circuit. Although a great number of identical discrete transistors could be fabricated on a single wafer, they then had to be cut up and individually packaged in tiny cans. Packaging each component and hand wiring the components into circuits was extremely inefficient. The military sought more efficient methods of making circuits.
New technologies emerged and integrated circuits were soon developed with various components (transistors, resistors, and capacitors) formed on the same chip, but interconnection of the various components still required tedious hand wiring.
In 1959, Jean Hoerni and Robert Noyce developed a new process called planar technology at Fairchild Semiconductor which enabled them to diffuse various layers onto the surface of a silicon wafer to make a transistor, leaving a layer of protective oxide on the junctions. This process allowed metal interconnections to be evaporated onto the flat transistor surface and replaced the hand wiring. The new process used silicon instead of germanium, and made commercial production of ICs possible.
The initial resistance to the new IC technology gave way to enormous popularity. By the end of the 1960s, nearly 90% of all the components manufactured were integrated circuits.


Semiconductor Manufacturing: Fabrication
Semiconductor memory chips are manufactured in cleanroom environments because the circuitry is so small even tiny bits of dust can damage it. Micron has class 1 and class 10 cleanrooms. In a class 1 cleanroom, there is no more than 1 particle of dust in a cubic foot of air. In comparison, a clean, modern hospital has about 10,000 dust particles per cubic foot.
The air inside a cleanroom is filtered and recirculated continuously, and employees wear special clothing such as dust-free gowns, caps, and masks to help keep the air particle-free.

DIFFUSION
A layer of material such as oxide or polysilicon is grown from or deposited onto the wafer. The first material deposited helps create the first layer of the semiconductor "skyscraper."
COAT-BAKE
The photo resist, a light sensitive protective layer, is applied. The liquid photo resist is then baked to form a hardened layer that is light sensitive but resistant to chemical attack. This hardened layer acts much like the film in a camera and is used to transfer circuit images to the wafer.
ALIGN
A reticle with the circuit pattern for a given level is aligned over the wafer. Ultraviolet light shines through the clear portions of the reticle exposing the pattern onto the photosensitive resist.
DEVELOP
The photo resist is chemically treated in a develop process that selectively removes the exposed regions of resist and leaves the unexposed regions containing the pattern information on the reticle.
DRY ETCH
The wafers are placed in a vacuum chamber, and a mixture of gases are pumped in and excited by electricity. This plasma eats away the material not protected by the remaining resist. When the unprotected material has been removed, the remaining material begins the pattern of the circuitry.
WET ETCH & CLEAN
The remaining resist is removed in wet etch to reveal the patterned oxide layer. Then the wafer is cleaned. The process is repeated up to 18 times to create the various layers necessary for each part's circuitry.

In this sterile environment, the wafers are exposed to a multiple-step photolithography process that is repeated once for each mask required by the circuit. Each mask defines different parts of a transistor, capacitor, resistor, or connector composing the complete integrated circuit and defines the circuitry pattern for each layer on which the device is fabricated.

At the beginning of the production process, the bare silicon wafer is covered with a thin glass layer followed by a nitride layer. The glass layer is formed by exposing the silicon wafer to oxygen at temperatures of 900 degrees C or higher for an hour or more, depending on how thick a layer is required. Glass (silicon dioxide) is formed in the silicon material by exposing it to oxygen. At high temperatures, this chemical reaction (called oxidation) occurs at a much faster rate.
In photolithography, the wafer is uniformly coated with a thick light-sensitive liquid called photoresist. Portions of the wafer are selected for exposure by carefully aligning a mask between an ultraviolet light source and the wafer.
In the transparent areas of the mask, light passes through and exposes the photoresist.
Photoresist hardens and becomes impervious to etchants when exposed to ultraviolet light. This chemical change allows the subsequent developer solution to remove the unexposed photoresist while leaving the hardened, exposed photoresist on the wafer.
The wafer is subjected to an etch process (either wet acid or plasma dry gas etch) to remove that portion of the nitride layer that is not protected by the hardened photoresist. This leaves a nitride pattern on the wafer in the exact design of the mask.
The hardened photoresist is then removed (cleaned) with another chemical.

Electrical characteristics of selected areas are changed by implanting energized ions (dopants) into areas not protected by resist or other layers. The dopants come to rest below the wafer's surface, creating the positive and negative areas on the wafer which encourage or discourage the flow of electrical current throughout the die. These basic steps are repeated for additional layers of polysilicon, glass, and aluminum.
The finished wafer is an intricate sandwich of n-type and p-type silicon and insulating layers of glass and silicon nitride.

Masking Steps
All of the circuit elements (transistor, resistor, and capacitor) are constructed during the first few mask operations. The next masking steps connect these circuit elements together.
An insulating layer of glass (called BPSG) is deposited and a contact mask is used to define the contact points or windows of each of the circuit elements. After the contact windows are etched, the entire wafer is covered with a thin layer of aluminum in a sputtering chamber. The metal mask is used to define the aluminum layer leaving a fine network of thin metal connections or wires.

LAYERS OF SILICON, OXIDE, METAL, AND SILICON NITRIDE
The entire wafer is then covered with an insulating layer of glass and silicon nitride to protect it from contamination during assembly. This protective coating is called the passivation layer. The final mask and passivation etch removes the passivation material from the terminals, called bonding pads. The bonding pads are used to electrically connect the die to the metal pins of the plastic or ceramic package.
While still on the wafer, every integrated circuit is tested and functional and nonfunctional chips are identified and mapped into a computer data file.

Probe performs the first of several tests each component must pass before being shipped to a customer. To test the die, a probe card is positioned over each wafer. Probe needles on the card touch corresponding bond pads on the die. The needles act as transmitters, electronically sending information to and receiving information from the die's memory.

A computer map of the wafer is generated showing the results for each die, and a database of information is created.
Parametric tests are also performed at Probe to define variations in the fabrication process and to check the reliability of the parts.

The tests performed in Probe save packaging and test costs, help increase yields by allowing for repair of some of the non-functional die, and generate important data for design and product engineers and yield analysis and enhancement.

After the wafers in a lot are tested, they are sent to Assembly. In some cases, unpackaged die and wafers are sorted and prepared for external customers who package the die according to their own specification.

In Assembly, the wafers are cut, and the die are removed, packaged, and prepared for final testing and shipping.

Backgrind
Using grindstone wheels, the thickness of the wafer is reduced to provide both a clean, uniform surface and a specified product thickness. Backgrind is capable of grinding each wafer down to approximately 0.3 millimeters—as thin as an average piece of paper.

Wafer Mount / Saw
This process attaches a wafer and a film frame to ultraviolet-sensitive adhesive tape. This tape holds the wafer and die in place during subsequent processing.
A diamond-edged saw blade, approximately the thickness of a human hair, cuts the wafer into individual die. The blade spins at 45,000 revolutions per minute and cuts at a speed of 8.9 centimeters (3.5 inches) per second. During the cutting process, water sprays on both the blade and the wafer to keep the temperature low and remove the debris. After the wafer is cut, a final high-pressure rinse washes it.


Die Attach
Using the wafer map created in Probe, the good die are identified, removed from the wafer, and placed with adhesive on a leadframe or "interposer" at a speed of up to 4,000 die per hour. To remove the die from the tape, needles push up from beneath the tape as a vacuum tip lifts the die from the top. The unqualified die are left on the adhesive as illustrated below.

The good die are then adhered to the interposer--or lead frame--and batches of interposers are cured in an oven to set the adhesive/epoxy.


Wire Bond
Thin gold wire—99.9999% pure and thinner than a human hair—is attached to the die and the interposer. This wire provides the communication path (circuitry connection) between the die and the computer. Ultrasonic gold-ball bonding, a technique that combines ultrasonic energy, heat, and force, is capable of interconnecting the die bond pads to the interposer/leadframe bond pads.

Encapsulation
During Encapsulation, the die and a small portion of the interposer/leadframe are covered with a hard plastic compound to protect the die. The equipment encapsulates the die by moving the interposers into a mold area, using force to inject heated compound into the mold cavities, and curing the compound. The mold is opened, and the interposers are pressed out and cleaned

Lead Finish
Product must now go through either an Electroplating or Solder-ball Attach process. In electroplating, the exposed metal on a leadframe is covered with a conductive metal coating. While submerged in a tin and lead solution, leadframes are charged to attract the tin and lead ions. This results in a uniform plated coating that increases conductivity, keeps the leads from rusting, and provides a clean, even surface.
In solder-ball attach, solder balls and flux are placed on gold-plated pads located on the substrate. When heat is applied to the part, the solder balls adhere to the pads. Leads or solder balls provide the final interconnect between the component and the board application in the end-use product.


Trim and Form
In Trim & Form, leadframes are loaded into trim-and-form machines where the leadfingers are formed step by step until finally the chips are severed from the frames. An opens-and-shorts test is performed on each device, and the devices are sorted into good or reject trays or tubes.
The various positions and shapes of the leads and the package size and shape depend on the final application and the customer's packaging requirements.


Semiconductor Manufacturing: Test/Burn-In
Each memory chip is tested at various stages in the manufacturing process to see how fast it can store or retrieve information, including the high temperature burn-in test.
There chips are subjected to varying voltages and temperatures to determine their long-term quality and reliability and to eliminate weak chips.

Simulating actual usage, Micron's proprietary AMBYX™ ovens run monitored performance tests on every chip. This helps to guarantee the reliability of the parts customers receive and reduces overall test time and production costs.






Marking/Scanning
Each chip is marked with identifying information. Chips pass under a laser, which etches the product type, date, and speed onto the surface of the package. Each chip is then scanned to ensure that the package and leads meet industry standards. Optics or lasers examine the chips to identify defects.

Finished Goods
Parts are prepared for shipment according to customer needs. For example, customers who put the chips on boards or modules prefer them placed in equidistant pockets on a tape and spooled on a reel for automated product assembly. Other customers want parts packaged in antistatic tubes or trays.

The product is prepared for courier pickup and shipped to computer, peripheral, telecommunications, and transportation customers throughout the world.

In the last 30 years semiconductors have become virtually indispensable in many aspects of daily life. Even people who do not own or use a computer are likely to use semiconductor memory in one way or another.
Many of the fantastic capabilities of our modern world are possible thanks to the semiconductor memory chip.



Access Time
Time interval between the instant that a piece of information is sent to the memory device and the instant it returns.

Alignment
The correct positioning of a mask or reticle relative to a wafer.

Ambient
Room temperature.

Binary
Numbering system using two as a base and requiring only two symbols: 0 and 1.

Bit
(Memory Bit) Short for 'Binary Digit.' The smallest piece of data (a '1' or '0') that a computer recognizes. Combinations of 1s and 0s are used to represent characters and numbers.

Burn-in
The process of exercising an integrated circuit at elevated voltage and temperature. This process accelerates failure normally seen as "infant mortality" in a chip. (Those chips that would fail early during actual usage will fail during this process. Those that pass this test have a life expectancy much greater than that required for normal usage.)

Byte
A number of binary bits, usually eight, that represent one numeric or alphabetic character.

Capacitance
The property of a circuit element that permits it to store an electrical charge.

Capacitor
A discrete device that stores an electrical charge on two conductors separated by a dielectric.

Cell
A tiny area within the memory array that actually stores the bit in the form of an electrical charge.

Cleanroom
The super clean environment in which semiconductors are manufactured. The lower the rating, the cleaner the facility. These rooms typically have hundreds of thousands of particles less per cubic foot than the normal environment.

CMOS
Complementary Metal Oxide Semiconductor. A MOS device containing both N-channel and P-channel MOS active elements. One of two basic processes (MOS and Bipolar) used to fabricate integrated circuits.

CPU
Central Processing Unit. The computer module in charge of retrieving, decoding, and executing instructions.

Design Rules
A set of rules establishing minimum dimensions of a transistor and minimum spacing between adjacent components.

Die
A single rectangular piece of semiconductor material onto which specific electrical circuits have been fabricated; refers to a semiconductor which has not yet been packaged.

Dielectric
A material that conducts no current when it has voltage applied to it. Two dielectrics used in semiconductor processing are silicon dioxide and silicon nitride.

Diffusion
The standard procedure for doping silicon by heating wafers in a furnace from 400 to 1,150 degrees C in an atmosphere of dopant atoms.

Digital
Indicates the representation of data by a series of bits or discrete values, such as 0s and 1s.

Doping
The introduction of an impurity into a semiconductor to modify its electrical properties.

DRAM
Dynamic Random Access Memory. A type of memory component. 'Dynamic' means the device's memory cells need to be periodically recharged. Information stored in the memory cells, as a positive or negative charge, is accessed randomly.

Etch
Removal of specific material (such as portions of a given layer) through a chemical reaction.

Flash
A nonvolatile programmable semiconductor memory product. Flash devices retain the contents of their memory when the power is turned off.

Flat Pack
A flat, rectangular IC package type with the necessary leads projecting from the sides of the package.

Geometries
(Device) sizes within a device referring to the layout of components and interconnects on the U.

IC
Integrated Circuit. A tiny complex of electronic components and their connections produced on a slice of material such as silicon. Commonly referred to as a U or chip.

Ion Implant
The process of introducing selected impurities into a semiconductor via high-voltage ion bombardment to achieve desired electrical properties in selected regions.

KGD
(Known Good Die) Fully tested chips that are ready for bonding into multi-chip modules.

Lithography
The transfer of a pattern or image from one medium to another, as from a mask mask to a wafer.

Logic
The circuits used to control operation of IC devices.

Mask
A chrome and glass pattern for a layer of the wafer used in the photolithography process.

Megabit
One million binary pieces (bits) of information.

Micron
A unit of measure equivalent to one-millionth of a meter, synonymous with micrometer.

Mil
One-thousandth of an inch, equal to 25.4 microns.

Ministack
A three dimensional capacitor structure built between two layers of polysilicon. The three dimensional structure uses vertical and horizontal surfaces to increase total capacitor surface area facilitating large capacitance in a small area.

PC Board
Printed circuit board. The board(s) used in a computer system onto which semiconductor components are connected.

Photolithography
The process used to transfer a pattern or image from the masks to a wafer. The process uses a photosensitive emulsion and light.

Photoresist
A material that prevents etching or plating of the area it covers

PLCC
Plastic leaded chip carrier. A type of semiconductor package.

Planar
A simple flat capacitor built between silicon and polysilicon layers.

Resistor
A semiconductor device that provides resistance to the flow of electricity.

Reticle
A piece of glass with a chrome pattern for several die, used in the photolithography process.

Semiconductor
A solid crystalline substance whose electrical conductivity falls between that of a conductor and an insulator.

Shrink
Reduction in die (chip) size.

Silicon
A nonmetallic element used in the semiconductor industry as a substrate for multiple layers of material, built to form electrical circuits. Silicon is grown from a crystal to form a cylinder shaped 'log.' Slicing the logs into sections 1/40 of an inch thick creates bare wafers.

SIMM
Single In-line Memory Module. A high-density DRAM package alternative consisting of several plastic leaded chip carriers (PLCC) connected to a single printed circuit board (PC board). SIMMs provide an upgrade vehicle for future generations of DRAMs without having to redesign the PC board.

SRAM
Static Random Access Memory. An integrated circuit similar to a DRAM which requires no constant refreshing or recharging. It retains stored information as long as power is applied to the computer, hastening information retrieval process time.

Subassemblies
Two or more individually replaceable items integrated to form a system.

Surface Mount
A PC board assembly technique for high density manufacturing using TSOP, PLCC, and SOJ packages.

Transistor
A semiconductor device that uses a stream of charge carriers to produce active electronic effects.

Wafer
A thin disk (or slice) of silicon on which many separate chips can be fabricated and then cut into individual die.

Yield
Number of acceptable units (die) produced on each wafer compared to the maximum possible

Intel Pentium M Tutorial

Introduction
In this tutorial we will explain you how Pentium M CPU works in an easy to follow language. Since all new CPUs from Intel will use Pentium M’s architecture, studying this architecture is very important to understand the architecture of Core Solo e Core Duo (Yonah) CPUs and also to understand the foundation layer for the forthcoming Core microarchitecture, to be used by Merom, Conroe and Woodcrest CPUs. In this tutorial you will learn exactly how its architecture works so you will be able to compare it more precisely to other processors from Intel and competitors from AMD.
Pentium M is based on Intel’s 6th generation architecture, a.k.a. P6, the same used by Pentium Pro, Pentium II and Pentium III CPUs and not on Pentium 4’s as you may think, being originally targeted to mobile computers. You may think of Pentium M as an enhanced Pentium III. Pay attention to not confuse Pentium M with Pentium 4 M or with Pentium III M, which are different CPUs. Read our tutorial All Pentium M Models to learn about all Pentium M versions released so far.
Several times Pentium M is called Centrino. Actually, Centrino is when you have a laptop with a Pentium M CPU, an Intel 855 or 915 chipset and Intel/PRO wireless LAN. So, if you have a laptop based on Pentium M but without Intel/PRO wireless LAN, for example, it cannot be called Centrino.
In this tutorial we will basically explain how P6 architecture works and what’s new on Pentium M compared to Pentium III. So, in this tutorial you will also learn how Pentium Pro, Pentium II, Pentium III and Celeron (models based on P6 architecture, i.e. slot 1 and socket 370 ones) processors work.
In order to continue, however, you need to have read our tutorial “How a CPU Works”. In this tutorial we explain the basics about how a CPU works. In the present tutorial we are assuming that you have already read it, so if you didn’t, please take a moment to read it before continuing, otherwise you may find yourself a little bit lost. Actually we can consider the present tutorial as a sequel to our How a CPU Works tutorial. It is also a good idea to read our Inside Pentium 4 Architecture tutorial, just for understanding how Pentium M differs from Pentium 4.
Before going further, let’s see the main differences between Pentium M and Pentium III CPUs:
• Externally, Pentium M works like Pentium 4, transferring four data per clock cycle. This technique is called QDR (Quad Data Rate) and makes the local bus to have a performance four times its actual clock rate, see table below.
Real Clock Performance Transfer Rate
100 MHz 400 MHz 3.2 GB/s
133 MHz 533 MHz 4.2 GB/s
• L1 memory cache: two 32 KB L1 memory caches, one for data and another for instructions (Pentium III had two 16 KB L1 memory caches).
• L2 memory cache: 1 MB on 130 nm models (“Banias” core) or 2 MB on 90 nm models (“Dothan” core). Pentium III had up to 512 KB. Celeron M, which is a low-cost version of Pentium M, has a 512 KB L2 memory cache.
• Support for SSE2 instructions.
• Advanced branch prediction: branch prediction circuit was redesigned (and based on Pentium 4’s branch prediction circuit) to improve performance.
• Micro-ops fusion: The instruction decoder fuses two micro-ops into one micro-op in order to save energy and improve performance. We’ll talk more about this later.
• Enhanced SpeedStep Technology, which allows the CPU to reduce its clock while idle in order to save battery life.
• Several other battery-saving features were added to Pentium M’s microarchitecture, since this CPU was originally designed for mobile computers.
Let’s now talk more in depth about Pentium M’s architecture.
Pentium M Pipeline
Pipeline is a list of all stages a given instruction must go thru in order to be fully executed. Intel didn’t disclosure Pentium M’s pipelines, so we will talk about Pentium III’s. Pentium M’s pipeline has probably more stages than Pentium III’s, but analyzing Pentium III’s will give you a good idea on how Pentium M’s architecture work.
Just to remember, Pentium 4 pipeline has 20 stages and the pipeline of newer Pentium 4 CPUs based on “Prescott” core has 31 stages!
On Figure 1 you can see Pentium III’s 11-stage pipeline.

click to enlarge
Figure 1: Pentium III pipeline.
Here is a basic explanation of each stage, which explains how a given instruction is processed by P6-class processors. If you think this is too complex for you, don’t worry. This is just a summary of what we will be explaining on the next pages.
• IFU1: Loads one line (32 bytes, i.e. 256 bits) from L1 instruction cache and stores it in the Instruction Streaming Buffer.
• IFU2: Identifies the instructions boundaries within 16 bytes (128 bits). Since x86 instructions don’t have a fixed length this stage marks where each instruction starts and ends within the loaded 16 bytes. If there is any branch instruction within these 16 bytes, its address is stored at the Branch Target Buffer (BTB), so the CPU can later use this information on its branch prediction circuit.
• IFU3: Marks to which instruction decoder unit each instruction must be sent. There are three different instruction decoder units, as we will explain later.
• DEC1: Decodes the x86 instruction into a RISC microinstruction (a.k.a. micro-op). Since the CPU has three instructions decode units, it is possible to decode up to three instructions at the same time.
• DEC2: Sends the micro-ops to the Decoded Instruction Queue, which is capable to store up to six micro-ops. If the instruction was converted in more than six micro-ops, this stage must be repeated in order to catch the missing micro-ops.
• RAT: Since P6 microarchitecture implements out-of-order execution (OOO), the value of a given register could be altered by an instruction executed before its “correct” (i.e., original) place in the program flow, corrupting the data needed by another instruction. So, to solve this kind of conflict, at this stage the original register used by the instruction is changed to one of the 40 internal registers that P6 microarchitecture has.
• ROB: At this stage three micro-ops are loaded into the Reorder Buffer (ROB). If all data necessary for the execution of a micro-op are available and if there is an open slot at the Reservation Station micro-op queue, then the micro-op is moved to this queue.
• DIS: If the micro-op wasn’t sent to the Reservation Station micro-op queue, this is done at this stage. The micro-op is sent to the proper execution unit.
• EX: The micro-op is executed at the proper execution unit. Usually each micro-op needs only one clock cycle to be executed.
• RET1: Checks at the Reorder Buffer if there is any micro-op that can be flagged as “executed”.
• RET2: When all micro-ops related to the previous x86 instruction were already removed from the Reorder Buffer and all micro-ops related to the current x86 instruction were executed, these micro-ops are removed from the Reorder Buffer and the x86 registers are updated (the inverse process done at RAT stage). The retirement process must be done in order. Up to three micro-ops can be removed from the Reorder Buffer per clock cycle.
Don’t worry if all this sounded confusing to you. We will explain all this better on the next pages.
Memory Cache and Fetch Unit
As we mentioned, Pentium M’s L2 memory cache can be of 1 MB (130 nm models, a.k.a. “Banias” core) or of 2 MB (90 nm models, a.k.a. “Dothan” core), while it has two L1 memory caches, one of 32 KB for instructions and another of 32 KB for data.
The fetch unit is divided into three stages, as we explained on the previous page. On Figure 2 you can see how Pentium M’s fetch unit works.

click to enlarge
Figure 2: Fetch unit.
As we mentioned before, the fetch unit loads one line (32 bytes = 256 bits) into its Instruction Streaming Buffer. Then the Instruction Length Decoder identifies the instructions boundaries within 16 bytes (128 bits). Since x86 instructions don’t have a fixed length this stage marks where each instruction starts and ends within the loaded 128 bits. If there is any branch instruction within these 128 bits, its address is stored at the Branch Target Buffer (BTB), so the CPU can later use this information on its branch prediction circuit. The BTB has 512 entries.
Then the Decoder Alignment Stage marks to which instruction decoder unit each instruction must be sent. There are three different instruction decoder units, as we will explain on next page.
Instruction Decoder and Register Renaming
Since the introduction of P6 architecture with Pentium Pro Intel processors use a hybrid CISC/RISC architecture. The processor must accept CISC instructions, also known as x86 instructions, since all software available today is written using this kind of instructions. A RISC-only CPU couldn’t be create for the PC because it wouldn’t run software we have available today, like Windows and Office.
So, the solution used by all processors available on the market today from both Intel and AMD is to use a CISC/RISC decoder. Internally the CPU processes RISC-like instructions, but its front-end accepts only CISC x86 instructions.
CISC x86 instructions are referred as “instructions” as the internal RISC instructions are referred as “microinstructions”, “micro-ops” or “µops”.
These RISC microinstructions, however, cannot be accessed directly, so we couldn’t create software based on these instructions to bypass the decoder. Also, each CPU uses its own RISC instructions, which are not public documented and are incompatible with microinstructions from other CPUs. I.e., Pentium M microinstructions are different from Pentium 4 microinstructions, which are different from Athlon 64 microinstructions.
Depending on the complexity of the x86 instruction, it has to be converted into several RISC microinstructions.
Pentium M instruction decoder works like shown on Figure 3. As you can see, there are three decoders and a Micro Instruction Sequencer (MIS). Two decoders are optimized for simple instructions, which are the most used ones. This kind of instruction is converted in just one micro-op. One decoder is optimized for complex x86 instructions, which can be converted in up to four micro-ops. If the x86 instruction is too complex, i.e. it converts into more than four micro-ops, it is sent to the Micro Instruction Sequencer, which is a ROM memory containing a list of micro-ops that should replace the given x86 instruction.

click to enlarge
Figure 3: Instruction Decoder and Register Renaming.
The instruction decoder can convert up to three x86 instructions per clock cycle, one complex at Decoder 0 and two simple at decoders 1 and 2, feeding the Decoded Instruction Queue with up to six micro-ops per clock cycle, scenario that is reached when Decoder 0 sends four micro-ops and the other two decoders send one micro-op each – or when the MIS is used. Very complex x86 instructions that use the Micro Instruction Sequencer can delay several clock cycles to be decoded, depending on how many micro-ops will be generated from the conversion. Keep in mind that the Decoded Instruction Queue can hold only up to six micro-ops, so if more than six micro-ops are generated by the decoder plus MIS, another clock cycle is needed to send the current micro-ops present in the queue to the Register Allocation Table (RAT), empty the queue and accept the micro-ops that didn’t “fit” before.
Pentium M uses a new concept to the P6 architecture that is called micro-op fusion. On Pentium M the decoder unit fuses two micro-ops into one. They will be de-fused only to be executed, at the execution stage.
On P6 architecture, each microinstruction is 118-bit long. Pentium M instead of working with 118-bit micro-ops works with 236-bit long micro-ops that are in fact two 118-bit micro-ops.
Keep in mind that the micro-ops continue to be 118-bit long; what changed is that they are transported in groups of two.
This idea behind this approach was to save energy and increase performance. It is faster to send one 236-bit micro-op than two 118-bit micro-ops. Also the CPU will consume less power, since less micro-ops will be circulating inside of it.
Fused micro-ops are then sent to the Register Allocation Table (RAT). CISC x86 architecture has only eight 32-bit registers (EAX, EBX, ECX, EDX, EBP, ESI, EDI and ESP). This number is simply too low, especially because modern CPUs can execute code out-of-order, what would “kill” the contents of a given register, crashing the program.
So, at this stage, the processor changes the name and contents of the registers used by the program into one of the 40 internal registers available (each one of them is 80-bit wide, thus accepting both integer and floating-point data), allowing the instruction to run at the same time of another instruction that uses the exact same standard register, or even out-of-order, i.e. this allows the second instruction to run before the first instruction even if they mess with the same register.
Reorder Buffer
So far the x86 instructions and the micro-ops resulted from them are transferred between the CPU stages in the same order they appear on the program being run.
Arriving at the ROB, micro-ops can be loaded and executed out-of-order by the execution units. After being executed, the instructions are sent back to the Reorder Buffer. Then at the Retirement stage, executed micro-ops are pulled out of the Reorder Buffer at the same order they entered it, i.e. they are removed in order. On Figure 4 you can have a better idea on how this works.

click to enlarge
Figure 4: How the Reorder Buffer works.
On Figure 4 we simplified the Reservation Station and the execution units for a better understanding of the Reorder Buffer. We will talk about these two stages in depth on next page.
Reservation Station and Execution Units
As we mentioned before, Pentium M uses fused micro-ops (i.e. carries two micro-ops together) from the Decode Unit up to the dispatch ports located on the Reservation Station. The Reservation Station dispatches each micro-op individually (defused).
Pentium M has five dispatch ports numbered 0 thru 4 located on its Reservation Station. Each port is connected to one or more execution units, as you can see on Figure 5.

click to enlarge
Figure 5: Reservation Station and execution units.
Here is a small explanation of each execution unit found on this CPU:
• IEU: Instruction Execution Unit is where regular instructions are executed. Also known as ALU (Arithmetic and Logic Unit). “Regular” instructions are also known as “integer” instructions.
• FPU: Floating Point Unit is where complex math instructions are executed. In the past this unit was also known as “math co-processor”.
• SIMD: Is where SIMD instructions are executed, i.e. MMX, SSE and SSE2.
• WIRE: Miscellaneous functions.
• JEU: Jump Execution Unit processes branches and is also known as Branch Unit.
• Shuffle: This unit executes a kind of SSE instruction called “shuffle”.
• PFADD: Executes a SSE instruction called PFADD (Packed FP Add) and also COMPARE, SUBTRACT, MIN/MAX and CONVERT instructions. This unit is pipelined, so it can start executing a new micro-op at each clock cycle even if it didn’t complete the execution of the previous micro-op. This unit has a latency of three clock cycles, i.e. it delays three clock cycles to deliver each processed instruction.
• Reciprocal Estimates: Executes two SSE instructions, one called RCP (Reciprocal.Estimate) and another called RSQRT (Reciprocal Square Root Estimate).
• Load: Unit to process instructions that ask a data to be read from the RAM memory.
• Store Address: Unit to process instructions that ask a data to be written at the RAM memory. This unit is also known as AGU, Address Generator Unit. This kind of instruction uses both Store Address and Store Data units at the same time.
• Store Data: Unit to process instructions that ask a data to be written at the RAM memory. This kind of instruction uses both Store Address and Store Data units at the same time.
Keep in mind that complex instructions may take several clock cycles to be processed. Let’s take an example of port 0, where the floating point unit (FPU) is located. While this unit is processing a very complex instruction that takes several clock ticks to be executed, port 0 won’t stall: it will keep sending simple instructions to the IEU while the FPU is busy.
So, even thought the maximum dispatch rate is five microinstructions per clock cycle, actually the CPU can have up to twelve microinstructions being processed at the same time.
As we mentioned, on instructions that ask the CPU to read a data stored at a given RAM memory address, the Store Address Unit and the Store Data Unit are used at the same time, one for calculating the address and the other for reading the data.

Actually that’s why ports 0 and 1 have more then one execution unit attached. If you pay attention, Intel put on the same port one fast unit together with at least one complex (and slow) unit. So, while the complex unit is busy processing data, the other unit can keep receiving microinstructions from its corresponding dispatch port. As we mentioned before, the idea is to keep all execution units busy all the time.
As we explained, after each micro-op is executed, it returns to the Reorder Buffer, where its flag is set to “executed”. Then at the Retirement Stage the micro-ops that have their “executed” flag on are removed from the Reorder Buffer on its original order (i.e. the order they were decoded) and then the x86 registers are updated (the inverse step of register renaming stage). Up to three micro-ops can be removed from the Reorder Buffer per clock cycle. After this the instruction was fully executed.
Enhanced SpeedStep Technology
SpeedStep Technology was created to increase battery life and was first introduced with Pentium III M processor. This first version of SpeedStep Technology allowed the CPU to switch between two clock frequencies on the fly: Low Frequency Mode (LFM), which maximized battery life, and High Frequency Mode (HFM), which allowed you to run your CPU at its maximum speed. The CPU had two clock multiplier ratios and what it did was to change the ratio it was using. The LFM ratio was factory-lock and you couldn’t change it.
Pentium M introduced Enhanced SpeedStep Technology, which goes beyond that, by having several other clock and voltage configurations between LFM (which is fixed at 600 MHz) and HFM (which is the CPU full clock).
Just to give you a real example, the clock/voltage configuration table for a 1.6 GHz Pentium M based on 130 nm technology is the following:
Voltage Clock
1.484 V 1.6 GHz
1.42 V 1.4 GHz
1.276 V 1.2 GHz
1.164 V 1 GHz
1.036 V 800 MHz
0.956 V 600 MHz
Each Pentium M model has its own voltage/clock table. It is very interesting to notice that it is not only about lowering the clock rate when you don’t need so much processing power from your laptop, but also about lowering its voltage, which helps a lot to lower battery consumption.
Enhanced SpeedStep Technology works by monitoring specific MSRs (Model Specific Registers) from the CPU called Performance Counters. With this information, the CPU can lower or raise its clock/voltage depending on CPU usage. Simply put, if you increase CPU usage, it will increase its voltage/clock, if you lower the CPU usage, it will lower its voltage/clock.
Enhanced SpeedStep was just one of the several enhancements done on Pentium M microarchitecture in order to increase battery life.
A good example was done on the execution units. On other processors, the same power line feeds all execution units. So it is not possible to turn off an idle execution unit on Pentium 4, for example. On Pentium M execution units have different power lines, making the CPU capable of turning off idle execution units. For example, Pentium M detects in advance if a given instruction is an integer one (“regular instruction”), disabling the units and datapaths not needed to process that instruction, if they are idle, of course.

CPU Transistors

April 1972
Name of Processor: 8008
Clock speed: 200 kilohertz
Number of transistors: 3,500
December 1974
Name of Processor: 8080
Clock speed: 2 MHz
Number of transistors: 6,000
August 1976
Name of Processor: 8085
Clock speed: 5 MHz
Number of transistors: 6,500
September 1978
Name of Processor: 8086
Clock speed: 10 MHz
Number of transistors: 29,000
February 1982
Name of Processor: 286
Clock speed: 12 MHz
Number of transistors: 134,000
October 1985
Name of Processor: 386
Clock speed: 16 MHz
Number of transistors: 275,000
February 1987
Name of Processor: 386
Clock speed: 20 MHz
Number of transistors: 275,000
April 1989
Name of Processor: 486
Clock speed: 25 MHz
Number of transistors: 1,200,000
June 1991
Name of Processor: 486
Clock speed: 50 MHz
Number of transistors: 1,200,000
March 1993
Name of Processor: Pentium
Clock speed: 60 MHz
Number of transistors: 3.1 million
March 1994
Name of Processor: Pentium
Clock speed: 75 MHz
Number of transistors: 3.2 million
March 1995
Name of Processor: Pentium
Clock speed: 120 MHz
Number of transistors: 3.2 million
June 1995
Name of Processor: Pentium
Clock speed: 133 MHz
Number of transistors: 3.3 million
January 1996
Name of Processor: Pentium
Clock speed: 166 MHz
Number of transistors: 3.3 million
June 1996
Name of Processor: Pentium
Clock speed: 200 MHz
Number of transistors: 3.3 million
May 1997
Name of Processor: Pentium II
Clock speed: 300 MHz
Number of transistors: 3.3 million
April 1998
Name of Processor: Pentium II
Clock speed: 400 MHz
Number of transistors: 7.5 million
August 1998
Name of Processor: Pentium II
Clock speed: 450 MHz
Number of transistors: 7.5 million
August 1999
Name of Processor: Pentium III
Clock speed: 600 MHz
Number of transistors: 9.5 million
October 1999
Name of Processor: Pentium III
Clock speed: 733 MHz
Number of transistors: 28 million
January 2000
Name of Processor: Pentium III
Clock speed: 800 MHz
Number of transistors: 28 million
March 2000
Name of Processor: Pentium III
Clock speed: 1.0 GHz
Number of transistors: 28 million
November 2000
Name of Processor: Pentium 4
Clock speed: 1.5 GHz
Number of transistors: 42 million
April 2001
Name of Processor: Pentium 4
Clock speed: 1.7 GHz
Number of transistors: 42 million
Aug 2001
Name of Processor: Pentium 4
Clock speed: 2 GHz
Number of transistors: 42 million
Jan 2002
Name of Processor: Pentium 4
Clock speed: 2.2 GHz
Number of transistors: 42 million
Jun 2002
Name of Processor: Pentium 4
Clock speed: 2.53 GHz
Number of transistors: 55 million
Aug 2002
Name of Processor: Pentium 4
Clock speed: 2.8 GHz
Number of transistors: 55 million
Nov 2002
Name of Processor: Pentium 4
Clock speed: 3.0 GHz
Number of transistors: 55 million
Jun 2003
Name of Processor: Pentium 4
Clock speed: 3.2 GHz
Number of transistors: 55 million
Feb 2004
Name of Processor: Pentium 4
Clock speed: 3.4 GHz
Number of transistors: 55 million

CPU Comparison

Note: This is an example only of the structure of how the essay might look. Do not take any of the following arguments seriously (they are not necessarily true).

(Introduction)

The Intel P4 1.8 GHz processor is a better made CPU for several reasons. The primary reason is that its trace routes and transistors are made at .13 microns, which is quite a bit smaller than the AMD processor.


(Body)

Firstly, there are approximately 40 million transistors in either processor, so the number of instructions per second ….

Secondly, the Intel company has been around since the late fifties and since they were pioneers in the market, it would be reasonable to assume that their cutting edge research and sheer volume of intellectual capital devoted to developing the latest integrated circuit far exceed AMD….

Thirdly, looking a variety of benchmarks indicates that there is no clear winner between the two processors. For example, the following charts indicate the kind of variation there is amongst benchmarks:



Fourthly, the price to performance ratios indicate that the Intel chip is provides less performance per dollar. However, similar to buying a brand name, its always better to buy from a company that’s been in the business for several years.

Finally, the simple fact that the size of the architecture indicates that the processor should run at a cooler temperature….

(Conclusion)

Taken together, this research indicates that the Intel chip, while not necessarily out-performing the AMD chip on all benchmarks, does come from a company that is far ahead of its competitors. Since the AMD chip is not truly a 1.8 GHz chip and actually runs at 1.53 GHz, and since the processor runs very hot, it is less likely to function as long and as stable as an Intel chip……….

AthlonXP

First and foremost, the name 'AthlonXP' is not just following the current trend to call everything after Microsoft's new operating system WindowsXP (like e.g. NVIDIA's new originally named driver set 'DetonatorXP'), but the 'XP' that is supposed to hype the new 'experience' you might have with WindowsXP, is supposed to suggest the 'extreme performance' of AthlonXP.
New Features
AthlonXP does indeed offer 3-7% more performance per clock than previous desktop-Athlons based on the "Thunderbird"-core, because it is based on the new "Palomino"-core that we already know from AMD's multi-processor offering AthlonMP and the Mobile Athlon4 processors.
I'll list Palomino's added features over Thunderbird once more:
• New design to reduce power consumption over Thunderbird core by 20%
• Implementation of the full Intel SSE instruction set. The SSE processor flag is set (if the motherboard BIOS supports Palomino) so that software can recognize AthlonMP as a SSE-capable processor. AMD calls its SSE-implementation '3Dnow! Professional'.
• Hardware auto data pre-fetching unit
• L1 Data TLB (Translation Look-Aside Buffer) was increased from 32 to 40 entries, the architecture of the data and instruction L1 and L2 TLBs was made exclusive and TLB-entries can be written speculatively.
• Implementation of a thermal diode to monitor processor temperature
AthlonXP comes in a new packaging, which is based on the same material as found in Intel's Pentium III, Celeron and Pentium 4 processors. The only difference is that the material used with AthlonXP is brown, while the Intel processors are green. The new material is supposed to have better thermal behavior and more elasticity than the previously used ceramic. Besides this important feature, the new organic material is also lighter and cheaper than the previous packaging material

A+ Windows 2000 Notes

Windows 9x Structure
Windows 95 and 98 are 32-bit operating systems. Windows 95 had 2 releases - The FAT16 original release and later OSR2 which utilized the FAT32 file system, added personal web server, Active Desktop and several other new features. Windows 98 had 2 releases as well - The original version and Windows 98 Second Edition(SE). Below is an outline of the boot process and the files involved.
1. POST - Hardware tests
2. Plug and Play Configuration -Windows 9x is a Plug and Play(PnP) operating system. In order for PnP to work, the BIOS, hardware and operating system must all be PnP compliant.
3. Master Boot Record - The MBR is located.
4. IO.SYS - This file loads drivers and executes CONFIG.SYS, MSDOS.SYS and COMMAND.COM
5. COMMAND.COM - Loads AUTOEXEC.BAT
6. Windows core files are loaded
o WIN.COM - This file begins the loading of Windows 9x system files.
o KERNEL32.DLL/KERNEL386.EXE - These files contain the core operating system and is responsible for loading device drivers.
o GDI.EXE/GDI32.EXE - These files are responsible for loading the basic GUI or graphical user interface.
o WIN.INI - Along with WINFILE.INI and SYSTEM.INI, these files provide backward compatibility with older 16-bit applications and are not required in order for 32-bit applications to run under Windows 9x. Most of the functions of these files are now stored in the registry files.
7. The startup folder is checked for applications to load on startup.
Windows 9x also replaces many of the DOS start-up files such as IO.SYS, MSDOS.SYS and COMMAND.COM with newer versions. Most of the functions of the CONFIG.SYS and AUTOEXEC.BAT files are now handled by the new IO.SYS file, although entries in CONFIG.SYS will take precedence over entries in the IO.SYS file.

Windows 9x supports long file names up to 255 characters. Duplicate filenames(8.3 format) are assigned for backward compatability(i.e. DOS). This is done by taking the 1st 6 characters of the filename adding a tilde and then a number. For example, VERYLONGFILENAME.EXE would become VERYLO~1.EXE.
Windows 9x Core Components
The Windows 9x family of operating systems are made up of 3 core components:
• Kernel - OS foundation that provides error handling, virtual memory management, task scheduling, and I/O services.
• User - Responsible for the user interface and handles input from hardware devices by interacting with device drivers.
• GDI - Responsible for what appears on the display and other graphics functions.
Windows 9x Registry
The registry is a hierarchical database that contains the system's configuration information. The registry is made up of 2 files that are located in the Windows directory:
• USER.DAT - Contains information about system users.
• SYSTEM.DAT - Contains information about hardware and system settings.
The registry can be accessed with the utility REGEDIT.EXE which allows you to edit and restore the registry settings. The Windows 95 registry is backed up everytime the machine is booted. The backup files are called USER.DA0 and SYSTEM.DA0. Windows 98 backs up SYSTEM.DAT, USER.DAT, SYSTEM.INI and WIN.INI as .CAB files that are stored in in the hidden Windows\Sysbackup directory.
Windows 9x Virtual Machines
Windows 9x utilizes preemptive multitasking for 32-bit applications and cooperative multitasking for older 16-bit operations. Some of these applications require complete control of the system's resources and will not run properly under Windows 9x so the Virtual Machine Manager creates a special environment for these application known as a virtual machine in which the applications can be given the resources that they need.

MSCONFIG - Windows 98 comes with a utility called MSCONFIG.EXE that provides an easy way to edit the config.sys, autoexec.bat, win.ini and system.ini files. This manager also provides the ability to back these files up, modify the start-up environment and configure advanced troubleshooting settings.

SYSEDIT - Provides very similar functionality as MSCONFIG and allows the 4 files plus PROTOCOL.INI to be edited. It also provides a search function and Works in Windows 95/NT/2000.
Windows NT/2000 Structure
Windows NT and 2000 are 32 bit operating systems that run in 2 different modes which are kernel(protected) and user. Applications use Application Program Interfaces(APIs) to pass threads between the 2 modes. User mode provides no direct access to the system's hardware. The subsystems of these operating systems are outlined below.
WIN32 -- This subsystem handles support for 32-bit windows applications and is also known as the Client/Server subsystem. This subsystem has the following features:
• 32-bit architecture
• Multiple execution threads are supported for each process
• Memory Protection - each Win32 application is separated and protected from other applications
• OpenGL - Support for 2D and 3D graphics cards
• 2GB nonsegmented address spaces are assigned to each application
• NT/2000 supports DOS applications via VDMs(Virtual DOS Machines). A VDM is a Win32 application that creates an environment where DOS applications can run. It does this by making the NT Workstation resemble a DOS environment and tricks the DOS applications into thinking that they have unrestricted access to the computer's hardware. NT can only support DOS applications that use VDDs(Virtual Device Drivers) to intercept the applications calls to the computer's hardware.
• NT/2000 also supports Win16 applications with the use of a DOS application called WOW(Windows on Windows). WOW runs within a VDM that runs as a 32-bit process. If a Win16 application crashes it will only corrupt the WOW, but will not affect the rest of the NT operating system.
In addition to the above, Windows 2000 also adds the Plug and Play Manager and the Power Management Manager

The boot files used by NT/2000 are completely different than Windows 9x and are listed below:
• BOOT.INI - Specifies boot defaults, operating system locations, settings and menu selections.
• BOOTSECT.DOS - A file located in the system partition that allows the option to boot into another operating system such as Win98 or DOS.
• NTDETECT.COM - Hardware detection program that is located on the root of the system partition.
• NTLDR - File that loads the operating system and is located on the root of the system partition.
• NTOSKRNL.EXE - The executable file.
• OSLOADER.EXE - This is the OS loader for RISC based systems.
• NTBOOTDD.SYS - File used when the system or boot partition is located on a SCSI drive and the BIOS is disabled.
The registry editors included with Windows NT/2000 include Regedt32 and Regedit. For Windows 2000, the Regedt32 tool should be used while Windows NT can use either. Most of the registry(the static items) are contained in hive files which are located in the \WINNT\SYSTEM32\CONFIG directory. The 5 hives are SAM, security, software, system and default.

In Windows 2000 most system administration tasks are performed in the Computer Management Console that contains all of the various Microsoft Management Consoles(MMCs) in one location. Windows 2000 filenames can be up to 215 characters long and cannot contain the following: <>\/?*"| and Windows 2000 supports PnP while NT does not.

File Systems
The following are common hard disk configurations.
• Partition - A partition is a portion of a physical hard disk. A partition can be primary or extended
• Primary Partition - This is a bootable partition. One primary partition can be made active.
• Extended Partition - An extended partition is made from the free space on a hard disk and can be broken down into smaller logical drives. There can only be one of these per hard disk.
• Logical Drive - These are a primary partition or portions of an extended partition that are assigned a drive letter.
• Volume - This is a disk or part of a disk that is combined with space from the same or another disk to create one larger volume. This volume can be formatted and assigned a drive letter like a logical drive, but can span more than one hard disk. A volume set can be extended without starting over, however to make it smaller, the set must be deleted and re-created.


There are various management tools that can be used to configure drives. The Disk Management MMC is a snap-in for the Computer Management Console in Windows 2000. You can create partitions, volume sets, logical drives, format disks, etc. NT 4.0 had a similar tool called the "Disk Administrator". DOS and Windows 9x utilize the FDISK utility.

When discussing Windows file systems you need to understand what File Allocation Tables(FAT) are. FAT is a table that an operating system maintains in order to map the clusters(the smallest unit of storage) that a file has been stored in. When files are written to a hard disk, the files are stored in one or more clusters that may be spread out all over the hard disk. The table allows Windows to find the "pieces" of your file and reassemble them when you wish to open it.

There are several different types of file systems that are explained below:
• FAT16 - FAT16 table entries are 16 bits in length limiting hard disk sizes to 2GB. Note that even if the OS supports larger partition sizes, the BIOS must also support logical block addressing(LBA) or the maximum partition that you will be able to create will be either 504 or 528 MB.
• FAT32 - Created to allow more efficient use of hard drive space and allowed for partitions up to 8GB using 4KB cluster sizes. In order to format a drive as FAT32, the "Large disk Support" must be enabled when starting FDISK. FAT32 is not compatible with older versions of Windows including Windows 95A and NT. In Windows 9.x, the CVT1.EXE can be used to convert FAT16 partitions to FAT32.
• NTFS4 - NTFS4 is the file system used by Windows NT that provides increased security and reliability over other file systems. On an NTFS partition, you can't boot from a DOS boot disk - this is one of the security features of NTFS. Additionally, a floppy disk cannot be formatted as NTFS. For this reason it might not be a bad idea to have a small partition formatted FAT so that you can boot into DOS for recovery purposes. In order to convert a FAT partition to NTFS, NT includes a utility called convert.exe.
• NTFS5 - This is the native file system for Windows 2000. NTFS5 has many new features as follows:
o Encrypted File System(EFS) - Windows 2000 NTFS volumes have the ability to encrypt data on the disk itself. Cipher.exe is a command line utility that allows for bulk or scripted file encryption.
o Disk Quotas - Provides the ability to set space limitations on users on a per volume basis.
o Defragmentation - Windows 2000 now includes a disk defragmenter that can be used on NTFS partitions.
o Volume Mount Points - Provides the ability to add new volumes to the file system without having to assign a drive letter to them. This feature is only available on an NTFS partition using dynamic volumes.
o Compression - In Windows 2000 files, folders and entire drives can be compressed by right clicking on the item to be compressed and selecting "properties" and then "advanced".
The convert.exe utility can be used to convert a FAT or FAT32 partition to NTFS.
• HPFS - Stands for High Performance File System and is used with OS/2 operating systems. This file system can only be accessed by Windows NT 3.51 and OS/2.
Windows 9x operating systems also employ VFAT which is a protected-mode FAT file system that prevents DOS and the BIOS from accessing resources. VFAT is the replacement for SMARTDRV.SYS and uses a driver called VCACHE.
Operating System Supported File Systems
DOS FAT16
Windows 3.x FAT16
Windows 95A FAT16
Windows 95 OSR2 FAT16, FAT32
Windows 98 FAT16, FAT32
Windows 98SE FAT16, FAT32
Windows NT 4 FAT16, NTFS
Windows 2000 FAT16, FAT32, NTFS

In addition to the disk administration utilities previously mentioned, information about a drive can be displayed by right clicking the drive in My Computer or Windows Explorer & select Properties
Here you can view the amount of used and freespace on the drive, the capacity and the file system. The tools tab provides access to defragmentation, scandisk and backup utilities in Windows 98. Windows NT/2000 contain these items as well as a few additional. The 3rd tab is for sharing the drive and setting permissions on it so that it can be accessed across the network.

Backing up drives allows you to recover your data or even the entire system if a catastrophe occurs. There are several different types of backup:
• Full - copies all files and marks them as being backed up.
• Incremental - copies only files created/changed since last full backup and marks them as being backed up.
• Differential - copies only files created/changed since last full backup and doesn’t mark them as being backed up.
• Daily - copies only files created/changed today and doesn’t mark them as being backed up.
In DOS backups can be run with the BACKUP command. There are several switches that can be added to the command.
• /S - Forces all files and subdirectories to be backed up.
• /M - Only modified files are backed up.
• /D - Backs up files modified after a specific date.
• /T - Backs up files modified after a specific time.
The Windows 98 backup utility can be accessed via Start>Programs>Accessories>System Tools>Backup and also via right clicking on a drive in My Computer and selecting the tools tab as previously mentioned.

There are several different hard drive utilities that can be found in the various versions of Windows that are listed below:
• CHKDSK - This utility is run from a DOS prompt and recovers lost allocation units on a drive that can occur when an application or the system are ended unexpectedly. The /F switch converts the lost units into a format such that the units can be viewed and deleted. Can be found in all versions of windows.
• SCANDISK - The ScanDisk utility inspects the hard drive for errors and corrects them. Scandisk is available in DOS 6.x and Windows 9x.
• DEFRAG - Reorganizes data on the disk for optimal disk performance. In DOS this utility was run from a DOS prompt. In Windows 9x and 2000 this utility can still be run from a prompt or can be accessed at Start>Programs>Accessories>System Tools>Disk Defragementer. Windows NT did not come with a defragmentation utility.
• DRIVESPACE - This utility for windows 9x offers many of the same features as NT's disk administrator including compression, formatting and drive information.

Installations and Upgrades
All new Windows installations start with using FDISK(or 3rd party utility) to partition the drive followed by a reboot and then the formatting of the drive.

Windows 98 New Installation
In order to install Windows 9x the following minimum hardware requirements must be met. The system must be at lease a 486DX, 66MHz processor or higher, 16 MB RAM, VGA Video adapter and display, 225 MB free FAT16 hard disk space or 175 MB free FAT32 hard disk space.

Unlike Windows 95, Windows 98 does not have to be installed over another operating system such as DOS and does not require access to a FAT16 partition.

The typical method for installing Windows 98 is to boot the computer from the installation CDROM. This requires that the system's CDROM drive is bootable and that the BIOS is configured for this. First Scandisk will be run and if no errors are found, the GUI portion of the setup process will begin which includes the following stages:
1. Preparing to Run Windows 98 Setup
2. Collecting Information About Your Computer
3. Copying Windows 98 Files to Your Computer
4. Restarting Your Computer
5. Setting Up Hardware and finalizing Settings
6. Restart
Upgrade from Windows 3.x to Windows 95
This upgrade is performed by running Setup.exe located on the installation CDROM. When you upgrade from Windows 3.x to Windows 95, you'll find that settings in protocol.ini, system.ini, and win.ini are used to create the Windows 95 Registry. These files and any files with the .GRP extension are saved for backward compatibility.

Upgrade from Windows 95 to Windows 98
This is typically the easiest upgrade and involves loading the Windows 98 CDROM and executing setup.exe. This will lauch the setup program that will go through the same stages as for a clean install, however, any usable information that is available from Windows 95 will be used during the upgrade. Note that CMOS antivirus software can cause an upgrade to fail during the 1st stage of the installation process. Information about failures can be found in the SETUPLOG.TXT file. If Windows 98 is installed to a directory other than the Windows directory, all previously installed applications will have to be reinstalled.

Windows 2000 New Installation
For Windows 2000 Professional, the hardware requirements are:
• 133 MHz or higher Pentium-compatible processor
• 32MB of RAM minimum(64MB recommended; 4GB maximum)
• 2GB hard drive with a minimum of 650 MB of free space(Additional free hard disk space is required if you are installing over a network).
• Windows 2000 Professional supports up to 2 processors.
For Windows 2000 Server the hardware requirements are:
• 133 MHz+ Pentium-compatible CPU.
• 128 MB of RAM minimum (256 MB recommended; 4 GB maximum).
• 2 GB hard disk with a minimum of 1.0 GB free space. (Additional free hard disk space is required if you are installing over a network.)
• Windows 2000 Server supports up to four CPUs.
Before beginning any installation, you should check the Hardware Compatibility List(HCL) at Microsoft's website to make sure that your components are supported. If you have items that do not appear on the list, you should contact the manufacturer to see if they have updated drivers.

If you have a computer that will boot from the CD, then this is probably the way to go, otherwise you will be creating 4 setup disks using the makeboot.exe utility on the installation CDROM. Just like the NT 4.0 installation, we will start with the text based portion of the setup. You will be presented with an option to press enter to install Windows 2000. After you press enter you will read the license agreement and press F8 to accept. You will now be presented with a list of all of the disks and partitions that are on the system. Like NT 4 installation, you will have the option to create a new partition or select an existing one to install onto. Press C and you will arrive at the option to select NTFS, FAT or leave it the way it is. Files will be copied to your disk. After a reboot, the GUI based portion of setup will begin.

Windows 2000 is Plug and Play. The first portion of the GUI setup will detect your hardware and install drivers for it. Next you will have the option to select the locale for the computer. Then you will enter your name and orginization followed by the license key. After you click next you will be prompted for the licensing mode and will have the option of per seat or per server. Next, you will enter the computer's name and an Administrative password. Now you will see a list of services that you can choose to install. This will obviously vary depending on which services you will need to use on your network. Now you will be prompted to enter the date and time zone. The services that you selected in the previous step will now be installed. Now you will have the option to select whether you want typical network settings or want to specify custom settings and configure them accordingly. Now the install will finish and the machine will be rebooted.

Listed below are the possible upgrade paths: (There is no direct upgrade path from Windows 3.x )
Current OS: Upgrade to:
Windows 95 Windows 2000 Professional
Windows 98 Windows 2000 Professional
Windows NT Workstation Windows 2000 Professional
Windows NT Server Windows 2000 Server
Dual Booting Windows 9x and Windows 2000
Note that Windows 9x is incompatible with drives/partitions formatted with NTFS and will not recognize them. The following information assumes that Windows 9x is already installed on the system. When you insert the Windows 2000 CD-ROM, you should be prompted that the CD contains a newer version of Windows and will ask if you would like to upgrade the existing OS or install a new copy. You will want to select new copy or else the existing operating system will be overwritten. The installation program will begin copying files to the hard drive and will then need to be rebooted.

Next, your drives and partitions will be displayed and will be prompted to select a partition to install Windows 2000 onto. If you select the same partition as the one that Windows 9x is installed on, make sure that you select the option to keep the existing file system intact instead of formatting it, otherwise you will lose the Windows 9x OS. If you choose to install the operating systems onto different partitions, make sure that the Windows 2000 is not NTFS if you wish to be able to access that partition from Windows 9x. Furthermore, make sure that the boot partition is not formatted with NTFS or else you will not be able to boot into Windows 9x.

Boot Environment
This section will contain facts that you will need to know about booting the various operating systems. The boot files for the various operating systems has been covered already in Domain 1.0.

When booting DOS, there are a couple of boot options that can be used to modify the boot process:
• F5 or Left SHIFT - This will bypass the CONFIG.SYS and AUTOEXEC.BAT files.
• F8 - Processes CONFIG.SYS and AUTOEXEC.BAT one step at a time with confirmation required between steps.
For Windows 9x
• F8 or Left CTRL - Displays the Windows startup menu for Windows 9x that contains boot options such as Safe Mode. Safe Mode is a startup mode in which minimal drivers(mouse, keyboard and VGA display) are loaded and is used to troubleshoot boot and display problems.
• F5 - Boots directly into Safe Mode.
For Windows NT
• VGA Mode - The BOOT.INI file is responsible for the Windows NT/2000 startup screen that lists the operating systems available to boot into and VGA mode. VGA mode will only load standard VGA display drivers and is used for correcting a situation when a driver conflict occurs that prevents normal boot.
• Last Known Good Configuration - This option is presented 2nd and if the space bar is pressed, the system will load system configuration information from the last successful boot. This option is used for fixing problem that arise after installing a new device driver.
For Windows 2000
• F8 - Brings up the Windows 2000 Advanced Options menu which contains several choices as follows: Safe Mode, Safe Mode with Networking, Safe Mode with Command Prompt, Enable Boot Logging, Enable VGA Mode, Last Known Good Configuration, Directory Services Restore Mode and Debugging Mode.

Creating Boot Disks
DOS boot disks are created by using the command format a: /s. You should also copy SYS, EDIT, CHKDSK, FORMAT and FDISK onto the floppy.

In Windows 9X, you have the option to create a startup disk when installing the system. If the system is already installed and you need to create Windows 95 start disk, open the "Add/Remove Programs" control panel, select the "Startup Disk" tab and clickon "Create Disk". This disk will include ATTRIB.EXE, COMMAND.COM, SYS.COM, FDISK.EXE, FORMAT.COM, EDIT.COM, SCANDISK.EXE, IO.SYS, MSDOS.SYS and REGEDIT.EXE. Windows 98 startup disks are made in the same manner and include all of the above files and also OAKCDROM.SYS(CDROM driver) and EXTRACT.EXE(for uncompressing CAB files).

Windows NT boot disks can be made from the installation CD using the WINNT.EXE /OX command. For windows 2000, this can be accomplished by using the MAKEBOOT.EXE utility. Windows NT/2000 also utilize an Emergency Repair Disk which is used to repair the user account database(SAM) and the registry in case of a failure. In NT this can be created during installation or by using the RDISK utility. In Windows 2000 this can be done during installation or by using the backup utility.

Log Files
Windows 9x log files are:
• BOOTLOG.TXT - This file is created during the first boot after setup. The creation of a new BOOTLOG.TXT can be done by hitting F8 at startup and choosing "Logged" mode. The previous copy of BOOTLOG.TXT will be renamed to BOOTLOG.PRV. This log shows the boot process steps and whether they were successful or failed.
• DETLOG.TXT - This log shows the steps performed in detecting the system's hardware and is created anytime that hardware detection occurs such as during installation and when adding new hardware components.
• SETUPLOG.TXT - This file is created during installation of Windows 9x and records all the options chosen during setup.

Troubleshooting
Windows Issues
This section will discuss some of the more common Windows errors and how to resolve them:
• Windows Protection Errors - This typically is caused by the type or speed of the RAM installed in the system.
• Bad or Missing COMMAND.COM - This means that the OS is unable to locate the file COMMAND.COM. To fix this problem use the make sure that the necessary boot files are located on the hard drive. If not, boot with the startup disk and enter the command SYS C:\ which will copy the system files to the hard drive(Windows 9x only).
• HIMEM.SYS not loaded - Check the CONFIG.SYS file and make sure that the line Device=C:\HIMEM.SYS exists and that the path specified to the file is where the file actually is.
• Error in CONFIG.SYS line XX - This error is usually caused by a syntax error in the CONFIG.SYS or AUTOEXEC.BAT file where XX will be the line number that the error occurred.
• Operating system not found - A common cause of this error is booting a system with a non-bootable floppy in the floppy drive. It can also be caused by missing boot files. To correct this, boot with the startup disk and enter the command SYS C:\ which will copy the system files to the hard drive(Windows 9x only).
• General Protection Faults(GPF) - Can be caused by software or hardware. GPFs can be caused by damaged core files which may need to be replaced or by a corrupt registry which can be restored from backup. They can be caused by running an application that is not designed for the operating system you are using. The Dr Watson utility will write information about these errors to DRWATSON.LOG which can be viewed for more information.
• Illegal Operation - Usually caused when 2 or more application attempt to use the same memory space. Incorrectly installed applications and software bugs. Try reinstalling the application and if the errors persist, check with the software vendor for patches/updates to the software.
• System locks up - Typically, this is caused by an application that is hung and can be corrected by ending the task. To end a task press CTRL + ALT + DEL and find the application that is not responding. ALT + F4 can also be used to close active windows. In Windows NT/2000 the CTRL + ALT + DEL or CTRL + SHIFT + ESC keys can be used to access Task Manager.
• Application will not start - Make sure that the file that is executed has a .EXE, .BAT or .COM extension. If attempting to run the application from a shortcut, make sure in the shortcut properties that the path to the application is correct.
Printing Issues
• Print Spooler is stalled - Go to the spool folder which is located in C:\Path to system files\spool\printers directory and delete all files in this location and resend any incompleted print jobs.
• Incorrect print drivers - Having an incorrect driver can cause any number of problems from pages coming out as garbled ASCII text to not having access to the full range of features available for that printer. Drivers can be updated by going to the Printers control panel, right clicking on the printer and select properties.
• Out of memory - Print jobs have to be spooled to hard disk space. If there is not enough hard disk space available this error will occur. Try freeing up hard drive space or move the spool folder to a drive with more free space.

Other Troubleshooting Tools
Throughout this guide we have discussed many of the Windows troubleshooting tools. Below is a list of the ones that haven't been covered yet.
• MSINFO - Used to view installed devices and drivers. - Windows 9x
• HWINFO - The Hardware Diagnostic Utility is located in C:\Windows\HwInfo.exe and there aren't any shortcuts to it by default. In order to run this utility you need to append a /UI switch. This "tool" was run during your initial install of Win98 and created a record of various hardware settings, drivers, file sizes & dates, memory ranges, resource allocation, etc. - Windows 98 only
• Dr Watson - Will generate an error log when certain types of errors occur. This information can be accessed by typing drwatson in the run dialog box. - Windows 3.x/9x/NT/2000
• ASD.EXE - Automatic Skip Driver Agent identifies devices that can cause Windows 98 or Windows Me to stop responding (hang) when you start your computer, and then disables them so that they are bypassed when you next restart your computer.
• Maintenance Wizard(TUNEUP.EXE) - Allows you to schedule maintenance utilities such as defrag and scandisk. - Windows 98
• Signature Verification Tool - Microsoft "Signs" drivers which means that they are approved to work on a particular operating system. This tool checks files and informs you whether or not they have been signed by Microsoft. - Windows 98
• Event Viewer - This tool is a log of system, application and security events(successes and failures). Can be used to obtain more information about system and application errors. - NT/2000
• SCANDISK - The ScanDisk utility inspects the hard drive for errors and corrects them. The standard test will inspect files and folders while the advanced test will also checks the disks physical surface. ScanDisk is run automatically on startup when the system detects that the system was not shut down properly. Scandisk is available in DOS 6.x and Windows 9x.
Viruses
There are several different categories of viruses as follows:
• File infector viruses - File infector viruses infect executable program files such as .com and .exe files. The can infect other files when an infected program is run from floppy, hard drive, or from the network.
• Boot sector viruses - Boot sector viruses infect the system area of a disk known as the boot record.
• Master boot record viruses - Master boot record viruses are memory resident viruses that infect disks in the same manner as boot sector viruses. The difference between these two virus types is where the viral code is located. These can often be fixed by using FDISK /MBR.
• Multi-partite viruses - Infect both boot records and program files.
• Macro viruses: These types of viruses infect data files and are the most common. With the advent of Visual Basic in Microsoft's Office 97, a macro virus can be written that not only infects data files, but also can infect other files as well.
There are 2 other types of attacks that are common via the use of Trojans and Worms as described below:
• Trojan Horse - These are files that claim to be something desirable but are destructive and cause loss or theft of data. Trojans are different from viruses as they do not replicate themselves like viruses do.
• Worms - These are programs that replicate themselves from system to system without the use of a host file.
Most viruses are spread via email and the internet, but can also be spread via removable media(i.e. floppies) or across a network. Anti-virus software should be used to protect against virus threats and "clean" files when a computer does become infected.


Networking
The function of a network is to share resources between computers. In order for this to happen the computers must be able to "talk" to each other which is accomplished with the use of protocols which are essentially a set of "rules" that govern communication over a network. Computers must be configured with a common protocol in order to be able to communicate. Below are some of the most common protocols:
• IPX/SPX - The fastest routable protocol and is used on Novell Netware networks.
• TCP/IP - TCP/IP is the most largely used protocol as it is the foundation for communication over the internet.
• NETBEUI - The NetBios Extended User Interface is a non-routable protocol that establishes connections between computers with the use of NetBIOS.
• HTTP - Stands for Hypertext Transfer Protocol and is the set of rules for exchanging files and multimedia on the internet. HTTPS denotes that it is a secure connection.
• SMTP - Stands for Simple Mail Transfer Protocol and is used to reliably send mail over the Internet.
• POP3 - This is the Post Office Protocol and is used for the receiving of email.
Most networks are governed by a network operating system(NOS) such as NT or Windows 2000 Server. The servers are responsible for providing and denying access to resources with the use of shares, rights and permissions for the various users. In order for a resource to be accessed across a network, it must be shared first. There are a couple of different ways to create shares in Windows.

Computers are given unique names to help identify them on the network. In Windows 9x the computer name can be up to 15 characters long and cannot use spaces. In Windows 2000, the name can be up to 63 characters and should only contain letters, numbers and hyphens.

Name Servers
Name servers such as WINS and DNS are used to make finding resources on large network easier without having to memorize IP addresses. They provide a more "friendly" way of locating things.

WINS is used to register NetBIOS names and resolve them to IP addesses for both local and remote hosts. If a WINS server is configured, then name resolution requests are sent directly to it and in turn the WINS server will send the IP address to the requesting client.

The internet used to use a hosts file to resolve IP addresses to host names or domain names. The internet grew to the point where the administration and the traffic needed to maintain this file became unbearable and DNS was born. The way DNS works is very similar to calling information. You call them with a name, they check their database and give you the phone number. Nameservers are distributed into tiers called domains.

TCP/IP Utilities
• Telnet - Provides a virtual terminal or remote login across the network. The remote server must be running a Telnet service for clients to connect.
• Tracert - By sending out ICMP packets, it determines the path taken by a data packet to reach it’s destination and can help determine at what point a network connection is now longer active.
• WINIPCFG - Displays current TCP/IP configurations on the local workstation for Windows 9x computers.
• IPCONFIG - IPCONFIG displays the TCP/IP configuration on the Windows NT computers. The /all switch will display more in depth configuration information. The /release and /renew options can be used to update DHCP settings.
• FTP - Used for transferring data across a network from a server to a client.
• PING - Uses ICMP to verify a connection to a remote host by sending echo requests and "listening" for replies.
• FTP - Stands for File Transfer Protocol and is a method of transferring files between 2 machines.
• NSLOOKUP - This utility is used to enter a host name and find out the corresponding IP address and is often used for troubleshooting DNS problems. Reverse lookups can also be performed.

Internet
The internet is essentially many networks connected together. Users then connect to the internet using either dial-up networking or newer digital technologies. In either case, these services are provided by an Internet Service Provider(ISP). The ISP also will assign your computer a unique IP address and provide email and Newsgroup services.
• Root Level Domains - The top of the tree.
• Top Level Domains - These are divided into different categories. Com, net, mil, edu, org and gov are the most common.
• Second Level Domains - These domains make up the rest of networks as all sub-domains are categorized under this heading. So if you visit Intel's site, you are visiting the sub-domain intel.com. Within intel.com many other sub-domains may also exist.
• Hosts - Hosts are the final level in the hierarchy as they are the individual computers that occupy or comprise a domain and are where the web pages are located.
IP addresses are resolved to domain names using DNS as previously discussed.

Windows NT and Windows 9x Dual Boot Setup
Many people have an interest in setting up their computers to be able to boot either Windows 95 (or Windows 98) or Windows NT. Here's the easiest way to do that, and what to watch out for. The information below is for adding Windows NT to a system that already has Windows 95/98. I have a separate page with information on adding dual-boot to a system that already has Windows NT installed.

First, keep the following points in mind:
1. NT cannot be installed on any drives that are formatted as FAT32, nor can it currently view any data on such drives.
2. Windows 95/98 cannot view any data on drives formatted at NTFS
So, if you want to run dual-boot and have either operating system see all the drives on the system, you must keep them formatted as pure FAT (also called FAT16).

Steps for setting up dual-boot:
1. Install Windows 95 or Windows 98. If you already have Windows 9x installed, don't bother reinstalling unless you need to reformat your drives because of the above warnings.
2. Put in the Windows NT CD-ROM. It should auto-run and bring up a window with a button to "Install Windows NT". If not, go into the /i386 folder and run winnt.exe.
3. NT will start to install, copying tons of files to the disk, then will require a reboot.
4. In the second phase of the installation, NT will display your drives and partitions. It will ask which partition you want NT installed upon. Select any of the partitions that are FAT (you can even select the one that Windows 9x is on). When prompted whether you want that partition reformatted, be sure to select that you want to keep the existing file system intact! NT will install to /winnt, not to /windows, so it won't overlay Windows 9x.
5. Installation will continue, with numerous reboots. NT will automatically set up a dual-boot menu.
Once completed, upon booting the system you'll see a menu that has three entries similar to this:
Windows NT Workstation Version 4.00
Windows NT Workstation Version 4.00 (VGA Mode)
Microsoft Windows
A countdown timer will start, and automatically boot into the first option in 30 seconds unless a key is pressed. Select the option you want and press enter. "Microsoft Windows" will boot your previously-installed Windows 95. "VGA Mode" for Windows NT is much like Windows 9x's "Safe Mode".
To change which option is booted by default, boot into Windows NT, right-click on My Computer and select Properties. One of the tabs is "Startup/Shutdown". From that tab you can select which item is booted by default, and how long the default countdown time is set at.

Other Notes about Dual-Booting
• NT needs the active partition (the one your computer is going to start things from, usually the C: drive) to be FAT. Thus, if you have two partitions, a C: and D: drive, and make the C: one FAT32 and install Windows 98, then try to do dual-boot with NT, it won't work (because NT needs to put some initial startup files on C:, and it can't deal with FAT32).
• If you have multiple hard drives, you can set up dual-boot so that one operating system is on one drive, and the other on the second hard drive. They are really just seen as different partitions.
Removing NT/2000 from a Dual Boot Setup

So, you've set your system up to do dual-booting Windows NT 4.0 with Windows 9x, or for dual-booting Windows 2000 with Windows 9x. But now you've changed your mind; you want your system to just run Windows 9x, and want to remove both the Windows NT/2000 files and want that bootup menu to go away.
Here's how to do that! It's quite easy, but as with any changes that affect how your operating systems works, be sure to do a backup first.

This procedure is known to work with:
• Windows NT 3.51/4.0
• Windows 2000
• Windows 95 (all flavors)
• Windows 98 and 98 Second Edition

It has not been tested with the upcoming Windows Millennium, but most likely will work with it as well.

Steps to Remove Windows NT/2000 from your Dual-Boot System:
1. Make sure you have a Windows 95 or 98 Startup Diskette. If not, create one from Control Panel/Add Remove Programs/Startup Disk tab.
2. Boot your computer with that diskette. You'll end up at a DOS prompt.
3. At the A: prompt, type the following: sys c: and press Enter. After a few seconds you'll see a message stating "System Transferred".
4. Remove the diskette and boot the computer. You should not see the boot menu, but boot directly into Windows 9x.
5. Now, you can remove the Windows NT/2000 files. Assuming you have installed in default folders, you can delete the following (adjust drive letters for your configuration):
c:\winnt
The following from c:\, which are all hidden files:
ntldr
ntdetect.com
boot.ini
pagefile.sys
bootsect.dos
That's it, you're done!