Text 1 Mechanical calculators Part I

UNIT I

COMPUTERS

OVERVIEW

The main function of a digital computer is to process input data and produce results that can be used in a specific application environ­ment. The physical devices used to implement a computer system and manage the storage and flow of data and instructions along its internal communication lines constitute the hardware component of the sys­tem. The processing hardwareis programmed to perform computa­tions according to some set of rules, the algorithm(a logical sequence of steps) used to solve the particular problem. The algorithm is trans­lated into a program—a set of instructions— that the hardware fol­lows in solving the problem. The collection of programs constitute the softwarecomponent of the system.

The study of Software is concerned with programming languages, data representations, creation of efficient programs, software evalua­tion, and compiler development. Hardware involves the understanding of computer organization and the study of the physical components used for the design of a computer system. Hardware and software are intimately related, and software cannot be fully understood without some understanding of hardware, since a substantial part of software is hardware dependent.

Among the components (resources) are these:

Processors

Input/output controllers Memory units

Buses (communication paths, data highways)

Registers, adders, shifters, and multipliers Data representations Addressing modes Machine language instructions Instruction fetching, executing, and decoding The terms computer architecture and computer organization are often used interchangeably at this level. However, they do not mean the same thing. Computer architecturerefers to the characteristics of a computer as seen by the programmer. Computer organizationre­lates to the physical resources of a computer and is concerned with their organization, their integration into a functional system, and the control of communication and data How among them.

A computeris assumed to be a system having one or more proces­sorscapable of interpreting and executing instructions. The instructions to be executed, as well as the data to be operated on, are held in memory.Interfacing both processors and memory with external data sources or with peripheral hardware, such as terminals and printers, is done through input/output (I/O)subsystems. Communication among the various units is accomplished by means of one or more system buses.

The basic principles of computer organization involve the structure and organization of the various computer units and their interfaces to other subsystems. The computer designer makes decisions regarding the form in which programs are represented to and interpreted by the underly­ing computer, the methods by which these programs address or name their data, and data representations. These decisions include aspects such as the size of storage, types and formats of data, instruction sets, storage addressing and protection, and I/O and interface considerations.

Text 1 Mechanical calculators Part I

Circa 4000 B.C.One of the earliest known computational devices, the abacus,was developed. This is a mechanical device composed of a slab (abax in Greek) with pebbles (calculi in Greek) strung on wires. The posi­tion of the pebbles on each wire determines the value of a digit. The abacus (also known as the Chinese suan pan and the Japanese soroban) can be used to add, subtract, multiply, and divide. In the hands of a skilled opera­tor, it can produce results as fast as a modem desktop calculator.

1623.Machines capable of automatically performing the four ba­sic arithmetic operations first appeared in Europe in the early seven­teenth century. The earliest such machine seems to have been de­signed and built in 1623 by Wilhelm Schickhard at the University of Tubingen. Schickhard’s machine was little known in his day.

1645.Blaise Pascal, the French philosopher, mathematician, and physicist, developed the first real mechanical calculator.This was a ro­tating wheel that used a series of eight gears with automatic carry' genera­tion between digits for addition and subtraction of decimal numbers.

Mid-1600s.John Napier, a Scot, invented the concept of loga­rithms and implemented it on a set of ivory rods, known as Napier's bones,which were used to perform multiplication and division through repeated additions and subtractions.

Circa 1650.Robert Bissaker extended Napier's work with loga­rithms and invented the slide rule,using sliding pieces of wood.

1671-1694.The Prussian mathematician Baron Gottfried Wilhelm von Leibniz extended Pascal's adding machine to perform multiplica­tion and division through the use of additional gears.

1725. Basile Bouchon introduced a simple draw-looni for weav­ing figured silks. The silk designs were controlled by patterns of holes punched on a roll of paper. When the coded paper was pressed against a row' of needles, those that lined up with the holes remained in place while the others moved forward. The loom's action, controlled by the selected needles, formed the pattern of the fabric.

1741.A watchmaker named Jacques de Vaucanson built an auto­matic loom for weaving figured silks. The designs were established by patterns of holes punched on a metal drum.The holes controlled the selection of threads by raising and lowering the treadles.

1801.One of the interesting results of the industrial revolution was the Jacquard loom. Joseph Marie Jacquard, a silk weaver from France, built in 1801 an attachment to the weaving loom that resulted in automated pattern weaving. This was a step toward the develop­ment of programmable instructionssince the loom was controlled by a series of punched cards. The cards had holes in them and func­tioned just like a program,providing sets of instructions that were read by the machines as they passed over a series of rods. By 1812 there were over 11,000 Jacquard looms in France.

1821. The next major advance is associated with the English inventor Charles Babbage. The device, called the difference engine,implemented finite difference operations. In 1854 a Swede named Georg Scheutz was able to build a working version of Babbage's difference engine.

Meanwhile, Babbage developed the idea of the analytical engine,which contained many features similar to twentieth-century stored-programdigital computers. It was designed around two types of cards: operating cards,which indicated specific functions to be performed, and variable cards,which indi­cated actual data. The machine itself had a store - an area within the device in which instructions and variables were maintained - and a mill - an arithmetic unitthat performed the operations. Instructions and data were fed into the de­vice by means of punched cards, and output was produced automatically.