A typical personal computer consists of a case or chassis in a tower shape (desktop) and the following parts:
Internals of typical personal computer
Image:ASRock K7VT4A Pro Mainboard-eng-labels.jpg Typical Motherboard found in a computer
Inside a Custom Computer
Motherboard
The motherboard is the "heart" of the computer, through which all other components interface.
Central processing unit (CPU) - Performs most of the calculations which enable a computer to function, sometimes referred to as the "brain" of the computer.
Computer fan - Used to lower the temperature of the computer; a fan is almost always attached to the CPU, and the computer case will generally have several fans to maintain a constant airflow. Liquid cooling can also be used to cool a computer, though it focuses more on individual parts rather than the overall temperature inside the chassis.
Random Access Memory (RAM) - Fast-access memory that is cleared when the computer is powered-down. RAM attaches directly to the motherboard, and is used to store programs that are currently running.
Firmware is loaded from the Read only memory ROM run from the Basic Input-Output System (BIOS) or in newer systems [[Extensible Firmware
External Bus Controllers - used to connect to external peripherals, such as printers and input devices.
These ports may also be based upon expansion cards, attached to the internal buses.
parallel port serial port USB firewire
SCSI (On Servers and older machines)
PS/2 (For mice and keyboards, being phased out and replaced by USB.) ISA (outdated)
EISA (outdated) MCA (outdated)
Power supply
A case that holds a transformer, voltage control, and (usually) a cooling fan, and supplies power to run the rest of the computer, the most common types of power supplies are AT and BabyAT (old) but the standard for PC's actually are ATX and micro ATX
Storage controllers
Controllers for hard disk, CD-ROM and other drives like internal Zip and Jaz conventionally for a PC are IDE/ATA; the controllers sit directly on the motherboard (on-board) or on expansion cards, such as a Disk array controller. IDE is usually integrated, unlike SCSI which is found in most servers. The floppy drive interface is a legacy MFM interface which is now slowly disappearing. All these interfaces are gradually being phased out to be replaced by SATA and SAS.
Video display controller
Produces the output for the computer display. This will either be built into the motherboard or attached in its own separate slot (PCI, PCI-E, PCI-E 2.0, or AGP), in the form of a Graphics Card.
Removable media devices
CD - the most common type of removable media, inexpensive but has a short life-span.
CD-ROM Drive - a device used for reading data from a CD.
CD Writer - a device used for both reading and writing data to and from a CD.
DVD - a popular type of removable media that is the same dimensions as a CD but stores up to times as much information. It is the most common way of transferring digital video.
DVD-ROM Drive - a device used for reading data from a DVD.
DVD Writer - a device used for both reading and writing data to and from a DVD.
DVD-RAM Drive - a device used for rapid writing and reading of data from a special type of DVD.
Blu-ray - a density optical disc format for the storage of digital information, including high-definition video.
BD-ROM Drive - a device used for reading data from a Blu-ray disc.
BD Writer - a device used for both reading and writing data to and from a Blu-ray disc.
HD DVD - a high-density optical disc format and successor to the standard DVD. Currently
Floppy disk - an outdated storage device consisting of a thin disk of a flexible magnetic storage medium.
Zip drive - an outdated medium capacity removable disk storage system, first introduced by Iomega in 1994.
USB flash drive - a flash memory data storage device integrated with a USB interface, typically small, lightweight, removable and rewritable.
Tape drive - a device that reads and writes data on a magnetic tape, usually used for long term storage.
Internal storage
Hardware that keeps data inside the computer for later use and remains persistent even when the computer has no power.
Hard disk - for medium-term storage of data.
Solid-state drive - a device emulating a hard disk, but containing no moving parts.
Disk array controller - a device to manage several hard disks, to achieve performance or reliability improvement.
Sound card
Enables the computer to output sound to audio devices, as well as accept input from a microphone.
Most modern computers have sound cards built-in to the motherboard, though it is common for a user to install a separate sound card as an upgrade.
Networking
Connects the computer to the Internet and/or other computers.
Modem - for dial-up connections
Network card - for DSL/Cable internet, and/or connecting to other computers.
Direct Cable Connection - Use of a null modem, connecting two computers together using their serial ports or a Laplink Cable, connecting two computers together with their parallel ports.
Other peripherals
In addition, hardware devices can include external components of a computer system. The following are either standard or very common.
Wheel mouse
Includes various input and output devices, usually external to the computer system Input
Text input devices
Keyboard - a device, to input text and characters by depressing buttons (referred to as keys), similar to a typewriter. The most common English-language key layout is the QWERTY layout.
Pointing devices
Mouse - a pointing device that detects two dimensional motion relative to its supporting surface.
Trackball - a pointing device consisting of an exposed portruding ball housed in a socket that detects rotation about two axes.
Xbox 360 Controller - A controller used for XBOX 360, Which with the use of the application Switchblade(tm), Can be be used as an additional pointing device with the left or right thumbstick.
Gaming devices
Joystick - a general control device that consists of a handheld stick that pivots around one end, to detect angles in two or three dimensions.
Gamepad - a general game controller held in the hand that relies on the digits (especially thumbs) to provide input.
Game controller - a specific type of controller specialized for certain gaming purposes.
Image, Video input devices
Image scanner - a device that provides input by analyzing images, printed text, handwriting, or an object.
Webcam - a low resolution video camera used to provide visual input that can be easily transferred over the internet.
Audio input devices
Microphone - an acoustic sensor that provides input by converting sound into an electrical signal
Output
Image, Video output devices
Printer - a peripheral device that produces a hard (usually paper) copy of a document.
Monitor - device that displays a video signal, similar to a television, to provide the user with information and an interface with which to interact.
Audio output devices
Speakers - a device that converts analog audio signals into the equivalent air vibrations in order to make audible sound.
Headset - a device similar in functionality to computer speakers used mainly to not disturb others nearby.
In computer engineering, computer architecture is the conceptual design and fundamental operational structure of a computer system. It is a blueprint and functional description of
requirements (especially speeds and interconnections) and design implementations for the various parts of a computer — focusing largely on the way by which the central processing unit (CPU) performs internally and accesses addresses in memory.
It may also be defined as the science and art of selecting and interconnecting hardware components to create computers that meet functional, performance and cost goals.
Computer architecture comprises at least three main subcategories[1]
Instruction set architecture, or ISA, is the abstract image of a computing system that is seen by a machine language (or assembly language) programmer, including the instruction set, memory address modes, processor registers, and address and data formats.
Microarchitecture, also known as Computer organization is a lower level, more concrete,
description of the system that involves how the constituent parts of the system are interconnected and how they interoperate in order to implement the ISA.[2] The size of a computer's cache for instance, is an organizational issue that generally has nothing to do with the ISA.
System Design which includes all of the other hardware components within a computing system such as:
system interconnects such as computer buses and switches memory controllers and hierarchies
CPU off-load mechanisms such as direct memory access issues like multi-processing.
Once both ISA and microarchitecture has been specified, the actual device needs to be designed into hardware. This design process is often called implementation. Implementation is usually not
considered architectural definition, but rather hardware design engineering.
Implementation can be further broken down into three pieces:
Logic Implementation/Design - where the blocks that were defined in the microarchitecture are implemented as logic equations.
Circuit Implementation/Design - where speed critical blocks or logic equations or logic gates are implemented at the transistor level.
Physical Implementation/Design - where the circuits are drawn out, the different circuit components are placed in a chip floor-plan or on a board and the wires connecting them are routed.
For CPUs, the entire implementation process is often called CPU design.
More specific usages of the term include more general wider-scale hardware architectures, such as cluster computing and Non-Uniform Memory Access (NUMA) architectures.
Overview
CPU design focuses on these areas:
datapaths (such as ALUs and pipelines)
control unit: logic which controls the datapaths Memory components such as register files, caches
Clock circuitry such as clock drivers, PLLs, clock distribution networks
Pad transceiver circuitry
Logic gate cell library which is used to implement the logic
CPUs designed for high performance markets might require custom designs for each of these items to achieve frequency, power-dissipation, and chip-area goals.
CPUs designed for lower performance markets might lessen the implementation burden by:
acquiring some of these items by purchasing them as intellectual property
use control logic implementation techniques (logic synthesis using CAD tools) to implement the other components - datapaths, register files, clocks
Common logic styles used in CPU design include:
unstructured random logic finite state machines
microprogramming (common from 1965 to 1985, no longer common except for CISC CPUs) programmable logic array (common in the 1980s, no longer common)
Device types used to implement the logic include:
Transistor-transistor logic Small Scale Integration jelly-bean logic chips - no longer used for CPUs Programmable Array Logic and Programmable logic devices - no longer used for CPUs
Emitter Coupled Logic gate arrays - no longer common CMOS gate arrays - no longer used for CPUs
CMOS ASICs - what's commonly used today, they're so common that the term ASIC is not used for CPUs
Field Programmable Gate Arrays - common for soft microprocessors, and more or less required for reconfigurable computing
A CPU design project generally has these major tasks:
architectural study and performance modeling RTL (eg. logic) design and verification
circuit design of speed critical components (caches, registers, ALUs) logic synthesis or logic-gate-level design
timing analysis to confirm that all logic and circuits will run at the specified operating frequency
physical design including floorplanning, place and route of logic gates
checking that RTL, gate-level, transistor-level and physical-level representatations are equivalent checks for signal integrity, chip manufacturability
As with most complex electronic designs, the logic verification effort (proving that the design does not have bugs) now dominates the project schedule of a CPU.
Key CPU architectural innovations include cache, virtual memory, instruction pipelining, superscalar, CISC, RISC, virtual machine, emulators, microprogram, and stack.
Goals
The first CPUs were designed to do mathematical calculations faster and more reliably than human computers.
Each successive generation of CPU might be designed to achieve some of these goals:
higher performance levels of a single program or thread higher throughput levels of multiple programs/threads less power consumption for the same performance level
lower cost for the same performance level
greater connectivity to build larger, more parallel systems more specialization to aid in specific targeted markets
Re-designing a CPU core to a smaller die-area helps achieve several of these goals.
Shrinking everything (a "photomask shrink"), resulting in the same number of transistors on a smaller die, improves performance (smaller transistors switch faster), reduces power (smaller wires have less parasitic capacitance) and reduces cost (more CPUs fit on the same wafer of silicon).
Releasing a CPU on the same size die, but with a smaller CPU core, keeps the cost about the same but allows higher levels of integration within one VLSI chip (additional cache, multiple CPUs, or other components), improving performance and reducing overall system cost.