No matter what the size of a computer is, they are all made up of three components: A central processing unit (CPU), some memory component, and some devices that are connected to the CPU. A CPU on a single chip is called a microprocessor. If the CPU is fast enough and there is enough main memory, several users can run programs at the same time which is called multi-tasking or multi-programming which forms the concept of virtual machine (VM), where each user appears to have their own computer. Also, time-sharing or swapping occurs when each user take turn for using the entire main memory for a certain time (less than a second mostly); this is almost real time for each user. In every microprocessor there are several components:
control unit which gets the instructions and decodes it into signals for the
arithmetic and logic units (ALU) to perform the requested function.
accumulator that holds the data and the instructions for further tasks to be done in the ALU.
register component of the processor is similar to the accumulator but for the temporary matters and there are different types of them for specific tasks such as
instruction register for holding the current instruction to be executed or the
program counter that holds the next instruction to be executed.
Programs can be run in batch or real-time. In batch mode, there is no interaction between the user and computer when the batch processing begins but in real-time processing (foreground processing) there is interaction. A bus (physical path) or channel (logical path) is where microprocessor, chips, and other devices connect to each other. There is address bus, data bus, and control bus. The number of lines in the address bus determines the random access memory (RAM) space. n address line means 2n words of memory can be addressed. Microprocessors can be made to operate on 4, 8, 16, 32, and 64 bit words. If several microprocessors are combined the resulting processor is called a slice microprocessor.
Background processing is done by segmenting the main memory (establishing VM or time-sharing). There is also the concept of teleprocessing which is by remotely accessing a computer usually over a telephone line. In this case, a modem (modulator/demodulator) is required to convert the analogue signal (through telephone line) to/from digital signals for a computer. In simplex communication data transmission is only one-directional. In half-duplex it can be in both directions but one at a time, and in (full) duplex communication, it can be transmitted in both directions simultaneously. communication protocols and transmission standards are used to ensure the accuracy of data transmission. A simple way for this is to use the receiver to send each block of data back to the sender, which is called loop checking or echo checking. Another method is for both sender and receiver to calculate a check digit or block check character. For details click here. There are three classes of communication lines depending on the range of frequencies (bandwidth):
narrow band, may only be used for single channel of communication (too narrow for modulation)
voice-grade, are mid-range in bandwidth of 300-3300 Hz
wide-band, have the highest transfer rate as they can be divided into individual channels
There is a clock in every microprocessor that takes care of the execution of instructions. The rate of this clock determines how fast the instructions can be executed. The speed of microprocessors are defined as flops (number of floating point operations per second) or mips (millions of instructions per second). Most microprocessors can execute complex command sets and they are called complex instruction-set computing (CISC), while reduced instruction-set computing (RISC), are used to perform limited simple format instructions.
Monitor program or operating system (OS) controls the user interface and operations of a computer. The term basic input output system (BIOS) can also be used for an OS. ROM or read-only memory is used to store part or all of the OS. The term booting the computer is coming from the bootstrap loader in early computers that had the role of initializing the data transfers by running an executable code when the computer starts. OS works based on the signals that are sent by any device connected to the computer which is called an interrupt that stops the execution of the current instructions and takes the control. An error signal is also a kind of interrupt.
Storage locations in a computer are equally sized and each has its own address; overall together forming the computer memory. Most memory locations are managed by CPU, although direct memory access (DMA) is a technique for input/output I/O devices to directly transfer data into memory without affecting the CPU. Storage locations are measured by bits (binary digits) that can take values of 1 and 0 and are the smallest data unit, nibbles (4 bits), bytes (8 bits) which are the smallest storage amount for an alphanumeric character, half-words (8 and 16 bits), words (8, 16, and 32 bits), and double-words (16, 32, and 64 bits). How many bits it takes to make a word, etc. depends on the computer, e.g. 8-bits is a word in a 8-bit computer but a half-word in a 16-bit computer. One kB is 210 bytes, one MB is 220 bytes, one GB is 230 bytes, one TB is 240 bytes, and so on. For detail info you may click here. To ensure that the bits within a byte are correct the technique of parity (bit) is used which is the ninth bit (a check bit) for every 8 bits. These parity bits together form the frame. The concept of frames are also, for example, used in digital audio tape storage disks.
Different terminologies for memory is designated as:
RAM (random access memory)[changeable],
ROM (read-only memory)[not changeable],
PROM (programmable read-only memory) [initially blank, once filled not changeable], and
EPROM (erasable programmable read-only memory)[initially blank and changeable].
Video memory (VRAM) is where the text displayed on the screens;
Cache memory is where the most recent and frequently read data is stored which makes its reading much faster;
OS memory stores the BIOS data; and
Scratchpad memory stores small temporary data to be retrieved very quickly.
A volatile memory's (such as RAM) content will be lost when the computer is turned off.
Static memory in contrary to dynamic memory does not need to be continuously refreshed.
Virtual memory can store data larger than main memory that uses the technique of Paging to make it possible, and sometimes results in Thrashing which is a deadlock situation in the process of accessing the required data.
The small (temporary) memories for peripheral devices such as a printer is called buffers that is used only for storing the info before its display or print. The signals that such devices may send to the computer (such as full, etc.) are called flow control or handshaking.
Any device that reads/receives data to/from computer is an I/O device. There are parallel devices (bits pass together in separate cable lines) and serial devices (bits pass one by one in a single cable line). The speed of data transmission (also called baud rate) is bits per second (bps). Universal serial bus (USB) can transfer data up to the rate of 12 Mbps. The peripheral devices are connected to the computer through a dedicated channel (a cable, etc.), although, a pair of multiplexers can be used to transfer data from several peripherals to the computer through a single cable called composite link. This can be done in two ways:
frequency division multiplexing (FDM) in which, the transmission band is divided into narrower bands and
time division multiplexing (TDM) in which, the transmission band works at a higher clock rate depending on the capacity of multiplexer.
Magnetic and optical disk drives are mass storage devices that are considered as random access units because individual information can be directly accessed without reading the whole file (e.g. floppy disks, or diskettes which have low capacity). Hard drives (magnetic) consists of platters (disk packs) that turn around at thousands rpm and the data on their surface are organized into tracks, sectors, and cylinders. Tracks are concentric storage areas and their pie-shaped divisions are the sectors, while cylinders are the same numbered tracks on all platters. Optical disks can be read-only (R/O) or read-write (R/W). There are also WORM (write once read many) drives such as CD-ROM (compact disk-read only memory).
The performance of a disk drive can be described by several parameters:
storage capacity,
average seek time the average time it takes to move a head between two locations,
areal density (number of bits per inch square , number of bits per track times number of tracks per inch),
track-to-track seek time time it takes to move a head between two adjacent tracks,
latency (also rotational delay) time a disk takes to spin a sector,
average access time the average time to move to a new sector, and
access time which is the sum of average latency and average seek time.
Sequential storage devices are those such as tape units that the computer has to read through the whole data if it wants to read the end of it. Sometimes, it is indexed in which the tape can be fast wound to the a target based on the info given in the directory at the beginning of the tape. Examples of such devices are:
nine-track format,
quarter inch cartridge QIC, and
digital audio tape, DAT.
A streaming tape operates in a continuous mode (read or write while running).