CSE/ISE 311: Lab 1: PC Hardware

Due 11:59 PM, Friday, February 14, 2014


In this lab, you will design a "homebrew" PC system. You will select and price components including the CPU, motherboard, and disks. You will hand in a brief summary of the system's features, a list of components and their prices (including shipping and tax), and pdf printouts of each webpage you would order these components from. Each specified system will be checked that all of the hardware is mutually compatible.

You are welcome to purchase and assemble this hardware, but this is not required.


10 bonus points will be awarded for the cheapest system in the class, best value (performance divided by cost), most powerful (highest performance), and best overall design (selected subjectively). Other meritorious designs may also be awarded bonus points.

Hand-In Procedure

Email the following items as attachments to cse311ta@cs.stonybrook.edu :

If you submit multiple times, we will take the latest submission and count late hours accordingly.

Picking your group

You may do the lab alone, or in pairs. If you work in pairs, only one student will hand in the assignment for you. Be sure to list both partners' names on the handed-in assignment.

High-Level Goals

In designing a custom computer, you should first identify which goals are most important to you or your client. Some common goals include:

In addition to these primary values, clients may also have particular concerns for the following:

Exercise 1. Select a primary goal for your hardware design, and place this in your write-up. Explain why you chose this goal. Note that some additional constraints will be added in subsequent exercises.

Recommended Vendors

The following online vendors are good places to start shopping for components, but are by no means an exhaustive list. You are encouraged to shop at any site you like for this assignment, as well as report particularly helpful sites to the instructor. Used parts are acceptable as well, as long as selecting used parts is consistent with your goals (e.g., price over reliability).

High-level System Requirement

The system you design should be sufficiently powerful to boot and run Ubuntu 13.10 server or desktop edition. You may select whether you wish to target a desktop or server system, which will affect the specific components you select.

Selecting a CPU, Motherboard, and RAM

In general, the best place to start with designing a system is with the motherboard, since this connects all of the components. The types of connections available on a motherboard often dictate how many and which types of components can be selected. I recommend selecting the CPU, motherboard, and RAM all at once, as these components are coupled fairly tightly.

The primary consideration in matching a CPU to a motherboard is the socket, or specific arrangement of pins that connect the CPU to the motherboard. The socket type tends to be fairly generic. For instance, all AMD processors of a certain class might have the same socket type (e.g., AM3 or AM3+).

Within a socket type, you should also look at the memory bus speed. The CPU, motherboard, and RAM must operate at the same bus speed. Most components can operate at multiple speeds, and thus there should be at least one speed at which all components can operate. Note that the slowest component sets the speed of all components. Memory bus speeds are commonly listed as first the memory interface specification (e.g., DDR3), followed by the supported rates (in memory transfers per second), which typically range from 800--2133.

Important note: A key benefit of standardized component interfaces is that similar but different components are keyed differently, preventing the user from accidentally plugging in an electrically incompatible component. For instance, DDR2 and DDR3 RAM are electrically incompatible, and place a notch in a different part of the DIMM. Thus, a DDR2 DIMM will not plug into a DDR3 motherboard. That said, it is still possible to damage components by incorrect connection, so double check all manuals and wiring diagrams before powering on a system.

Most CPUs are shipped with a heat sink, or metal device designed to dissipate heat, as well as a fan. This is required! Check the specification, and reviews. It is not uncommon for the included heatsink and CPU fan to be poor quality; even a relatively inexpensive heatsink/fan combo may be better than these. Note that heatsinks and CPU fans are usually sold together, and are usually keyed to a specific CPU socket type or set of sockets. I treat this issue on a case-by-case basis, depending on reviews.

Finally, note that most modern RAM performs best with, or even requires, pairs of DIMMs. Thus, almost all RAM is sold in pairs.

Exercise 2. Select a CPU, motherboard, and RAM. If needed, select a separate heatsink and CPU fan. Double check that all relevant features are compatible, and that this specification is within the minimum requirements for Ubuntu 13.10. Add these components and their prices to your list of specified items, and save printouts (as pdfs) of the vendor webpages.

Selecting a case

The primary compatibility concern in selecting a case is the form factor of the motherboard. Cases include holes in a standard arrangement, into which brass mounting screws are inserted (see the image below). Screws then hold the motherboard to the motherboard. The placement of mounting screw holes on the motherboard should match the pattern on the case, or else the case cannot hold the motherboard.

Other consideration in selecting a case are the number of bays for disk drives, ease of opening for service, and overall aesthetics. Some cases are designed to reduce noise, better ventilate heat, or for a small form factor. If you purchase a narrow case, make sure the heatsink and CPU fan will fit within the enclosure.

