Tento článok bol vytlačený zo stránky https://referaty.centrum.sk

 

The Science Of Computers

Hardware

Modern digital computers are all conceptually similar, regardless of size. Nevertheless, they can be divided into several categories on the basis of cost and performance: the personal computer or microcomputer, a relatively low-cost machine, usually of desk-top size (though "laptops" are small enough to fit in a briefcase, and "palmtops" can fit into a pocket); the workstation, a microcomputer with enhanced graphics and communications capabilities that make it especially useful for office work; the minicomputer, generally too expensive for personal use, with capabilities suited to a business, school, or laboratory; and the mainframe computer, a large, expensive machine with the capability of serving the needs of major business enterprises, government departments, scientific research establishments, or the like (the largest and fastest of these are called supercomputers).

A digital computer is not a single machine: rather, it is a system composed of five distinct elements: (1) a central processing unit; (2) input devices; (3) memory storage devices; (4) output devices; and (5) a communications network, called a bus, which links all the elements of the system and connects the system to the external world.

Central Processing Unit (CPU)

The CPU may be a single chip or a series of chips that perform arithmetic and logical calculations and that time and control the operations of the other elements of the system. Miniaturization and integration techniques made possible the development of the microprocessor, a CPU chip that incorporates additional circuitry and memory. The result is smaller computers and reduced support circuitry. Microprocessors are used in personal computers.
Most CPU chips and microprocessors are composed of four functional sections: (1) an arithmetic/logic unit; (2) registers; (3) a control section; and (4) an internal bus. The arithmetic/logic unit gives the chip its calculating ability and permits arithmetical and logical operations. The registers are temporary storage areas that hold data, keep track of instructions, and hold the location and results of these operations. The control section has three principal duties.

It times and regulates the operations of the entire computer system; its instruction decoder reads the patterns of data in a designated register and translates the pattern into an activity, such as adding or comparing; and its interrupt unit indicates the order in which individual operations use the CPU, and regulates the amount of CPU time that each operation may consume.

The last segment of a CPU chip or microprocessor is its internal bus, a network of communication lines that connects the internal elements of the processor and also leads to external connectors that link the processor to the other elements of the computer system. The three types of CPU buses are: (1) a control bus consisting of a line that senses input signals and another line that generates control signals from within the CPU; (2) the address bus, a one-way line from the processor that handles the location of data in memory addresses; and (3) the data bus, a two-way transfer line that both reads data from memory and writes new data into memory.

Input Devices

These devices enable a computer user to enter data, commands, and programs into the CPU. The most common input device is the keyboard. Information typed at the typewriter-like keyboard is translated by the computer into recognizable patterns. Other input devices include the mouse, which translates physical motion into motion on a computer video display screen; the joystick, which performs the same function, and is favoured for computer games; the trackball, which replaces the mouse on laptops; scanners, which "read" words or symbols on a printed page and translate them into electronic patterns that the computer can manipulate and store; light pens, which can be used to "write" directly on the monitor screen; and voice recognition systems, which take spoken words and translate them into digital signals for the computer. Storage devices can also be used to input data into the processing unit.

Storage Devices

Computer systems can store data internally (in memory) and externally (on storage devices). Internally, instructions or data can be temporarily stored in silicon RAM (Random Access Memory) chips that are mounted directly on the computer's main circuit board, or in chips mounted on peripheral cards that plug into the computer's main circuit board. These RAM chips consist of millions of switches that are sensitive to changes in electric current. So-called static RAM chips hold their data as long as current flows through the circuit, whereas dynamic RAM (DRAM) chips need high or low voltages applied at regular intervals-every two milliseconds or so-if they are not to lose their information.

Another type of internal memory consists of silicon chips on which all switches are already set. The patterns on these ROM (Read-Only Memory) chips form commands, data, or programs that the computer needs to function correctly. RAM chips are like pieces of paper that can be written on, erased, and used again; ROM chips are like a book, with its words already set on each page.

Both RAM and ROM chips are linked by circuitry to the CPU.

External storage devices, which may actually be located within the computer housing, are external to the main circuit board. These devices store data as charges on a magnetically sensitive medium such as a magnetic tape or, more commonly, on a disk coated with a fine layer of metallic particles. The most common external storage devices are so-called floppy disks and hard disks, although most large computer systems use banks of magnetic tape storage units. The floppy disks in normal use store about 800 kilobytes (a kilobyte is 1,024 bytes) or about 1.4 megabytes (1 megabyte is slightly more than a million bytes). Hard, or "fixed", disks cannot be removed from their disk-drive cabinets, which contain the electronics to read and write data on to the magnetic disk surfaces. Hard disks currently used with personal computers can store from several hundred megabytes to several gigabytes (1 gigabyte is a billion bytes). CD-ROM technology, which uses the same laser techniques that are used to create audio compact discs (CDs), normally produces storage capacities up to about 800 megabytes.

Output Devices

These devices enable the user to see the results of the computer's calculations or data manipulations. The most common output device is the video display unit (VDU), a monitor that displays characters and graphics on a television-like screen. A VDU usually has a cathode-ray tube like an ordinary television set, but small, portable computers use liquid crystal displays (LCDs) or electroluminescent screens. Other standard output devices include printers and modems. A modem links two or more computers by translating digital signals into analogue signals so that data can be transmitted via analogue telephone lines.

Operating Systems

