Misplaced Pages

Electronic data processing

Article snapshot taken from Wikipedia with creative commons attribution-sharealike license. Give it a read and then ask your questions in the chat. We can research this topic together.

Electronic data processing ( EDP ) or business information processing can refer to the use of automated methods to process commercial data. Typically, this uses relatively simple, repetitive activities to process large volumes of similar information. For example: stock updates applied to an inventory, banking transactions applied to account and customer master files, booking and ticketing transactions to an airline's reservation system, billing for utility services. The modifier "electronic" or "automatic" was used with "data processing" (DP), especially c. 1960, to distinguish human clerical data processing from that done by computer.

#593406

57-407: Herman Hollerith then at the U.S. Census Bureau devised a tabulating system that included cards ( Hollerith card, later Punched card ), a punch for holes in them representing data, a tabulator and a sorter. The system was tested in computing mortality statistics for the city of Baltimore. In the first commercial electronic data processing Hollerith machines were used to compile the data accumulated in

114-492: A code obfuscation technique as a measure against disassembly and tampering. The principle is also used in shared code sequences of fat binaries which must run on multiple instruction-set-incompatible processor platforms. This property is also used to find unintended instructions called gadgets in existing code repositories and is used in return-oriented programming as alternative to code injection for exploits such as return-to-libc attacks . In some computers,

171-654: A computer's central processing unit (CPU). For conventional binary computers , machine code is the binary representation of a computer program which is actually read and interpreted by the computer. A program in machine code consists of a sequence of machine instructions (possibly interspersed with data). Each machine code instruction causes the CPU to perform a specific task. Examples of such tasks include: In general, each architecture family (e.g., x86 , ARM ) has its own instruction set architecture (ISA), and hence its own specific machine code language. There are exceptions, such as

228-469: A custom-order, craft-based industry where the product was tailored to fit the customer; to multi-use components taken off the shelf to find the best-fit in any situation. Mass-production has greatly reduced costs and IT is available to the smallest organization. LEO was hardware tailored for a single client. Today, Intel Pentium and compatible chips are standard and become parts of other components which are combined as needed. One individual change of note

285-416: A direct map between the numerical machine code and a human-readable mnemonic. In assembly, numerical opcodes and operands are replaced with mnemonics and labels. For example, the x86 architecture has available the 0x90 opcode; it is represented as NOP in the assembly source code . While it is possible to write programs directly in machine code, managing individual bits and calculating numerical addresses

342-618: A few. These are highly specialized and intricate components of larger environments, but they rely upon common conventions and interfaces. Data storage has also been standardized. Relational databases are developed by different suppliers using common formats and conventions. Common file formats can be shared by large mainframes and desktop personal computers , allowing online, real-time input and validation. In parallel, software development has fragmented. There are still specialist technicians, but these increasingly use standardized methodologies where outcomes are predictable and accessible. At

399-700: A fifth company, the Computing-Tabulating-Recording Company (CTR). Under the presidency of Thomas J. Watson , CTR was renamed International Business Machines Corporation (IBM) in 1924. By 1933 The Tabulating Machine Company name had disappeared as subsidiary companies were subsumed by IBM. Herman Hollerith died November 17, 1929. Hollerith is buried at Oak Hill Cemetery in the Georgetown neighborhood of Washington, D.C. Hollerith cards were named after Herman Hollerith, as were Hollerith strings and Hollerith constants . His great-grandson,

456-528: A home on 29th Street and a business building at 31st Street and the Chesapeake and Ohio Canal , where today there is a commemorative plaque installed by IBM . He died of a heart attack in Washington, D.C., at age 69. At the suggestion of John Shaw Billings , Hollerith developed a mechanism using electrical connections to increment a counter, recording information. A key idea was that a datum could be recorded by

513-486: A machine with a single accumulator , the accumulator is implicitly both the left operand and result of most arithmetic instructions. Some other architectures, such as the x86 architecture, have accumulator versions of common instructions, with the accumulator regarded as one of the general registers by longer instructions. A stack machine has most or all of its operands on an implicit stack. Special purpose instructions also often lack explicit operands; for example, CPUID in

