Hardware
By Bizhan Nasseh
Introduction
A computer is designed and programmed to perform processes. A common process includes accepting inputs, executing instructions, generating outputs and displaying or storing the results. A computer is collection of hardware and software. The hardware and software components of a computer allow a computer to accomplish tasks and services. Software refers to the programs that manage and facilitate the utilization of the computer's hardware or accomplish a desired task. Software can be divided into three categories.
 
  • System software, such as the operating system and device drivers, directs and manages the computer system's activities.
  • Development software or tools, such as MS Word, Oracle's SQL*Forms, the Java Development Kit and Adobe Photoshop, helps users to develop programs, graphics and documentations.
  • User applications, where C, Java and FORTRAN programs are classified, are written by the user or is developed by a developmental tool in order to accomplish a desired task.

  •  

     

    Software directs while hardware performs the processes on the computer. The main components of a computer hardware are:

  • Input devices, which accept and transfer data and programs for processing by computer.
  • Central Processing Unit, which executes instructions from main memory.
  • Main Memory, which holds temporary data and programs for execution by the CPU.
  • Output devices, which provides users with the opportunity to display, print and store the results of the execution.

  • The following sections will discuss memory, the CPU, and input/output devices.

    Main Memory

    Main memory holds instructions, programs and data for execution. Memory is also known as primary memory and internal storage.
    Internal Presentation--All the instructions such as text, graphics, programs and digitized video and audio are represented by 0s and 1s in memory. This method is called the binary system or the base two system. Each single digit (0 or 1) is called a bit and a group of 8 bits is called a byte. A computer's capacity is measured by Kilobytes (equal to 1024 bytes), Megabytes (equal to 1024 squared bytes) and Gigabytes (equal to 1024 cubed bytes). Casually Kb is expressed in 1,000 bytes, Mb as 1,000,000 bytes, and Gb as 1,000,000,000 bytes.

    A word is usually the size of a register (temporary storage for instructions) and is defined as a unit of data for the main memory. The early PCs had 8-bit long words, but today's PCs have 32-bit and even 64-bit word sizes. An 8-bit long word system can hold only one character (byte) at a time. A 64-bit word size means that a word can handle 8 characters (bytes) at a time. That advantage, which can provide for more instructions for execution, sometimes translates into a faster execution time. The 32-bit was more common for both IBM and Intel processors, recent processor architecture provides 64-bit word.

    External Presentation--Computer users and the industry as a whole needed to have a common format for the representation of data in order to communicate with one another and with the computers. Hence the American Standard Code for Information Interchange (ASCII-7) was developed for data representation. According to ASCII-7, each character is represented by 7 bits, which means that there can be a possible 128 unique characters. Since there were more than 128 unique characters, ASCII-8 was adopted. The ASCII-8 can represent 256 unique characters, which makes it more common in today's computer systems. The ASCII-7 and ASCII-8 fromats could be adequate for most languages, especially English, German and French, but they cannot cover the characters and symbols in a language such as Chinese. An additional representation system, which was developed for languages consisting of more than 256 characters, is called the UNICODE system. The UNICODE system allows 16 bits for each characters, allowing for the representation of more than 64,000 different characters and symbols. UNIX and Windows use ASCII, Window NT uses UNICODE, and IBM uses 8-bit EBCDIC. Coversion software allows different operating systems to change a file from one code to another.

    RAM and ROM--Vendors, users and manufactures use the term Random Access Memory for main memory. The main memory holds instruction and data information as long as the items are in the process of execution. The two main parts of the memory are Random Access Memory (RAM), which can be read and written, and Read Only Memory (ROM), which only can be read. Most of the main memory of a computer is the RAM part of the memory. The ROM has some permanent instructions, which will be executed by the CPU during booting machine. Main memory's components have evolved from primitive vacuum tubes to today's semiconductors.

    Vacuum Tubes (1951-1958):

    The first generation of memory was the electronic tube, which was the size of a light bulb. In addition to size, the main problems were a great deal of heat and frequent burnouts of the bulbs. In each occurance of the problem, it was hard to know whether the problem was from the machine or the program, which was running on the machine. The programming language was machine language, which uses numbers for coding.

    Transistor (1959-1964):

    Three Bell Lab scientists developed a transistor, which is a small device for transfering signals across a resistor. The transistors were smaller than vacuum tubes and were faster and more reliable. During this time period, the move from machine language to assembly language made programming more convenient. The development of higher level languages, FORTRAN (1954) and COBOL (1959), helped in the utilization of computers. With development of tape drives and magnetic tapes in 1962, the user and the computer was able to faster access data and programs.

    Integrated Circuit (1965-1970):

    An integrated circuit is a complete electronic circuit on a small chip of silicon. Silicon is a chemical element (symbol 'si') that is present in sand and glass. The chip was a breakthrough for the computer industry in the process of mass production. The chip was reliable, small and low cost. IBM utilized the new technology and created the system/360 family of computers. Computers became widespread, especially in business, education and government agencies.

    Semiconductor (1971-present):

    The semiconductor is the result of the continuation of the progress from an integrated circuit in the form of specialized chips for computer memory and logic. In addition to the computer, microchips have penetrated into every machine at home, in business and in entertainment. It has changed the operation of cars, watches, televisions, calculators and home appliances.

    Today's computer memories use semiconductors, which are very fast, small in size and cheap. A semiconductor memory is made up of millions of circuits with pathways for electric currents on a silicon chip. Each circuit on the chip is on or off based on the presence or absence of electric current. The presence of electric current is defined by value of "1" and the absence by value of "0." Main memory is organized with bits, bytes and words. Each bit holds a value 0 or 1. Each byte of main memory has a value between 0 to 255 or a single alphanumeric character. Currently, the size of the memory is measured by megabytes. For example, 8 MB, 16 MB, 32 MB, or 64 MB. With more memory, the user can run more applications at the same time and run them faster. In the multiprocessing system it is not necessary for all parts of application to be in the main memory, only the needed part for execution, the rest will be swapped into main memory when it is needed.

    Memory Management:

    Memory management is the process of allocating parts of memory to the instructions and data needed for execution. There are many methods for memory management. Knowledge of them can help in the understanding of memory and its operation. Memory management has improved with the advancement in computer technology. The following is a brief description of memory management in the early days of the computer.

    Single Contiguous:

    Memory is divided into two or three parts. The first and permanent part was the OS, the second part was an area that was used by a job and the third part was an unused part of memory. In this method, part of memory was wasted and only one job could use the computer's resources. If a job was waiting for I/O, then the CPU was idle and unused, and vice versa, when the CPU was busy, I/O was idle.

    Partitioned Memory:

    In this method memory is divided into different partitions and each job was assigned to one of these partitions. This method was the start of multiprogramming. Multiprogramming allows several jobs to be in memory at the same time. They can share resources such as the CPU and I/O devices. While one program is making use of the processor, others are using other devices such as I/O. Multiprogramming is a better use of system resources. The pool of partitions represents the number of partitions. If all partitions are occupied, then jobs must wait in the memory queue for a partition to become available. With partitioned memory, there is possibility of fragmentation. Fragmentation is part of the memory, which is unused, but is not adequate for a new job to reside in main memory.

    Relocation Partitioned:

    Relocation is an easy way to reduce the fragmentation problem as it moves all jobs into memory and combines fragmented areas into one contiguous area. This new partition can be used by one or more jobs. The main problem with this method is the time spent for compaction, relocation and defragmentation. Even with relocation partitioning, there is still a possibility of fragmentation. In the three methods stated above, the job size must be smaller than the size of the memory.

    Virtual Memory:

    Most computer systems manage their scarce memory by using technique called virtual memory. The main concept is that only the parts of the program that need to be executed are placed in main memory and the rest of program is stored on the hard disk to be brought into main memory as needed for execution. In this method, computer can execute a program without limitation of the size of the program. The main memory is called real memory. Secondary storage (likely a disk), which holds the rest of the program, is called virtual storage. Virtual memory management transfers programs and data to and from main memory and disk by using one of the two methods, segmentation and paging.

    With the segmentation method, programs and data are divided into logical portions on the disk that are called segments. When a portion of a program or data is needed by processor, the segment that contains the needed instructions will be transferred to main memory.

    With the paging method, programs and data are divided into equal-sized pages on the hard disk while main memory is divided into equal-sized page frames. Typically, all pages and page frames are divided into 2KB or 4KB. A page is the content of virtual storage and a page frame is a physical portion of the main memory. Paging is the process of transferring pages to the page frames. The pages are loaded into memory in noncontiguous locations, but a page table keeps track of the memory addresses for all the pages transferred into the memory. A page frame table keeps track of the addresses and program IDs of the pages in the page frames.



    When a page is needed in main memory, it must replace one in main memory. Replacement of pages from hard disk with pages in the main memory (page frames) is called swapping. Usually, the strategy for swapping is to replace the least recently used page with the needed page.


    To users virtual memory looks similar to real memory; the user is not aware of the process of Dynamic Address Translation (DAT) from virtual memory to real memory. Paging was developed before CPU chips could directly address more than 1MB of main memory. Today's chips, such as Intel's Pentium, can directly address memory above 1MB (extended memory).

    In the Microsoft Windows operating system, virtual memory management is done by a menu selection that creates a 4MB swapping file on the hard disk. The process enables more programs to be loaded in the memory. In this method, only the portion of the program that is currently needed for execution is required to be in main memory.

    State and Capacity of Memory:

    The size of computer is measured by the size of its memory. Main memory's state is defined by the binary system, which can represent the status of memory as on or off. The binary system is base two, which means it can contain the values of 0 and 1. When memory is off it is assigned a value of 0 and when it is on it has a value of 1. The combination of 0 and 1 make meaningful value for numbers and characters. Each 0 and 1 in the main memory is called a bit, which is the unit for measurement and storing information into main memory. A group of 8 bits is called a byte. A byte represents numeric digits or characters. A word is defined as a number of bytes. Earlier computers had word sizes of one byte (8 bits), but newer computers have word sizes of 32 or 64 bits. The longer word is an indication of a more powerful and faster computer. For example, a 64-bit machine is four times faster than a 16-bit machine. A computer's size is defined by the capacity of memory of the machine. The measurement of a memory's size is the number of bytes in the form of kilobytes (1024 bytes), megabytes (1024X1024 bytes) or gigabytes (1024X1024X1024 bytes). The abbreviation for the size of the memory is KB, MB and GB. Most of the current PCs are 64 or 128 MB.

    It is necessary for everybody to use the same standard for data representation. A current common standard is based on the ASCII-8, which uses 8 bits for representing a character and can represent a maximum of 256 characters.

    Types of the Memory:

    In the last 40 years, memory have changed from vacuum tubes to semiconductors. Today's computers use semiconductor memories, which are very fast, small in size and cheap. A semiconductor memory is made up of thousands of circuits with pathways for electric currents on a silicon chip. Each circuit on the chip is on or off based on the presence or absence of electric current. Memory keeps instructions temporarily for execution. The portion of memory that keeps instructions is called RAM (Random Access memory). The contents of RAM memory can be erased if the power is off (volatile).

    The ROM (Read Only Memory) contains instructions (system BIOS program), which are written by the manufacturer and unchangable by the user, for booting the system. The ROM's contents will not be erased when the power is off (nonvolatile). Other systems, such as VAX, IBM, and UNIX, have similar process for booting. For example, VAX/VMS uses Firmware, which is a small OS with instructions about what to load into main memory and where to find the Kernel of the VMS. The Kernel is responsible for the basic operating system functionality such as I/O services and memory management. The Firmware's instructions are updated by manufacturer and not the user. The VAX Firmware and main memory will be discussed in a later chapter.

    There are many different types of RAMs, including Static RAM (SRAM) and many different forms of Dynamic RAM (DRAM).

    SRAM:

    Static RAM (SRAM) keeps data in the main memory, without frequent refreshing, for as long as power is supplied to the circuit. SRAM is very fast and fits better with the speed of the CPU. However, SRAM is much more expensive than DRAM and takes more space than DRAM for the same size of memory. SRAM is perfect fit for the needed speed for level 1 internal and level 2 external cache memory. A SRAM bit consists of four to six transistors, which is the reason for the bigger size in comparison with DRAM. The advantages of SRAM are speed and the lack of a need for constant outside refreshment. The disadvantges of SRAM are cost and size.

    DRAM:

    Dynamic RAM (DRAM) is the most often used RAM in today's computers. DRAM can hold its data if it is refreshed by special logic called the refresh circuit. The refreshing means that the refresh circuit reads and rewrites the content of the memory frequently in order to prevent loss of the DRAM's contents. All PCs use DRAM for their main memory. Even though DRAM is slower than SRAM and requires overhead (refresh circuit), it is still much cheaper and takes much less space, approximately ¼ of SRAM. The reason that DRAM is smaller and cheaper than SRAM is that it uses one transistor per bit, but SRAM is made of four to six transistors. A transistor is a small device, which transfers electrical signals across a resister. In the DRAM setup, a capacitor holds an electrical charge if the cell contains a "1" or no charge if it contains a "0." The refresh circuitry reads the content of each cell (bit) and refresh each one with electronical charge before the content is lost.

    DRAM technology has evolved over the last ten years, yielding different kinds of DRAM. The conventional DRAM is asynchronous DRAM, which means memory is not synchronous to the system clock. System clock harmonizes all activities of a computer. A newer type, which is more suited to the higher speed PC, is called Synchronous DRAM (SDRAM), which is synchronous to the system clock. In this model, all signals are tied to the system clock, making timing faster and better controlled.

    Rambus DRAM (RDRAM) is a unique design that can transfer data 10 times faster than standard DRAM. It uses a narrow and high bandwidth channel for transmitting data. The RDRAM is used in some game machines and PC graphics applications. The Extended Data Output (EDO) memory is the newest DRAM chip. EDO memory is about 10% to 15% faster than regular DRAM memory. The Pentium classes that use Intel's Triton chip set are designed to use EDO memory.

    Memory Bus:

    The memory bus is a set of parallel electrical paths (wires, usually copper) that are used to carry data and addresses to and from RAM. It is a transformation tool such as a school bus that moves students from homes to school and from school to homes. The amount of data that can be carried is related to the memory bus's width, which can be indicated by the number of the electrical paths. The wider the bus, the more information can be transferred by the bus. The greater the width, the more data that can be transferred at a time. The memory bus is made up of two parts: the data bus and the address bus. The data bus carries actual data to or from memory within the PC. The address bus is used to select the memory address that the data will come from or go to on a reading or writing activity. The buses are used to transfer data from input devices to memory, from memory to the CPU, from the CPU to memory and from memory to the output devices. A larger bus width can help add more power to the computer.

    Cache Memory:

    In the last 10 years, memory speed has increased by a factor of 10, but the speed of the processor has increased more than 100 fold. In a computer, the processor runs much faster than memory. The best way to prevent some of the processor's waiting time for data and instructions is to create a cache memory. Cache memory is formed from SRAM, which is much faster than DRAM. Cache memory is a high-speed memory designed to provide the most frequently and recently used instructions and data for the processor. Cache memory can be accessed at rates many times faster than main memory can. Cache memory is a cost-effective solution for enhancing memory's speed. In a computer with cache memory, the microprocessor first looks at cache memory in order to find needed data and instructions. Cache memory can help a great deal in improving a PC's performance. While cache memory is not big enough to hold all data and instructions, there is a good chance some of the frequently used data will be in the cache.

    In general there are two levels of cache memory: internal cache memory and external cache memory. Internal cache memory is called level-1 and is located inside the CPU chip. Internal cache memory ranges from 1KB to 32KB. External cache memory is called level-2 and is located on the system board between the processor and RAM. It is SRAM memory, which can provide much more speed than main memory. External cache memory ranges from 64KB to 1MB. When we talk about upgrading a PC's cache memory, we are talking about external cache memory. In most cases, upgrade of internal cache memory requires the replacement of the CPU.

    Central Processing Unit (CPU):

    The Central Processing Unit (CPU) is a complex circuit, which manipulates input data and instructions in order to produce the desired outputs. It is microprocessor and designed to perform arithmatic and logical operations. These operations are the result of a set of instructions that are part of the microprocessor. In the last four decades, which progresses from IBM's system/360 to today's Pentium processor, the advancement in microprocessor technology makes processor chips smaller, faster and dramatically cheaper.  It is estimated that the power of the processor doubles every 18 monthes. A microprocessor contains millions of transistors (electronic switches) that indicate the state of each cell or bit by the values of one or zero. The value of one is an indication of the presence of an electrical signal (switch on) and the value zero represents the absence of an electrical signal (switch off). The first "fully transistorized" computer, built by IBM in 1954, had 2,000 transistors. Intel's Pentium 4, by comparison, has about 42 million.

    The addition of functions and instructions to microprocessor chips has brought the power of the processor to a higher level. For example, an Intel chip with MMX (MultiMedia eXtension) increases computer speed for multimedia applications. In addition, the level-1 cache (internal cache) is another step to increase the speed of a processor. Every computer has at least one Central Processing Unit (CPU) with an extensive set of electronic circuitry. A PC contains a single integrated circuit, which is called the microprocessor chip. The chip is located on the motherboard of the computer. On a mainframe, there are several microprocessor chips and sometimes more than one circuit board.

    The main function of the Central Processing Unit is to process data and instructions as well as generate information (output). The CPU or Processor executes stored programs (instructions) from main memory. A program is a set of instructions, which requests execution of some basic operations such as add, subtract, multiple, divide, compare and input/output. Each instruction has an operation code, such as add and compare, and one or more operands, which define the needed memory locations for the operation. A processor has a direct relation with the computer capabilities for performance, software support, dependability, power consumption and motherboard support.

    The processor's speed for a PC is measured by MegaHertz (MHz), which means one million cycles per second. The speeds of a mainframe is measured by MIPS, which means million of instructions per second. A supercomputer is measured by FLOPS, which means number of floating point operations per second. The main components of the CPU are the control unit and the arithmetic/logic unit. These units work together with some registers in order to complete execution of instructions. There are many different processors with different designs and architectures. The major components of a CPU are:

    Control Unit (CU)
    Arithmetic/Logic Unit (ALU)
    Registers
    Clock

    1. Control Unit:

    The control unit is the supervisor part of a CPU and controls the flow of instructions and data through the CPU. It contains circuitry that uses electrical signals to direct the entire computer's resources to execute data and instructions in main memory. The control unit does not execute instructions but directs other resources of the system to do the operations. It coordinates the execution of instructions by communication with the arithmetic/logic unit and main memory. It fetches instructions from main memory, translates the instructions by decoder, utilizes registers for temporary storage and communicates with memory and arithmetic/logic unit. The two-operation step of fetching and decoding is called instruction time or I-Time.

    2. Arithmetic/Logic Unit:

    It contains the electronic circuitry that executes arithmetic and logic operations. The Arithmetic/Logic Unit (ALU) can perform arithmetic operations such as addition, subtraction, multiplication, division and logical operations such as comparing numbers, letters and special characters. The logical operation uses relational operators to test equal, less than, greater than, less than or equal, greater than or equal and not equal. The results of arithmetic and logic operations are reasons for the computer system to take its next actions. Other important logic operations performed by the ALU are the AND, OR and NOT operations. In some processor ALU is divided into two units--arithmetic unit and logical unit. Even in some processor arithmetic unit is divided to one for fix-point operations and one for floating-point operations. The execution step and the storing of the results step are called execution time or E-Time.

    3. Registers:

    Registers are temporary storage for current instructions, address of next instruction and storage for intermediate results of execution. They are not a part of main memory. They are under the direction of the control unit to accept, store, transfer data and instructions and perform at a very high speed. Earlier models of computers, such as the Intel 286, had eight general-purpose registers. Today's Pentium MMX chips have 16 general-purpose registers. Several registers have special assignments such as accumulator register, which holds the results of execution; address register, which keeps address of next instruction; storage register, which temporarily keeps instruction from memory and general-purpose registers, which are utilized for operations.

    4. Clock:

    The control unit uses a system clock that produces pulses at a fixed rate to synchronize all computer operations. Computers have multiple system clocks, which are measured by megahertz (MHz), or millions of cycles per second. A clock or cycle is the smallest unit of time in which processing happens. A computer's speed is determined by the speed of its internal clock. The faster a clock or cycle is, then the faster the computer is. Early computer had a single slow clock (8 MHZ), which drove the processor, memory and I/O bus. With the changes in the speed of the devices, especially processors, multiple clocks became needed for initiating different speeds. Today's computer has four to five different clocks, all with different cycles (speeds) but related to each other. They all use a single clock generator circuit on the motherboard.

    Execution of Instructions:

    Today's computers can execute instructions in less than one-millionth of a second (i.e. one million instructions can be executed in one second); a supercomputer can execute instructions in less than one-trillionth of a second. Usually, computers execute one instruction at a time. The first step in the execution of instructions is to transfer both instructions and data into main memory from external or secondary storage such as a hard disk, diskette and tape. The following are general steps for execution.

    The OS moves instructions and data to the main memory.
    System clock generates a pulse of current for start of execution process (a cycle).
    Control unit fetch the instruction from memory.
    The decoder unit decodes the instruction and the control unit transfers the instruction to the arithmetic/logic unit.
    Arithmetic/logic unit performs operation on the instructions.
    Arithmetic/logic unit stores the results of the operation into memory.
    The OS directs results to an output device such as a printer, monitor, and hard disk.

    The steps 3 and 4, fetch and decode, are called Instruction Time (I-Time). The steps 5 and 6, execution and store, are called Execution Time (E-Time). The combination of I-time and E-time is called a machine cycle.

    Processor's contributions has direct relation with the type of computer and its operating system. Utilization of processor in a computer that is designed for single program execution is different from computer that is designed for multiprogramming and parallel processing.

    Single Program:

    In a single system, only one program executes at a time. The earlier models of computers were based on the single-program system. It allows only one program to be loaded into main memory and is executed until it is finished. This model wastes computer resources such as memory and CPU.

    Multiprogramming:

    In a multiprogramming system, several programs can reside in memory at the same time as they share system resources such as the CPU and I/O devices concurrently. The main purpose of multiprogramming is to better utilize the system's resources. When a program is using the processor for execution, another program can use I/O devices. The key word is concurrent, which means more than one programs are using the CPU but not exactly at the same time. In multiprogramming a single program does not take less time, but more jobs can be completed in a unit time. In other words, the system resources are less often in idle status. The OS implements and coordinates multiprogramming by a system of interruptions. An interrupt is a signal to suspend an operation temporarily. One special case of multiprogramming is time-sharing. In time-sharing, each program receives a slice of time for resources allocation; at the end of time slice, the resources are taken away and allocated to another program. The process will be repeated until execution of the programs is completed.

    Multiprocessing:

    A multiprocessing system means that a computer has more than one central processing unit and can run multiple programs simultaneously. An OS manages multiprocessing by allocating different programs to different processors. In a multiprocessor system, a single job does not take less time than on a uniprocessor, but more programs can be executed in a given unit of time. There are two types of multiprocessing: asymmetric and symmetric multiprocessing. In the asymmetric multiprocessing, some processors only perform system functions, while others run applications. This is not an efficient way of using processing power. In this model, pre-allocation of processors will waste some of the needed processing power when one of those situation does not need a great deal of processing. In the symmetric multiprocessing (SMP), an OS can utilize processors for the execution of system tasks or user applications. It makes for an effective use of all processing powers and a better performance by computer.

    Today's multiprocessing systems use the SMP model. Intel processors Pentium and Pentium Pro use a SMP protocol called APIC. Intel chipsets that support multiprocessing are 430HX, 440HX and 450GX/KX. At the present time, Intel's chips are the only choice for multiprocessing systems. In order to have effective multiprocessing system, a computer must have the following capabilities.
    Motherboard Support ­ A motherboard, which can handle multiple processors via additional sockets and a chipset capable of handling the multiprocessing arrangements.
    Processor Support ­ Processors which are capable of operating in a multiprocessing system. By default we can not assume that all processors are capable of being part of a multiprocessing system.
    OS Support ­ An OS, such as Windows NT and UNIX, capable of supporting a multiprocessing system.

    Parallel Processing:

    In parallel processing, a program can be divided into many partitions or pieces with many processors work simultaneously on the execution of the same job. Parallel processing can cut down execution time of a program or job. Most supercomputers are based on parallel processing and have a speed of execution exceeding a trillion instructions per second.

    Making Microprocessor Chip:

    This section gives you general information about microprocessor development. Every microprocessor (chip) has external packaging, which houses the chip and facilitates its interface with the rest of the computer. The actual chip is very fragile and small. A chip is about one third of a square inch and is thinner than a dime with millions of electronic switches. Experts believe that the design of a microprocessor is a wonder of modern technology.

    Semiconductive materials are ideal for making transistors for the modern processor. The most widely used material for semiconductors is silicon. Silicon is used for memory, processors and other chips. In the raw form, it is cheap and available (regular sand is silicon dioxide). In manufacture the raw materials are grown to large crystals of silicon. The common size of the crystals is eight inches in diameter. The process and technology that prepares crystals for chip making is very expensive and difficult. The large crystals are cut into thin (1/4000th of an inch) wafers with eight inches in diameter. The wafers undergo many different steps such as polishing and chemical treatment. The first step in the development of the chip is the logical design of the processor chip. The logical design determines what services and operations are expected from the processor. For example, the decoder's functions and control unit's responsibilities and services.

    The chips are manufactured using a process called photolithography, which means transistors and data pathways (internal wires) are created in semiconductors by applying different layers. In order to give a processor a very small size and great power, transistors and internal wires are shrunk to microscopic size, less than a micron in width (one-millionth of a meter). The equipment that performs such work is expensive and extremely precise. After the chips are built, they are placed into external packing. This larger package can aid in inserting the tiny chip into a circuit board. Due to the number of pins (hundreds) and the tiny connection points on the chips, packing is also a complicated technology and process.

    Intel predicted that by year 2000, CPU chip could perform 2,000 MIPs (2 billion instructions per second), which is ten times faster than current microprocessors. This advancement means more transistors in the slice of silicon. Intel's Pentium has 3.3 million transistors; by the year 2000, processors will have 50 to 100 million transistors, which will be spread among four processors.

    I/O Devices and Secondary Storage:

    Input/Output (I/O) devices provide opportunity for the user to access and to utilize the computer's resources and operational power. A typical computer operation consists of input, execution, output and storage. Input, execution and output all need computer hardware and software in order to accomplish the needed processes. To initiate any process, users need to communicate with the computer and to provide input through input devices. Users also need to provide information about output devices in order to access the results of execution. Knowledge of input and output devices can help users utilize the computer with more efficiency. Secondary storages can be used as input and output devices for the computer. The input/output devices and secondary storage devices will be discussed in more detail in following sections of this chapter.

    1. Input Devices:

    Input device is hardware and software that receive user's request and input, translate to the format that is understandable by computer. Input devices provide an opportunity for the user to input commands, data and programs into the computer. The user can provide direct or indirect input into a computer. Direct input means entering online commands for action, responding to questions during execution of interactive applications and entering data and programs online. Direct input can be done by using the keyboard, touch, voice and mouse. Indirect input means providing stored data, instructions and programs from secondary storage, such as disk and tape devices, to the computer. The main different types of inputs to a computer are:

    Data - It is row information, which is processed by the computer in order to produce meaningful and needed information. The data includes numbers, letters, images, video, and audio. The row data is main part of quantitative research studies.

    Program - It is a collection of instructions that is executed by the processor in order to generate desired output and action. It could be a system program such as an OS, application program such as MS Word, or the user's written program such as a developed program in "C" or SAS. Usually, a program is stored on media such as disk or tape.

    Command - It is a set of words or statement that is understandable by the computer. A command can be entered from the keyboard, such as in communicating with UNIX or VAX VMS, or from a file with a special extension, such as "com" on a VAX system and "bat" on a PC.

    Interactive Input - It is defined as letters, words and statements that the user enters during the execution of programs. The program can be system software asking for the name of a new file or the user's developed program, such as an online questionnaire or quiz.

    Input operations always occur before processing and output operations. The following are brief descriptions of some of the input devices.

    Keyboard - One of the most common ways to enter ASCII characters in order to communicate with the computer is the keyboard. The alphabetic keys are arranged like the keys on a typewriter. The numeric keypad is located in the right side of the keyboard. The function keys, which are programmed or can be programmed to do a special action, make up the top row of the keyboard. The entered commands and data will be displayed on the computer monitor. The cursor on the screen determines the position of next character on the screen.

    Mouse ­ A mouse is an input device to run a program, to display information and to initiate an action. Electronic circuits in the mouse translate the mouse's ball movement into signals to the computer. A computer uses mouse signals to move the pointer around the screen. The user initiates a request and action by moving the pointer to the icon and then single or double clicking the left mouse button. A single click of the right mouse button displays some of the characteristics of a current activity or program. There is a cordless mouse, which is programmed to communicate with the computer without any physical connection. There are attempts to add new features to the mouse. Microsoft's IntelliMouse has extra wheel that can be clicked in order to zoom information or to move documents forward and backward in page increments.

    Touch Screen ­ In this method, interaction with the computer is by touch instead of keyboard and mouse. With a touch screen, the user can provide input by touching icons, words or numbers on the screen. Touch screens have been installed in kiosks in order to provide public information about shopping centers, airports and hotels. One of the techniques that is common among touch screens is to use beams of infrared lights (transfering electromagnetic waves longer than those visible light and shorter than those of radio waves) projected at the icons and displayed items. A touch will interrupt the beams and generate an electric signal; then the signal will identify the touched location on the screen. The OS interperts the signal and initiates the appropraite action.

    Voice Input ­ There are increasingly developmental activities in voice recognition systems. Voice recognition devices accept words through a microphone and convert it to digital (0, 1) in order for the computer to understand. At the present time, voice recognition software is being used by thousands of people everyday. The main reasons for the popularity of these types of software are: 1) computers became more powerful and can take advantage of this technology and 2) the voice recognition software is cheap and became available on many platforms. In addition to dictation and application activation, voice recognition is being used in speaker recognition (security access). The process of voice recognition includes: conversion of voice (sound wave) to digitized voice and comparison of the digitized voice with the voice system's database. The grammer and other words in a sentence can help the system to solve some of the problems with similar and ambiguous words. A large voice system contains up to 50,000 words in its database. There are variety of voice recognition softwares: speaker dependent (user must train voice system), speaker independent (no training), discrete speech input (need pause), continuous speech input (for special areas) and natural speech input, which is the ultimate goal of speech recognition technology.

    Video Camera ­ Computer video cameras will change the way we communicate. They can captures full motion video of up to 30 frames per second. The user can plug in camera to a USB port and load the drivers. With a camera mounted at the top of computer monitor, the user can send family, friends, and business associates video e-mail and arrange desktop video conferencing. The price of a camera is dropping fast. For example, the user can buy an EZCAM for $79.00 from Ezonics. With EZCAM and Microsoft NetMeeting software, the user can video conference with another person, provided that the other person also has a PC camera and communication software. A large amount of storage space is needed for storing video information.

    In addition to the above devices, there are many other forms of the inputs such as the image scanner, digital camera, trackball, joystick, and pen input.

    2. Output Devices:

    Output is the result of the computer's process based on the user's request; it is a way that the computer communicates with the user after execution. The type of output is related to the user's request and the hardware and software configuration of the computer. An output device is hardware and related software that provides physical and logical environment to access, display, store, and use generated results from computer operation. Output is divided to two groups, hard copy and soft copy. Hard copy is the one that the user can read and access at later times, such as saving on the hard disk or printing on paper. Soft copy is what the user can read and access results after execution as long as computer is on, such as an output display on the computer's monitor. Some other forms of output are audio, video, virtual reality and multimedia. Some of the main output devices are monitors, printers, microfilm and microfiche generators and plotters.

    Printers - A printer gives the user a hard copy of the output. There are many types of printers with different speeds, qualities, methods and prices. The needs and requirements of the user at home for a printer is quite different from a large organization. Based on their transferring characters to the paper, printers are divided to impact and nonimpact printers. Each printer has a driver (software), which transforms output into signals that the printer can understand and print onto paper.

    Impact Printers ­ Impact printers transfer images onto paper through a printing mechanism that strikes the paper, ribbon and characters together. One of the techniques of this method is front striking. In the front striking, the printing mechanism that forms the character strikes a ribbon against the paper from the front. It is the same method that a typewriter uses for typing. Most of the impact printers use continuous-form (pages are connected) paper. Some impact printers are Dot Matrix printers (usually for PCs), and Band and Chain printers (for large computers).

    Nonimpact Printer ­ Nonimpact printers transfer images onto paper by spraying ink against paper or using heat and pressure to fuse a fine black powder into the shape of a character. Some nonimpact printers are Ink-Jet, Laser, Page and Thermal printers.

    Display Devices ­ They are visual output devices for computers. The most common type of display device is a monitor. A monitor looks like a TV screen. A common size for a monitor ranges between 14 and 17 inches.

    A color monitor can display text and graphics in color. Because of multimedia content and web access, a color monitor is very popular and widely used. The resolution of images on a color monitor depends on the number of dots (pixels) and distance between each dot (dot pitch). For example, a monitor of 400X200 means 400 pixels in horizontal and 200 in vertical, which makes the total number of pixels equal to 80,000. More pixels means better monitor resolution. There are several video graphic standards for resolution. Some of the very common ones are: Video Graphic Array (VGA) = 640X480 with a maximum of 256 colors and Super VGA (SVGA) = 800X600 (and higher resolution) with a maximum of 16.7 million colors. A flat panel display is used for portable computers and some have large wall displays. The main technologies in flat panel display are liquid crystal display (LCD) and gas plasma. Gas plasma produces sharper pictures than LCD, but it is more expensive one.

    Monochrome monitors display a single color such as green, white, or amber on a black or white background. These monitors are cheaper than color monitors are and they are used in data entry, word processing and other activities that do not need color display.

    Plotters ­ Plotters are another type of hard copy output devices, which produce images (charts and architectural design) on paper. A pen plotter uses a moveable arm and a pen to draw an image on a sheet of paper. With an electrostatic plotter, paper moves under rows of wires that can create an electrostatic charge on the paper. Then the paper passes through a developer for drawing.

    In addition to the above, there are many other form of output such as microfiche, voice output and virtual reality. Virtual reality is very popular for entertainment (games and movies), but it has major and growing roles in education, manufacture and medicine.

    3. Secondary Storage:

    Secondary storage, which is also called auxiliary storage, is used to store data and programs when they are not processing. It refers to permanent storage devices, which provide an opportunity for the reuse of stored data and programs for a long time. Secondary storage can be used as input and output devices. It is nonvolatile, which means data and programs are retained when the power is turned off. The amount of secondary storage has a direct relation to the user's types of activities and the size of the computer. For example, a bank needs a large secondary storage in order to keep very large databases and applications, but an individual user might need small storage in order to run a word processing application and store a few files.

    Today's complex applications, mass databases and multimedia (text, image, voice, audio, and animation) applications require large-capacity storage. Fortunately, advancements in the development of cheap, fast and large-capacity storage has solved the needs for mass storage. For example, the cost of a hard disk is about 20 cents per MB. The following figure compares speeds and price of some of the secondary storage devices. Main memory is the fastest and the most expensive one, the magnetic tape is slowest but also the cheapest one. For example, the cost of DRAM for a size of 32 Mb is about $69.99 and the cost of hard disk for a size of 6.4 Gb is about $229.99. Secondary storage devices include magnetic disk, magnetic tape, compact disk (CD-ROM), optical drive (OHD), digital videodisk (DVD) and zip drive.


    Magnetic Disk Storage:

    Magnetic disks are the most widely used secondary storage medium for computers. They offer convenience, price, reliability, capacity and ease of use. The surface of magnetic disks is covered with magnetic materials; a magnetized spot (bit) on the disk represent a value of "1," the absence of the spot represents the value "0." Reading data is the conversion of magnetized spots to electrical impulses, which are understandable by the processor and vice versa for writing data. The types of magnetic disk storage include diskette, hard disk and removable disk cartridge.

    Diskette and ZIP Drive:

    In the early 1970s, IBM introduced a new type of secondary storage. It was eight inches in diameter and was thin and flexible, granting them the label of "floppy disks." In the 1980s, 5 ¼ inch diskettes were very popular, but today 3 ½ inch diskettes are very common. Portability is one of the main advantages of the diskette. The user can easily transfer data and programs from one computer to another via diskette. The user can work at home and move information to and from the work place by diskette. It is cheap and reliable storage for backup, reducing paper use. A diskette, which is covered by firm plastic for its protection, should be kept away from heat, cold, magnetic fields, dust, food and smoke. A diskette should be formatted before the user moves information onto the diskette. A File Allocation Table (FAT) contains a list of the files, their addresses and their creation dates on the diskette.

    A diskette consists of a round platter covered with tracks. The amount of data the user can store on the diskette is related to the following:

    Density ­ It is the number of bits that can be recorded on one inch of track. The density of the diskette is defined by the number of bits per inch (bpi). Today's diskettes (3 1/2 inch) come in three varieties: double-density (DD) that can store 720 Kb of information, high-density (HD) that can store 1.44 Mb of information and Extended density (EX) that can store 2.88 Mb of information.

    Tracks ­ A track is a recording area that forms a full circle on the disk. The density also relates to the number of tracks of data that could be stored on the diskette.

    Sector -- A sector is 512 bytes on the track. Each track on a HD diskette has 18 sectors.

    Cluster -- It is smallest addressable unit on a diskette. It contains 2 to 8 sectors.

    A zip drive disk provides a huge storage device and easy transportation. It is a good backup device for personal computer users. A zip drive can be internal or external to the computer. An internal drive is installed in one of the computer's empty bays. An external drive is a portable device that works like the internal device. Both external and internal zip drives work with removable disks with a capacity of 100 Mb, which is about 70 times that of a diskette. The new Omega Jaz drive disk can hold up to 2 Gb of information in a single disk.

    Hard Disk:

    A hard disk is also called a fixed disk as well as a direct-access storage device. A hard disk provides users with a larger, faster and higher performance storage device. Hard disks come in different sizes and models. A hard disk has one or more disk platters. Each side of the platter is coated with an oxide substance that can magnetically store data. Each platter can record data on the top and bottom surfaces. Several disks can be assembled into a disk pack. A disk pack is mounted on a disk drive. A disk drive is a device that lets the computer read and write information from the pack. Depending on the size, each computer can have multiple disk drives. PCs are limited to two to four disk drives; minicomputers are limited to eight to 16 disk drives while mainframes can support over 100 disk drives. Some of the main functions of the hard disk in the improvement of computer are:

    Performance ­ A hard disk can help the performance of a system in the process of booting, transferring data to main memory, responding in the multiprogramming system and retrieving and storing multimedia information.

    Capacity ­ Today's applications and data are combinations of text, graphic, video, and audio (multimedia). It is very important to have a large enough hard disk in order to store and retrieve multimedia applications.

    Shared Device ­ A hard disk is a shared device, which means it can be shared with several processes concurrently.

    A hard disk consists of rotating and recording surfaces. Each surface contains about 200 tracks and each track contains the same amount of information. Unlike a magnetic tape, each record can be read independently from other records with a hard disk. There are two electric read/write heads for reading and writing information. One read/write faces the top portion, and another read/write head faces the bottom portion of each disk. There are two different times for accessing information:

    Seek time ­ The seek time is the needed time to move the arm and read/write head to the needed surface.

    Rotate time ­ The rotate time is the needed time to rotate the surface until the read/write head reaches a specific record.

    The access time on a hard disk is much faster than that of a diskette. Some of the newer computers utilize a disk cache in order to improve the speed of tranfering data to main memory. The disk cache is a part of memory that holds the most recent data and most often read data from the hard disk. The sector method is very common for physically organizing data on a diskette. In this method, each track on the diskette is divided into sectors. The addressing of data is based on the surface, sector and track numbers. The cylinder method is a common way to organize data physically on a disk pack. All the same tracks that lie over each other vertically in the disk pack are called a cylinder. For example, when each surface has 200 tracks, then there are 200 cylinders in the pack. All the tracks in one cylinder are accessible without movement of the arm.

    A Volume Table of Contents (VTOC) is maintained on each pack as a directory of all files on the disk pack.

    Magnetic Tape:

    Magnetic tape is a thin ribbon of plastic coated on one side, which can be magnetized. The tape has a ½ or ¼ inch width and can record bit patterns that represent data. A tape drive is an input/output device, which reads, erases and writes data on the tape. Tapes are often used for backup and storing large amounts of data. They are not suitable for files that are accessed and revised frequently. A disk is a random access device, but a tape is a sequential storage device, which means the access time for a file on tape has direct relation with the location of the file. For example, when a file is in the tenth position on the tape, the read/write head should travel the first nine files in order to be in the position to read the tenth file. A tape is also a dedicated device, which means only one process can use it until the end of the application's execution.

    During 1960s and 1970s magnetic tapes were very common devices for storage and input/output. In the 1980s and 1990s, with advancements in disk technology and price, tapes lost most of their utilization in information technology. Still, they are valuable devices for backup and transferring data from one system to another one.

    In the 1990s, cartridge tapes replaced old magnetic tape. A cartridge tape is a little bit bigger than an audiotape. It is faster and has a higher capacity than magnetic tapes. It is a good backup device for personal computers and replaces magnetic tape on minicomputers and mainframes. Cartridge tape derives used for mainframes have automatic loaders, which permits multiple tapes to be reloaded and accessed without involvement of the human operator. The tape comes in 300 to 3,600 feet and can store up to 200 Mb of information. Data is stored on the tape by using nine horizontal channels on the length of the tape. Eight channels are for storing data (represent 8 bits) and the ninth channel is for error checking (parity bit).

    The capacity of a tape has a direct relation with the density of a tape. Tape density is the number of bits stored on an inch of tape (bpi). Common tape densities are 800, 1,600, 3,200, and 6,250 bpi. The higher the density of the tape is, the more data it can store.

    CD ROM:

    Compact Disk Read-Only Memory (CD-ROM) is a high-capacity, read-only storage system. A CD can store many different kinds of media such as text, graphics, pictures, animations, and audio. The main limitation of CD is it can not store or play video. In order to record data on an optical disk, an optical laser heats the surface and makes a microscopic pit. A CD-ROM can hold about 650 Mb of data, which is equal to about 500 diskettes. Speed is measured by a multiples of 150 kbps. For example, a CD-ROM with a 24x drive has a speed of 24 times 150 kbps. Because of its speed, capacity, and low cost, it is a perfect fit for the distribution of software, keeping backups and reporting to users.

    CD-R is a recordable CD drive that provides the ability to write information onto a compact disk (CD-R disk). A CD-R disk can be read by both CD-R drives and CD-ROM drives. It is perfect for applications that need to be accessed frequently by many users for a long time.

    DVD:

    The newest disc technology is Digital Video Disk that was introduced in 1995. The DVD can create multimedia platform that can deliver full motion video with on screen user interface for interactive navigation of the video. It is often compared to compact disk (CD), because of its physical size and appearance. But DVD has much more capacity for storing multimedia information including video. Digital Video Disk is becoming very popular in information technology as well as in entertainment. A single-layered DVD has about a 4.7 Gb capacity and a doubled-layered one has 8.5 Gb capacity, which is about 13 times that of a CD-ROM.

    It is a good device for multimedia applications and digital movies. There are two types of DVD: DVD-ROM and DVD-VIDEO. A DVD-ROM is a storage device that is used with a computer system, while a DVD-VIDEO is used for digital movies. The main improvement over the CD-ROM is that DVD technology uses smaller data pits and more closely placed pit rows. This technique will increase data densities about six times for each layer. In order to play a DVD disk, a computer should have 166 MHz processor or higher, be equipped with a DVD driver, an MPEG2 video decoder card or software decoder, and special software that emulates a DVD video player.

    Finally, multimedia information will challenge human creativity and intelligence for faster and bigger storages. Overall, the journey to the 21st century is challenging, exciting and rewarding. Our collective intelligences, visions and hard work will advance computer and communication technologies into an unimaginable and extraordinary level of services and operations.

    Students in this class will learn more about main memory, CPU, and process of execution through lab assignments.
     
    [Return to chapter listing]