Different types of peripheral devices-disk drives, printers, communications networks, and so on-handle and store data differently from the way the computer handles and stores it. Internal operating systems, usually stored in ROM memory, were developed primarily to coordinate and translate data flows from dissimilar sources, such as disk drives or coprocessors (processing chips that operate simultaneously with the central unit). An operating system is a master control program, permanently stored in memory, that interprets user commands requesting various kinds of services-commands such as display, print, or copy a data file; list all files in a directory; or execute a particular program.

Programming

A program is a sequence of instructions that tells the hardware of a computer what operations to perform on data.

Programs can be built into the hardware itself, or they may exist independently in a form known as software. In some specialized, or "dedicated", computers the operating instructions are embedded in their circuitry; common examples are the microcomputers found in calculators, wristwatches, car engines, and microwave ovens. A general-purpose computer, on the other hand, although it contains some built-in programs (in ROM) or instructions (in the processor chip), depends on external programs to perform useful tasks. Once a computer has been programmed, it can do only as much or as little as the software controlling it at any given moment enables it to do. Software in widespread use includes a wide range of applications programs-instructions to the computer on how to perform various tasks.

Languages

A computer must be given instructions in a programming language that it understands-that is, a particular pattern of binary digital information. On the earliest computers, programming was a difficult, laborious task, because vacuum-tube ON-OFF switches had to be set by hand. Teams of programmers often took days to program simple tasks such as sorting a list of names. Since that time numbers of computer languages have been devised, some with particular kinds of functioning in mind and others aimed more at ease of use-the "user-friendly" approach.

Machine Language

The computer's own binary-based language, or machine language, is difficult for human beings to use. The programmer must input every command and all data in binary form, and a basic operation such as comparing the contents of a register to the data in a memory-chip location might look like this: 11001010 00010111 11110101 00101011. Machine-language programming is such a tedious, time-consuming task that the time saved in running the program rarely justifies the days or weeks needed to write the program.

Assembly Language

One method programmers devised to shorten and simplify the process is called assembly-language programming. By assigning a short (usually three-letter) mnemonic code to each machine-language command, assembly-language programs could be written and "debugged"-cleaned of logic and data errors-in a fraction of the time needed by machine-language programmers. In assembly language, each mnemonic command and its symbolic operands equals one machine instruction.

An assembler program translates the source code, a list of mnemonic operation codes and symbolic operands, into object code, that is into machine language, and executes the program.
Each assembly language, however, can be used with only one type of CPU chip or microprocessor. Programmers who expended much time and effort to learn how to program one computer had to learn a new programming style each time they worked on another machine. What was needed was a shorthand method by which one symbolic statement could represent a sequence of many machine-language instructions, and a way that would allow the same program to run on several types of machines. These needs led to the development of high-level languages.

High-Level Languages

High-level languages often use English words-for example, LIST, PRINT, OPEN, and so on-as commands that might stand for a sequence of tens or hundreds of machine-language instructions. The commands are entered from the keyboard or from a program in memory or in a storage device, and they are intercepted by a program that translates them into machine-language instructions.
Translator programs are of two kinds: interpreters and compilers. With an interpreter, programs that loop back to re-execute part of their instructions reinterpret the same instruction each time it appears, so interpreted programs run much more slowly than machine-language programs. Compilers, by contrast, translate an entire program into machine language prior to execution, so such programs run as rapidly as though they were written directly in machine language.
The American computer scientist Grace Hopper is credited with implementing the first commercially oriented computer language. After programming an experimental computer at Harvard University, she worked on the UNIVAC I and II computers and developed a commercially usable high-level programming language called FLOW-MATIC. To facilitate computer use in scientific applications, IBM then developed a language that would simplify work involving complicated mathematical formulas. Begun in 1954 and completed in 1957, FORTRAN (FORmula TRANslator) was the first comprehensive high-level programming language that was widely used.

In 1957 the Association for Computing Machinery in the United States set out to develop a universal language that would correct some of FORTRAN's shortcomings. A year later they released ALGOL (ALGOrithmic Language), another scientifically oriented language; widely used in Europe in the 1960s and 1970s, it has since been superseded by newer languages, while FORTRAN continues to be used because of the huge investment in existing programs.

COBOL (Common Business-Oriented Language), a commercial and business programming language, concentrated on data organization and file-handling and is widely used today in business.

BASIC (Beginner's All-purpose Symbolic Instruction Code) was developed at Dartmouth College in the early 1960s for use by non-professional computer users. The language came into almost universal use with the microcomputer explosion of the 1970s and 1980s. Condemned as slow, inefficient, and inelegant by its detractors, BASIC is nevertheless simple to learn and easy to use. Because many early microcomputers were sold with BASIC built into the hardware (in ROM memory) the language rapidly came into widespread use. The following very simple example of a BASIC program adds the numbers 1 and 2, and displays the result (the numerals 10 to 40 are line numbers):

10 A = 1
20 B = 2
30 C = A + B
40 Print C

Although hundreds of different computer languages and variants exist, several others deserve mention. PASCAL, originally designed as a teaching tool, is now one of the most popular microcomputer languages. LOGO was developed to introduce children to computers. C, a language Bell Laboratories designed in the 1970s, is widely used in developing systems programs, as is its successor, C++. LISP and PROLOG are widely used in artificial intelligence. Still further languages have been developed to permit programming in hypermedia, as in CD-ROM and Internet applications.

Koniec vytlačenej stránky z https://referaty.centrum.sk