570-433: A one-to-one mapping to machine code. The assembly language decoding method is called disassembly . Machine code may be decoded back to its corresponding high-level language under two conditions: The first condition is to accept an obfuscated reading of the source code. An obfuscated version of source code is displayed if the machine code is sent to a decompiler of the source language. The second condition requires

627-400: A paging based system, if the current page actually holds machine code by an execute bit — pages have multiple such permission bits (readable, writable, etc.) for various housekeeping functionality. E.g. on Unix-like systems memory pages can be toggled to be executable with the mprotect() system call, and on Windows, VirtualProtect() can be used to achieve a similar result. If an attempt

SECTION 10

#1732851307594

684-407: A paper Accounting by Electronic Methods. The notes show what may be possible and the potential implications of using a computer. Progressive organizations attempted to go beyond the straight systems transfer from punched card equipment and unit accounting machines to the computer, to producing accounts to the trial balance stage and integrated management information systems. New procedures redesigned

741-499: A repetitive, labor-intensive task, removed from user control and error-prone. Invalid or incorrect data needed correction and resubmission with consequences for data and account reconciliation. Data storage was strictly serial on paper tape, and then later to magnetic tape : the use of data storage within readily accessible memory was not cost-effective until hard disk drives were first invented and began shipping in 1957 . Significant developments took place in 1959 with IBM announcing

798-556: A specific relation to each other and to a standard, and then counting or tallying such statistical items separately or in combination by means of mechanical counters operated by electro-magnets the circuits through which are controlled by the perforated sheets, substantially as and for the purpose set forth. Hollerith had left teaching and began working for the United States Census Bureau in the year he filed his first patent application. Titled "Art of Compiling Statistics", it

855-444: A tag and a Y field. In addition to transfer (branch) instructions, these machines have skip instruction that conditionally skip one or two words, e.g., Compare Accumulator with Storage (CAS) does a three way compare and conditionally skips to NSI, NSI+1 or NSI+2, depending on the result. The MIPS architecture provides a specific example for a machine code whose instructions are always 32 bits long. The general type of instruction

912-477: Is generally different from bytecode (also known as p-code), which is either executed by an interpreter or itself compiled into machine code for faster (direct) execution. An exception is when a processor is designed to use a particular bytecode directly as its machine code, such as is the case with Java processors . Machine code and assembly code are sometimes called native code when referring to platform-dependent parts of language features or libraries. From

969-449: Is given by the op (operation) field, the highest 6 bits. J-type (jump) and I-type (immediate) instructions are fully specified by op . R-type (register) instructions include an additional field funct to determine the exact operation. The fields used in these types are: rs , rt , and rd indicate register operands; shamt gives a shift amount; and the address or immediate fields contain an operand directly. For example, adding

1026-428: Is made to execute machine code on a non-executable page, an architecture specific fault will typically occur. Treating data as machine code , or finding new ways to use existing machine code, by various techniques, is the basis of some security vulnerabilities. Similarly, in a segment based system, segment descriptors can indicate whether a segment can contain executable code and in what rings that code can run. From

1083-425: Is rarely a problem. Systems may also differ in other details, such as memory arrangement, operating systems, or peripheral devices . Because a program normally relies on such factors, different systems will typically not run the same machine code, even when the same type of processor is used. A processor's instruction set may have fixed-length or variable-length instructions. How the patterns are organized varies with

1140-512: Is tedious and error-prone. Therefore, programs are rarely written directly in machine code. However, an existing machine code program may be edited if the assembly source code is not available. The majority of programs today are written in a high-level language . A high-level program may be translated into machine code by a compiler . Every processor or processor family has its own instruction set . Instructions are patterns of bits , digits, or characters that correspond to machine commands. Thus,

1197-419: Is typically set to a hard coded value when the CPU is first powered on, and will hence execute whatever machine code happens to be at this address. Similarly, the program counter can be set to execute whatever machine code is at some arbitrary address, even if this is not valid machine code. This will typically trigger an architecture specific protection fault. The CPU is oftentimes told, by page permissions in

SECTION 20

#1732851307594

1254-521: The 1401 computer and in 1962 with ICT (International Computers & Tabulators) making delivery of the ICT 1301 . Like all machines during this time the processor together with the peripherals – magnetic tape drives, disks drives, drums, printers and card and paper tape input and output required considerable space in specially constructed air conditioned accommodation. Often parts of the punched card installation, in particular sorters, were retained to present

