Knowledge (XXG)

von Neumann architecture

Source đź“ť

543:
research engineers on the staff of the Laboratory, assisted by a number of production engineers from the English Electric Company, Limited. The equipment so far erected at the Laboratory is only the pilot model of a much larger installation which will be known as the Automatic Computing Engine, but although comparatively small in bulk and containing only about 800 thermionic valves, as can be judged from Plates XII, XIII and XIV, it is an extremely rapid and versatile calculating machine.
547:
was made at the National Physical Laboratory by Mr. J. R. Womersley, then superintendent of the Mathematics Division of the Laboratory. He was joined by Dr. Turing and a small staff of specialists, and, by 1947, the preliminary planning was sufficiently advanced to warrant the establishment of the special group already mentioned. In April, 1948, the latter became the Electronics Section of the Laboratory, under the charge of Mr. F. M. Colebrook.
43: 917: 969:(CPU) and memory compared to the amount of memory. Because the single bus can only access one of the two classes of memory at a time, throughput is lower than the rate at which the CPU can work. This seriously limits the effective processing speed when the CPU is required to perform minimal processing on large amounts of data. The CPU is continually 465:
term) but I am sure that he would never have made that mistake himself. He might well be called the midwife, perhaps, but he firmly emphasized to me, and to others I am sure, that the fundamental conception is owing to Turing—in so far as not anticipated by Babbage.... Both Turing and von Neumann, of course, also made substantial contributions to the "
513:
of the machine that has since become known as the E.D.V.A.C. (electronic discrete variable automatic computer). This machine has only recently been completed in America, but the von Neumann report inspired the construction of the E.D.S.A.C. (electronic delay-storage automatic calculator) in Cambridge (see p. 130).
464:
I know that in or about 1943 or '44 von Neumann was well aware of the fundamental importance of Turing's paper of 1936.... Von Neumann introduced me to that paper and at his urging I studied it with care. Many people have acclaimed von Neumann as the "father of the computer" (in a modern sense of the
1446:
ENIAC project administrator Grist Brainerd's December 1943 progress report for the first period of the ENIAC's development implicitly proposed the stored program concept (while simultaneously rejecting its implementation in the ENIAC) by stating that "in order to have the simplest project and not to
546:
The basic concepts and abstract principles of computation by a machine were formulated by Dr. A. M. Turing, F.R.S., in a paper. read before the London Mathematical Society in 1936, but work on such machines in Britain was delayed by the war. In 1945, however, an examination of the problems
512:
In 1945, Professor J. von Neumann, who was then working at the Moore School of Engineering in Philadelphia, where the E.N.I.A.C. had been built, issued on behalf of a group of his co-workers, a report on the logical design of digital computers. The report contained a detailed proposal for the design
516:
In 1947, Burks, Goldstine and von Neumann published another report that outlined the design of another type of machine (a parallel machine this time) that would be exceedingly fast, capable perhaps of 20,000 operations per second. They pointed out that the outstanding problem in constructing such a
542:
One of the most modern digital computers which embodies developments and improvements in the technique of automatic electronic computing was recently demonstrated at the National Physical Laboratory, Teddington, where it has been designed and built by a small team of mathematicians and electronics
231:
or games. Changing the program of a fixed-program machine requires rewiring, restructuring, or redesigning the machine. The earliest computers were not so much "programmed" as "designed" for a particular task. "Reprogramming"—when possible at all—was a laborious process that started with
993:
back and forth through the von Neumann bottleneck. Not only is this tube a literal bottleneck for the data traffic of a problem, but, more importantly, it is an intellectual bottleneck that has kept us tied to word-at-a-time thinking instead of encouraging us to think in terms of the larger
766:
The date information in the following chronology is difficult to put into proper order. Some dates are for first running a test program, some dates are the first time the computer was demonstrated or completed, and some dates are for the first delivery or installation.
437:. It required huge amounts of calculation, and thus drew him to the ENIAC project, during the summer of 1944. There he joined the ongoing discussions on the design of this stored-program computer, the EDVAC. As part of that group, he wrote up a description titled 469:" of these concepts but I would not regard these as comparable in importance with the introduction and explication of the concept of a computer able to store in its memory its program of activities and of modifying that program in the course of these activities. 973:
for needed data to move to or from memory. Since CPU speed and memory size have increased much faster than the throughput between them, the bottleneck has become more of a problem, a problem whose severity increases with every new generation of CPU.
494:
Both von Neumann's and Turing's papers described stored-program computers, but von Neumann's earlier paper achieved greater circulation and the computer architecture it outlined became known as the "von Neumann architecture". In the 1953 publication
994:
conceptual units of the task at hand. Thus programming is basically planning and detailing the enormous traffic of words through the von Neumann bottleneck, and much of that traffic concerns not significant data itself, but where to find it.
529:. This machine—completed in June, 1952 in Princeton—has become popularly known as the Maniac. The design of this machine inspired at least half a dozen machines now being built in America, all known affectionately as "Johniacs". 1128:
Aside from the von Neumann bottleneck, program modifications can be quite harmful, either by accident or design. In some simple stored-program computer designs, a malfunctioning program can damage itself, other programs, or the
445:
circulated it, and bore only von Neumann's name (to the consternation of Eckert and Mauchly). The paper was read by dozens of von Neumann's colleagues in America and Europe, and influenced the next round of computer designs.
263:. One early motivation for such a facility was the need for a program to increment or otherwise modify the address portion of instructions, which operators had to do manually in early designs. This became less important when 299:, and other automated programming tools possible. It makes "programs that write programs" possible. This has made a sophisticated self-hosting computing ecosystem flourish around von Neumann architecture machines. 817:
was the first fully electronic computer to run a stored program. It ran a factoring program for 52 minutes on June 21, 1948, after running a simple division program and a program to show that two numbers were
4208: 236:
and paper notes, followed by detailed engineering designs, and then the often-arduous process of physically rewiring and rebuilding the machine. It could take three weeks to set up and debug a program on
1094:
As of 1996, a database benchmark study found that three out of four CPU cycles were spent waiting for memory. Researchers expect that increasing the number of simultaneous instruction streams with
608: 560:
described a design that was used by many universities and corporations to construct their computers. Among these various computers, only ILLIAC and ORDVAC had compatible instruction sets.
3285: 207:
between the CPU and memory, and, for the caches closest to the CPU, have separate caches for instructions and data, so that most instruction and data fetches use separate buses (
525:"—which the Princeton Laboratories of RCA had invented. These tubes were expensive and difficult to make, so von Neumann subsequently decided to build a machine based on the 219:
The earliest computing machines had fixed programs. Some very simple computers still use this design, either for simplicity or training purposes. For example, a desk
2257: 4213: 3396: 2579: 3098: 855: 851:
developed from the Baby project. An intermediate version of the Mark 1 was available to run programs in April 1949, but was not completed until October 1949.
426:. This was the first time the construction of a practical stored-program machine was proposed. At that time, he and Mauchly were not aware of Turing's work. 337:
can be accelerated on general purpose processors with just-in-time compilation techniques. This is one use of self-modifying code that has remained popular.
3255: 2821: 2638: 928:
Through the decades of the 1960s and 1970s computers generally became both smaller and faster, which led to evolutions in their architecture. For example,
491:, that was subsequently maintained for several decades, prevented him from saying so. Various successful implementations of the ACE design were produced. 940:
could be used to provide a modular system with lower cost. This is sometimes called a "streamlining" of the architecture. In subsequent decades, simple
2601: 1154: 2114: 487:
on February 19, 1946. Although Turing knew from his wartime experience at Bletchley Park that what he proposed was feasible, the secrecy surrounding
3250: 1791: 3322: 680: 1003:
There are several known methods for mitigating the Von Neumann performance bottleneck. For example, the following all can improve performance:
3075: 1095: 411: 2104: 2047: 1828: 161:(which has one dedicated set of address and data buses for reading and writing to memory and another set of address and data buses to fetch 4019: 3143: 2406: 2250: 72: 4029: 3170: 626: 618: 203:
The vast majority of modern computers use the same hardware mechanism to encode and store both data and program instructions, but have
2297: 1738: 2066: 1208: 3337: 3165: 3138: 2517: 2203: 2180: 2152: 2023: 1998: 1709: 1535: 1423: 578: 184:. Stored-program computers were an advancement over the manually reconfigured or fixed function computers of the 1940s, such as the 2488: 4152: 3715: 2608: 2574: 2569: 2453: 670: 517:
machine was the development of suitable memory with instantaneously accessible contents. At first they suggested using a special
484: 452:
considers that it is "historically inappropriate to refer to electronic stored-program digital computers as 'von Neumann machines
775:
had the ability to treat instructions as data, and was publicly demonstrated on January 27, 1948. This ability was claimed in a
4127: 4024: 3425: 3332: 3133: 2376: 2354: 2243: 1500: 1473: 380:
became acquainted with Turing while he was a visiting professor at Cambridge in 1935, and also during Turing's PhD year at the
303: 4188: 2872: 2307: 803: 568: 434: 376:". The hypothetical machine had an infinite store (memory in today's terminology) that contained both instructions and data. 271:
became usual features of machine architecture. Another use was to embed frequently used data in the instruction stream using
2015: 944:
would sometimes omit features of the model to lower cost and size. Larger computers added features for higher performance.
422:, Eckert wrote in January 1944 that they would store data and programs in a new addressable memory device, a mercury metal 395:
also anticipated, in two patent applications, that machine instructions could be stored in the same storage used for data.
4223: 4203: 3327: 3175: 3009: 2623: 2584: 2441: 1019: 738: 706: 636: 208: 4193: 3764: 3609: 3604: 3526: 3002: 2963: 2618: 2613: 2547: 2359: 2031: 2007: 1591: 1091:
were, but internally, that is still what computers spend much of their time doing, even highly parallel supercomputers.
990: 650: 381: 2483: 1255: 3391: 3088: 2786: 1084: 696: 1079:
that Backus criticized has changed much since 1977. Backus's proposed solution has not had a major influence. Modern
4041: 3688: 3105: 2596: 2564: 2334: 2322: 2302: 2172: 1527: 479: 415: 334: 244:
With the proposal of the stored-program computer, this changed. A stored-program computer includes, by design, an
4218: 4198: 4132: 4095: 4085: 2473: 2195: 2039: 1068: 2220: 865:
was delivered in August 1949, but it had problems that kept it from being put into regular operation until 1951.
4147: 3554: 3490: 3467: 3317: 3279: 3115: 3065: 3060: 2537: 2339: 2084: 1730: 776: 598: 373: 315: 35: 2344: 1944: 1913: 989:
Surely there must be a less primitive way of making big changes in the store than by pushing vast numbers of
4100: 3883: 3777: 3741: 3658: 3642: 3484: 3273: 3232: 3220: 3083: 2997: 2918: 2683: 2287: 2096: 1159: 966: 829:
was modified to run as a primitive read-only stored-program computer (using the Function Tables for program
660: 640: 588: 354: 169: 139: 85: 31: 1655:, report number UIUCDCS-R-1955–146, Digital Computer Laboratory, University of Illinois at Urbana-Champaign 844:
ran some test programs in February, March, and April 1949, although was not completed until September 1949.
3906: 3878: 3788: 3753: 3502: 3496: 3478: 3212: 3206: 3110: 3014: 2905: 2844: 2706: 2349: 2123: 1616:
Campbell-Kelly, Martin (April 1982). "The Development of Computer Programming in Britain (1945 to 1955)".
1080: 1849:"Can Programming Be Liberated from the von Neumann Style? A Functional Style and Its Algebra of Programs" 1755: 4080: 3989: 3735: 3447: 3265: 3024: 2992: 2950: 2862: 2663: 2478: 2468: 2458: 2448: 2418: 2401: 2266: 1952: 1921: 1169: 1087:
are much less geared towards "pushing vast numbers of words back and forth" than earlier languages like
1048: 466: 385: 89: 63: 1217: 1145:
and various access controls generally safeguard against both accidental and malicious program changes.
2225: 306:
leverage the von Neumann architecture by providing an abstract, machine-independent way to manipulate
4110: 4046: 3632: 3354: 3244: 3191: 2723: 2436: 2292: 2274: 1766: 1375: 1174: 1107: 1103: 897: 360: 319: 158: 103: 4157: 3759: 4142: 3962: 3813: 3795: 3747: 3401: 3348: 3153: 3148: 3125: 3041: 2923: 2778: 2673: 2532: 2091:
Copeland, Jack (2006), "Colossus and the Rise of the Modern Computer", in Copeland, B. Jack (ed.),
1891: 1820: 1164: 1123: 795: 260: 4014: 4006: 3858: 3833: 3637: 3512: 3036: 2977: 2857: 2589: 2317: 1888: 1870: 1667: 1633: 1393: 1330: 1064: 1052: 473:
At the time that the "First Draft" report was circulated, Turing was producing a report entitled
296: 292: 93: 1343:(1938), "On Computable Numbers, with an Application to the Entscheidungsproblem. A correction", 1518:(1972), Meltzer, B.; Michie, D. (eds.), "On Alan Turing and the Origins of Digital Computers", 3967: 3934: 3850: 3782: 3683: 3673: 3663: 3594: 3589: 3584: 3507: 3436: 3342: 3302: 2935: 2885: 2835: 2811: 2693: 2633: 2628: 2510: 2426: 2199: 2176: 2148: 2100: 2043: 2019: 1994: 1824: 1734: 1705: 1531: 1429: 1419: 1142: 1134: 1033: 929: 848: 702: 594: 488: 430: 423: 399: 284: 185: 162: 143: 2062:. 1977 ACM Turing Award Lecture. Communications of the ACM, August 1978, Volume 21, Number 8 1814: 4137: 4070: 3911: 3818: 3772: 3579: 3574: 3569: 3564: 3559: 3549: 3419: 3386: 3297: 3292: 3201: 3053: 3048: 3031: 3019: 2958: 2522: 2500: 2386: 2364: 2282: 2162: 1860: 1625: 1383: 1348: 1322: 1204: 1130: 1044: 1040: 1026: 1018:
providing separate caches or separate access paths for data and instructions (the so-called
941: 830: 819: 780: 722: 442: 377: 249: 173: 131: 116: 77: 67: 4051: 4036: 3984: 3888: 3863: 3700: 3693: 3544: 3539: 3534: 3473: 3381: 3371: 3093: 2928: 2880: 2643: 2527: 2495: 2396: 2391: 2312: 2070: 2063: 1138: 1111: 1099: 890: 876: 834: 814: 748: 574: 477:. It described in engineering and programming detail, his idea of a machine he called the 272: 268: 245: 147: 120: 112: 107: 42: 2231:
JOHNNY: A simple Open Source simulator of a von Neumann machine for educational purposes
1379: 4162: 3996: 3979: 3972: 3868: 3725: 3462: 3376: 3307: 2890: 2852: 2801: 2796: 2791: 2505: 2329: 1447:
complicate matters", the ENIAC would be constructed without any "automatic regulation".
1340: 1314: 1179: 799: 522: 418:, wrote about the stored-program concept in December 1943. In planning a new machine, 388:
during 1936–1937. Whether he knew of Turing's paper of 1936 at that time is not clear.
264: 228: 181: 4182: 3957: 3873: 2913: 2895: 2688: 2381: 2166: 1699: 1515: 1496: 1469: 1411: 1072: 526: 449: 1874: 1637: 4167: 4105: 3921: 3898: 3710: 3431: 2369: 2230: 2074: 1397: 1366:
Williams, F. C.; Kilburn, T. (September 25, 1948), "Electronic Digital Computers",
982: 916: 784: 457: 403: 323: 126: 99: 1317:(1936), "On Computable Numbers, with an Application to the Entscheidungsproblem", 1334: 17: 3952: 3916: 3627: 3599: 3457: 3312: 2059: 1844: 1787: 1695: 1056: 1012: 978: 904: 807: 646: 591:, England) was the first practical stored-program electronic computer (May 1949) 533:
In the same book, the first two paragraphs of a chapter on ACE read as follows:
518: 392: 346: 253: 224: 197: 1352: 1326: 1288: 3838: 3828: 3823: 3805: 3705: 3678: 2940: 2773: 2743: 2463: 1681: 970: 962: 937: 933: 921: 581:, England) made its first successful run of a stored program on June 21, 1948. 441:
based on the work of Eckert and Mauchly. It was unfinished when his colleague
350: 307: 220: 146:
and a data operation cannot occur at the same time (since they share a common
886:
ran its first program on May 10, 1950, and was demonstrated in December 1950.
349:, who had been alerted to a problem of mathematical logic by the lectures of 3929: 3926: 3668: 2738: 2716: 1990: 1940: 1629: 1587: 1261: 1008: 883: 233: 204: 177: 907:(later the commercial ERA 1101/UNIVAC 1101) was installed in December 1950. 833:) and was demonstrated as such on September 16, 1948, running a program by 2142: 1865: 1848: 283:
On a large scale, the ability to treat instructions as data is what makes
3944: 2816: 2763: 2235: 772: 718: 666: 330: 288: 1790:; Cady, R.; McFarland, H.; O'Laughlin, J.; Noonan, R.; Wulf, W. (1970), 1727:
Alan Turing and his Contemporaries: Building the World's First Computers
1137:. However, this problem also applies to conventional programs that lack 2753: 2711: 1756:"School of Computer Science & Information Systems: A Short History" 1088: 754: 742: 176:
and data as opposed to designs which use a mechanism such as discrete
4056: 2768: 2733: 2698: 1388: 869: 734: 692: 676: 656: 604: 193: 200:
to route data and control signals between various functional units.
1892:"E. W. Dijkstra Archive: A review of the 1977 Turing Award Lecture" 900:
was completed in December 1950 and was in actual use in April 1951.
3226: 2758: 2728: 1347:, 2, vol. 43, no. 6 (published 1937), pp. 544–546, 915: 862: 841: 826: 791: 632: 584: 564: 419: 407: 238: 189: 154:, which often limits the performance of the corresponding system. 41: 783:, not fully electronic. In practice, instructions were read from 76:. The document describes a design architecture for an electronic 4090: 3238: 3158: 2748: 2093:
Colossus: The Secrets of Bletchley Park's Codebreaking Computers
1433: 1416:
From Dits to Bits: A personal history of the electronic computer
728: 712: 686: 622: 614: 311: 138:
The term "von Neumann architecture" has evolved to refer to any
2239: 2144:
ENIAC: The Triumphs and Tragedies of the World's First Computer
2036:
Engines of Logic: Mathematicians and the Origin of the Computer
2678: 2668: 1978:
Faster Than Thought: A Symposium on Digital Computing Machines
806:
officially came online on May 12, 1948. It featured the first
497:
Faster than Thought: A Symposium on Digital Computing Machines
483:. He presented this to the executive committee of the British 223:(in principle) is a fixed program computer. It can do basic 1051:
and thus reducing latency and increasing throughput between
27:
Computer architecture where code and data share a common bus
499:(edited by B. V. Bowden), a section in the chapter on 2226:
A tool that emulates the behavior of a von Neumann machine
1071:(NUMA) architecture—this approach is commonly employed by 508:
The Machine of the Institute For Advanced Study, Princeton
1682:
Selective Sequence Electronic Calculator (Google Patents)
1668:
Selective Sequence Electronic Calculator (USPTO Web site)
1102:
will make this bottleneck even worse. In the context of
957:
The sharing of bus by instructions and data leads to the
538:
Automatic Computation at the National Physical Laboratory
4209:
Department of Computer Science, University of Manchester
2056:
Can Programming be Liberated from the von Neumann Style?
1816:
The essentials of computer organization and architecture
1792:"A New Architecture for Mini-Computers – The DEC PDP-11" 368:. In it he described a hypothetical machine he called a 2012:
The universal computer: the road from Leibniz to Turing
329:
On a smaller scale, some repetitive operations such as
36:
Universal Turing machine § Stored-program computer
1321:, 2, vol. 42 (published 1937), pp. 230–265, 1063:
The problem can also be sidestepped somewhat by using
4120: 4069: 4005: 3943: 3897: 3849: 3804: 3724: 3651: 3620: 3525: 3446: 3410: 3364: 3264: 3190: 3124: 3074: 2985: 2976: 2949: 2904: 2871: 2843: 2834: 2654: 2557: 2546: 2417: 2273: 248:, and can store in memory a set of instructions (a 1293:(My Favorite Toy Language) entry Jargon File 4.4.7 1199: 1197: 1195: 359:On Computable Numbers, with an Application to the 180:wiring or fixed control circuitry for instruction 172:uses the same underlying mechanism to encode both 157:The von Neumann architecture is simpler than the 2075:https://www.cs.tufts.edu/~nr/backus-lecture.html 460:said of von Neumann's regard for Turing's ideas 1032:providing a limited CPU stack or other on-chip 462: 2192:Engines of the Mind: A history of the Computer 1987:The First Computers: History and Architectures 1960:(10). First, Let’s Get the Uniprocessor Right. 1345:Proceedings of the London Mathematical Society 1319:Proceedings of the London Mathematical Society 609:Council for Scientific and Industrial Research 601:, England) Developed from the Baby (June 1949) 366:Proceedings of the London Mathematical Society 2251: 1502:A Brief History of Computing: ENIAC and EDVAC 1475:A Brief History of Computing: ENIAC and EDVAC 8: 977:The von Neumann bottleneck was described by 3256:Computer performance by orders of magnitude 1611: 1609: 314:), or by using runtime information to tune 151: 3721: 3361: 2982: 2840: 2554: 2258: 2244: 2236: 2081:Computer Structures: Readings and Examples 1985:Rojas, RaĂşl; Hashagen, Ulf, eds. (2000), 1945:"Architects Look to Processors of Future" 1914:"Architects Look to Processors of Future" 1864: 1387: 1155:CARDboard Illustrative Aid to Computation 571:) officially came online on May 12, 1948. 341:Development of the stored-program concept 1980:, London: Sir Isaac Pitman and Sons Ltd. 1550: 1456: 1275: 936:be treated the same as memory. A single 552:Early von Neumann-architecture computers 259:A stored-program design also allows for 2168:The Computer from Pascal to von Neumann 2079:Bell, C. Gordon; Newell, Allen (1971), 1618:IEEE Annals of the History of Computing 1241: 1191: 872:ran its first program in November 1949. 4214:Computer-related introductions in 1945 1574: 1562: 412:Moore School of Electrical Engineering 858:ran its first program on May 6, 1949. 7: 3227:Floating-point operations per second 1912:Sites, Richard L. (August 5, 1996). 1418:. Portland, Oregon: Robotics Press. 1210:First Draft of a Report on the EDVAC 663:, Maryland (completed November 1951) 439:First Draft of a Report on the EDVAC 73:First Draft of a Report on the EDVAC 619:Kiev Institute of Electrotechnology 192:. These were programmed by setting 1813:Null, Linda; Lobur, Julia (2010), 25: 1133:, possibly leading to a computer 965:(data transfer rate) between the 579:Victoria University of Manchester 357:, wrote a paper in 1936 entitled 46:A von Neumann architecture scheme 4153:Semiconductor device fabrication 1823:Learning, pp. 36, 199–203, 1799:Spring Joint Computer Conference 1701:Computer: Bit Slices From a Life 1114:between processors and threads. 671:Los Alamos Scientific Laboratory 480:Automatic Computing Engine (ACE) 429:Von Neumann was involved in the 4128:History of general-purpose CPUs 2355:Nondeterministic Turing machine 2087:, New York. Massive (668 pages) 2016:W. W. Norton & Company Inc. 1929:(10). It's the Memory, Stupid!. 1075:. It is less clear whether the 985:lecture. According to Backus: 879:was demonstrated in April 1950. 66:based on a 1945 description by 2308:Deterministic finite automaton 1725:Lavington, Simon, ed. (2012). 804:Birkbeck, University of London 762:Early stored-program computers 569:Birkbeck, University of London 475:Proposed Electronic Calculator 435:Los Alamos National Laboratory 318:(e.g. languages hosted on the 150:). This is referred to as the 1: 3099:Simultaneous and heterogenous 1754:Johnson, Roger (April 2008). 1588:"Electronic Computer Project" 1039:implementing the CPU and the 1020:Modified Harvard architecture 924:evolution of the architecture 739:Weizmann Institute of Science 707:Oak Ridge National Laboratory 637:Ballistic Research Laboratory 364:, which was published in the 3783:Integrated memory controller 3765:Translation lookaside buffer 2964:Memory dependence prediction 2407:Random-access stored program 2360:Probabilistic Turing machine 1651:Robertson, James E. (1955), 1592:Institute for Advanced Study 808:rotating drum storage device 659:(University of Illinois) at 651:Institute for Advanced Study 485:National Physical Laboratory 456:". His Los Alamos colleague 382:Institute for Advanced Study 3239:Synaptic updates per second 1976:Bowden, B. V., ed. (1953), 1085:object-oriented programming 893:was completed in July 1950. 779:. However it was partially 697:Argonne National Laboratory 611:) Australia (November 1949) 370:universal computing machine 322:, or languages embedded in 4240: 3643:Heterogeneous architecture 2565:Orthogonal instruction set 2335:Alternating Turing machine 2323:Quantum cellular automaton 2196:W. W. Norton & Company 2173:Princeton University Press 2040:W. W. Norton & Company 1704:, Third Millennium Books, 1528:Edinburgh University Press 1257:The Von Neumann Bottleneck 1254:Markgraf, Joey D. (2007), 1121: 787:due to its limited memory. 639:, Computing Laboratory at 416:University of Pennsylvania 406:, who were developing the 29: 4133:Microprocessor chronology 4096:Dynamic frequency scaling 3251:Cache performance metrics 2141:McCartney, Scott (1999). 1853:Communications of the ACM 1069:non-uniform memory access 4148:Hardware security module 3491:Digital signal processor 3468:Graphics processing unit 3280:Graphics processing unit 2113:Ganesan, Deepak (2009), 2085:McGraw-Hill Book Company 1731:British Computer Society 1653:Illiac Design Techniques 1353:10.1112/plms/s2-43.6.544 1327:10.1112/plms/s2-42.1.230 1110:is required to maintain 1067:, using for example the 1036:to reduce memory access; 1011:between the CPU and the 599:University of Manchester 374:Universal Turing machine 335:pixel and vertex shaders 316:just-in-time compilation 209:split-cache architecture 70:, and by others, in the 52:von Neumann architecture 4101:Dynamic voltage scaling 3884:Memory address register 3778:Branch target predictor 3742:Address generation unit 3485:Physics processing unit 3274:Central processing unit 3233:Transactions per second 3221:Instructions per second 3144:Array processing (SIMT) 2288:Stored-program computer 2097:Oxford University Press 1630:10.1109/MAHC.1982.10016 1160:Interconnect bottleneck 1077:intellectual bottleneck 967:central processing unit 661:Aberdeen Proving Ground 641:Aberdeen Proving Ground 589:University of Cambridge 355:University of Cambridge 170:stored-program computer 140:stored-program computer 80:with these components: 32:Stored-program computer 3907:Hardwired control unit 3789:Memory management unit 3754:Memory management unit 3503:Secure cryptoprocessor 3497:Tensor Processing Unit 3479:Vision processing unit 3213:Cycles per instruction 3207:Instructions per cycle 3154:Associative processing 2845:Instruction pipelining 2267:Processor technologies 2221:Harvard vs von Neumann 2190:Shurkin, Joel (1984). 2069:June 21, 2007, at the 1081:functional programming 996: 959:von Neumann bottleneck 953:von Neumann bottleneck 932:lets input and output 925: 681:University of Illinois 549: 531: 471: 227:, but it cannot run a 152:von Neumann bottleneck 60:Princeton architecture 47: 4189:Computer architecture 3990:Sum-addressed decoder 3736:Arithmetic logic unit 2863:Classic RISC pipeline 2817:Epiphany architecture 2664:Motorola 68000 series 2116:The von Neumann Model 1953:Microprocessor Report 1922:Microprocessor Report 1866:10.1145/359576.359579 1696:Grosch, Herbert R. J. 1170:Random-access machine 1104:multi-core processors 1049:locality of reference 1029:algorithms and logic; 987: 919: 535: 505: 467:reduction to practice 386:Princeton, New Jersey 90:arithmetic logic unit 64:computer architecture 45: 4224:Naming controversies 4204:Classes of computers 4111:Performance per watt 3689:replacement policies 3355:Package on a package 3245:Performance per watt 3149:Pipelined processing 2919:Tomasulo's algorithm 2724:Clipper architecture 2580:Application-specific 2293:Finite-state machine 2194:. New York, London: 2163:Goldstine, Herman H. 1821:Jones & Bartlett 1767:University of London 1594:. September 11, 2009 1565:, pp. 176, 177. 1520:Machine Intelligence 1513:(a work which cites 1264:on December 12, 2013 1175:Harvard architecture 1047:, providing greater 501:Computers in America 372:, now known as the " 361:Entscheidungsproblem 320:Java virtual machine 304:high-level languages 273:immediate addressing 174:program instructions 159:Harvard architecture 104:instruction register 4143:Digital electronics 3796:Instruction decoder 3748:Floating-point unit 3402:Soft microprocessor 3349:System in a package 2924:Reservation station 2454:Transport-triggered 2147:. Walker & Co. 1889:Dijkstra, Edsger W. 1553:, pp. 108–111. 1380:1948Natur.162..487W 1165:Little man computer 1124:Self-modifying code 1118:Self-modifying code 1053:processor registers 715:in Stockholm (1953) 269:indirect addressing 261:self-modifying code 252:) that details the 94:processor registers 54:—also known as the 4015:Integrated circuit 3859:Processor register 3513:Baseband processor 2858:Operand forwarding 2318:Cellular automaton 1943:(August 5, 1996). 1801:, pp. 657–675 1065:parallel computing 948:Design limitations 926: 683:, (September 1952) 503:reads as follows: 345:The mathematician 310:at runtime (e.g., 48: 4176: 4175: 4065: 4064: 3684:Instruction cache 3674:Scratchpad memory 3521: 3520: 3508:Network processor 3437:Network on a chip 3392:Ultra-low-voltage 3343:Multi-chip module 3186: 3185: 2972: 2971: 2959:Branch prediction 2936:Register renaming 2830: 2829: 2812:VISC architecture 2634:Quantum computing 2629:VISC architecture 2511:Secondary storage 2427:Microarchitecture 2387:Register machines 2129:on April 25, 2012 2106:978-0-19-284055-4 2049:978-0-393-32229-3 1830:978-1-4496-0006-8 1223:on March 14, 2013 1205:von Neumann, John 1143:Memory protection 1034:scratchpad memory 930:memory-mapped I/O 849:Manchester Mark 1 781:electromechanical 731:in Denmark (1955) 595:Manchester Mark 1 431:Manhattan Project 424:delay-line memory 400:J. Presper Eckert 144:instruction fetch 102:that includes an 56:von Neumann model 18:Von Neumann model 16:(Redirected from 4231: 4219:John von Neumann 4199:Reference models 4194:Flynn's taxonomy 4138:Processor design 4030:Power management 3912:Instruction unit 3773:Branch predictor 3722: 3420:System on a chip 3362: 3202:Transistor count 3126:Flynn's taxonomy 2983: 2841: 2644:Addressing modes 2555: 2501:Memory hierarchy 2365:Hypercomputation 2283:Abstract machine 2260: 2253: 2246: 2237: 2209: 2186: 2158: 2137: 2136: 2134: 2128: 2122:, archived from 2121: 2109: 2052: 2029:republished as: 2028: 2003: 1981: 1962: 1961: 1949: 1937: 1931: 1930: 1918: 1909: 1903: 1902: 1900: 1898: 1885: 1879: 1878: 1868: 1841: 1835: 1833: 1819:(3rd ed.), 1810: 1804: 1802: 1796: 1784: 1778: 1777: 1775: 1773: 1763:Birkbeck College 1760: 1751: 1745: 1744: 1722: 1716: 1714: 1692: 1686: 1684: 1678: 1672: 1670: 1664: 1658: 1656: 1648: 1642: 1641: 1613: 1604: 1603: 1601: 1599: 1584: 1578: 1572: 1566: 1560: 1554: 1548: 1542: 1540: 1512: 1511: 1509: 1493: 1487: 1485: 1484: 1482: 1466: 1460: 1454: 1448: 1444: 1438: 1437: 1408: 1402: 1400: 1391: 1389:10.1038/162487a0 1363: 1357: 1355: 1337: 1311: 1305: 1303: 1302: 1300: 1285: 1279: 1273: 1267: 1265: 1260:, archived from 1251: 1245: 1239: 1233: 1231: 1230: 1228: 1222: 1216:, archived from 1215: 1201: 1131:operating system 1041:memory hierarchy 1027:branch predictor 981:in his 1977 ACM 942:microcontrollers 837:for von Neumann. 820:relatively prime 757:in Sydney (1956) 751:in Munich (1956) 723:RAND Corporation 689:in Moscow (1952) 455: 443:Herman Goldstine 378:John von Neumann 132:Input and output 78:digital computer 68:John von Neumann 21: 4239: 4238: 4234: 4233: 4232: 4230: 4229: 4228: 4179: 4178: 4177: 4172: 4158:Tick–tock model 4116: 4072: 4061: 4001: 3985:Address decoder 3939: 3893: 3889:Program counter 3864:Status register 3845: 3800: 3760:Load–store unit 3727: 3720: 3647: 3616: 3517: 3474:Image processor 3449: 3442: 3412: 3406: 3382:Microcontroller 3372:Embedded system 3360: 3260: 3193: 3182: 3120: 3070: 2968: 2945: 2929:Re-order buffer 2900: 2881:Data dependency 2867: 2826: 2656: 2650: 2549: 2548:Instruction set 2542: 2528:Multiprocessing 2496:Cache hierarchy 2489:Register/memory 2413: 2313:Queue automaton 2269: 2264: 2217: 2212: 2206: 2189: 2183: 2161: 2155: 2140: 2132: 2130: 2126: 2119: 2112: 2107: 2090: 2073:see details at 2071:Wayback Machine 2050: 2030: 2026: 2006: 2001: 1984: 1975: 1971: 1969:Further reading 1966: 1965: 1947: 1939: 1938: 1934: 1916: 1911: 1910: 1906: 1896: 1894: 1887: 1886: 1882: 1847:(August 1978). 1845:Backus, John W. 1843: 1842: 1838: 1831: 1812: 1811: 1807: 1794: 1788:Bell, C. Gordon 1786: 1785: 1781: 1771: 1769: 1758: 1753: 1752: 1748: 1741: 1724: 1723: 1719: 1712: 1694: 1693: 1689: 1680: 1679: 1675: 1666: 1665: 1661: 1650: 1649: 1645: 1615: 1614: 1607: 1597: 1595: 1586: 1585: 1581: 1573: 1569: 1561: 1557: 1549: 1545: 1538: 1514: 1507: 1505: 1495: 1494: 1490: 1480: 1478: 1468: 1467: 1463: 1455: 1451: 1445: 1441: 1426: 1410: 1409: 1405: 1365: 1364: 1360: 1341:Turing, Alan M. 1339: 1315:Turing, Alan M. 1313: 1312: 1308: 1298: 1296: 1287: 1286: 1282: 1274: 1270: 1253: 1252: 1248: 1240: 1236: 1226: 1224: 1220: 1213: 1203: 1202: 1193: 1188: 1151: 1139:bounds checking 1126: 1120: 1112:cache coherence 1100:multiprocessing 1098:or single-chip 1001: 955: 950: 914: 835:Adele Goldstine 815:Manchester Baby 764: 745:, Israel (1955) 629:(November 1950) 575:Manchester Baby 554: 527:Williams memory 453: 398:Independently, 343: 308:executable code 281: 265:index registers 246:instruction set 217: 108:program counter 86:processing unit 38: 28: 23: 22: 15: 12: 11: 5: 4237: 4235: 4227: 4226: 4221: 4216: 4211: 4206: 4201: 4196: 4191: 4181: 4180: 4174: 4173: 4171: 4170: 4165: 4163:Pin grid array 4160: 4155: 4150: 4145: 4140: 4135: 4130: 4124: 4122: 4118: 4117: 4115: 4114: 4108: 4103: 4098: 4093: 4088: 4083: 4077: 4075: 4067: 4066: 4063: 4062: 4060: 4059: 4054: 4049: 4044: 4039: 4034: 4033: 4032: 4027: 4022: 4011: 4009: 4003: 4002: 4000: 3999: 3997:Barrel shifter 3994: 3993: 3992: 3987: 3980:Binary decoder 3977: 3976: 3975: 3965: 3960: 3955: 3949: 3947: 3941: 3940: 3938: 3937: 3932: 3924: 3919: 3914: 3909: 3903: 3901: 3895: 3894: 3892: 3891: 3886: 3881: 3876: 3871: 3869:Stack register 3866: 3861: 3855: 3853: 3847: 3846: 3844: 3843: 3842: 3841: 3836: 3826: 3821: 3816: 3810: 3808: 3802: 3801: 3799: 3798: 3793: 3792: 3791: 3780: 3775: 3770: 3769: 3768: 3762: 3751: 3745: 3739: 3732: 3730: 3719: 3718: 3713: 3708: 3703: 3698: 3697: 3696: 3691: 3686: 3681: 3676: 3671: 3661: 3655: 3653: 3649: 3648: 3646: 3645: 3640: 3635: 3630: 3624: 3622: 3618: 3617: 3615: 3614: 3613: 3612: 3602: 3597: 3592: 3587: 3582: 3577: 3572: 3567: 3562: 3557: 3552: 3547: 3542: 3537: 3531: 3529: 3523: 3522: 3519: 3518: 3516: 3515: 3510: 3505: 3500: 3494: 3488: 3482: 3476: 3471: 3465: 3463:AI accelerator 3460: 3454: 3452: 3444: 3443: 3441: 3440: 3434: 3429: 3426:Multiprocessor 3423: 3416: 3414: 3408: 3407: 3405: 3404: 3399: 3394: 3389: 3384: 3379: 3377:Microprocessor 3374: 3368: 3366: 3365:By application 3359: 3358: 3352: 3346: 3340: 3335: 3330: 3325: 3320: 3315: 3310: 3308:Tile processor 3305: 3300: 3295: 3290: 3289: 3288: 3277: 3270: 3268: 3262: 3261: 3259: 3258: 3253: 3248: 3242: 3236: 3230: 3224: 3218: 3217: 3216: 3204: 3198: 3196: 3188: 3187: 3184: 3183: 3181: 3180: 3179: 3178: 3168: 3163: 3162: 3161: 3156: 3151: 3146: 3136: 3130: 3128: 3122: 3121: 3119: 3118: 3113: 3108: 3103: 3102: 3101: 3096: 3094:Hyperthreading 3086: 3080: 3078: 3076:Multithreading 3072: 3071: 3069: 3068: 3063: 3058: 3057: 3056: 3046: 3045: 3044: 3039: 3029: 3028: 3027: 3022: 3012: 3007: 3006: 3005: 3000: 2989: 2987: 2980: 2974: 2973: 2970: 2969: 2967: 2966: 2961: 2955: 2953: 2947: 2946: 2944: 2943: 2938: 2933: 2932: 2931: 2926: 2916: 2910: 2908: 2902: 2901: 2899: 2898: 2893: 2888: 2883: 2877: 2875: 2869: 2868: 2866: 2865: 2860: 2855: 2853:Pipeline stall 2849: 2847: 2838: 2832: 2831: 2828: 2827: 2825: 2824: 2819: 2814: 2809: 2806: 2805: 2804: 2802:z/Architecture 2799: 2794: 2789: 2781: 2776: 2771: 2766: 2761: 2756: 2751: 2746: 2741: 2736: 2731: 2726: 2721: 2720: 2719: 2714: 2709: 2701: 2696: 2691: 2686: 2681: 2676: 2671: 2666: 2660: 2658: 2652: 2651: 2649: 2648: 2647: 2646: 2636: 2631: 2626: 2621: 2616: 2611: 2606: 2605: 2604: 2594: 2593: 2592: 2582: 2577: 2572: 2567: 2561: 2559: 2552: 2544: 2543: 2541: 2540: 2535: 2530: 2525: 2520: 2515: 2514: 2513: 2508: 2506:Virtual memory 2498: 2493: 2492: 2491: 2486: 2481: 2476: 2466: 2461: 2456: 2451: 2446: 2445: 2444: 2434: 2429: 2423: 2421: 2415: 2414: 2412: 2411: 2410: 2409: 2404: 2399: 2394: 2384: 2379: 2374: 2373: 2372: 2367: 2362: 2357: 2352: 2347: 2342: 2337: 2330:Turing machine 2327: 2326: 2325: 2320: 2315: 2310: 2305: 2300: 2290: 2285: 2279: 2277: 2271: 2270: 2265: 2263: 2262: 2255: 2248: 2240: 2234: 2233: 2228: 2223: 2216: 2215:External links 2213: 2211: 2210: 2204: 2187: 2181: 2159: 2153: 2138: 2110: 2105: 2088: 2077: 2053: 2048: 2024: 2004: 1999: 1982: 1972: 1970: 1967: 1964: 1963: 1932: 1904: 1880: 1859:(8): 613–641. 1836: 1829: 1805: 1779: 1746: 1740:978-1906124908 1739: 1733:. p. 61. 1717: 1710: 1687: 1673: 1659: 1643: 1624:(2): 121–139. 1605: 1579: 1577:, p. 135. 1567: 1555: 1543: 1536: 1516:Randell, Brian 1497:Copeland, Jack 1488: 1470:Copeland, Jack 1461: 1459:, p. 113. 1449: 1439: 1424: 1412:Lukoff, Herman 1403: 1358: 1306: 1280: 1278:, p. 104. 1268: 1246: 1234: 1190: 1189: 1187: 1184: 1183: 1182: 1180:Turing machine 1177: 1172: 1167: 1162: 1157: 1150: 1147: 1122:Main article: 1119: 1116: 1096:multithreading 1073:supercomputers 1061: 1060: 1045:system on chip 1037: 1030: 1023: 1016: 1000: 997: 971:forced to wait 961:, the limited 954: 951: 949: 946: 913: 910: 909: 908: 901: 894: 887: 880: 873: 866: 859: 852: 845: 838: 823: 811: 800:Kathleen Booth 788: 763: 760: 759: 758: 752: 746: 732: 726: 725:(January 1954) 716: 710: 700: 690: 684: 674: 664: 654: 644: 630: 612: 602: 592: 582: 572: 553: 550: 342: 339: 280: 277: 229:word processor 216: 213: 196:and inserting 182:implementation 136: 135: 129: 123: 110: 96: 26: 24: 14: 13: 10: 9: 6: 4: 3: 2: 4236: 4225: 4222: 4220: 4217: 4215: 4212: 4210: 4207: 4205: 4202: 4200: 4197: 4195: 4192: 4190: 4187: 4186: 4184: 4169: 4166: 4164: 4161: 4159: 4156: 4154: 4151: 4149: 4146: 4144: 4141: 4139: 4136: 4134: 4131: 4129: 4126: 4125: 4123: 4119: 4112: 4109: 4107: 4104: 4102: 4099: 4097: 4094: 4092: 4089: 4087: 4084: 4082: 4079: 4078: 4076: 4074: 4068: 4058: 4055: 4053: 4050: 4048: 4045: 4043: 4040: 4038: 4035: 4031: 4028: 4026: 4023: 4021: 4018: 4017: 4016: 4013: 4012: 4010: 4008: 4004: 3998: 3995: 3991: 3988: 3986: 3983: 3982: 3981: 3978: 3974: 3971: 3970: 3969: 3966: 3964: 3961: 3959: 3958:Demultiplexer 3956: 3954: 3951: 3950: 3948: 3946: 3942: 3936: 3933: 3931: 3928: 3925: 3923: 3920: 3918: 3915: 3913: 3910: 3908: 3905: 3904: 3902: 3900: 3896: 3890: 3887: 3885: 3882: 3880: 3879:Memory buffer 3877: 3875: 3874:Register file 3872: 3870: 3867: 3865: 3862: 3860: 3857: 3856: 3854: 3852: 3848: 3840: 3837: 3835: 3832: 3831: 3830: 3827: 3825: 3822: 3820: 3817: 3815: 3814:Combinational 3812: 3811: 3809: 3807: 3803: 3797: 3794: 3790: 3787: 3786: 3784: 3781: 3779: 3776: 3774: 3771: 3766: 3763: 3761: 3758: 3757: 3755: 3752: 3749: 3746: 3743: 3740: 3737: 3734: 3733: 3731: 3729: 3723: 3717: 3714: 3712: 3709: 3707: 3704: 3702: 3699: 3695: 3692: 3690: 3687: 3685: 3682: 3680: 3677: 3675: 3672: 3670: 3667: 3666: 3665: 3662: 3660: 3657: 3656: 3654: 3650: 3644: 3641: 3639: 3636: 3634: 3631: 3629: 3626: 3625: 3623: 3619: 3611: 3608: 3607: 3606: 3603: 3601: 3598: 3596: 3593: 3591: 3588: 3586: 3583: 3581: 3578: 3576: 3573: 3571: 3568: 3566: 3563: 3561: 3558: 3556: 3553: 3551: 3548: 3546: 3543: 3541: 3538: 3536: 3533: 3532: 3530: 3528: 3524: 3514: 3511: 3509: 3506: 3504: 3501: 3498: 3495: 3492: 3489: 3486: 3483: 3480: 3477: 3475: 3472: 3469: 3466: 3464: 3461: 3459: 3456: 3455: 3453: 3451: 3445: 3438: 3435: 3433: 3430: 3427: 3424: 3421: 3418: 3417: 3415: 3409: 3403: 3400: 3398: 3395: 3393: 3390: 3388: 3385: 3383: 3380: 3378: 3375: 3373: 3370: 3369: 3367: 3363: 3356: 3353: 3350: 3347: 3344: 3341: 3339: 3336: 3334: 3331: 3329: 3326: 3324: 3321: 3319: 3316: 3314: 3311: 3309: 3306: 3304: 3301: 3299: 3296: 3294: 3291: 3287: 3284: 3283: 3281: 3278: 3275: 3272: 3271: 3269: 3267: 3263: 3257: 3254: 3252: 3249: 3246: 3243: 3240: 3237: 3234: 3231: 3228: 3225: 3222: 3219: 3214: 3211: 3210: 3208: 3205: 3203: 3200: 3199: 3197: 3195: 3189: 3177: 3174: 3173: 3172: 3169: 3167: 3164: 3160: 3157: 3155: 3152: 3150: 3147: 3145: 3142: 3141: 3140: 3137: 3135: 3132: 3131: 3129: 3127: 3123: 3117: 3114: 3112: 3109: 3107: 3104: 3100: 3097: 3095: 3092: 3091: 3090: 3087: 3085: 3082: 3081: 3079: 3077: 3073: 3067: 3064: 3062: 3059: 3055: 3052: 3051: 3050: 3047: 3043: 3040: 3038: 3035: 3034: 3033: 3030: 3026: 3023: 3021: 3018: 3017: 3016: 3013: 3011: 3008: 3004: 3001: 2999: 2996: 2995: 2994: 2991: 2990: 2988: 2984: 2981: 2979: 2975: 2965: 2962: 2960: 2957: 2956: 2954: 2952: 2948: 2942: 2939: 2937: 2934: 2930: 2927: 2925: 2922: 2921: 2920: 2917: 2915: 2914:Scoreboarding 2912: 2911: 2909: 2907: 2903: 2897: 2896:False sharing 2894: 2892: 2889: 2887: 2884: 2882: 2879: 2878: 2876: 2874: 2870: 2864: 2861: 2859: 2856: 2854: 2851: 2850: 2848: 2846: 2842: 2839: 2837: 2833: 2823: 2820: 2818: 2815: 2813: 2810: 2807: 2803: 2800: 2798: 2795: 2793: 2790: 2788: 2785: 2784: 2782: 2780: 2777: 2775: 2772: 2770: 2767: 2765: 2762: 2760: 2757: 2755: 2752: 2750: 2747: 2745: 2742: 2740: 2737: 2735: 2732: 2730: 2727: 2725: 2722: 2718: 2715: 2713: 2710: 2708: 2705: 2704: 2702: 2700: 2697: 2695: 2692: 2690: 2689:Stanford MIPS 2687: 2685: 2682: 2680: 2677: 2675: 2672: 2670: 2667: 2665: 2662: 2661: 2659: 2653: 2645: 2642: 2641: 2640: 2637: 2635: 2632: 2630: 2627: 2625: 2622: 2620: 2617: 2615: 2612: 2610: 2607: 2603: 2600: 2599: 2598: 2595: 2591: 2588: 2587: 2586: 2583: 2581: 2578: 2576: 2573: 2571: 2568: 2566: 2563: 2562: 2560: 2556: 2553: 2551: 2550:architectures 2545: 2539: 2536: 2534: 2531: 2529: 2526: 2524: 2521: 2519: 2518:Heterogeneous 2516: 2512: 2509: 2507: 2504: 2503: 2502: 2499: 2497: 2494: 2490: 2487: 2485: 2482: 2480: 2477: 2475: 2472: 2471: 2470: 2469:Memory access 2467: 2465: 2462: 2460: 2457: 2455: 2452: 2450: 2447: 2443: 2440: 2439: 2438: 2435: 2433: 2430: 2428: 2425: 2424: 2422: 2420: 2416: 2408: 2405: 2403: 2402:Random-access 2400: 2398: 2395: 2393: 2390: 2389: 2388: 2385: 2383: 2382:Stack machine 2380: 2378: 2375: 2371: 2368: 2366: 2363: 2361: 2358: 2356: 2353: 2351: 2348: 2346: 2343: 2341: 2338: 2336: 2333: 2332: 2331: 2328: 2324: 2321: 2319: 2316: 2314: 2311: 2309: 2306: 2304: 2301: 2299: 2298:with datapath 2296: 2295: 2294: 2291: 2289: 2286: 2284: 2281: 2280: 2278: 2276: 2272: 2268: 2261: 2256: 2254: 2249: 2247: 2242: 2241: 2238: 2232: 2229: 2227: 2224: 2222: 2219: 2218: 2214: 2207: 2205:0-393-01804-0 2201: 2197: 2193: 2188: 2184: 2182:0-691-08104-2 2178: 2174: 2170: 2169: 2164: 2160: 2156: 2154:0-8027-1348-3 2150: 2146: 2145: 2139: 2125: 2118: 2117: 2111: 2108: 2102: 2098: 2094: 2089: 2086: 2082: 2078: 2076: 2072: 2068: 2065: 2061: 2057: 2054: 2051: 2045: 2041: 2037: 2033: 2032:Davis, Martin 2027: 2025:0-393-04785-7 2021: 2017: 2013: 2009: 2008:Davis, Martin 2005: 2002: 2000:0-262-18197-5 1996: 1992: 1988: 1983: 1979: 1974: 1973: 1968: 1959: 1955: 1954: 1946: 1942: 1936: 1933: 1928: 1924: 1923: 1915: 1908: 1905: 1893: 1890: 1884: 1881: 1876: 1872: 1867: 1862: 1858: 1854: 1850: 1846: 1840: 1837: 1832: 1826: 1822: 1818: 1817: 1809: 1806: 1800: 1793: 1789: 1783: 1780: 1768: 1764: 1757: 1750: 1747: 1742: 1736: 1732: 1728: 1721: 1718: 1713: 1711:0-88733-085-1 1707: 1703: 1702: 1697: 1691: 1688: 1683: 1677: 1674: 1669: 1663: 1660: 1654: 1647: 1644: 1639: 1635: 1631: 1627: 1623: 1619: 1612: 1610: 1606: 1593: 1589: 1583: 1580: 1576: 1571: 1568: 1564: 1559: 1556: 1552: 1551:Copeland 2006 1547: 1544: 1539: 1537:0-902383-26-4 1533: 1529: 1526:, Edinburgh: 1525: 1521: 1517: 1504: 1503: 1498: 1492: 1489: 1477: 1476: 1471: 1465: 1462: 1458: 1457:Copeland 2006 1453: 1450: 1443: 1440: 1435: 1431: 1427: 1425:0-89661-002-0 1421: 1417: 1413: 1407: 1404: 1399: 1395: 1390: 1385: 1381: 1377: 1374:(4117): 487, 1373: 1369: 1362: 1359: 1354: 1350: 1346: 1342: 1336: 1332: 1328: 1324: 1320: 1316: 1310: 1307: 1295: 1294: 1290: 1284: 1281: 1277: 1276:Copeland 2006 1272: 1269: 1263: 1259: 1258: 1250: 1247: 1243: 1238: 1235: 1219: 1212: 1211: 1206: 1200: 1198: 1196: 1192: 1185: 1181: 1178: 1176: 1173: 1171: 1168: 1166: 1163: 1161: 1158: 1156: 1153: 1152: 1148: 1146: 1144: 1140: 1136: 1132: 1125: 1117: 1115: 1113: 1109: 1106:, additional 1105: 1101: 1097: 1092: 1090: 1086: 1082: 1078: 1074: 1070: 1066: 1058: 1054: 1050: 1046: 1042: 1038: 1035: 1031: 1028: 1024: 1021: 1017: 1014: 1010: 1006: 1005: 1004: 998: 995: 992: 986: 984: 980: 975: 972: 968: 964: 960: 952: 947: 945: 943: 939: 935: 931: 923: 918: 911: 906: 902: 899: 895: 892: 888: 885: 881: 878: 874: 871: 867: 864: 860: 857: 853: 850: 846: 843: 839: 836: 832: 828: 824: 821: 816: 812: 809: 805: 801: 797: 794:developed by 793: 789: 786: 782: 778: 774: 770: 769: 768: 761: 756: 753: 750: 747: 744: 740: 736: 733: 730: 727: 724: 720: 717: 714: 711: 708: 704: 701: 698: 694: 691: 688: 685: 682: 678: 675: 672: 668: 665: 662: 658: 655: 652: 648: 645: 642: 638: 634: 631: 628: 627:Ukrainian SSR 624: 620: 616: 613: 610: 606: 603: 600: 596: 593: 590: 586: 583: 580: 576: 573: 570: 566: 563: 562: 561: 559: 551: 548: 544: 540: 539: 534: 530: 528: 524: 521:—called the " 520: 514: 510: 509: 504: 502: 498: 492: 490: 486: 482: 481: 476: 470: 468: 461: 459: 451: 450:Jack Copeland 447: 444: 440: 436: 432: 427: 425: 421: 417: 413: 409: 405: 401: 396: 394: 389: 387: 383: 379: 375: 371: 367: 363: 362: 356: 352: 348: 340: 338: 336: 332: 327: 325: 321: 317: 313: 309: 305: 300: 298: 294: 290: 286: 278: 276: 274: 270: 266: 262: 257: 255: 251: 247: 242: 240: 235: 230: 226: 222: 214: 212: 210: 206: 201: 199: 195: 191: 187: 183: 179: 175: 171: 166: 164: 160: 155: 153: 149: 145: 141: 133: 130: 128: 124: 122: 118: 114: 111: 109: 105: 101: 97: 95: 91: 88:with both an 87: 83: 82: 81: 79: 75: 74: 69: 65: 61: 57: 53: 44: 40: 37: 33: 19: 4168:Chip carrier 4106:Clock gating 4025:Mixed-signal 3922:Write buffer 3899:Control unit 3711:Clock signal 3450:accelerators 3432:Cypress PSoC 3089:Simultaneous 2906:Out-of-order 2538:Neuromorphic 2431: 2419:Architecture 2377:Belt machine 2370:Zeno machine 2303:Hierarchical 2191: 2167: 2143: 2131:, retrieved 2124:the original 2115: 2092: 2080: 2060:Backus, John 2055: 2038:, New York: 2035: 2014:, New York: 2011: 1986: 1977: 1957: 1951: 1935: 1926: 1920: 1907: 1895:. Retrieved 1883: 1856: 1852: 1839: 1815: 1808: 1798: 1782: 1770:. Retrieved 1762: 1749: 1726: 1720: 1700: 1690: 1676: 1662: 1652: 1646: 1621: 1617: 1596:. Retrieved 1582: 1570: 1558: 1546: 1523: 1519: 1506:, retrieved 1501: 1491: 1479:, retrieved 1474: 1464: 1452: 1442: 1415: 1406: 1371: 1367: 1361: 1344: 1318: 1309: 1297:, retrieved 1292: 1289: 1283: 1271: 1262:the original 1256: 1249: 1242:Ganesan 2009 1237: 1225:, retrieved 1218:the original 1209: 1127: 1093: 1076: 1062: 1007:providing a 1002: 988: 983:Turing Award 976: 958: 956: 927: 796:Andrew Booth 765: 673:(March 1952) 557: 555: 545: 541: 537: 536: 532: 515: 511: 507: 506: 500: 496: 493: 478: 474: 472: 463: 458:Stan Frankel 448: 438: 428: 404:John Mauchly 397: 390: 369: 365: 358: 344: 328: 324:web browsers 301: 282: 279:Capabilities 258: 243: 218: 202: 198:patch cables 167: 163:instructions 156: 142:in which an 137: 127:mass storage 121:instructions 115:that stores 100:control unit 71: 59: 55: 51: 49: 39: 3953:Multiplexer 3917:Data buffer 3628:Single-core 3600:bit slicing 3458:Coprocessor 3313:Coprocessor 3194:performance 3116:Cooperative 3106:Speculative 3066:Distributed 3025:Superscalar 3010:Instruction 2978:Parallelism 2951:Speculative 2783:System/3x0 2655:Instruction 2432:Von Neumann 2345:Post–Turing 2133:October 22, 1575:Bowden 1953 1563:Bowden 1953 1508:January 27, 1481:January 27, 1057:main memory 1013:main memory 999:Mitigations 979:John Backus 709:(June 1953) 647:IAS machine 558:First Draft 519:vacuum tube 393:Konrad Zuse 347:Alan Turing 254:computation 225:mathematics 4183:Categories 4073:management 3968:Multiplier 3829:Logic gate 3819:Sequential 3726:Functional 3706:Clock rate 3679:Data cache 3652:Components 3633:Multi-core 3621:Core count 3111:Preemptive 3015:Pipelining 2998:Bit-serial 2941:Wide-issue 2886:Structural 2808:Tilera ISA 2774:MicroBlaze 2744:ETRAX CRIS 2639:Comparison 2484:Load–store 2464:Endianness 2095:, Oxford: 2064:Online PDF 1941:Patt, Yale 1729:. London: 1227:August 24, 1186:References 963:throughput 938:system bus 922:system bus 903:The first 785:paper tape 351:Max Newman 285:assemblers 234:flowcharts 221:calculator 134:mechanisms 30:See also: 4007:Circuitry 3927:Microcode 3851:Registers 3694:coherence 3669:CPU cache 3527:Word size 3192:Processor 2836:Execution 2739:DEC Alpha 2717:Power ISA 2533:Cognitive 2340:Universal 1991:MIT Press 912:Evolution 905:ERA Atlas 898:Whirlwind 884:Pilot ACE 870:CSIR Mk I 777:US patent 523:Selectron 391:In 1936, 289:compilers 178:plugboard 125:External 3945:Datapath 3638:Manycore 3610:variable 3448:Hardware 3084:Temporal 2764:OpenRISC 2459:Cellular 2449:Dataflow 2442:modified 2165:(1972). 2067:Archived 2034:(2001), 2010:(2000), 1897:July 11, 1875:16367522 1772:July 23, 1698:(1991), 1638:14861159 1499:(2000), 1472:(2000), 1434:79-90567 1414:(1979). 1299:July 11, 1207:(1945), 1149:See also 1108:overhead 773:IBM SSEC 719:JOHNNIAC 667:MANIAC I 489:Colossus 194:switches 188:and the 186:Colossus 4121:Related 4052:Quantum 4042:Digital 4037:Boolean 3935:Counter 3834:Quantum 3595:512-bit 3590:256-bit 3585:128-bit 3428:(MPSoC) 3413:on chip 3411:Systems 3229:(FLOPS) 3042:Process 2891:Control 2873:Hazards 2759:Itanium 2754:Unicore 2712:PowerPC 2437:Harvard 2397:Pointer 2392:Counter 2350:Quantum 1598:May 26, 1398:4110351 1376:Bibcode 1089:FORTRAN 934:devices 920:Single 755:SILLIAC 743:Rehovot 737:at the 679:at the 617:at the 433:at the 414:of the 410:at the 353:at the 297:loaders 293:linkers 250:program 215:History 4057:Switch 4047:Analog 3785:(IMC) 3756:(MMU) 3605:others 3580:64-bit 3575:48-bit 3570:32-bit 3565:24-bit 3560:16-bit 3555:15-bit 3550:12-bit 3387:Mobile 3303:Stream 3298:Barrel 3293:Vector 3282:(GPU) 3241:(SUPS) 3209:(IPC) 3061:Memory 3054:Vector 3037:Thread 3020:Scalar 2822:Others 2769:RISC-V 2734:SuperH 2703:Power 2699:MIPS-X 2674:PDP-11 2523:Fabric 2275:Models 2202:  2179:  2151:  2103:  2046:  2022:  1997:  1873:  1827:  1737:  1708:  1636:  1534:  1530:: 10, 1432:  1422:  1396:  1368:Nature 1333:  1025:using 735:WEIZAC 703:ORACLE 699:(1953) 693:AVIDAC 687:BESM-1 677:ILLIAC 657:ORDVAC 653:(1951) 605:CSIRAC 331:BITBLT 205:caches 113:Memory 106:and a 62:—is a 4113:(PPW) 4071:Power 3963:Adder 3839:Array 3806:Logic 3767:(TLB) 3750:(FPU) 3744:(AGU) 3738:(ALU) 3728:units 3664:Cache 3545:8-bit 3540:4-bit 3535:1-bit 3499:(TPU) 3493:(DSP) 3487:(PPU) 3481:(VPU) 3470:(GPU) 3439:(NoC) 3422:(SoC) 3357:(PoP) 3351:(SiP) 3345:(MCM) 3286:GPGPU 3276:(CPU) 3266:Types 3247:(PPW) 3235:(TPS) 3223:(IPS) 3215:(CPI) 2986:Level 2797:S/390 2792:S/370 2787:S/360 2729:SPARC 2707:POWER 2590:TRIPS 2558:Types 2127:(PDF) 2120:(PDF) 1948:(PDF) 1917:(PDF) 1871:S2CID 1795:(PDF) 1759:(PDF) 1634:S2CID 1394:S2CID 1335:73712 1331:S2CID 1221:(PDF) 1214:(PDF) 1135:crash 1043:as a 1009:cache 991:words 863:EDVAC 856:EDSAC 842:BINAC 827:ENIAC 643:1951) 633:EDVAC 585:EDSAC 420:EDVAC 408:ENIAC 302:Some 239:ENIAC 190:ENIAC 4091:ACPI 3824:Glue 3716:FIFO 3659:Core 3397:ASIP 3338:CPLD 3333:FPOA 3328:FPGA 3323:ASIC 3176:SPMD 3171:MIMD 3166:MISD 3159:SWAR 3139:SIMD 3134:SISD 3049:Data 3032:Task 3003:Word 2749:M32R 2694:MIPS 2657:sets 2624:ZISC 2619:NISC 2614:OISC 2609:MISC 2602:EPIC 2597:VLIW 2585:EDGE 2575:RISC 2570:CISC 2479:HUMA 2474:NUMA 2200:ISBN 2177:ISBN 2149:ISBN 2135:2011 2101:ISBN 2044:ISBN 2020:ISBN 1995:ISBN 1899:2008 1825:ISBN 1774:2017 1735:ISBN 1706:ISBN 1600:2011 1532:ISBN 1510:2010 1483:2010 1430:LCCN 1420:ISBN 1338:and 1301:2008 1291:MFTL 1229:2011 1083:and 1055:and 896:The 891:SWAC 889:The 882:The 877:SEAC 875:The 868:The 861:The 854:The 847:The 840:The 825:The 813:The 798:and 792:ARC2 790:The 771:The 749:PERM 729:DASK 713:BESK 623:Kiev 615:MESM 565:ARC2 556:The 402:and 312:LISP 267:and 119:and 117:data 92:and 50:The 34:and 4086:APM 4081:PMU 3973:CPU 3930:ROM 3701:Bus 3318:PAL 2993:Bit 2779:LMC 2684:ARM 2679:x86 2669:VAX 1861:doi 1626:doi 1384:doi 1372:162 1349:doi 1323:doi 831:ROM 802:at 741:in 721:at 705:at 695:at 669:at 649:at 621:in 384:in 333:or 326:). 211:). 165:). 148:bus 58:or 4185:: 4020:3D 2198:. 2175:. 2171:. 2099:, 2083:, 2058:. 2042:, 2018:, 1993:, 1989:, 1958:10 1956:. 1950:. 1927:10 1925:. 1919:. 1869:. 1857:21 1855:. 1851:. 1797:, 1765:. 1761:. 1632:. 1620:. 1608:^ 1590:. 1522:, 1428:. 1392:, 1382:, 1370:, 1329:, 1194:^ 1141:. 1022:); 625:, 295:, 291:, 287:, 275:. 256:. 241:. 168:A 98:A 84:A 2259:e 2252:t 2245:v 2208:. 2185:. 2157:. 1901:. 1877:. 1863:: 1834:. 1803:. 1776:. 1743:. 1715:. 1685:. 1671:. 1657:. 1640:. 1628:: 1622:4 1602:. 1541:. 1524:7 1486:. 1436:. 1401:. 1386:: 1378:: 1356:. 1351:: 1325:: 1304:. 1266:. 1244:. 1232:. 1059:. 1015:; 822:. 810:. 635:( 607:( 597:( 587:( 577:( 567:( 454:' 20:)

Index

Von Neumann model
Stored-program computer
Universal Turing machine § Stored-program computer

computer architecture
John von Neumann
First Draft of a Report on the EDVAC
digital computer
processing unit
arithmetic logic unit
processor registers
control unit
instruction register
program counter
Memory
data
instructions
mass storage
Input and output
stored-program computer
instruction fetch
bus
von Neumann bottleneck
Harvard architecture
instructions
stored-program computer
program instructions
plugboard
implementation
Colossus

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.

↑