Компьютер
Компьютер машина — это , которую можно запрограммировать на автоматическое выполнение последовательностей арифметических или логических операций ( вычислений ). Современные цифровые электронные компьютеры могут выполнять общие наборы операций, известные как программы . Эти программы позволяют компьютерам выполнять широкий спектр задач. Термин «компьютерная система» может относиться к номинально укомплектованному компьютеру, который включает в себя аппаратное обеспечение , операционную систему , программное обеспечение и периферийное оборудование, необходимое и используемое для полноценной работы; или к группе компьютеров, которые связаны и функционируют вместе, например, компьютерная сеть или компьютерный кластер .
В широком спектре промышленных и потребительских товаров компьютеры используются в качестве систем управления , включая простые устройства специального назначения, такие как микроволновые печи и пульты дистанционного управления , а также заводские устройства, такие как промышленные роботы . Компьютеры лежат в основе устройств общего назначения, таких как персональные компьютеры , и мобильных устройств, таких как смартфоны . Компьютеры питают Интернет , который объединяет миллиарды компьютеров и пользователей.
Early computers were meant to be used only for calculations. Simple manual instruments like the abacus have aided people in doing calculations since ancient times. Early in the Industrial Revolution, some mechanical devices were built to automate long, tedious tasks, such as guiding patterns for looms. More sophisticated electrical machines did specialized analog calculations in the early 20th century. The first digital electronic calculating machines were developed during World War II, both electromechanical and using thermionic valves. The first semiconductor transistors in the late 1940s were followed by the silicon-based MOSFET (MOS transistor) and monolithic integrated circuit chip technologies in the late 1950s, leading to the microprocessor and the microcomputer revolution in the 1970s. The speed, power, and versatility of computers have been increasing dramatically ever since then, with transistor counts increasing at a rapid pace (Moore's law noted that counts doubled every two years), leading to the Digital Revolution during the late 20th and early 21st centuries.
Conventionally, a modern computer consists of at least one processing element, typically a central processing unit (CPU) in the form of a microprocessor, together with some type of computer memory, typically semiconductor memory chips. The processing element carries out arithmetic and logical operations, and a sequencing and control unit can change the order of operations in response to stored information. Peripheral devices include input devices (keyboards, mice, joystick, etc.), output devices (monitor screens, printers, etc.), and input/output devices that perform both functions (e.g., the 2000s-era touchscreen). Peripheral devices allow information to be retrieved from an external source, and they enable the results of operations to be saved and retrieved.
Etymology
It was not until the mid-20th century that the word acquired its modern definition; according to the Oxford English Dictionary, the first known use of the word computer was in a different sense, in a 1613 book called The Yong Mans Gleanings by the English writer Richard Brathwait: "I haue [sic] read the truest computer of Times, and the best Arithmetician that euer [sic] breathed, and he reduceth thy dayes into a short number." This usage of the term referred to a human computer, a person who carried out calculations or computations. The word continued to have the same meaning until the middle of the 20th century. During the latter part of this period, women were often hired as computers because they could be paid less than their male counterparts.[1] By 1943, most human computers were women.[2]
The Online Etymology Dictionary gives the first attested use of computer in the 1640s, meaning 'one who calculates'; this is an "agent noun from compute (v.)". The Online Etymology Dictionary states that the use of the term to mean "'calculating machine' (of any type) is from 1897." The Online Etymology Dictionary indicates that the "modern use" of the term, to mean 'programmable digital electronic computer' dates from "1945 under this name; [in a] theoretical [sense] from 1937, as Turing machine".[3] The name has remained, although modern computers are capable of many higher-level functions.
History
Pre-20th century
Devices have been used to aid computation for thousands of years, mostly using one-to-one correspondence with fingers. The earliest counting device was most likely a form of tally stick. Later record keeping aids throughout the Fertile Crescent included calculi (clay spheres, cones, etc.) which represented counts of items, likely livestock or grains, sealed in hollow unbaked clay containers.[a][4] The use of counting rods is one example.
The abacus was initially used for arithmetic tasks. The Roman abacus was developed from devices used in Babylonia as early as 2400 BCE. Since then, many other forms of reckoning boards or tables have been invented. In a medieval European counting house, a checkered cloth would be placed on a table, and markers moved around on it according to certain rules, as an aid to calculating sums of money.[5]
The Antikythera mechanism is believed to be the earliest known mechanical analog computer, according to Derek J. de Solla Price.[6] It was designed to calculate astronomical positions. It was discovered in 1901 in the Antikythera wreck off the Greek island of Antikythera, between Kythera and Crete, and has been dated to approximately c. 100 BCE. Devices of comparable complexity to the Antikythera mechanism would not reappear until the fourteenth century.[7]
Many mechanical aids to calculation and measurement were constructed for astronomical and navigation use. The planisphere was a star chart invented by Abū Rayhān al-Bīrūnī in the early 11th century.[8] The astrolabe was invented in the Hellenistic world in either the 1st or 2nd centuries BCE and is often attributed to Hipparchus. A combination of the planisphere and dioptra, the astrolabe was effectively an analog computer capable of working out several different kinds of problems in spherical astronomy. An astrolabe incorporating a mechanical calendar computer[9][10] and gear-wheels was invented by Abi Bakr of Isfahan, Persia in 1235.[11] Abū Rayhān al-Bīrūnī invented the first mechanical geared lunisolar calendar astrolabe,[12] an early fixed-wired knowledge processing machine[13] with a gear train and gear-wheels,[14] c. 1000 AD.
The sector, a calculating instrument used for solving problems in proportion, trigonometry, multiplication and division, and for various functions, such as squares and cube roots, was developed in the late 16th century and found application in gunnery, surveying and navigation.
The planimeter was a manual instrument to calculate the area of a closed figure by tracing over it with a mechanical linkage.
The slide rule was invented around 1620–1630, by the English clergyman William Oughtred, shortly after the publication of the concept of the logarithm. It is a hand-operated analog computer for doing multiplication and division. As slide rule development progressed, added scales provided reciprocals, squares and square roots, cubes and cube roots, as well as transcendental functions such as logarithms and exponentials, circular and hyperbolic trigonometry and other functions. Slide rules with special scales are still used for quick performance of routine calculations, such as the E6B circular slide rule used for time and distance calculations on light aircraft.
In the 1770s, Pierre Jaquet-Droz, a Swiss watchmaker, built a mechanical doll (automaton) that could write holding a quill pen. By switching the number and order of its internal wheels different letters, and hence different messages, could be produced. In effect, it could be mechanically "programmed" to read instructions. Along with two other complex machines, the doll is at the Musée d'Art et d'Histoire of Neuchâtel, Switzerland, and still operates.[15]
In 1831–1835, mathematician and engineer Giovanni Plana devised a Perpetual Calendar machine, which, through a system of pulleys and cylinders and over, could predict the perpetual calendar for every year from 0 CE (that is, 1 BCE) to 4000 CE, keeping track of leap years and varying day length. The tide-predicting machine invented by the Scottish scientist Sir William Thomson in 1872 was of great utility to navigation in shallow waters. It used a system of pulleys and wires to automatically calculate predicted tide levels for a set period at a particular location.
The differential analyser, a mechanical analog computer designed to solve differential equations by integration, used wheel-and-disc mechanisms to perform the integration. In 1876, Sir William Thomson had already discussed the possible construction of such calculators, but he had been stymied by the limited output torque of the ball-and-disk integrators.[16] In a differential analyzer, the output of one integrator drove the input of the next integrator, or a graphing output. The torque amplifier was the advance that allowed these machines to work. Starting in the 1920s, Vannevar Bush and others developed mechanical differential analyzers.
In the 1890s, the Spanish engineer Leonardo Torres Quevedo began to develop a series of advanced analog machines that could solve real and complex roots of polynomials,[17][18][19][20] which were published in 1901 by the Paris Academy of Sciences.[21]
First computer
Charles Babbage, an English mechanical engineer and polymath, originated the concept of a programmable computer. Considered the "father of the computer",[22] he conceptualized and invented the first mechanical computer in the early 19th century.
After working on his difference engine he announced his invention in 1822, in a paper to the Royal Astronomical Society, titled "Note on the application of machinery to the computation of astronomical and mathematical tables",[23] he also designed to aid in navigational calculations, in 1833 he realized that a much more general design, an analytical engine, was possible. The input of programs and data was to be provided to the machine via punched cards, a method being used at the time to direct mechanical looms such as the Jacquard loom. For output, the machine would have a printer, a curve plotter and a bell. The machine would also be able to punch numbers onto cards to be read in later. The engine would incorporate an arithmetic logic unit, control flow in the form of conditional branching and loops, and integrated memory, making it the first design for a general-purpose computer that could be described in modern terms as Turing-complete.[24][25]
The machine was about a century ahead of its time. All the parts for his machine had to be made by hand – this was a major problem for a device with thousands of parts. Eventually, the project was dissolved with the decision of the British Government to cease funding. Babbage's failure to complete the analytical engine can be chiefly attributed to political and financial difficulties as well as his desire to develop an increasingly sophisticated computer and to move ahead faster than anyone else could follow. Nevertheless, his son, Henry Babbage, completed a simplified version of the analytical engine's computing unit (the mill) in 1888. He gave a successful demonstration of its use in computing tables in 1906.
Electromechanical calculating machine
In his work Essays on Automatics published in 1914, Leonardo Torres Quevedo wrote a brief history of Babbage's efforts at constructing a mechanical Difference Engine and Analytical Engine. The paper contains a design of a machine capable to calculate formulas like , for a sequence of sets of values. The whole machine was to be controlled by a read-only program, which was complete with provisions for conditional branching. He also introduced the idea of floating-point arithmetic.[26][27][28] In 1920, to celebrate the 100th anniversary of the invention of the arithmometer, Torres presented in Paris the Electromechanical Arithmometer, which allowed a user to input arithmetic problems through a keyboard, and computed and printed the results,[29][30][31][32] demonstrating the feasibility of an electromechanical analytical engine.[33]
Analog computers
During the first half of the 20th century, many scientific computing needs were met by increasingly sophisticated analog computers, which used a direct mechanical or electrical model of the problem as a basis for computation. However, these were not programmable and generally lacked the versatility and accuracy of modern digital computers.[34] The first modern analog computer was a tide-predicting machine, invented by Sir William Thomson (later to become Lord Kelvin) in 1872. The differential analyser, a mechanical analog computer designed to solve differential equations by integration using wheel-and-disc mechanisms, was conceptualized in 1876 by James Thomson, the elder brother of the more famous Sir William Thomson.[16]
The art of mechanical analog computing reached its zenith with the differential analyzer, built by H. L. Hazen and Vannevar Bush at MIT starting in 1927. This built on the mechanical integrators of James Thomson and the torque amplifiers invented by H. W. Nieman. A dozen of these devices were built before their obsolescence became obvious. By the 1950s, the success of digital electronic computers had spelled the end for most analog computing machines, but analog computers remained in use during the 1950s in some specialized applications such as education (slide rule) and aircraft (control systems).
Digital computers
Electromechanical
By 1938, the United States Navy had developed an electromechanical analog computer small enough to use aboard a submarine. This was the Torpedo Data Computer, which used trigonometry to solve the problem of firing a torpedo at a moving target. During World War II similar devices were developed in other countries as well.
Early digital computers were electromechanical; electric switches drove mechanical relays to perform the calculation. These devices had a low operating speed and were eventually superseded by much faster all-electric computers, originally using vacuum tubes. The Z2, created by German engineer Konrad Zuse in 1939 in Berlin, was one of the earliest examples of an electromechanical relay computer.[35]
In 1941, Zuse followed his earlier machine up with the Z3, the world's first working electromechanical programmable, fully automatic digital computer.[38][39] The Z3 was built with 2000 relays, implementing a 22 bit word length that operated at a clock frequency of about 5–10 Hz.[40] Program code was supplied on punched film while data could be stored in 64 words of memory or supplied from the keyboard. It was quite similar to modern machines in some respects, pioneering numerous advances such as floating-point numbers. Rather than the harder-to-implement decimal system (used in Charles Babbage's earlier design), using a binary system meant that Zuse's machines were easier to build and potentially more reliable, given the technologies available at that time.[41] The Z3 was not itself a universal computer but could be extended to be Turing complete.[42][43]
Zuse's next computer, the Z4, became the world's first commercial computer; after initial delay due to the Second World War, it was completed in 1950 and delivered to the ETH Zurich.[44] The computer was manufactured by Zuse's own company, Zuse KG, which was founded in 1941 as the first company with the sole purpose of developing computers in Berlin.[44]
Vacuum tubes and digital electronic circuits
Purely electronic circuit elements soon replaced their mechanical and electromechanical equivalents, at the same time that digital calculation replaced analog. The engineer Tommy Flowers, working at the Post Office Research Station in London in the 1930s, began to explore the possible use of electronics for the telephone exchange. Experimental equipment that he built in 1934 went into operation five years later, converting a portion of the telephone exchange network into an electronic data processing system, using thousands of vacuum tubes.[34] In the US, John Vincent Atanasoff and Clifford E. Berry of Iowa State University developed and tested the Atanasoff–Berry Computer (ABC) in 1942,[45] the first "automatic electronic digital computer".[46] This design was also all-electronic and used about 300 vacuum tubes, with capacitors fixed in a mechanically rotating drum for memory.[47]
During World War II, the British code-breakers at Bletchley Park achieved a number of successes at breaking encrypted German military communications. The German encryption machine, Enigma, was first attacked with the help of the electro-mechanical bombes which were often run by women.[48][49] To crack the more sophisticated German Lorenz SZ 40/42 machine, used for high-level Army communications, Max Newman and his colleagues commissioned Flowers to build the Colossus.[47] He spent eleven months from early February 1943 designing and building the first Colossus.[50] After a functional test in December 1943, Colossus was shipped to Bletchley Park, where it was delivered on 18 January 1944[51] and attacked its first message on 5 February.[47]
Colossus was the world's first electronic digital programmable computer.[34] It used a large number of valves (vacuum tubes). It had paper-tape input and was capable of being configured to perform a variety of boolean logical operations on its data, but it was not Turing-complete. Nine Mk II Colossi were built (The Mk I was converted to a Mk II making ten machines in total). Colossus Mark I contained 1,500 thermionic valves (tubes), but Mark II with 2,400 valves, was both five times faster and simpler to operate than Mark I, greatly speeding the decoding process.[52][53]
The ENIAC[54] (Electronic Numerical Integrator and Computer) was the first electronic programmable computer built in the U.S. Although the ENIAC was similar to the Colossus, it was much faster, more flexible, and it was Turing-complete. Like the Colossus, a "program" on the ENIAC was defined by the states of its patch cables and switches, a far cry from the stored program electronic machines that came later. Once a program was written, it had to be mechanically set into the machine with manual resetting of plugs and switches. The programmers of the ENIAC were six women, often known collectively as the "ENIAC girls".[55][56]
It combined the high speed of electronics with the ability to be programmed for many complex problems. It could add or subtract 5000 times a second, a thousand times faster than any other machine. It also had modules to multiply, divide, and square root. High speed memory was limited to 20 words (about 80 bytes). Built under the direction of John Mauchly and J. Presper Eckert at the University of Pennsylvania, ENIAC's development and construction lasted from 1943 to full operation at the end of 1945. The machine was huge, weighing 30 tons, using 200 kilowatts of electric power and contained over 18,000 vacuum tubes, 1,500 relays, and hundreds of thousands of resistors, capacitors, and inductors.[57]
Modern computers
Concept of modern computer
The principle of the modern computer was proposed by Alan Turing in his seminal 1936 paper,[58] On Computable Numbers. Turing proposed a simple device that he called "Universal Computing machine" and that is now known as a universal Turing machine. He proved that such a machine is capable of computing anything that is computable by executing instructions (program) stored on tape, allowing the machine to be programmable. The fundamental concept of Turing's design is the stored program, where all the instructions for computing are stored in memory. Von Neumann acknowledged that the central concept of the modern computer was due to this paper.[59] Turing machines are to this day a central object of study in theory of computation. Except for the limitations imposed by their finite memory stores, modern computers are said to be Turing-complete, which is to say, they have algorithm execution capability equivalent to a universal Turing machine.
Stored programs
Early computing machines had fixed programs. Changing its function required the re-wiring and re-structuring of the machine.[47] With the proposal of the stored-program computer this changed. A stored-program computer includes by design an instruction set and can store in memory a set of instructions (a program) that details the computation. The theoretical basis for the stored-program computer was laid out by Alan Turing in his 1936 paper. In 1945, Turing joined the National Physical Laboratory and began work on developing an electronic stored-program digital computer. His 1945 report "Proposed Electronic Calculator" was the first specification for such a device. John von Neumann at the University of Pennsylvania also circulated his First Draft of a Report on the EDVAC in 1945.[34]
The Manchester Baby was the world's first stored-program computer. It was built at the University of Manchester in England by Frederic C. Williams, Tom Kilburn and Geoff Tootill, and ran its first program on 21 June 1948.[60] It was designed as a testbed for the Williams tube, the first random-access digital storage device.[61] Although the computer was described as "small and primitive" by a 1998 retrospective, it was the first working machine to contain all of the elements essential to a modern electronic computer.[62] As soon as the Baby had demonstrated the feasibility of its design, a project began at the university to develop it into a practically useful computer, the Manchester Mark 1.
The Mark 1 in turn quickly became the prototype for the Ferranti Mark 1, the world's first commercially available general-purpose computer.[63] Built by Ferranti, it was delivered to the University of Manchester in February 1951. At least seven of these later machines were delivered between 1953 and 1957, one of them to Shell labs in Amsterdam.[64] In October 1947 the directors of British catering company J. Lyons & Company decided to take an active role in promoting the commercial development of computers. Lyons's LEO I computer, modelled closely on the Cambridge EDSAC of 1949, became operational in April 1951[65] and ran the world's first routine office computer job.
Transistors
The concept of a field-effect transistor was proposed by Julius Edgar Lilienfeld in 1925. John Bardeen and Walter Brattain, while working under William Shockley at Bell Labs, built the first working transistor, the point-contact transistor, in 1947, which was followed by Shockley's bipolar junction transistor in 1948.[66][67] From 1955 onwards, transistors replaced vacuum tubes in computer designs, giving rise to the "second generation" of computers. Compared to vacuum tubes, transistors have many advantages: they are smaller, and require less power than vacuum tubes, so give off less heat. Junction transistors were much more reliable than vacuum tubes and had longer, indefinite, service life. Transistorized computers could contain tens of thousands of binary logic circuits in a relatively compact space. However, early junction transistors were relatively bulky devices that were difficult to manufacture on a mass-production basis, which limited them to a number of specialized applications.[68]
At the University of Manchester, a team under the leadership of Tom Kilburn designed and built a machine using the newly developed transistors instead of valves.[69] Their first transistorized computer and the first in the world, was operational by 1953, and a second version was completed there in April 1955. However, the machine did make use of valves to generate its 125 kHz clock waveforms and in the circuitry to read and write on its magnetic drum memory, so it was not the first completely transistorized computer. That distinction goes to the Harwell CADET of 1955,[70] built by the electronics division of the Atomic Energy Research Establishment at Harwell.[70][71]
The metal–oxide–silicon field-effect transistor (MOSFET), also known as the MOS transistor, was invented by Mohamed M. Atalla and Dawon Kahng at Bell Labs in 1959.[72] It was the first truly compact transistor that could be miniaturized and mass-produced for a wide range of uses.[68] With its high scalability,[73] and much lower power consumption and higher density than bipolar junction transistors,[74] the MOSFET made it possible to build high-density integrated circuits.[75][76] In addition to data processing, it also enabled the practical use of MOS transistors as memory cell storage elements, leading to the development of MOS semiconductor memory, which replaced earlier magnetic-core memory in computers. The MOSFET led to the microcomputer revolution,[77] and became the driving force behind the computer revolution.[78][79] The MOSFET is the most widely used transistor in computers,[80][81] and is the fundamental building block of digital electronics.[82]
Integrated circuits
The next great advance in computing power came with the advent of the integrated circuit (IC). The idea of the integrated circuit was first conceived by a radar scientist working for the Royal Radar Establishment of the Ministry of Defence, Geoffrey W.A. Dummer. Dummer presented the first public description of an integrated circuit at the Symposium on Progress in Quality Electronic Components in Washington, D.C., on 7 May 1952.[83]
The first working ICs were invented by Jack Kilby at Texas Instruments and Robert Noyce at Fairchild Semiconductor.[84] Kilby recorded his initial ideas concerning the integrated circuit in July 1958, successfully demonstrating the first working integrated example on 12 September 1958.[85] In his patent application of 6 February 1959, Kilby described his new device as "a body of semiconductor material ... wherein all the components of the electronic circuit are completely integrated".[86][87] However, Kilby's invention was a hybrid integrated circuit (hybrid IC), rather than a monolithic integrated circuit (IC) chip.[88] Kilby's IC had external wire connections, which made it difficult to mass-produce.[89]
Noyce also came up with his own idea of an integrated circuit half a year later than Kilby.[90] Noyce's invention was the first true monolithic IC chip.[91][89] His chip solved many practical problems that Kilby's had not. Produced at Fairchild Semiconductor, it was made of silicon, whereas Kilby's chip was made of germanium. Noyce's monolithic IC was fabricated using the planar process, developed by his colleague Jean Hoerni in early 1959. In turn, the planar process was based on Mohamed M. Atalla's work on semiconductor surface passivation by silicon dioxide in the late 1950s.[92][93][94]
Modern monolithic ICs are predominantly MOS (metal–oxide–semiconductor) integrated circuits, built from MOSFETs (MOS transistors).[95] The earliest experimental MOS IC to be fabricated was a 16-transistor chip built by Fred Heiman and Steven Hofstein at RCA in 1962.[96] General Microelectronics later introduced the first commercial MOS IC in 1964,[97] developed by Robert Norman.[96] Following the development of the self-aligned gate (silicon-gate) MOS transistor by Robert Kerwin, Donald Klein and John Sarace at Bell Labs in 1967, the first silicon-gate MOS IC with self-aligned gates was developed by Federico Faggin at Fairchild Semiconductor in 1968.[98] The MOSFET has since become the most critical device component in modern ICs.[95]
The development of the MOS integrated circuit led to the invention of the microprocessor,[99][100] and heralded an explosion in the commercial and personal use of computers. While the subject of exactly which device was the first microprocessor is contentious, partly due to lack of agreement on the exact definition of the term "microprocessor", it is largely undisputed that the first single-chip microprocessor was the Intel 4004,[101] designed and realized by Federico Faggin with his silicon-gate MOS IC technology,[99] along with Ted Hoff, Masatoshi Shima and Stanley Mazor at Intel.[b][103] In the early 1970s, MOS IC technology enabled the integration of more than 10,000 transistors on a single chip.[76]
System on a Chip (SoCs) are complete computers on a microchip (or chip) the size of a coin.[104] They may or may not have integrated RAM and flash memory. If not integrated, the RAM is usually placed directly above (known as Package on package) or below (on the opposite side of the circuit board) the SoC, and the flash memory is usually placed right next to the SoC, this all done to improve data transfer speeds, as the data signals do not have to travel long distances. Since ENIAC in 1945, computers have advanced enormously, with modern SoCs (Such as the Snapdragon 865) being the size of a coin while also being hundreds of thousands of times more powerful than ENIAC, integrating billions of transistors, and consuming only a few watts of power.
Mobile computers
The first mobile computers were heavy and ran from mains power. The 50 lb (23 kg) IBM 5100 was an early example. Later portables such as the Osborne 1 and Compaq Portable were considerably lighter but still needed to be plugged in. The first laptops, such as the Grid Compass, removed this requirement by incorporating batteries – and with the continued miniaturization of computing resources and advancements in portable battery life, portable computers grew in popularity in the 2000s.[105] The same developments allowed manufacturers to integrate computing resources into cellular mobile phones by the early 2000s.
These smartphones and tablets run on a variety of operating systems and recently became the dominant computing device on the market.[106] These are powered by System on a Chip (SoCs), which are complete computers on a microchip the size of a coin.[104]
Types
Computers can be classified in a number of different ways, including:
By architecture
- Analog computer
- Digital computer
- Hybrid computer
- Harvard architecture
- Von Neumann architecture
- Complex instruction set computer
- Reduced instruction set computer
By size, form-factor and purpose
- Supercomputer
- Mainframe computer
- Minicomputer (term no longer used),[107] Midrange computer
- Server
- Personal computer
- Workstation
- Microcomputer (term no longer used)[108]
- Home computer (term fallen into disuse)[109]
- Desktop computer
- Tower desktop
- Slimline desktop
- Multimedia computer (non-linear editing system computers, video editing PCs and the like, this term is no longer used)[110]
- Gaming computer
- All-in-one PC
- Nettop (Small form factor PCs, Mini PCs)
- Home theater PC
- Keyboard computer
- Portable computer
- Thin client
- Internet appliance
- Laptop
- Mobile computers:
- Wearable computer
- Single-board computer
- Plug computer
- Stick PC
- Programmable logic controller
- Computer-on-module
- System on module
- System in a package
- System-on-chip (Also known as an Application Processor or AP if it lacks circuitry such as radio circuitry)
- Microcontroller
Hardware
The term hardware covers all of those parts of a computer that are tangible physical objects. Circuits, computer chips, graphic cards, sound cards, memory (RAM), motherboard, displays, power supplies, cables, keyboards, printers and "mice" input devices are all hardware.
History of computing hardware
Other hardware topics
Peripheral device (input/output) | Input | Mouse, keyboard, joystick, image scanner, webcam, graphics tablet, microphone |
Output | Monitor, printer, loudspeaker | |
Both | Floppy disk drive, hard disk drive, optical disc drive, teleprinter | |
Computer buses | Short range | RS-232, SCSI, PCI, USB |
Long range (computer networking) | Ethernet, ATM, FDDI |
A general-purpose computer has four main components: the arithmetic logic unit (ALU), the control unit, the memory, and the input and output devices (collectively termed I/O). These parts are interconnected by buses, often made of groups of wires. Inside each of these parts are thousands to trillions of small electrical circuits which can be turned off or on by means of an electronic switch. Each circuit represents a bit (binary digit) of information so that when the circuit is on it represents a "1", and when off it represents a "0" (in positive logic representation). The circuits are arranged in logic gates so that one or more of the circuits may control the state of one or more of the other circuits.
Input devices
When unprocessed data is sent to the computer with the help of input devices, the data is processed and sent to output devices. The input devices may be hand-operated or automated. The act of processing is mainly regulated by the CPU. Some examples of input devices are:
- Computer keyboard
- Digital camera
- Graphics tablet
- Image scanner
- Joystick
- Microphone
- Mouse
- Overlay keyboard
- Real-time clock
- Trackball
- Touchscreen
- Light pen
Output devices
The means through which computer gives output are known as output devices. Some examples of output devices are:
Control unit
The control unit (often called a control system or central controller) manages the computer's various components; it reads and interprets (decodes) the program instructions, transforming them into control signals that activate other parts of the computer.[d] Control systems in advanced computers may change the order of execution of some instructions to improve performance.
A key component common to all CPUs is the program counter, a special memory cell (a register) that keeps track of which location in memory the next instruction is to be read from.[e]
The control system's function is as follows— this is a simplified description, and some of these steps may be performed concurrently or in a different order depending on the type of CPU:
- Read the code for the next instruction from the cell indicated by the program counter.
- Decode the numerical code for the instruction into a set of commands or signals for each of the other systems.
- Increment the program counter so it points to the next instruction.
- Read whatever data the instruction requires from cells in memory (or perhaps from an input device). The location of this required data is typically stored within the instruction code.
- Предоставьте необходимые данные в АЛУ или зарегистрируйте.
- Если для выполнения инструкции требуется АЛУ или специализированное оборудование, дайте команду оборудованию выполнить запрошенную операцию.
- Запишите результат из АЛУ обратно в ячейку памяти, в регистр или, возможно, на устройство вывода.
- Вернитесь к шагу (1).
Поскольку программный счетчик (концептуально) представляет собой просто еще один набор ячеек памяти, его можно изменить посредством вычислений, выполняемых в АЛУ. Добавление 100 к счетчику программ приведет к чтению следующей инструкции с места, находящегося на 100 позиций дальше по программе. Инструкции, которые изменяют счетчик программ, часто называются «переходами» и допускают циклы (инструкции, которые повторяются компьютером) и часто условное выполнение инструкций (оба примера потока управления ).
Последовательность операций, которые выполняет блок управления для обработки инструкции, сама по себе подобна короткой компьютерной программе, и действительно, в некоторых более сложных конструкциях ЦП имеется еще один компьютер, еще меньшего размера, называемый микросеквенсором , который запускает программу микрокода , которая вызывает все эти события произойдут.
Центральный процессор (ЦП)
Блок управления, АЛУ и регистры вместе называются центральным процессором (ЦП). Ранние процессоры состояли из множества отдельных компонентов. С 1970-х годов центральные процессоры обычно создавались на базе одной интегральной микросхемы МОП, называемой микропроцессором .
Арифметико-логическое устройство (АЛУ)
АЛУ способно выполнять два класса операций: арифметические и логические. [ 111 ] Набор арифметических операций, поддерживаемых конкретным АЛУ, может быть ограничен сложением и вычитанием или может включать в себя умножение, деление, тригонометрические функции, такие как синус, косинус и т. д., а также квадратные корни . Некоторые могут работать только с целыми числами ( целыми числами ), в то время как другие используют плавающую точку для представления действительных чисел , хотя и с ограниченной точностью. Однако любой компьютер, способный выполнять только самые простые операции, можно запрограммировать так, чтобы разбивать более сложные операции на простые шаги, которые он может выполнить. Следовательно, любой компьютер можно запрограммировать на выполнение любой арифметической операции, хотя это займет больше времени, если его АЛУ не поддерживает эту операцию напрямую. АЛУ также может сравнивать числа и возвращать логические значения истинности (истина или ложь) в зависимости от того, равно ли одно другому, больше или меньше («64 больше, чем 65?»). Логические операции включают булеву логику : AND , OR , XOR и NOT . Они могут быть полезны для создания сложных условные операторы и обработка логической логики .
Суперскалярные компьютеры могут содержать несколько ALU, что позволяет им обрабатывать несколько инструкций одновременно. [ 112 ] Графические процессоры и компьютеры с функциями SIMD и MIMD часто содержат ALU, которые могут выполнять арифметические операции с векторами и матрицами .
Память
Память компьютера можно рассматривать как список ячеек, в которые можно помещать или читать числа. Каждая ячейка имеет пронумерованный «адрес» и может хранить одно число. Компьютеру можно дать указание «поместить число 123 в ячейку с номером 1357» или «прибавить число, находящееся в ячейке 1357, к числу, находящемуся в ячейке 2468, и поместить ответ в ячейку 1595». Информация, хранящаяся в памяти, может представлять собой практически что угодно. Буквы, цифры и даже компьютерные инструкции можно с одинаковой легкостью поместить в память. Поскольку ЦП не различает различные типы информации, ответственность программного обеспечения заключается в том, чтобы придать значение тому, что память воспринимает как не что иное, как серию чисел.
Почти во всех современных компьютерах каждая ячейка памяти настроена на хранение двоичных чисел группами по восемь бит (называемыми байтами ). Каждый байт может представлять 256 различных чисел (2 8 = 256); либо от 0 до 255, либо от -128 до +127. Для хранения больших чисел можно использовать несколько последовательных байтов (обычно два, четыре или восемь). Когда требуются отрицательные числа, они обычно сохраняются в виде дополнения до двух . Возможны и другие варианты, но они обычно не рассматриваются вне специализированных приложений или исторического контекста. Компьютер может хранить в памяти любой вид информации, если ее можно представить в числовом виде. Современные компьютеры имеют миллиарды или даже триллионы байт памяти.
ЦП содержит специальный набор ячеек памяти, называемых регистрами , которые можно читать и записывать гораздо быстрее, чем в область основной памяти. Обычно имеется от двух до ста регистров в зависимости от типа ЦП. Регистры используются для наиболее часто используемых элементов данных, чтобы избежать необходимости обращаться к основной памяти каждый раз, когда необходимы данные. Поскольку обработка данных ведется постоянно, уменьшение необходимости доступа к основной памяти (которая часто медленнее по сравнению с АЛУ и блоками управления) значительно увеличивает скорость компьютера.
Основная память компьютера бывает двух основных разновидностей:
- оперативная память или ОЗУ
- постоянное запоминающее устройство или ПЗУ
Оперативная память может быть прочитана и записана в любое время, когда процессор подает ей команду, но в ПЗУ предварительно загружены данные и программное обеспечение, которые никогда не изменяются, поэтому ЦП может только читать из нее. ПЗУ обычно используется для хранения инструкций по первоначальному запуску компьютера. Как правило, содержимое ОЗУ стирается при отключении питания компьютера, но ПЗУ сохраняет свои данные на неопределенный срок. В ПК ПЗУ содержит специализированную программу, называемую BIOS компьютера , которая организует загрузку операционной системы с жесткого диска в ОЗУ при каждом включении или перезагрузке компьютера. Во встроенных компьютерах , которые часто не имеют дисковых накопителей, все необходимое программное обеспечение может храниться в ПЗУ. Программное обеспечение, хранящееся в ПЗУ, часто называют прошивкой , поскольку теоретически оно больше похоже на аппаратное обеспечение, чем на программное обеспечение. Флэш-память стирает различие между ПЗУ и ОЗУ, поскольку сохраняет данные при выключении, но при этом может перезаписываться. Однако обычно он намного медленнее, чем обычные ПЗУ и ОЗУ, поэтому его использование ограничено приложениями, где высокая скорость не требуется. [ ж ]
В более сложных компьютерах может быть одна или несколько кэш-памятей RAM , которые работают медленнее, чем регистры, но быстрее, чем основная память. Обычно компьютеры с таким типом кеша предназначены для автоматического перемещения часто необходимых данных в кеш, часто без необходимости какого-либо вмешательства со стороны программиста.
Ввод/вывод (В/В)
Ввод-вывод — это средство, с помощью которого компьютер обменивается информацией с внешним миром. [ 114 ] Устройства, обеспечивающие ввод или вывод данных в компьютер, называются периферийными устройствами . [ 115 ] На типичном персональном компьютере периферийные устройства включают в себя устройства ввода, такие как клавиатура и мышь , и устройства вывода, такие как дисплей и принтер . Жесткие диски , дисководы гибких дисков и приводы оптических дисков служат устройствами ввода и вывода. Компьютерные сети — это еще одна форма ввода-вывода. Устройства ввода-вывода часто сами по себе представляют собой сложные компьютеры с собственным процессором и памятью. Графический процессор может содержать пятьдесят или более крошечных компьютеров, выполняющих вычисления, необходимые для отображения 3D-графики . [ нужна ссылка ] Современные настольные компьютеры содержат множество компьютеров меньшего размера, которые помогают главному процессору выполнять ввод-вывод. Плоский экран 2016 года выпуска содержит собственную компьютерную схему.
Многозадачность
Хотя компьютер можно рассматривать как запускающую одну гигантскую программу, хранящуюся в его основной памяти, в некоторых системах необходимо создать видимость одновременного запуска нескольких программ. Это достигается за счет многозадачности, т. е. быстрого переключения компьютера между запуском каждой программы по очереди. [ 116 ] Одним из способов, с помощью которого это делается, является специальный сигнал, называемый прерыванием , который может периодически заставлять компьютер прекращать выполнение инструкций там, где он был, и вместо этого делать что-то другое. Помня, где оно выполнялось до прерывания, компьютер может вернуться к этой задаче позже. Если несколько программ запущены «одновременно». тогда генератор прерываний может вызывать несколько сотен прерываний в секунду, каждый раз вызывая переключение программы. Поскольку современные компьютеры обычно выполняют инструкции на несколько порядков быстрее, чем человеческое восприятие, может показаться, что одновременно выполняется множество программ, хотя в любой момент времени выполняется только одна. Этот метод многозадачности иногда называют «разделением времени», поскольку каждой программе по очереди выделяется «кусок» времени. [ 117 ]
До наступления эры недорогих компьютеров основное применение многозадачности заключалось в том, чтобы позволить множеству людей использовать один и тот же компьютер. Казалось бы, многозадачность приведет к тому, что компьютер, переключающийся между несколькими программами, будет работать медленнее, прямо пропорционально количеству запущенных на нем программ, но большинство программ проводят большую часть своего времени в ожидании, пока медленные устройства ввода-вывода завершат свои задачи. Если программа ожидает, пока пользователь щелкнет мышью или нажмет клавишу на клавиатуре, то она не будет принимать «отрезок времени», пока не произойдет событие , которого она ожидает. Это высвобождает время для выполнения других программ, поэтому многие программы могут выполняться одновременно без неприемлемой потери скорости.
Многопроцессорность
Некоторые компьютеры спроектированы таким образом, чтобы распределять свою работу между несколькими процессорами в многопроцессорной конфигурации. Этот метод когда-то использовался только в больших и мощных машинах, таких как суперкомпьютеры , мейнфреймы и серверы . Многопроцессорные и многоядерные (несколько процессоров на одной интегральной схеме) персональные и портативные компьютеры теперь широко доступны и в результате все чаще используются на рынках нижнего уровня.
В частности, суперкомпьютеры часто имеют весьма уникальную архитектуру, которая значительно отличается от базовой архитектуры хранимых программ и от компьютеров общего назначения. [ г ] Они часто оснащены тысячами процессоров, настраиваемыми высокоскоростными соединениями и специализированным вычислительным оборудованием. Такие конструкции, как правило, полезны только для специализированных задач из-за большого масштаба организации программы, необходимой для одновременного использования большей части доступных ресурсов. Суперкомпьютеры обычно используются в крупномасштабном моделировании , графическом рендеринге и криптографии , а также в других так называемых « поразительно параллельных » задачах.
Программное обеспечение
Программное обеспечение относится к частям компьютера, не имеющим материальной формы, таким как программы, данные, протоколы и т. д. Программное обеспечение — это та часть компьютерной системы, которая состоит из закодированной информации или компьютерных инструкций, в отличие от физического оборудования , из которого система построена. Компьютерное программное обеспечение включает в себя компьютерные программы, библиотеки и связанные с ними неисполняемые данные , такие как онлайн-документация или цифровые носители . Его часто делят на системное программное обеспечение и прикладное программное обеспечение . Компьютерное оборудование и программное обеспечение требуют друг друга, и ни одно из них невозможно использовать отдельно. Когда программное обеспечение хранится на аппаратном обеспечении, которое невозможно легко модифицировать, например, в BIOS ПЗУ на компьютере, совместимом с IBM PC , его иногда называют «прошивкой».
Языки
Существуют тысячи различных языков программирования: некоторые из них предназначены для общего назначения, другие полезны только для узкоспециализированных приложений.
Списки языков программирования | Хронология языков программирования , Список языков программирования по категориям , Список поколений языков программирования , Список языков программирования , Языки программирования, не основанные на английском языке |
Часто используемые языки ассемблера | ARM , MIPS , x86 |
Часто используемые языки программирования высокого уровня | Ада , BASIC , C , C++ , C# , COBOL , Фортран , PL/I , REXX , Java , Lisp , Паскаль , Object Pascal |
Часто используемые языки сценариев | Сценарий Борна , JavaScript , Python , Ruby , PHP , Perl |
Программы
Определяющей особенностью современных компьютеров, отличающей их от всех других машин, является то, что их можно программировать . То есть некоторый тип инструкций ( программу компьютеру можно дать ), и он их обработает. Современные компьютеры, основанные на архитектуре фон Неймана, часто имеют машинный код в виде императивного языка программирования . программы для текстовых процессоров и веб-браузеров С практической точки зрения компьютерная программа может состоять всего из нескольких инструкций или включать в себя многие миллионы инструкций, как , например, . Типичный современный компьютер может выполнять миллиарды инструкций в секунду ( гигафлопс ) и редко допускает ошибки за многие годы работы. На написание больших компьютерных программ, состоящих из нескольких миллионов инструкций, у команд программистов могут уйти годы, и из-за сложности задачи почти наверняка будут содержаться ошибки.
Архитектура хранимой программы
Этот раздел относится к наиболее распространенным компьютерам с оперативной памятью .
компьютера В большинстве случаев инструкции компьютера просты: добавить одно число к другому, переместить некоторые данные из одного места в другое, отправить сообщение на какое-либо внешнее устройство и т. д. Эти инструкции считываются из памяти и обычно выполняются ( исполняются ). в том порядке, в котором они были даны. Однако обычно существуют специальные инструкции, которые предписывают компьютеру перейти вперед или назад к другому месту программы и продолжить выполнение оттуда. Они называются инструкциями «перехода» (или ветвями ). Более того, инструкции перехода могут выполняться условно , чтобы можно было использовать разные последовательности инструкций в зависимости от результата некоторых предыдущих вычислений или какого-либо внешнего события. Многие компьютеры напрямую поддерживают подпрограммы , предоставляя тип перехода, который «запоминает» место, из которого он был выполнен, и другую инструкцию для возврата к инструкции, следующей за этой инструкцией перехода.
Выполнение программы можно сравнить с чтением книги. Хотя человек обычно читает каждое слово и строку последовательно, иногда он может вернуться к предыдущему месту в тексте или пропустить разделы, которые не представляют интереса. Точно так же компьютер может иногда возвращаться и повторять инструкции в каком-то разделе программы снова и снова, пока не будет выполнено какое-то внутреннее условие. Это называется потоком управления внутри программы, и именно это позволяет компьютеру многократно выполнять задачи без вмешательства человека.
Для сравнения, человек, использующий карманный калькулятор, может выполнить базовую арифметическую операцию, например, сложить два числа, всего за несколько нажатий кнопок. Но чтобы сложить все числа от 1 до 1000, потребуются тысячи нажатий кнопок и много времени, причем с почти наверняка допущенной ошибкой. С другой стороны, компьютер можно запрограммировать на это с помощью всего лишь нескольких простых инструкций. Следующий пример написан на языке ассемблера MIPS :
begin:
addi $8, $0, 0 # initialize sum to 0
addi $9, $0, 1 # set first number to add = 1
loop:
slti $10, $9, 1000 # check if the number is less than 1000
beq $10, $0, finish # if odd number is greater than n then exit
add $8, $8, $9 # update sum
addi $9, $9, 1 # get next number
j loop # repeat the summing process
finish:
add $2, $8, $0 # put sum in output register
Получив команду запустить эту программу, компьютер будет выполнять повторяющуюся задачу сложения без дальнейшего вмешательства человека. Он практически никогда не ошибается и современный ПК может выполнить задачу за доли секунды.
Машинный код
В большинстве компьютеров отдельные инструкции хранятся в виде машинного кода , причем каждой инструкции присваивается уникальный номер (код операции или для краткости код операции ). Команда сложения двух чисел будет иметь один код операции; команда их умножения будет иметь другой код операции и так далее. Простейшие компьютеры способны выполнять любую из нескольких различных инструкций; более сложные компьютеры имеют на выбор несколько сотен, каждый из которых имеет уникальный числовой код. Поскольку память компьютера способна хранить числа, она также может хранить коды инструкций. Это приводит к тому важному факту, что целые программы (которые представляют собой просто списки этих инструкций) могут быть представлены в виде списков чисел, и ими можно манипулировать внутри компьютера так же, как и числовыми данными. Фундаментальная концепция хранения программ в памяти компьютера вместе с данными, с которыми они работают, составляет суть архитектуры фон Неймана, или хранимой программы. [ 119 ] [ 120 ] В некоторых случаях компьютер может хранить часть или всю свою программу в памяти отдельно от данных, с которыми он работает. Это называется Гарвардской архитектурой в честь Harvard Mark I. компьютера Современные компьютеры фон Неймана в своей конструкции демонстрируют некоторые черты гарвардской архитектуры, например, кэш-память ЦП .
Хотя можно писать компьютерные программы в виде длинных списков чисел ( машинный язык ), и хотя этот метод использовался на многих ранних компьютерах, [ ч ] на практике это чрезвычайно утомительно и потенциально чревато ошибками, особенно для сложных программ. Вместо этого каждой базовой инструкции можно дать короткое имя, указывающее на ее функцию и легко запоминающееся – мнемоническое обозначение , такое как ADD, SUB, MULT или JUMP. компьютера» Эта мнемоника известна под общим названием «язык ассемблера . Преобразование программ, написанных на языке ассемблера, в то, что компьютер действительно может понять (машинный язык), обычно выполняется с помощью компьютерной программы, называемой ассемблером.
Язык программирования
Языки программирования предоставляют различные способы указания программ для запуска на компьютерах. В отличие от естественных языков , языки программирования спроектированы таким образом, чтобы не допускать двусмысленности и быть краткими. Это чисто письменные языки, и их часто трудно читать вслух. Обычно они либо транслируются в код компилятором или ассемблером машинный перед запуском, либо транслируются интерпретатором непосредственно во время выполнения . Иногда программы выполняются гибридным методом двух методов.
Языки низкого уровня
Машинные языки и языки ассемблера, которые их представляют (совместно называемые языками программирования низкого уровня ), как правило, уникальны для конкретной архитектуры центрального процессора компьютера ( ЦП ). Например, процессор с архитектурой ARM (который можно найти в смартфоне или портативной видеоигре ) не может понимать машинный язык процессора x86 , который может быть в ПК . [ я ] Исторически было создано и широко использовалось значительное количество других архитектур процессоров, в частности, MOS Technology 6502 и 6510 в дополнение к Zilog Z80.
Языки высокого уровня
Написание длинных программ на языке ассемблера, хотя и значительно проще, чем на машинном языке, зачастую затруднено и подвержено ошибкам. Поэтому большинство практических программ пишутся на более абстрактных языках программирования высокого уровня , которые способны более удобно выражать потребности программиста (и тем самым помогают уменьшить ошибки программиста). Языки высокого уровня обычно «компилируются» в машинный язык (или иногда в язык ассемблера, а затем в машинный язык) с помощью другой компьютерной программы, называемой компилятором . [ Дж ] Языки высокого уровня меньше связаны с работой целевого компьютера, чем язык ассемблера, и больше связаны с языком и структурой проблемы (проблем), которые должны быть решены окончательной программой. Поэтому часто можно использовать разные компиляторы для перевода одной и той же программы на языке высокого уровня на машинный язык множества разных типов компьютеров. Это часть средств, с помощью которых программное обеспечение, такое как видеоигры, может быть доступно для различных компьютерных архитектур, таких как персональные компьютеры и различные игровые консоли .
Дизайн программы
Разработка небольших программ относительно проста и включает в себя анализ проблемы, сбор входных данных, использование программных конструкций внутри языков, разработку или использование установленных процедур и алгоритмов, предоставление данных для устройств вывода и решений проблемы, если это применимо. [ 121 ] По мере того, как проблемы становятся больше и сложнее, возникают такие функции, как подпрограммы, модули, формальная документация и новые парадигмы, такие как объектно-ориентированное программирование. [ 122 ] Большие программы, включающие тысячи строк кода и более, требуют формальных методологий программного обеспечения. [ 123 ] Задача разработки больших программных систем представляет собой серьезную интеллектуальную задачу. [ 124 ] Производство программного обеспечения с приемлемо высокой надежностью в рамках предсказуемого графика и бюджета исторически было трудным; [ 125 ] академическая и профессиональная дисциплина разработки программного обеспечения сосредоточена именно на этой задаче. [ 126 ]
Ошибки
Ошибки в компьютерных программах называются « багами ». Они могут быть безобидными и не влиять на полезность программы или иметь лишь незначительные последствия. Однако в некоторых случаях они могут привести к тому, что программа или вся система « зависнут », перестанут реагировать на вводимые данные, такие как щелчки мыши или нажатия клавиш, полностью перестанут работать или дадут сбой . [ 127 ] В противном случае неопасные ошибки иногда могут быть использованы со злым умыслом недобросовестным пользователем, написавшим эксплойт — код, предназначенный для того, чтобы воспользоваться ошибкой и нарушить правильную работу компьютера. Ошибки обычно возникают не по вине компьютера. Поскольку компьютеры просто выполняют данные им инструкции, ошибки почти всегда являются результатом ошибки программиста или недосмотра, допущенного при разработке программы. [ к ] Адмиралу Грейс Хоппер , американскому ученому-компьютерщику и разработчику первого компилятора , приписывают то, что он впервые использовал термин «ошибки» в вычислениях после того, как в сентябре 1947 года была обнаружена дохлая моль, закоротившая реле в компьютере Harvard Mark II . [ 128 ]
Сети и Интернет
Компьютеры использовались для координации информации между несколькими местами с 1950-х годов. вооруженных сил США Система SAGE стала первым крупномасштабным примером такой системы, что привело к созданию ряда коммерческих систем специального назначения, таких как Sabre . [ 129 ] В 1970-х годах компьютерные инженеры исследовательских институтов по всей территории США начали объединять свои компьютеры с помощью телекоммуникационных технологий. Эта работа финансировалась ARPA (ныне DARPA ), а созданная в результате компьютерная сеть получила название ARPANET . [ 130 ] Технологии, которые сделали возможным Arpanet, распространялись и развивались.
Со временем сеть распространилась за пределы академических и военных учреждений и стала известна как Интернет. Появление сетей повлекло за собой переопределение природы и границ компьютера. Компьютерные операционные системы и приложения были модифицированы, чтобы включить возможность определять и получать доступ к ресурсам других компьютеров в сети, таким как периферийные устройства, хранимая информация и т.п., как расширения ресурсов отдельного компьютера. Первоначально эти возможности были доступны в первую очередь людям, работающим в высокотехнологичных средах, но в 1990-х годах распространение таких приложений, как электронная почта и Всемирная паутина , в сочетании с развитием дешевых и быстрых сетевых технологий, таких как Ethernet и ADSL, привело к созданию компьютерных сетей. стали почти повсеместными. Фактически, количество компьютеров, подключенных к сети, растет феноменально. Очень большая часть персональных компьютеров регулярно подключаются к Интернету для общения и получения информации. «Беспроводные» сети, часто использующие сети мобильных телефонов, привели к тому, что сетевые технологии становятся все более повсеместными даже в средах мобильных компьютеров.
Нетрадиционные компьютеры
Компьютер не обязательно должен быть электронным , иметь процессор , оперативную память или даже жесткий диск . Хотя популярное использование слова «компьютер» является синонимом персонального электронного компьютера, [ л ] Типичное современное определение компьютера таково: « Вычислительное устройство , особенно программируемая [обычно] электронная машина, выполняющая высокоскоростные математические или логические операции или собирающая, хранящая, сопоставляющая или иным образом обрабатывающая информацию». [ 131 ] Согласно этому определению, любое устройство, обрабатывающее информацию, квалифицируется как компьютер.
Будущее
Ведутся активные исследования по созданию неклассических компьютеров из многих многообещающих новых типов технологий, таких как оптические компьютеры , ДНК-компьютеры , нейронные компьютеры и квантовые компьютеры . Большинство компьютеров универсальны и способны вычислять любую вычислимую функцию и ограничены только объемом памяти и скоростью работы. Однако компьютеры разных конструкций могут давать очень разную производительность для решения конкретных задач; например, квантовые компьютеры потенциально могут взломать некоторые современные алгоритмы шифрования (с помощью квантового факторинга очень быстро ).
Парадигмы компьютерной архитектуры
Существует множество типов компьютерных архитектур :
- Квантовый компьютер против химического компьютера
- Скалярный процессор против векторного процессора
- Компьютеры с неоднородным доступом к памяти (NUMA)
- Регистрационная машина против стековой машины
- Гарвардская архитектура против архитектуры фон Неймана
- Сотовая архитектура
Из всех этих абстрактных машин квантовый компьютер является наиболее многообещающим для революции в вычислениях. [ 132 ] Логические вентили — это распространенная абстракция, которая может применяться к большинству вышеупомянутых цифровых или аналоговых парадигм. Способность хранить и выполнять списки инструкций, называемых программами, делает компьютеры чрезвычайно универсальными, отличая их от калькуляторов . Тезис Чёрча -Тьюринга представляет собой математическое утверждение этой универсальности: любой компьютер с минимальными возможностями (будучи полным по Тьюрингу) в принципе способен выполнять те же задачи, что и любой другой компьютер. Таким образом, любой тип компьютера ( нетбук , суперкомпьютер , клеточный автомат и т. д.) способен выполнять одни и те же вычислительные задачи, если имеется достаточно времени и емкости памяти.
Искусственный интеллект
Компьютер будет решать проблемы именно так, как он запрограммирован, независимо от эффективности, альтернативных решений, возможных сокращений или возможных ошибок в коде. Компьютерные программы, которые обучаются и адаптируются, являются частью развивающейся области искусственного интеллекта и машинного обучения . Продукты, основанные на искусственном интеллекте, обычно делятся на две основные категории: системы, основанные на правилах , и распознавания образов системы . Системы, основанные на правилах, пытаются представить правила, используемые людьми-экспертами, и их разработка, как правило, обходится дорого. Системы, основанные на шаблонах, используют данные о проблеме для формирования выводов. Примеры систем, основанных на шаблонах, включают распознавание голоса , распознавание шрифтов, перевод и развивающуюся область онлайн-маркетинга.
Профессии и организации
Поскольку использование компьютеров распространилось по всему обществу, растет число профессий, связанных с компьютерами.
Аппаратное обеспечение | Электротехника , Электронная инженерия , Компьютерная инженерия , Телекоммуникационная инженерия , Оптическая инженерия , Наноинженерия |
Программное обеспечение | Информатика , Компьютерная инженерия , Настольная издательская деятельность , Взаимодействие человека и компьютера , Информационные технологии , Информационные системы , Вычислительная наука , Разработка программного обеспечения , Индустрия видеоигр , Веб-дизайн |
Потребность в том, чтобы компьютеры хорошо работали вместе и могли обмениваться информацией, породила потребность во многих организациях по стандартизации, клубах и обществах как формального, так и неформального характера.
Группы стандартов | ANSI , IEC , IEEE , IETF , ISO , W3C |
Профессиональные общества | АСМ , АИС , ИЭПП , ИФИП , БКС |
бесплатного / открытого программного обеспечения Группы | Фонд свободного программного обеспечения , Фонд Mozilla , Фонд программного обеспечения Apache |
См. также
- Теория вычислимости
- Компьютерная безопасность
- Глоссарий терминов компьютерного оборудования
- История информатики
- Список этимологий компьютерных терминов
- Список производителей компьютерных систем
- Список вымышленных компьютеров
- Список фильмов о компьютерах
- Список пионеров информатики
- Схема компьютеров
- Импульсный расчет
- ТОП500 (список самых мощных компьютеров)
- Нетрадиционные вычисления
Примечания
- ^ Согласно Шмандту-Бессерату 1981 , эти глиняные контейнеры содержали жетоны, общее количество которых представляло собой количество передаваемых объектов. Таким образом, контейнеры служили чем-то вроде коносамента или бухгалтерской книги. Чтобы избежать вскрытия контейнеров, сначала для подсчета снаружи контейнеров клали глиняные оттиски жетонов; формы отпечатков были абстрагированы в стилизованные знаки; наконец, абстрактные знаки систематически использовались как цифры; эти цифры были окончательно оформлены как числа.
В конце концов отметки на внешней стороне контейнеров оказались всем необходимым для записи счета, а глиняные контейнеры превратились в глиняные таблички с отметками для счета. По оценкам Шмандта-Бессера, 1999, на это ушло 4000 лет. - ^ Размер кристалла Intel 4004 (1971) составлял 12 мм. 2 , состоящий из 2300 транзисторов; для сравнения, у Pentium Pro был 306 мм. 2 , состоящий из 5,5 миллионов транзисторов. [ 102 ]
- ^ Большинство основных 64-битных архитектур набора команд являются расширениями более ранних разработок. Все архитектуры, перечисленные в этой таблице, за исключением Alpha, существовали в 32-битных формах до появления их 64-битных воплощений.
- ^ Роль блока управления в интерпретации инструкций в прошлом несколько менялась. Хотя в большинстве современных компьютеров за интерпретацию инструкций отвечает исключительно блок управления, это не всегда так. Некоторые компьютеры имеют инструкции, которые частично интерпретируются блоком управления, а дальнейшая интерпретация выполняется другим устройством. Например, EDVAC , один из первых компьютеров с хранимой программой, использовал центральный блок управления, который интерпретировал только четыре инструкции. Все арифметические инструкции передавались в его арифметический блок и далее декодировались там.
- ^ Инструкции часто занимают более одного адреса памяти, поэтому счетчик программ обычно увеличивается на количество ячеек памяти, необходимых для хранения одной инструкции.
- ^ Флэш-память также может перезаписываться только ограниченное количество раз, прежде чем она изнашивается, что делает ее менее полезной для интенсивного использования с произвольным доступом. [ 113 ]
- ^ Однако также очень распространено создание суперкомпьютеров из множества дешёвых аппаратных средств; обычно отдельные компьютеры, соединенные сетями. Эти так называемые компьютерные кластеры часто могут обеспечить производительность суперкомпьютера при гораздо меньших затратах, чем индивидуальные конструкции. Хотя в большинстве самых мощных суперкомпьютеров по-прежнему используются специальные архитектуры, в последние годы наблюдается распространение кластерных компьютеров. [ 118 ]
- ^ Даже некоторые более поздние компьютеры обычно программировались непосредственно в машинном коде. Некоторые миникомпьютеры , такие как DEC PDP-8, можно было программировать непосредственно с панели переключателей. Однако этот метод обычно использовался только как часть процесса загрузки . Большинство современных компьютеров загружаются полностью автоматически, считывая загрузочную программу из энергонезависимой памяти .
- ^ Однако иногда между разными компьютерами существует некоторая форма совместимости машинного языка. микропроцессор Совместимый с x86-64 , такой как AMD Athlon 64, способен запускать большинство тех же программ, что и микропроцессор Intel Core 2 , а также программы, разработанные для более ранних микропроцессоров, таких как Intel Pentium и Intel 80486 . Это контрастирует с очень ранними коммерческими компьютерами, которые часто были единственными в своем роде и совершенно несовместимыми с другими компьютерами.
- ^ Языки высокого уровня также часто интерпретируются , а не компилируются. Интерпретируемые языки переводятся в машинный код «на лету» во время работы другой программой, называемой интерпретатором .
- ^ Не всегда верно, что ошибки возникают исключительно из-за недосмотра программистов. Компьютерное оборудование может выйти из строя или иметь фундаментальную проблему, которая в определенных ситуациях приводит к неожиданным результатам. Например, ошибка Pentium FDIV привела к тому, что некоторые микропроцессоры Intel в начале 1990-х годов выдавали неточные результаты для некоторых операций деления с плавающей запятой . Это было вызвано ошибкой в конструкции микропроцессора и привело к частичному отзыву затронутых устройств.
- ^ Согласно Краткому Оксфордскому словарю английского языка (6-е изд., 2007 г.), слово «компьютер» восходит к середине 17 века, когда оно относилось к «человеку, который производит расчеты; в частности, к человеку, работающему для этого в обсерватории и т. д.».
Ссылки
- ^ Эванс 2018 , с. 23.
- ^ Смит 2013 , с. 6.
- ^ «компьютер (сущ.)» . Интернет-словарь этимологии . Архивировано из оригинала 16 ноября 2016 года . Проверено 19 августа 2021 г.
- ^ Робсон, Элеонора (2008). Математика в Древнем Ираке . Издательство Принстонского университета. п. 5. ISBN 978-0-691-09182-2 . : исчисления использовались в Ираке для примитивных систем бухгалтерского учета еще в 3200–3000 годах до нашей эры, с системами счетного представления, специфичными для конкретных товаров. Сбалансированный учет использовался в 3000–2350 годах до нашей эры, а шестидесятеричная система счисления использовалась в 2350–2000 годах до нашей эры.
- ^ Флегг, Грэм. (1989). Числа сквозь века . Хаундмиллс, Бейзингсток, Хэмпшир: Macmillan Education. ISBN 0-333-49130-0 . OCLC 24660570 .
- ^ Проект исследования антикитерского механизма. Архивировано 28 апреля 2008 г. в Wayback Machine , Исследовательский проект антикитерского механизма. Проверено 1 июля 2007 г.
- ^ Марчант, Джо (1 ноября 2006 г.). «В поисках утраченного времени» . Природа . 444 (7119): 534–538. Бибкод : 2006Natur.444..534M . дои : 10.1038/444534a . ISSN 0028-0836 . ПМИД 17136067 . S2CID 4305761 .
- ^ Г. Вит, В. Елисеев, П. Вольф, Дж. Науду (1975). История человечества, Том 3: Великие средневековые цивилизации , с. 649. Джордж Аллен и Анвин Лтд., ЮНЕСКО .
- ^ Фуат Сезгин «Каталог выставки Института истории арабо-исламской науки (в Университете Иоганна Вольфганга Гете», Франкфурт, Германия) Франкфуртская книжная ярмарка 2004, стр. 35 и 38.
- ^ Шаретт, Франсуа (2006). «Археология: Высокие технологии Древней Греции» . Природа . 444 (7119): 551–552. Бибкод : 2006Natur.444..551C . дои : 10.1038/444551a . ПМИД 17136077 . S2CID 33513516 .
- ^ Бедини, Сильвио А.; Мэддисон, Фрэнсис Р. (1966). «Механическая вселенная: Астрариум Джованни де Донди». Труды Американского философского общества . 56 (5): 1–69. дои : 10.2307/1006002 . JSTOR 1006002 .
- ^ Прайс, Дерек де С. (1984). «История счетных машин». IEEE микро . 4 (1): 22–52. дои : 10.1109/MM.1984.291305 .
- ^ Орен, Тунцер (2001). «Достижения в области компьютерных и информационных наук: от счетов к холоническим агентам» (PDF) . Тюрк Дж. Элек Энгин . 9 (1): 63–70. Архивировано (PDF) из оригинала 15 сентября 2009 г. Проверено 21 апреля 2016 г.
- ^ Дональд Рутледж Хилл (1985). «Механический календарь Аль-Бируни», Annals of Science 42 , стр. 139–163.
- ^ «Писатель-автомат, Швейцария» . chonday.com. 11 июля 2013 года. Архивировано из оригинала 20 февраля 2015 года . Проверено 28 января 2015 г.
- ^ Перейти обратно: а б Рэй Гирван, «Раскрытое изящество механизма: вычисления после Бэббиджа». Архивировано 3 ноября 2012 г. в Wayback Machine , Scientific Computing World , май/июнь 2003 г.
- ^ Торрес, Леонардо (10 октября 1895 г.). «Память на алгебраических машинах» (PDF) . Журнал общественных работ (на испанском языке) (28): 217–222.
- ^ Леонардо Торрес. Отчет об алгебраических машинах: с отчетом Королевской академии точных, физических и естественных наук , Мизерикордия, 1895 г.
- ^ Томас, Федерико (1 августа 2008 г.). «Краткий отчет о бесконечном веретене Леонардо Торреса» . Теория механизма и машин . 43 (8). IFToMM : 1055–1063. doi : 10.1016/j.mechmachtheory.2007.07.003 . hdl : 10261/30460 . ISSN 0094-114X .
- ^ Гомес-Хореги, Валентин; Гутьеррес-Гарсия, Андрес; Гонсалес-Редондо, Франсиско А.; Иглесиас, Майкл; Манчадо, Кристина; Отеро, Сезар (1 июня 2022 г.). «Механический калькулятор Торреса Кеведо для уравнений второй степени с комплексными коэффициентами» . Теория механизма и машин . 172 (8). IFToMM : 104830. doi : 10.1016/j.mechmachtheory.2022.104830 . hdl : 10902/24391 . S2CID 247503677 .
- ^ Торрес Кеведо, Леонардо (1901). «Машины на калькуляторе» . Мемуары, представленные различными учеными Академии наук Института Франции (на французском языке). XXXII . Показ национальный (Париж).
- ^ Халаси, Дэниел Стивен (1970). Чарльз Бэббидж, отец компьютера . Кроуэлл-Коллиер Пресс. ISBN 978-0-02-741370-0 .
- ^ О'Коннор, Джон Дж.; Робертсон, Эдмунд Ф. (1998). «Чарльз Бэббидж» . MacTutor Архив истории математики . Школа математики и статистики, Университет Сент-Эндрюс, Шотландия. Архивировано из оригинала 16 июня 2006 года . Проверено 14 июня 2006 г.
- ^ «Бэббидж» . Интернет-штуки . Музей науки. 19 января 2007 года. Архивировано из оригинала 7 августа 2012 года . Проверено 1 августа 2012 г.
- ^ Грэм-Камминг, Джон (23 декабря 2010 г.). «Давайте создадим совершенный механический компьютер Бэббиджа» . мнение . Новый учёный. Архивировано из оригинала 5 августа 2012 года . Проверено 1 августа 2012 г.
- ^ Л. Торрес Кеведо. Очерки автоматики – ее определение. Теоретическое расширение его приложений, Журнал Академии Точных Наук, Журнал 12, стр. 391–418, 1914.
- ^ Торрес Кеведо, Леонардо. Автомат: Дополнение к теории машин, (pdf) , стр. 575–583, Журнал общественных работ, 19 ноября 1914 г.
- ^ Рональд Т. Кнезель. Числа и компьютеры , Springer, стр. 84–85, 2017 г. ISBN 978-3-319-50508-4
- ^ Рэнделл 1982 , с. 6, 11–13.
- ^ Б. Рэнделл. Электромеханическая вычислительная машина, «Происхождение цифровых компьютеров», стр. 109–120, 1982.
- ^ Бромли 1990 .
- ^ Кристофер Мур. Стефан Мертенс. Природа вычислений , ОУП Оксфорд, с. 291, 2011. ISBN 978-0-199-23321-2
- ^ Рэнделл, Брайан. Цифровые компьютеры, История происхождения, (pdf) , с. 545, Цифровые компьютеры: происхождение, Энциклопедия информатики, январь 2003 г.
- ^ Перейти обратно: а б с д Современная история вычислительной техники . Стэнфордская энциклопедия философии. 2017. Архивировано из оригинала 12 июля 2010 года . Проверено 7 января 2014 г.
- ^ Цузе, Хорст. «Часть 4: Компьютеры Конрада Цузе Z1 и Z3» . Жизнь и творчество Конрада Цузе . ЭПЭ онлайн. Архивировано из оригинала 1 июня 2008 года . Проверено 17 июня 2008 г.
- ^ Беллис, Мэри (15 мая 2019 г.) [Впервые опубликовано в 2006 г. на сайте изобретателей.about.com/library/weekly/aa050298.htm]. «Биография Конрада Цузе, изобретателя и программиста первых компьютеров» . thinkco.com . Дотдаш Мередит. Архивировано из оригинала 13 декабря 2020 года . Проверено 3 февраля 2021 г.
Конрад Цузе получил полуофициальный титул «изобретатель современного компьютера». [ ВОЗ? ]
- ^ «Кто отец компьютера?» . КомпьютерНадежда .
- ^ Цузе, Конрад (2010) [1984]. Компьютер - моя жизнь. Перевод Маккенны, Патриции и Росс, Дж. Эндрю из: Компьютер, дело моей жизни (1984) . Берлин/Гейдельберг: Springer Verlag. ISBN 978-3-642-08151-4 .
- ^ Зальц Траутман, Пегги (20 апреля 1994 г.). «Пионер компьютеров, заново открытый, 50 лет спустя» . Нью-Йорк Таймс . Архивировано из оригинала 4 ноября 2016 года . Проверено 15 февраля 2017 г. .
- ^ Цузе, Конрад (1993). Компьютер. Дело моей жизни (на немецком языке) (3-е изд.). Берлин: Springer Verlag. п. 55. ИСБН 978-3-540-56292-4 .
- ^ «Авария! История ЭТОГО: Цузе» . Архивировано из оригинала 18 сентября 2016 года . Проверено 1 июня 2016 г.
- ^ Рохас, Р. (1998). «Как сделать Zuse Z3 универсальным компьютером». IEEE Анналы истории вычислений . 20 (3): 51–54. дои : 10.1109/85.707574 . S2CID 14606587 .
- ^ Рохас, Рауль. «Как сделать Z3 Zuse универсальным компьютером» (PDF) . fu-berlin.de . Архивировано (PDF) из оригинала 9 августа 2017 года . Проверено 28 сентября 2015 г.
- ^ Перейти обратно: а б О'Риган, Джерард (2010). Краткая история вычислений . Спрингер Природа. п. 65. ИСБН 978-3-030-66599-9 .
- ^ "уведомление". Регистр Де-Мойна . 15 января 1941 года.
- ^ Артур В. Беркс (1989). Первый электронный компьютер . Издательство Мичиганского университета. ISBN 0-472-08104-7 . Проверено 1 июня 2019 г.
- ^ Перейти обратно: а б с д Коупленд, Джек (2006). Колосс: Секреты компьютеров для взлома кодов в Блетчли-Парке . Оксфорд: Издательство Оксфордского университета . стр. 101–115. ISBN 978-0-19-284055-4 .
- ^ Миллер, Джо (10 ноября 2014 г.). «Женщина, взломавшая шифры «Энигмы»» . Новости Би-би-си . Архивировано из оригинала 10 ноября 2014 года . Проверено 14 октября 2018 г.
- ^ Беарн, Сюзанна (24 июля 2018 г.). «Познакомьтесь с женщинами-взломщиками кодов из Блетчли-Парка» . Хранитель . Архивировано из оригинала 7 февраля 2019 года . Проверено 14 октября 2018 г.
- ^ «Колосс Блетчли для взлома кодов» . Би-би-си . Архивировано из оригинала 4 февраля 2010 года . Проверено 24 ноября 2021 г.
- ^ «Колосс – История восстановления» . Национальный музей вычислительной техники . Архивировано из оригинала 18 апреля 2015 года . Проверено 7 января 2014 г.
- ^ Рэнделл, Брайан ; Фенсом, Гарри; Милн, Фрэнк А. (15 марта 1995 г.). «Некролог: Аллен Кумбс» . Независимый . Архивировано из оригинала 3 февраля 2012 года . Проверено 18 октября 2012 г.
- ^ Фенсом, Джим (8 ноября 2010 г.). «Некролог Гарри Фенсома» . Хранитель . Архивировано из оригинала 17 сентября 2013 года . Проверено 17 октября 2012 г.
- ^ Джон Преспер Эккерт-младший и Джон В. Мочли, электронный цифровой интегратор и компьютер, Патентное ведомство США, патент США № 3,120,606, подан 26 июня 1947 г., выдан 4 февраля 1964 г. и признан недействительным 19 октября 1973 г. после решения суда по делу Honeywell против Сперри. Рэнд .
- ^ Эванс 2018 , с. 39.
- ^ Свет 1999 , с. 459.
- ^ «Поколения компьютера» . techiwarehouse.com. Архивировано из оригинала 2 июля 2015 года . Проверено 7 января 2014 г.
- ^ Тьюринг, AM (1937). «О вычислимых числах с применением к проблеме Entscheidungs». Труды Лондонского математического общества . 2. 42 (1): 230–265. дои : 10.1112/plms/s2-42.1.230 . S2CID 73712 .
- ^ Коупленд, Джек (2004). Эссенциальный Тьюринг . п. 22:
фон Нейман ... твердо подчеркнул мне и другим, я уверен, что фундаментальная концепция принадлежит Тьюрингу - насколько это не было предвосхищено Бэббиджем, Лавлейсом и другими.
Письмо Стэнли Франкеля Брайану Рэнделлу , 1972 год. - ^ Энтикнап, Николас (лето 1998 г.). «Золотой юбилей компьютерной техники» . Воскресение (20). ISSN 0958-7403 . Архивировано из оригинала 9 января 2012 года . Проверено 19 апреля 2008 г.
- ^ «Ранние компьютеры в Манчестерском университете» . Воскресение . 1 (4). Лето 1992 г. ISSN 0958-7403 . Архивировано из оригинала 28 августа 2017 года . Проверено 7 июля 2010 г.
- ^ «Ранние электронные компьютеры (1946–51)» . Университет Манчестера. Архивировано из оригинала 5 января 2009 года . Проверено 16 ноября 2008 г.
- ^ Нэппер, RBE «Знакомство с Mark 1» . Манчестерский университет. Архивировано из оригинала 26 октября 2008 года . Проверено 4 ноября 2008 г.
- ^ «Наше пилотное исследование компьютерного наследия: поставки компьютеров Ferranti Mark I и Mark I Star» . Общество охраны компьютеров . Архивировано из оригинала 11 декабря 2016 года . Проверено 9 января 2010 г.
- ^ Лавингтон, Саймон. «Краткая история британских компьютеров: первые 25 лет (1948–1973)» . Британское компьютерное общество . Архивировано из оригинала 5 июля 2010 года . Проверено 10 января 2010 г.
- ^ Ли, Томас Х. (2003). Проектирование КМОП радиочастотных интегральных схем (PDF) . Издательство Кембриджского университета . ISBN 978-1-139-64377-1 . Архивировано из оригинала (PDF) 9 декабря 2019 года . Проверено 31 июля 2019 г.
- ^ Пуэрс, Роберт; Бальди, Ливио; Вурде, Марсель Ван де; Нутен, Себастьян Э. ван (2017). Наноэлектроника: материалы, устройства, применение, 2 тома . Джон Уайли и сыновья . п. 14. ISBN 978-3-527-34053-8 . Проверено 31 июля 2019 г.
- ^ Перейти обратно: а б Московиц, Сэнфорд Л. (2016). Инновации в области передовых материалов: управление глобальными технологиями в 21 веке . Джон Уайли и сыновья . стр. 165–167. ISBN 978-0-470-50892-3 . Проверено 28 августа 2019 г.
- ^ Лавингтон 1998 , стр. 34–35.
- ^ Перейти обратно: а б Кук-Ярборо, Э.Г. (июнь 1998 г.). «Некоторые ранние применения транзисторов в Великобритании» . Журнал инженерной науки и образования . 7 (3): 100–106. дои : 10.1049/esej:19980301 . ISSN 0963-7346 . Архивировано из оригинала 8 ноября 2020 года . Проверено 7 июня 2009 г. (требуется подписка)
- ^ Кук-Ярборо, Э.Г. (1957). Введение в транзисторные схемы . Эдинбург: Оливер и Бойд. п. 139.
- ^ «1960: Демонстрация металлооксидно-полупроводникового (МОП) транзистора» . Кремниевый двигатель: хронология полупроводников в компьютерах . Музей истории компьютеров . Архивировано из оригинала 27 октября 2019 года . Проверено 31 августа 2019 г.
- ^ Мотоёси, М. (2009). «Сквозное кремниевое отверстие (ТСВ)». Труды IEEE . 97 (1): 43–48. дои : 10.1109/JPROC.2008.2007462 . ISSN 0018-9219 . S2CID 29105721 .
- ^ Янг, Ян (12 декабря 2018 г.). «Транзисторы поддерживают закон Мура» . ЭТаймс . Архивировано из оригинала 24 сентября 2019 года . Проверено 18 июля 2019 г.
- ^ Лоус, Дэвид (4 декабря 2013 г.). «Кто изобрел транзистор?» . Музей истории компьютеров . Архивировано из оригинала 13 декабря 2013 года . Проверено 20 июля 2019 г.
- ^ Перейти обратно: а б Хиттингер, Уильям К. (1973). «Технология металл-оксид-полупроводник». Научный американец . 229 (2): 48–59. Бибкод : 1973SciAm.229b..48H . doi : 10.1038/scientificamerican0873-48 . ISSN 0036-8733 . JSTOR 24923169 .
- ^ Мальмштадт, Ховард В.; Энке, Кристи Г.; Крауч, Стэнли Р. (1994). Создание правильных соединений: микрокомпьютеры и электронные приборы . Американское химическое общество . п. 389. ИСБН 978-0-8412-2861-0 . Проверено 28 августа 2019 г.
Относительная простота и малое энергопотребление МОП-транзисторов способствовали современной микрокомпьютерной революции.
- ^ Фоссум, Джерри Г .; Триведи, Вишал П. (2013). Основы создания сверхтонких МОП-транзисторов и FinFET . Издательство Кембриджского университета . п. VII. ISBN 978-1-107-43449-3 . Проверено 28 августа 2019 г.
- ^ Марриотт, JW (10 июня 2019 г.). «Выступление директора Янку на Международной конференции по интеллектуальной собственности 2019 года» . Ведомство США по патентам и товарным знакам . Архивировано из оригинала 17 декабря 2019 года . Проверено 20 июля 2019 г.
- ^ «Давон Кан» . Национальный зал славы изобретателей . Архивировано из оригинала 27 октября 2019 года . Проверено 27 июня 2019 г.
- ^ «Мартин Аталла в Зале славы изобретателей, 2009» . Архивировано из оригинала 19 сентября 2019 года . Проверено 21 июня 2013 г.
- ^ Триумф МОП-транзистора . Музей истории компьютеров . 6 августа 2010 г. Архивировано из оригинала 18 августа 2021 г. Проверено 21 июля 2019 г. - через YouTube.
- ^ «Несчастная история Джеффри Даммера». Архивировано 11 мая 2013 года в Wayback Machine , (nd), (HTML), Electronic Product News , по состоянию на 8 июля 2008 года.
- ^ Килби, Джек (2000). «Нобелевская лекция» (PDF) . Стокгольм: Нобелевский фонд. Архивировано (PDF) из оригинала 29 мая 2008 г. Проверено 15 мая 2008 г.
- ↑ Чип, который построил Джек. Архивировано 1 мая 2015 года в Wayback Machine (ок. 2008 г.), (HTML), Texas Instruments, дата обращения 29 мая 2008 г.
- ^ Джек С. Килби, Миниатюрные электронные схемы, Патентное ведомство США, патент США № 3,138,743, подан 6 февраля 1959 г., выдан 23 июня 1964 г.
- ^ Уинстон, Брайан (1998). Медиа-технологии и общество: история: от телеграфа к Интернету . Рутледж. п. 221. ИСБН 978-0-415-14230-4 . Проверено 6 июня 2020 г.
- ^ Саксена, Арджун Н. (2009). Изобретение интегральных схем: неописанные важные факты . Всемирная научная . п. 140. ИСБН 978-981-281-445-6 . Проверено 28 августа 2019 г.
- ^ Перейти обратно: а б «Интегральные схемы» . НАСА . Архивировано из оригинала 21 июля 2019 года . Проверено 13 августа 2019 г.
- ^ Роберта Нойса , Унитарная схема Патент США № 2981877 «Полупроводниковое устройство и выводная структура», выданный 25 апреля 1961 г., передан компании Fairchild Semiconductor Corporation .
- ^ «1959: Запатентована практическая концепция монолитной интегральной схемы» . Музей истории компьютеров . Архивировано из оригинала 24 октября 2019 года . Проверено 13 августа 2019 г.
- ^ Лоек, Бо (2007). История полупроводниковой техники . Springer Science & Business Media . п. 120 . ISBN 978-3-540-34258-8 .
- ^ Бассетт, Росс Нокс (2007). В эпоху цифровых технологий: исследовательские лаборатории, стартапы и развитие MOS-технологий . Издательство Университета Джонса Хопкинса. п. 46. ИСБН 978-0-8018-8639-3 . Проверено 31 июля 2019 г.
- ^ Хафф, Ховард Р.; Цуя, Х.; Гёзеле, У. (1998). Кремниевое материаловедение и технология: материалы восьмого международного симпозиума по кремниевому материаловедению и технологии . Электрохимическое общество . стр. 181–182. ISBN 978-1-56677-193-1 . Проверено 28 августа 2019 г.
- ^ Перейти обратно: а б Куо, Юэ (1 января 2013 г.). «Технология тонкопленочных транзисторов — прошлое, настоящее и будущее» (PDF) . Интерфейс электрохимического общества . 22 (1): 55–61. Бибкод : 2013ECSIn..22a..55K . дои : 10.1149/2.F06131if . ISSN 1064-8208 . Архивировано (PDF) из оригинала 29 августа 2017 года . Проверено 31 июля 2019 г.
- ^ Перейти обратно: а б «Черепаха транзисторов побеждает в гонке – революция CHM» . Музей истории компьютеров . Архивировано из оригинала 10 марта 2020 года . Проверено 22 июля 2019 г.
- ^ «1964 – Представлена первая коммерческая МОП-ИС» . Музей истории компьютеров . Архивировано из оригинала 22 декабря 2015 года . Проверено 31 июля 2019 г.
- ^ «1968: Разработана технология кремниевых затворов для микросхем» . Музей истории компьютеров . Архивировано из оригинала 29 июля 2020 года . Проверено 22 июля 2019 г.
- ^ Перейти обратно: а б «1971: Микропроцессор объединяет функции ЦП в одном кристалле» . Музей истории компьютеров . Архивировано из оригинала 12 августа 2021 года . Проверено 22 июля 2019 г.
- ^ Колинг, Жан-Пьер; Грир, Джеймс К. (2016). Нанопроволочные транзисторы: физика устройств и материалов в одном измерении . Издательство Кембриджского университета . п. 2. ISBN 978-1-107-05240-6 . Проверено 31 июля 2019 г.
- ^ «Первый микропроцессор Intel — Intel 4004» . Intel Corp., ноябрь 1971 г. Архивировано из оригинала 13 мая 2008 г. Проверено 17 мая 2008 г.
- ^ Паттерсон, Дэвид; Хеннесси, Джон (1998). Компьютерная организация и дизайн . Сан-Франциско: Морган Кауфманн . стр. 27–39 . ISBN 978-1-55860-428-5 .
- ^ Федерико Фаггин , Создание первого микропроцессора , Журнал IEEE Solid-State Circuits , зима 2009 г., IEEE Xplore
- ^ Перейти обратно: а б «7 потрясающих улучшений смартфона с чипом Qualcomm Snapdragon 835» . 3 января 2017 г. Архивировано из оригинала 30 сентября 2019 г. . Проверено 5 апреля 2019 г.
- ^ Шартье, Дэвид (23 декабря 2008 г.). «Глобальные поставки ноутбуков наконец-то обогнали настольные компьютеры» . Арс Техника . Архивировано из оригинала 4 июля 2017 года . Проверено 14 июня 2017 г.
- ^ IDC (25 июля 2013 г.). «По данным IDC, рост мировых рынков мобильных телефонов и смартфонов во втором квартале ускоряется» . Архивировано из оригинала 26 июня 2014 года.
- ^ «Программа просмотра Ngram Google Книг» . book.google.com .
- ^ «Программа просмотра Ngram Google Книг» . book.google.com .
- ^ «Программа просмотра Ngram Google Книг» . book.google.com .
- ^ «Программа просмотра Ngram Google Книг» . book.google.com .
- ^ Дэвид Дж. Эк (2000). Самая сложная машина: обзор компьютеров и вычислительной техники . АК Петерс, ООО с. 54. ИСБН 978-1-56881-128-4 .
- ^ Эррикос Джон Контогиоргес (2006). Справочник по параллельным вычислениям и статистике . ЦРК Пресс. п. 45. ИСБН 978-0-8247-4067-2 .
- ^ Верма и Мильке 1988 .
- ^ Дональд Иди (1968). Введение в базовый компьютер . Прентис-Холл. п. 12.
- ^ Арпад Барна; Дэн И. Порат (1976). Введение в микрокомпьютеры и микропроцессоры . Уайли. п. 85 . ISBN 978-0-471-05051-3 .
- ^ Джерри Пик; Грейс Тодино; Джон Стрэнг (2002). Изучение операционной системы UNIX: краткое руководство для нового пользователя . О'Рейли. п. 130 . ISBN 978-0-596-00261-9 .
- ^ Джиллиан М. Дэвис (2002). Снижение шума в речевых приложениях . ЦРК Пресс. п. 111. ИСБН 978-0-8493-0949-6 .
- ^ ТОП500 2006 , с. [ нужна страница ] .
- ^ Крагон, Харви (2000). Компьютерная архитектура и реализация . Издательство Кембриджского университета. п. 5. ISBN 978-0-521-65168-4 . Архивировано из оригинала 30 июля 2022 года . Проверено 10 июня 2022 г.
- ^ Сюй, Живэй; Чжан, Цзялин (2021). Вычислительное мышление: взгляд на информатику . Сингапур: Спрингер. п. 60. ИСБН 978-981-16-3848-0 . Архивировано из оригинала 30 июля 2022 года . Проверено 10 июня 2022 г.
Это называется архитектурой хранимой программы или моделью хранимой программы, также известной как архитектура фон Неймана. Мы будем использовать эти термины взаимозаменяемо.
- ^ Рональд Дж. Лич (27 января 2016 г.). Введение в программную инженерию . ЦРК Пресс. п. 11. ISBN 978-1-4987-0528-8 . Проверено 26 ноября 2022 г.
- ^ Хун Чжу (22 марта 2005 г.). Методология проектирования программного обеспечения: от принципов к архитектурным стилям . Эльзевир. стр. 47–72. ISBN 978-0-08-045496-2 . Проверено 26 ноября 2022 г.
- ^ Рональд Дж. Лич (27 января 2016 г.). Введение в программную инженерию . ЦРК Пресс. п. 56. ИСБН 978-1-4987-0528-8 . Проверено 26 ноября 2022 г.
- ^ Джон Найт (12 января 2012 г.). Основы надежных вычислений для инженеров-программистов . ЦРК Пресс. п. 186. ИСБН 978-1-4665-1821-6 . Проверено 26 ноября 2022 г.
- ^ Фредерик П. Брукс (младший) (1975). Мифический человеко-месяц: Очерки программной инженерии . Издательство Аддисон-Уэсли. ISBN 978-0-201-00650-6 . Проверено 26 ноября 2022 г.
- ^ Ян Соммервилл (2007). Программная инженерия . Пирсон Образование. стр. 4–17. ISBN 978-0-321-31379-9 . Проверено 26 ноября 2022 г.
- ^ «Почему компьютеры выходят из строя?» . Научный американец . Архивировано из оригинала 1 мая 2018 года . Проверено 3 марта 2022 г.
- ^ Тейлор, Александр Л. III (16 апреля 1984 г.). «Волшебник внутри машины» . Время . Архивировано из оригинала 16 марта 2007 года . Проверено 17 февраля 2007 г.
- ^ Агата К. Хьюз (2000). Системы, эксперты и компьютеры . МТИ Пресс . п. 161. ИСБН 978-0-262-08285-3 .
Опыт SAGE помог создать первую по-настоящему крупномасштабную коммерческую сеть реального времени: компьютеризированную систему бронирования авиабилетов SABRE.
- ^ Лейнер, Барри М.; Серф, Винтон Г.; Кларк, Дэвид Д.; Кан, Роберт Э.; Кляйнрок, Леонард; Линч, Дэниел К.; Постел, Джон; Робертс, Ларри Г.; Вольф, Стивен (1999). «Краткая история Интернета». arXiv : cs/9901011 .
- ^ «Определение компьютера» . Thefreedictionary.com. Архивировано из оригинала 26 декабря 2009 года . Проверено 29 января 2012 г.
- ^ II, Джозеф Д. Дюма (2005). Компьютерная архитектура: основы и принципы компьютерного проектирования . ЦРК Пресс. п. 340. ИСБН 978-0-8493-2749-0 . Проверено 9 ноября 2020 г.
Источники
- Боуден, Б.В. (1953). Быстрее, чем думалось . Нью-Йорк, Торонто, Лондон: Издательская корпорация Pitman.
- Беркли, Эдмунд (1949). Гигантские мозги, или Машины, которые думают . Джон Уайли и сыновья.
- Бромли, Аллан Г. (1990). «Разностные и аналитические машины». В Эспрее, Уильям (ред.). Вычисления до появления компьютеров (PDF) . Эймс: Издательство Университета штата Айова. стр. 59–98. ISBN 978-0-8138-0047-9 . Архивировано (PDF) из оригинала 9 октября 2022 года.
- Коэн, Бернард (2000). «Говард Эйкен, Портрет пионера компьютеров» . Физика сегодня . 53 (3). Кембридж, Массачусетс: MIT Press: 74–75. Бибкод : 2000PhT....53c..74C . дои : 10.1063/1.883007 . ISBN 978-0-262-53179-5 .
- Кольер, Брюс (1970). Маленький двигатель, который мог бы: Счетные машины Чарльза Бэббиджа . Издательство «Гирлянда». ISBN 978-0-8240-0043-1 . Архивировано из оригинала 20 января 2007 года . Проверено 24 октября 2013 г.
- Куффиньяль, Луи (1933). Счетные машины; их принципы, их эволюция . Париж: Готье-Виллар.
- Корпорация цифрового оборудования (1972). Справочник по процессору PDP-11/40 (PDF) . Мейнард, Массачусетс : Корпорация цифрового оборудования. Архивировано (PDF) из оригинала 1 декабря 2017 года . Проверено 27 ноября 2017 г.
- Суэйд, Дорон Д. (февраль 1993 г.). «Искупление механического компьютера Чарльза Бэббиджа». Научный американец . 268 (2): 86–91. Бибкод : 1993SciAm.268b..86S . doi : 10.1038/scientificamerican0293-86 . JSTOR 24941379 .
- Эссингер, Джеймс (2004). Жаккардовая паутина. Как ручной ткацкий станок привел к зарождению информационного века . Издательство Оксфордского университета. ISBN 978-0-19-280577-5 .
- Эванс, Клэр Л. (2018). Широкий диапазон: нерассказанная история женщин, создавших Интернет . Нью-Йорк: Портфолио/Пингвин. ISBN 978-0-7352-1175-9 . Проверено 9 ноября 2020 г.
- Фелт, Дорр Э. (1916). Механическая арифметика, или История счетной машины . Чикаго: Вашингтонский институт.
- Ифра, Жорж (2001). Универсальная история вычислений: от счетов до квантового компьютера . Нью-Йорк: Джон Уайли и сыновья. ISBN 978-0-471-39671-0 .
- Лавингтон, Саймон (1998). История компьютеров в Манчестере (2-е изд.). Суиндон: Британское компьютерное общество. ISBN 978-0-902505-01-8 .
- Лигоньер, Робер (1987). Предыстория и история компьютеров . Париж: Роберт Лаффон. ISBN 978-2-221-05261-7 .
- Лайт, Дженнифер С. (1999). «Когда компьютеры были женщинами». Технологии и культура . 40 (3): 455–483. дои : 10.1353/tech.1999.0128 . JSTOR 25147356 . S2CID 108407884 .
- Мейер, Ганс ; Штромайер, Эрих; Саймон, Хорст; Донгарра, Джек (13 ноября 2006 г.). «Архитектуры делятся с течением времени» . ТОП500 . Архивировано из оригинала 20 февраля 2007 года . Проверено 27 ноября 2006 г.
- Мозли, Мабот (1964). Вспыльчивый гений, Чарльз Бэббидж, изобретатель . Лондон: Хатчинсон.
- Рэнделл, Брайан (1982). «От аналитической машины к электронному цифровому компьютеру: вклад Ладгейта, Торреса и Буша» (PDF) . Архивировано из оригинала (PDF) 21 сентября 2013 года . Проверено 29 октября 2013 г.
- Шмандт-Бессера, Дениз (1999). «Токены: когнитивное значение» . Документа Преисторика . XXVI . Архивировано из оригинала 30 января 2012 года.
- Шмандт-Бессера, Дениз (1981). «Расшифровка древнейших табличек». Наука . 211 (4479): 283–285. Бибкод : 1981Sci...211..283S . дои : 10.1126/science.211.4479.283 . ПМИД 17748027 .
- Смит, Эрика Э. (2013). «Признание коллективного наследия через историю женщин в области вычислений» . CLCWeb: Сравнительная литература и культура . 15 (1): 1–9. дои : 10.7771/1481-4374.1972 .
- Верма, Г.; Мильке, Н. (1988). Надежность флэш-памяти на основе ETOX . Международный симпозиум IEEE по физике надежности.
- Цузе, Конрад (1993). Компьютер – Моя жизнь . Берлин: Издательство Pringler. ISBN 978-0-387-56453-1 .
Внешние ссылки
- СМИ, связанные с компьютерами , на Викискладе?
- В Викиверситете есть викторина по этой статье.