Exercise 3. Select a system case. Add this component and its price to your list of specified items, and save printouts (as pdfs) of the vendor webpages.

Selecting hard drives

In selecting hard drives, one must select drives that are compatible with the disk controller on the motherboard. There are relatively few options, such as SATA, SCSI, or IDE. SATA has a few revisions, which are generally backwards compatible (e.g., a SATA II controller can accept SATA I disks), but matching the versions will ensure optimal performance.

Beyond the disk controller, the media type is a key consideration. Recent flash solid state drives (SSDs) are much faster, but lower capacity, more expensive, and tend to wear out sooner than traditional disk drives.

Among types of traditional disk drives, the primary other variables to consider are size (more is better), the speed at which the disk rotates (higher is better, as this limits optimal read and write speed), and the amount of cache on the disk (more is better up to a point, as a larger disk cache can allow the disk to reschedule requests more optimally).

Finally, many users will want to spread their data across multiple drives, both for performance and redundancy if a drive fails. The most popular scheme for this is RAID. RAID 5 is a particularly popular scheme.

Exercise 4. Read the Wikipedia article about RAID. Be sure you understand RAID 0, 1, and 5, as well as the types of failures each can tolerate.

Exercise 5. Select a hard drive. Plan to purchase 3 drives for RAID 5, and ensure that the disk controller in your motherboard will support this many drives. If not, either select a different motherboard, or find a separate PCI-e card that permits additional drives. If drive data cables are not included with the motherboard, be sure to add these to your shopping list. Add these components and their prices to your list of specified items, and save printouts (as pdfs) of the vendor webpages.

Selecting a power supply

Power supplies convert alternating current from the wall to direct current for each component. Most power is delivered to components through the motherboard, but some devices, including disks, case fans, and some GPUs, are also powered directly from the power supply. Thus, you should select a power supply that is compatible with your motherboard, disks, and, if you add one, a higher-end GPU. Fortunately, there are a relatively small range of standards. For instance, most motherboards require a 24-pin and 8-pin ATX power connection. Similarly, most disks accept either an IDE- or SATA-style power connection; some even accept both (but not at the same time!).

The other primary consideration in selecting a power supply is total wattage. This should be enough to support the current peripherals, as well as expected expansion.

Finally, many power supplies may also include either noise reducing features, or "green" features that improve energy efficiency.

Exercise 6. Select a power supply. In your write-up, include the back-of-the-envelope calculations that justify why this power supply is sufficient for the system you have designed. Be sure the power supply includes a power cord, or include this in the parts list. Add this component and its pricef to your list of specified items, and save printouts (as pdfs) of the vendor webpages.

Audio, Video, and peripherals

Most motherboards now include an onboard audio card, as well as USB controller. Some even include an inexpensive video card. For a server, or regular user, the onboard video card is probably sufficient. For a heavy video game player, media user, or user that wants multiple displays, it may be more appropriate to purchase a separate video card.

Most modern keyboards and mice simply use USB to connect to the system, although serial port (PS2) connections are also common even on modern motherboards. If you order a PS2 mouse or keyboard, be sure your motherboard supports this.

Most modern monitors support both VGA (analog) and DVI (analog or digital) cable connections. Some monitors also accept HDMI video inputs. Monitors are also specified both by their diagonal screen size (in inches) as well as the pixel geometry (e.g., 1080x1920). Video cards are similarly specified by the output geometries they support, and the number and types of output ports. The video card must also be compatible with the motherboard (often using a PCI express x16 slot---check the protocol version). As with most components, optimal video performance depends on the card and monitor being well-matched. Both cards and monitors often support a range of configurations, and can default to a very low-quality setting (e.g., 640x480), but this is not desirable.

Exercise 7. If your motherboard does not include USB ports, add a separate USB controller to your order. If the motherboard does not include a video card, or the included video card is inappropriate to the deployment, add a video card. Finally, select a keyboard, mouse, and monitor. You may add speakers or a sound card if needed, but this is not required. Add these components and their prices to your list of specified items, and save printouts (as pdfs) of the vendor webpages.

Exercise 8. Go to Dell's website and find a computer with as similar expected performance as possible to the one you have designed. Obtain and save (as pdf) a detailed quote. Write roughly one paragraph comparing the systems, using the criteria above. How does price compare? Other factors? If you were in the market for a new computer, would you build your own or go ready-made? Why?

For the purpose of this comparison, it is ok to remove the additional cost of RAID from your custom built system.

This completes the lab. Hand-in the assignmemt over email to course staff, as specified above.

Last updated: 2014-05-09 22:40:26 -0400 [validate xhtml]