Search This Blog

Wednesday, 23 October 2013

computer engineering

Computer engineering involves the design and implemen-tation of all aspects of computer systems. It is the prac-tical complement to computer science, which focuses on the study of the theory of the organization and processing of information (see computer science). Because hardware requires software (particularly operating systems) in order to be useful, computer engineering overlaps into software design, although the latter is usually considered to be a separate field (see software engineering).

To get an idea of the scope of computer engineering, con-sider the range of components commonly found in today’s desktop computers:

Processor

The design of the microprocessor includes the number and width of registers, method of instruction processing (pipe-lining), the chipset (functions to be integral to the package with the microprocessor), the amount of cache, the con-nection to memory bus, the use of multiple processors, the order in which data will be moved and stored in memory (low or high-order byte first?), and the clock speed. (See microprocessor, chipset, cache, bus, multiprocessing, memory, and clock speed.)

Memory

The design of memory includes the type (static or dynamic) and configuration of RAM, the maximum addressable mem-ory, and the use of parity for error detection (see memory, addressing, and error correction). Besides random-access memory, other types of memory include ROM (read-only memory) and CMOS (rewritable persistent memory).

Motherboard

The motherboard is the platform and data transfer infra-structure for the computer system. It includes the main data bus and secondary buses (such as for high-speed connec-tion between the processor and video subsystem—see bus). The designer must also decide which components will be integral to the motherboard, and which provided as add-ons through ports of various kinds.

Peripheral Devices

Peripheral devices include fixed and removable disk drives; CD and DVD-ROM drives, tape drives, scanners, printers, and modems.

Device Control

Each peripheral device must have an interface circuit that receives commands from the CPU and returns data (see graphics card).

Input/Output and Ports

A variety of standards exist for connecting external devices to the motherboard (see parallel port, serial port, and usb). Designers of devices in turn must decide which con-nections to support.

There are also a variety of input devices to be handled, including the keyboard, mouse, joystick, track pad, graph-ics tablet, and so on.

Of course this discussion isn’t limited to the desktop PC; similar or analogous components are also used in larger com-puters (see mainframe, minicomputer, and workstation).

Networking

Networking adds another layer of complexity in controlling the transfer of data between different computer systems, using various typologies and transport mechanisms (such as Ethernet); interfaces to connect computers to the net-work; routers, hubs, and switches (see network).

Other Considerations

In designing all the subsystems of the modern computer and network, computer engineers must consider a variety of fac-tors and tradeoffs. Hardware devices must be designed with a form factor (size and shape) that will fit efficiently into a crowded computer case. For devices that require their own source of power, the capacity of the available power supply and the likely presence of other power-consuming devices must be taken into account. Processors and other circuits generate heat, which must be dissipated. (In an increasingly energy-conscious world the reduction of energy consump-tion, such as through standby or “hibernation” modes, is also an important consideration—see green pc.) Heat and other forms of stress affect reliability. And in terms of how a device processes input data or commands, the applicable standards must be met. Finally, cost is always an issue.

Moving beyond hardware to operating system (OS) design, computer engineers must deal with many additional questions, including the file system, how the OS will com-municate with devices (or device drivers), and how applica-tions will obtain data from the OS (such as the contents of input buffers). Today’s operating systems include hundreds of system functions. Since the 1980s, the provision of all the objects needed for a standard user interface (such as windows, menus, and dialog boxes) has been considered to be part of the OS design. Finally, the building of secu-rity features into both hardware and operating systems has become an integral part of computer engineering (see, for example, biometrics and encryption).

Trends

In the early days of mainframe computing (and again at the beginning of microcomputing) many distinctive system architectures entered the market in rapid succession. For example, the Apple II (1977), IBM PC (1981), and Apple Macintosh (1984) (see ibm pc and Macintosh). Because architectures are now so complex (and so much has been invested in legacy hardware and software), wholly new architectures seldom emerge today. Because of the com-plexity and cost involved in creating system architectures, development tends to be incremental, such as adding PCI card slots to the IBM PC architecture while retaining older ISA slots, or replacing IDE controllers with EIDE.

The growing emphasis on networks in general and the Internet in particular has probably diverted some effort and resources from the design of stand-alone PCs to network and telecommunications engineering. At the same time, new categories of personal computing devices have emerged over the years, including the suitcase-size “transportable” PC, the laptop, the book-sized notebook PC, the handheld PDA (personal digital assistant), as well as network-ori-ented PCs and “appliances.” (See portable computers and smartphone.)

As computing capabilities are built into more traditional devices (ranging from cars to home entertainment centers), computer engineering has increasingly overlapped other fields of engineering and design. This often means thinking of devices in nontraditional ways: a car that is able to plan travel, for example, or a microwave that can keep track of nutritional information as it prepares food (see embedded system). The computer engineer must consider not only the required functionality but the way the user will access the functions (see user interface).


No comments:

Post a Comment