1311-649: The City College of New York in 1875, graduated from the Columbia School of Mines with an Engineer of Mines degree in 1879 at age 19, and, in 1890, earned a Doctor of Philosophy based on his development of the tabulating system. In 1882, Hollerith joined the Massachusetts Institute of Technology where he taught mechanical engineering and conducted his first experiments with punched cards. He eventually moved to Washington, D.C., living in Georgetown with

1368-534: The Kruskal count , sometimes possible through opcode-level programming to deliberately arrange the resulting code so that two code paths share a common fragment of opcode sequences. These are called overlapping instructions , overlapping opcodes , overlapping code , overlapped code , instruction scission , or jump into the middle of an instruction . In the 1970s and 1980s, overlapping instructions were sometimes used to preserve memory space. One example were in

1425-678: The VAX architecture, which includes optional support of the PDP-11 instruction set; the IA-64 architecture, which includes optional support of the IA-32 instruction set; and the PowerPC 615 microprocessor, which can natively process both PowerPC and x86 instruction sets. Machine code is a strictly numerical language, and it is the lowest-level interface to the CPU intended for a programmer. Assembly language  provides

1482-591: The Zilog Z80 processor, the machine code 00000101 , which causes the CPU to decrement the B general-purpose register , would be represented in assembly language as DEC B . The IBM 704, 709, 704x and 709x store one instruction in each instruction word; IBM numbers the bit from the left as S, 1, ..., 35. Most instructions have one of two formats: For all but the IBM 7094 and 7094 II, there are three index registers designated A, B and C; indexing with multiple 1 bits in

1539-576: The 1880 census: the larger population, the data items to be collected, the Census Bureau headcount, the scheduled publications, and the use of Hollerith's electromechanical tabulators, reduced the time required to process the census from eight years for the 1880 census to six years for the 1890 census. In 1896, Hollerith founded the Tabulating Machine Company (in 1905 renamed The Tabulating Machine Company). Many major census bureaus around

1596-513: The 1890 U.S. Census of population. Hollerith's Tabulating Machine Company merged with two other firms to form the Computing-Tabulating-Recording Company, later renamed IBM . The punch-card and tabulation machine business remained the core of electronic data processing until the advent of electronic computing in the 1950s (which then still rested on punch cards for storing information). The first commercial business computer

1653-561: The Rt. Rev. Herman Hollerith IV , was the Episcopal bishop of the Diocese of Southern Virginia , and another great-grandson, Randolph Marshall Hollerith , is an Episcopal priest and the dean of Washington National Cathedral in Washington, D.C. Machine code In computer programming , machine code is computer code consisting of machine language instructions , which are used to control

1710-430: The arrival of their own machine. These initial machines were delivered to customers with limited software. The design staff was divided into two groups. Systems analysts produced a systems specification and programmers translated the specification into machine language . Literature on computers and EDP was sparse and mostly obtained through articles appearing in accountancy publications and material supplied by

1767-448: The card input to the computer in a pre-sort form that reduced the processing time involved in sorting large amounts of data. Data processing facilities became available to smaller organizations in the form of the computer services bureau . These offered processing of specific applications e.g. payroll and were often a prelude to the purchase of customers' own computers. Organizations used these facilities for testing programs while awaiting

Electronic data processing - Misplaced Pages Continue

1824-673: The end of the 1950s punched card manufacturers, Hollerith, Powers-Samas , IBM and others, were also marketing an array of computers. Early commercial systems were installed exclusively by large organizations. These could afford to invest the time and capital necessary to purchase hardware, hire specialist staff to develop bespoke software and work through the consequent (and often unexpected) organizational and cultural changes. At first, individual organizations developed their own software, including data management utilities, themselves. Different products might also have 'one-off' bespoke software. This fragmented approach led to duplicated effort and

1881-646: The equipment manufacturers. The first issue of The Computer Journal published by The British Computer Society appeared in mid 1958. The UK Accountancy Body now named The Association of Chartered Certified Accountants formed an Electronic Data Processing Committee in July 1958 with the purpose of informing its members of the opportunities created by the computer. The Committee produced its first booklet in 1959, An Introduction to Electronic Computers. Also in 1958 The Institute of Chartered Accountants in England and Wales produced

