[Programming]

  Babbage’s Analytical Engine: The First True Digital Computer

The First Hard Drive: The Store

"The store may be considered as the place of deposit in which the numbers and quantities given by the conditions of the question are originally placed, in which all the intermediate results are provisionally preserved and in which at the termination all the required results are found…"

According to Babbage’s design, the store was to consist of 1000 identical metal columns, each having fifty figure wheels connected to a central rack. The figure wheels were each numbered from 0 to 9. Thus a number of up to 50 digits could be represented in each column by rotating the wheels into the desired configuration. Above the fiftieth wheel of each column rests the sign wheel which has positive (+) and negative (-) signs engraved alternately on the circumference (10 signs total, one physically corresponding to each digit of the figure wheels). Above this sign wheel is a fixed character indicating the variable number represented by the wheels below in the form "v1, v2, v3… v1000," one per axis.

Representing decimals: The figure columns in the analytical engine had no mechanical means by which to represent a decimal point for a number. However, by inserting an imaginary divider between the same two figure wheels of all variable number columns, thus making all coefficients and numbers within the Store possess the same number of decimal places, decimals could be used. A wheel with the number of digits per column (in this case 50) engraved on its edge can be set to allow the engine to account for the number of decimal places used for each variable.

Data Input: Data could be entered into the analytical engine by either setting the necessary figure columns to their appropriate values before beginning computation or by feeding numerical data in via Number Cards. In case of data overflow, the Store could punch out cards which could later be recalled and read back into the machine.

Data Output: Babbage toyed with the idea of printing out data in a graphical form using a device he called the Curve Drawing Apparatus. But he later decided that it would be best to have all output from the Store in the form of punched cards.

Variable Cards control the Store. They command the transfer of numbers between the Store and the Mill

The First CPU: Babbage called this portion of the Analytical Engine which performed the majority of the computation the Mill. The Mill and the Store are connected by two axes named the Ingress and the Egress.

Components:

3 Figure Axes

These axes resemble the figure axes in the Store but are much larger to accommodate the many pinion gears which communicate with the other parts of the Mill. They are connected to each other to allow number "copying" from one axis to another. A process called Stepping up or Stepping down can be performed by means of pinion. The "stepping" shifts all the digits one place to the right or left and in effect divides or multiplies the number by ten. The figure which at each stepping leaves one end of the column is transferred to the opposite end.

3 Carriage Axes

These axes carry the tens during addition and subtraction. They can connect to the figure axes or one may be connected to any other part of the Mill. Running up occurs when the number subtracted is greater than the one from which it is taken. When using figure columns with 50 digits each, a Running up would cause a carriage in the 51st digit’s place. This action would trigger a Running up warning by flipping a lever. As a result, the Mill would take appropriate actions to deal with the situation.

10 Table Figure Axes

These axes speed up multiplication and division by providing multiples of factors and divisors. The time normally taken to compute multiples by accumulating consecutive additions is thereby saved.

Digit Counting Apparatus

This mechanism counts the number of digits in a given column. This feature allows for proper placement of the decimal point during multiplication and division. It also limits the number of digits used when the engine makes successive approximations.

Selecting Apparatus

This apparatus selects the multiples indicated by the successive digits of the multiplier from the Table Figure Axis. For division, the procedure is much more complicated since it is necessary to select the multiple which is next less than the dividend from which it will be subtracted.

Barrels

These mechanisms are upright cylinders, split up into about seventy rings, the circumference of each ring divided into about eighty parts. Studs can be fixed on one or more of these segments of the ring. Therefore, each barrel presents about eighty vertical columns each containing a different combination of fixed studs. Horizontal advancement of the barrel causes the studs to push levers which execute different functions within the Mill.

Reducing Apparatus

This apparatus, located behind the each barrel is comprised of six or eight sectors. It can rotate the barrel so as to make it pass over any number of vertical columns (along the side of the barrel).

Operation Cards

These cards, modeled after the cards used to program Jacquard’s loom, were perforated and consisted of thick paste-board, tin plate or sheet zinc. A series of cards were strung together by wire or tape in order to create a program. By placing the cards on square prisms with buttons positioned at each potential hole location, commands can be executed according to the exact button pressed by a particular card.

Addition, subtraction, multiplication and division are the operations performed as determined by the card’s control over the barrels.

Combinatorial Cards

These cards manage the Repeating Apparatus of the Operation and of the Variable Cards and thus direct the return of those cards to given places at certain times. Combinatorial cards control the number and nature of the repetitions which are made by those cards.