1938-464: The implementation of error tables in Microsoft 's Altair BASIC , where interleaved instructions mutually shared their instruction bytes. The technique is rarely used today, but might still be necessary to resort to in areas where extreme optimization for size is necessary on byte-level such as in the implementation of boot loaders which have to fit into boot sectors . It is also sometimes used as

1995-511: The instruction set is specific to a class of processors using (mostly) the same architecture . Successor or derivative processor designs often include instructions of a predecessor and may add new additional instructions. Occasionally, a successor design will discontinue or alter the meaning of some instruction code (typically because it is needed for new purposes), affecting code compatibility to some extent; even compatible processors may show slightly different behavior for some instructions, but this

2052-455: The largest and most successful companies of the 20th century. Hollerith is regarded as one of the seminal figures in the development of data processing. Herman Hollerith was born in Buffalo, New York , in 1860, where he also spent his early childhood. His parents were German immigrants; his father, Georg Hollerith, was a school teacher from Großfischlingen , Rhineland-Palatinate . He entered

2109-519: The machine code of the architecture is implemented by an even more fundamental underlying layer called microcode , providing a common machine language interface across a line or family of different models of computer with widely different underlying dataflows . This is done to facilitate porting of machine language programs between different models. An example of this use is the IBM System/360 family of computers and their successors. Machine code

2166-411: The other end of the scale, any office manager can dabble in spreadsheets or databases and obtain acceptable results (but there are risks, because many do not know what Software testing is). Specialized software is software that is written for a specific task rather for a broad application area. These programs provide facilities specifically for the purpose for which they were designed. At the other end of

2223-412: The other four index registers. The effective address is normally Y-C(T), where C(T) is either 0 for a tag of 0, the logical or of the selected index regisrs in multiple tag mode or the selected index register if not in multiple tag mode. However, the effective address for index register control instructions is just Y. A flag with both bits 1 selects indirect addressing; the indirect address word has both

2280-529: The particular architecture and type of instruction. Most instructions have one or more opcode fields that specify the basic instruction type (such as arithmetic, logical, jump , etc.), the operation (such as add or compare), and other fields that may give the type of the operand (s), the addressing mode (s), the addressing offset(s) or index, or the operand value itself (such constant operands contained in an instruction are called immediate ). Not all machines or individual instructions have explicit operands. On

2337-657: The point of view of a process , the code space is the part of its address space where the code in execution is stored. In multitasking systems this comprises the program's code segment and usually shared libraries . In multi-threading environment, different threads of one process share code space along with data space, which reduces the overhead of context switching considerably as compared to process switching. Various tools and methods exist to decode machine code back to its corresponding source code . Machine code can easily be decoded back to its corresponding assembly language source code because assembly language forms

Electronic data processing - Misplaced Pages Continue

2394-501: The point of view of the CPU, machine code is stored in RAM, but is typically also kept in a set of caches for performance reasons. There may be different caches for instructions and data, depending on the architecture. The CPU knows what machine code to execute, based on its internal program counter. The program counter points to a memory address and is changed based on special instructions which may cause programmatic branches. The program counter

2451-434: The presence or absence of a hole at a specific location on a card. For example, if a specific hole location indicates marital status , then a hole there can indicate married while not having a hole indicates single . Hollerith determined that data in specified locations on a card, arranged in rows and columns, could be counted or sorted electromechanically. A description of this system, An Electric Tabulating System (1889) ,

2508-450: The production of management information needed manual effort. High hardware costs and relatively slow processing speeds forced developers to use resources 'efficiently'. Data storage formats were heavily compacted, for example. A common example is the removal of the century from dates, which eventually led to the ' millennium bug '. Data input required intermediate processing via punched paper tape or punched card and separate input to

2565-457: The punched card tabulating machine, patented in 1884, marks the beginning of the era of mechanized binary code and semiautomatic data processing systems, and his concept dominated that landscape for nearly a century. Hollerith founded a company that was amalgamated in 1911 with several other companies to form the Computing-Tabulating-Recording Company . In 1924, the company was renamed "International Business Machines" ( IBM ) and became one of

2622-412: The registers 1 and 2 and placing the result in register 6 is encoded: Load a value into register 8, taken from the memory cell 68 cells after the location listed in register 3: Jumping to the address 1024: On processor architectures with variable-length instruction sets (such as Intel 's x86 processor family) it is, within the limits of the control-flow resynchronizing phenomenon known as

2679-416: The result of a constant expression freed up by replacing it by that constant) and other code enhancements. A much more human-friendly rendition of machine language, named assembly language , uses mnemonic codes to refer to machine code instructions, rather than using the instructions' numeric values directly, and uses symbolic names to refer to storage locations and sometimes registers . For example, on

2736-410: The scale, any office manager can dabble in spreadsheets or databases and obtain acceptable results. Herman Hollerith Herman Hollerith (February 29, 1860 – November 17, 1929) was a German-American statistician, inventor, and businessman who developed an electromechanical tabulating machine for punched cards to assist in summarizing information and, later, in accounting. His invention of

2793-443: The tag subtracts the logical or of the selected index registers and loading with multiple 1 bits in the tag loads all of the selected index registers. The 7094 and 7094 II have seven index registers, but when they are powered on they are in multiple tag mode , in which they use only the three of the index registers in a fashion compatible with earlier machines, and require a Leave Multiple Tag Mode ( LMTM ) instruction in order to access

2850-407: The way paper flowed, changed organizational structures, called for a rethink of the way information was presented to management and challenged the internal control principles adopted by the designers of accounting systems. But the full realization of these benefits had to await the arrival of the next generation of computers As with other industrial processes commercial IT has moved in most cases from

2907-515: The world leased his equipment and purchased his cards, as did major insurance companies. Hollerith's machines were used for censuses in England & Wales , Italy , Germany , Russia , Austria , Canada , France , Norway , Puerto Rico , Cuba , and the Philippines , and again in the 1900 U.S. census . He invented the first automatic card-feed mechanism and the first keypunch . The 1890 Tabulator

SECTION 50

#1732851307594

2964-406: The x86 architecture writes values into four implicit destination registers. This distinction between explicit and implicit operands is important in code generators, especially in the register allocation and live range tracking parts. A good code optimizer can track implicit and explicit operands which may allow more frequent constant propagation , constant folding of registers (a register assigned

3021-493: Was hardwired to operate on 1890 Census cards. A control panel in his 1906 Type I Tabulator simplified rewiring for different jobs. The 1920s removable control panel supported prewiring and near instant job changing. These inventions were among the foundations of the data processing industry, and Hollerith's punched cards (later used for computer input/output ) continued in use for almost a century. In 1911, four corporations, including Hollerith's firm, were amalgamated to form

3078-519: Was developed in the United Kingdom in 1951, by the J. Lyons and Co. catering organization. This was known as the ' Lyons Electronic Office ' – or LEO for short. It was developed further and used widely during the 1960s and early 1970s. (Lyons formed a separate company to develop the LEO computers and this subsequently merged to form English Electric Leo Marconi and then International Computers Limited . By

3135-463: Was filed on September 23, 1884; U.S. Patent 395,782 was granted on January 8, 1889. Hollerith initially did business under his own name, as The Hollerith Electric Tabulating System , specializing in punched card data processing equipment . He provided tabulators and other machines under contract for the Census Office, which used them for the 1890 census . The net effect of the many changes from

3192-559: Was submitted by Hollerith to Columbia University as his doctoral thesis, and is reprinted in Brian Randell 's 1982 The Origins of Digital Computers, Selected Papers . On January 8, 1889, Hollerith was issued U.S. Patent 395,782, claim 2 of which reads: The herein-described method of compiling statistics, which consists in recording separate statistical items pertaining to the individual by holes or combinations of holes punched in sheets of electrically non-conducting material, and bearing

3249-489: Was the freeing of computers and removable storage from protected, air-filtered environments. Microsoft and IBM at various times have been influential enough to impose order on IT and the resultant standardizations allowed specialist software to flourish. Software is available off the shelf. Apart from products such as Microsoft Office and IBM Lotus , there are also specialist packages for payroll and personnel management, account maintenance and customer management, to name

#593406