Knowledge

Computer architecture

Source đź“ť

388:: microcode is software that translates instructions to run on a chip. It acts like a wrapper around the hardware, presenting a preferred version of the hardware's instruction set interface. This instruction translation facility gives chip designers flexible options: E.g. 1. A new improved version of the chip can use microcode to present the exact same instruction set as the old chip version, so all software targeting that instruction set will run on the new chip without needing changes. E.g. 2. Microcode can present a variety of instruction sets for the same underlying chip, allowing it to run a wider variety of software. 78: 2532: 779:
starting to become as important, if not more important than fitting more and more transistors into a single chip. Recent processor designs have shown this emphasis as they put more focus on power efficiency rather than cramming as many transistors into a single chip as possible. In the world of embedded computers, power efficiency has long been an important goal next to throughput and latency.
2542: 808: 449: 2552: 36: 198:(at the time known as Los Alamos Scientific Laboratory). To describe the level of detail for discussing the luxuriously embellished computer, he noted that his description of formats, instruction types, hardware parameters, and speed enhancements were at the level of "system architecture", a term that seemed more useful than "machine organization". 796:; where they dropped their power consumption benchmark from 30 to 40 watts down to 10-20 watts. Comparing this to the processing speed increase of 3 GHz to 4 GHz (2002 to 2006) it can be seen that the focus in research and development is shifting away from clock frequency and moving towards consuming less power and taking up less space. 581:
Computer organization helps optimize performance-based products. For example, software engineers need to know the processing power of processors. They may need to optimize software in order to gain the most performance for the lowest price. This can require quite a detailed analysis of the computer's
778:
as the number of transistors per chip grows. This is because each transistor that is put in a new chip requires its own power supply and requires new pathways to be built to power it. However, the number of transistors per chip is starting to increase at a slower rate. Therefore, power efficiency is
752:
scientific applications quickly, while another might render video games more smoothly. Furthermore, designers may target and add special features to their products, through hardware or software, that permit a specific benchmark to execute quickly but do not offer similar advantages to general tasks.
585:
Computer organization also helps plan the selection of a processor for a particular project. Multimedia projects may need very rapid data access, while virtual machines may need fast interrupts. Sometimes certain tasks need additional components as well. For example, a computer capable of running a
791:
and demand for longer battery life and reductions in size for mobile technology. This change in focus from higher clock rates to power consumption and miniaturization can be shown by the significant reductions in power consumption, as much as 50%, that were reported by Intel in their release of the
559:
ISAs vary in quality and completeness. A good ISA compromises between programmer convenience (how easy the code is to understand), size of the code (how much code is required to do a specific action), cost of the computer to interpret the instructions (more complexity means more hardware needed to
714:
Many people used to measure a computer's speed by the clock rate (usually in MHz or GHz). This refers to the cycles per second of the main clock of the CPU. However, this metric is somewhat misleading, as a machine with a higher clock rate may not necessarily have greater performance. As a result,
655:
tests the computer as a whole to see if it works in all situations and all timings. Once the design validation process starts, the design at the logic level are tested using logic emulators. However, this is usually too slow to run a realistic test. So, after making corrections based on the first
421:
Computer architecture is concerned with balancing the performance, efficiency, cost, and reliability of a computer system. The case of instruction set architecture can be used to illustrate the balance of these competing factors. More complex instruction sets enable programmers to write more space
406:
can be invalidated (emptied). Pin architecture functions are more flexible than ISA functions because external hardware can adapt to new encodings, or change from a pin to a message. The term "architecture" fits, because the functions must be provided for compatible systems, even if the detailed
751:
takes all these factors into account by measuring the time a computer takes to run through a series of test programs. Although benchmarking shows strengths, it should not be how you choose a computer. Often the measured machines split on different measures. For example, one system might handle
770:
Power efficiency is another important measurement in modern computers. Higher power efficiency can often be traded for lower speed or higher cost. The typical measurement when referring to power consumption in computer architecture is MIPS/W (millions of instructions per second per watt).
706:
Counting machine-language instructions would be misleading because they can do varying amounts of work in different ISAs. The "instruction" in the standard measurements is not a count of the ISA's machine-language instructions, but a unit of measurement, usually based on the speed of the
941:
Architecture describes the internal organization of a computer in an abstract way; that is, it defines the capabilities of the computer and its programming model. You can have two computers that have been constructed in different ways with different technologies but with the same
426:). However, longer and more complex instructions take longer for the processor to decode and can be more costly to implement effectively. The increased complexity from a large instruction set also creates more room for unreliability when instructions interact in unexpected ways. 744:
environment and fail if an operation is not completed in a specified amount of time. For example, computer-controlled anti-lock brakes must begin braking within a predictable and limited time period after the brake pedal is sensed or else failure of the brake will occur.
543:
The ISA of a computer is usually described in a small instruction manual, which describes how the instructions are encoded. Also, it may define short (vaguely) mnemonic names for the instructions. The names can be recognized by a software development tool called an
560:
decode and execute the instructions), and speed of the computer (with more complex decoding hardware comes longer decode time). Memory organization defines how instructions interact with the memory, and how memory interacts with itself.
205:
by stating, "Computer architecture, like other architecture, is the art of determining the needs of the user of a structure and then designing to meet those needs as effectively as possible within economic and technological constraints."
684:(latency is the amount of time that it takes for information from one node to travel to the source) and throughput. Sometimes other considerations, such as features, size, weight, reliability, and expandability are also factors. 1282: 699:(IPC), which measures the efficiency of the architecture at any clock frequency; a faster IPC rate means the computer is faster. Older computers had IPC counts as low as 0.1 while modern processors easily reach nearly 1. 429:
The implementation involves integrated circuit design, packaging, power, and cooling. Optimization of the design requires familiarity with compilers, operating systems to logic design, and packaging.
232:—tested, and tweaked, before committing to the final hardware form. As of the 1990s, new computer architectures are typically "built", tested, and tweaked—inside some other computer architecture in a 321:
There are other technologies in computer architecture. The following technologies are used in bigger companies like Intel, and were estimated in 2002 to count for 1% of all of computer architecture:
213:
line of computers, in which "architecture" became a noun defining "what the user needs to know". The System/360 line was succeeded by several compatible lines of computers, including the current
220:
The earliest computer architectures were designed on paper and then directly built into the final hardware form. Later, computer architecture prototypes were physically built in the form of a
729:
There are two main types of speed: latency and throughput. Latency is the time between the start of a process and its completion. Throughput is the amount of work done per unit time.
1536: 867: 101:
system made from component parts. It can sometimes be a high-level description that ignores details of the implementation. At a more detailed level, the description may include the
567:, emulators can run programs written in a proposed instruction set. Modern emulators can measure size, cost, and speed to determine whether a particular ISA is meeting its goals. 680:
The exact form of a computer system depends on the constraints and goals. Computer architectures usually trade off standards, power versus performance, cost, memory capacity,
186:, members of the Machine Organization department in IBM's main research center in 1959. Johnson had the opportunity to write a proprietary research communication about the 740:
a processor usually makes latency worse, but makes throughput better. Computers that control machinery usually need low interrupt latencies. These computers operate in a
81:
Block diagram of a basic computer with uniprocessor CPU. Black lines indicate control flow, whereas red lines indicate data flow. Arrows indicate the direction of flow.
1463: 590:
hardware so that the memory of different virtual computers can be kept separated. Computer organization and features also affect power consumption and processor cost.
2588: 1506: 513:(ISA) is the interface between the computer's software and hardware and also can be viewed as the programmer's view of the machine. Computers do not understand 1521: 582:
organization. For example, in an SD card, the designers might need to arrange the card so that the most data can be processed in the fastest possible way.
1135:
Hellige, Hans Dieter (2004). "Die Genese von Wissenschaftskonzeptionen der Computerarchitektur: Vom "system of organs" zum Schichtmodell des Designraums".
787:
Increases in clock frequency have grown more slowly over the past few years, compared to power reduction improvements. This has been driven by the end of
2820: 1568: 2858: 145:
described in two patent applications for his future projects that machine instructions could be stored in the same storage used for data, i.e., the
2760: 687:
The most common scheme does an in-depth power analysis and figures out how to keep power consumption low while maintaining adequate performance.
2863: 2285: 2257: 1449: 517:
such as Java, C++, or most programming languages used. A processor only understands instructions encoded in some numerical fashion, usually as
470: 57: 44: 2310: 1411: 1105: 1306: 598:
Once an instruction set and micro-architecture have been designed, a practical machine must be developed. This design process is called the
2695: 2161: 157: 660:). Most hobby projects stop at this stage. The final step is to test prototype integrated circuits, which may require several redesigns. 2315: 1587: 2808: 2707: 1820: 1331: 2742: 2581: 2467: 2295: 1825: 1490: 1237: 1212: 496: 733:
is the guaranteed maximum response time of the system to an electronic event (like when the disk drive finishes moving some data).
973: 3028: 2555: 1649: 887: 545: 221: 2754: 2690: 1943: 827: 514: 233: 2196: 3023: 2234: 1853: 1561: 474: 305:: includes all of the other hardware components within a computing system, such as data processing other than the CPU (e.g., 195: 1054:
Reproduced in B. J. Copeland (Ed.), "Alan Turing's Automatic Computing Engine", Oxford University Press, 2005, pp. 369-454.
2880: 2748: 2376: 2353: 2083: 2073: 1065: 861: 639:, caches etc.) that may be implemented at the logic-gate level, or even at the physical level if the design calls for it. 2574: 2457: 2045: 1953: 1858: 1634: 1619: 1482: 1360: 960:
This task has many aspects, including instruction set design, functional organization, logic design, and implementation.
646: 510: 438: 253: 102: 548:. An assembler is a computer program that translates a human-readable form of the ISA into a computer-readable form. 540:, and memory. Instructions locate these available items with register indexes (or names) and memory addressing modes. 2997: 2892: 2545: 2280: 1778: 1397: 793: 377: 2912: 2870: 2517: 2166: 872: 603: 171: 2813: 2798: 2724: 2684: 2535: 2462: 2437: 2300: 1948: 1554: 2825: 2730: 2718: 2386: 2219: 1805: 1674: 892: 877: 459: 423: 369: 2875: 2653: 2648: 2447: 2381: 2272: 2088: 1748: 1435: 822: 665: 632: 478: 463: 290: 146: 49: 2969: 2766: 2512: 2343: 2224: 1991: 1981: 1976: 696: 1522:
ASPLOS: International Conference on Architectural Support for Programming Languages and Operating Systems
2981: 2935: 2701: 2638: 2482: 2452: 2442: 2338: 2252: 2128: 2068: 2035: 2025: 1908: 1873: 1863: 1800: 1644: 1639: 1604: 882: 842: 761: 748: 681: 636: 528:
Besides instructions, the ISA defines items in the computer that are available to a program—e.g.,
518: 77: 1254: 1516: 2907: 2902: 2885: 2605: 2242: 2214: 2186: 2181: 2010: 1986: 1938: 1921: 1916: 1898: 1888: 1883: 1845: 1795: 1790: 1707: 1653: 985: 857: 765: 737: 422:
efficient programs, since a single instruction can encode some higher-level abstraction (such as the
306: 90: 2954: 2897: 2736: 2658: 2633: 2597: 2507: 2432: 2348: 2333: 2098: 1878: 1835: 1830: 1727: 1717: 1689: 1474: 852: 741: 329: 237: 1113: 2974: 2840: 2678: 2643: 2472: 2371: 2247: 2204: 2113: 2055: 2040: 2030: 1815: 1614: 1003: 813: 533: 274: 262: 182:
The term "architecture" in computer literature can be traced to the work of Lyle R. Johnson and
1401: 402:
pins A20M, FERR/IGNNE or FLUSH. Also, messages that the processor should emit so that external
2930: 2492: 2422: 2401: 2363: 2171: 2138: 2118: 1810: 1722: 1596: 1486: 1407: 1233: 1208: 832: 730: 576: 365: 339: 285: 134: 106: 2663: 2325: 2209: 2176: 1971: 1893: 1782: 1768: 1763: 1712: 1699: 1624: 1577: 1420: 1393: 993: 525:, translate those high level languages into instructions that the processor can understand. 343: 187: 175: 153: 86: 2853: 2848: 2830: 2793: 2788: 2713: 2673: 2396: 2290: 2262: 2156: 2108: 2093: 2078: 1933: 1928: 1868: 1758: 1732: 1684: 1629: 1540: 719: 703:
processors may reach three to five IPC by executing several instructions per clock cycle.
537: 314: 270: 126: 1149:
ACE underwent seven paper designs in one year, before a prototype was initiated in 1948.
668:, the entire implementation process is organized differently and is often referred to as 989: 2783: 2502: 2406: 2305: 2151: 2123: 1160: 1011: 914: 847: 788: 587: 556:
and software programs to isolate and correct malfunctions in binary computer programs.
395: 347: 310: 301: 210: 163: 114: 17: 3017: 2964: 2947: 2942: 2391: 1679: 1455: 602:. Implementation is usually not considered architectural design, but rather hardware 225: 191: 138: 1430:
Barton, Robert S., "A New Approach to the Functional Design of a Digital Computer",
2487: 2146: 1445: 1007: 723: 549: 258: 130: 110: 726:
speeds, available memory, and the type and order of instructions in the programs.
2477: 2103: 2015: 1459: 1441: 700: 645:
draws physical circuits. The different circuit components are placed in a chip
628: 448: 183: 142: 807: 3002: 2668: 2613: 2497: 2427: 2020: 1753: 1609: 837: 803: 775: 736:
Performance is affected by a very wide range of design choices — for example,
669: 624: 614: 361: 1030:
Susanne Faber, "Konrad Zuses Bemuehungen um die Patentanmeldung der Z3", 2000
217:
line. Later, computer users came to use the term in many less explicit ways.
125:
The first documented computer architecture was in the correspondence between
2959: 2628: 2002: 1963: 1232:(5th ed.). Burlington, MA: Jones & Bartlett Learning. p. 280. 715:
manufacturers have moved away from clock speed as a measure of performance.
529: 403: 384: 294: 278: 266: 201:
Subsequently, Brooks, a Stretch designer, opened Chapter 2 of a book called
1531: 35: 2623: 2618: 2063: 1507:
ISCA: Proceedings of the International Symposium on Computer Architecture
564: 553: 522: 357: 289:: also known as "computer organization", this describes how a particular 98: 297:
for instance, is an issue that generally has nothing to do with the ISA.
1517:
HPCA: International Symposium on High Performance Computer Architecture
656:
test, prototypes are constructed using Field-Programmable Gate-Arrays (
229: 2566: 1464:"The Structure of System/360, Part I-Outline of the Logical Structure" 248:
The discipline of computer architecture has three main subcategories:
998: 922:
DTU Compute – Department of Applied Mathematics and Computer Science
1546: 373: 214: 380:
standards define different programmer-visible macroarchitectures.
1434:, May 1961, pp. 393–396. About the design of the Burroughs 1183: 1181: 657: 606:. Implementation can be further broken down into several steps: 364:
using them, abstracting differences between underlying ISAs and
2570: 1550: 708: 442: 399: 29: 1512:
Micro: IEEE/ACM International Symposium on Microarchitecture
1511: 1137:
Geschichten der Informatik: Visionen, Paradigmen, Leitmotive
1526: 1205:
Dictionary of Computer Science, Engineering, and Technology
160:, which described an organization of logical elements; and 1230:
The Essentials of Computer Organization and Architecture
649:
or on a board and the wires connecting them are created.
240:; or both—before committing to the final hardware form. 868:
Influence of the IBM PC on the personal computer market
1527:
ACM Transactions on Architecture and Code Optimization
342:
common to a group of machines into slightly different
149:
concept. Two other early and important examples are:
1432:
Proceedings of the Western Joint Computer Conference
2990: 2923: 2839: 2776: 2604: 2415: 2362: 2324: 2271: 2233: 2195: 2137: 2054: 2000: 1962: 1907: 1844: 1777: 1741: 1698: 1662: 1595: 972:Williams, F. C.; Kilburn, T. (25 September 1948), 718:Other factors influence speed, such as the mix of 695:Modern computer performance is often described in 398:should provide to a hardware platform, e.g., the 360:may define a consistent interface or contract to 293:will implement the ISA. The size of a computer's 1537:The von Neumann Architecture of Computer Systems 1106:"System 360, From Computers to Computer Systems" 627:-level designs of basic elements (e.g., gates, 1403:Computer Architecture: A Quantitative Approach 1190:Computer Architecture: A Quantitative Approach 956:Computer Architecture: A Quantitative Approach 2582: 1586:Note: This template roughly follows the 2012 1562: 1192:(Third ed.). Morgan Kaufmann Publishers. 774:Modern circuits have less power required per 224:(TTL) computer—such as the prototypes of the 8: 1450:"Computer Structures: Readings and Examples" 338:: A smart assembler may convert an abstract 477:. Unsourced material may be challenged and 203:Planning a Computer System: Project Stretch 2589: 2575: 2567: 1569: 1555: 1547: 1188:John L. Hennessy and David A. Patterson. 997: 497:Learn how and when to remove this message 1470:, vol. 3, no. 2, pp. 119–135, 1964. 915:"Introduction to peer to peer computing" 76: 60:of all important aspects of the article. 2761:Application-specific integrated circuit 905: 97:is a description of the structure of a 27:Set of rules describing computer system 2286:Knowledge representation and reasoning 1332:"Measuring Processor Power TDP vs ACP" 552:are also widely available, usually in 356:: higher-level language tools such as 56:Please consider expanding the lead to 2311:Philosophy of artificial intelligence 1283:"Integrated circuits and fabrication" 336:Assembly instruction set architecture 7: 2696:Three-dimensional integrated circuit 1630:Energy consumption (Green computing) 1423:, "Functional Design of Computers", 1406:(Fourth ed.). Morgan Kaufmann. 1042:First Draft of a Report on the EDVAC 635:) as well as of some larger blocks ( 475:adding citations to reliable sources 354:Programmer-visible macroarchitecture 332:more abstract than microarchitecture 158:First Draft of a Report on the EDVAC 2316:Distributed artificial intelligence 1588:ACM Computing Classification System 613:designs the circuits required at a 265:reads and acts upon as well as the 209:Brooks went on to help develop the 2708:Erasable programmable logic device 1821:Integrated development environment 1361:"History of Processor Performance" 1161:"Organization of Computer Systems" 954:Hennessy, John; Patterson, David. 25: 2743:Complex programmable logic device 2296:Automated planning and scheduling 1826:Software configuration management 2550: 2540: 2531: 2530: 1479:Structured Computer Organization 1255:"What is computer architecture?" 888:Transport triggered architecture 806: 515:high-level programming languages 447: 394:: The hardware functions that a 34: 2755:Field-programmable object array 2691:Mixed-signal integrated circuit 2541: 1944:Computational complexity theory 937:Principles of Computer Hardware 828:Comparison of CPU architectures 234:computer architecture simulator 48:may be too short to adequately 1728:Network performance evaluation 1532:IEEE Transactions on Computers 1112:. 7 March 2012. Archived from 974:"Electronic Digital Computers" 958:(Fifth ed.). p. 11. 939:(Fourth ed.). p. 1. 196:Los Alamos National Laboratory 168:Proposed Electronic Calculator 137:. While building the computer 58:provide an accessible overview 1: 2881:Hardware description language 2749:Field-programmable gate array 2099:Multimedia information system 2084:Geographic information system 2074:Enterprise information system 1663:Computer systems organization 1207:. CRC Press. pp. 94–95. 1203:Laplante, Phillip A. (2001). 2458:Computational social science 2046:Theoretical computer science 1859:Software development process 1635:Electronic design automation 1620:Very Large Scale Integration 1483:Englewood Cliffs, New Jersey 511:instruction set architecture 439:Instruction set architecture 433:Instruction set architecture 254:Instruction set architecture 174:, also 1945 and which cited 103:instruction set architecture 2893:Formal equivalence checking 2281:Natural language processing 2069:Information storage systems 222:transistor–transistor logic 3045: 2913:Hierarchical state machine 2871:Transaction-level modeling 2197:Human–computer interaction 2167:Intrusion detection system 2079:Social information systems 2064:Database management system 1543: (archived 2017-10-31) 1092:Planning a Computer System 1066:"A Description of Stretch" 873:Orthogonal instruction set 759: 574: 521:. Software tools, such as 436: 172:Automatic Computing Engine 2814:Digital signal processing 2799:Logic in computer science 2725:Programmable logic device 2685:Hybrid integrated circuit 2526: 2463:Computational engineering 2438:Computational mathematics 1584: 1425:Communications of the ACM 1090:Buchholz, Werner (1962). 794:Haswell microarchitecture 2826:Switching circuit theory 2731:Programmable Array Logic 2719:Programmable logic array 2473:Computational healthcare 2468:Differentiable computing 2387:Graphics processing unit 1806:Domain-specific language 1675:Computational complexity 1307:"Exynos 9 Series (8895)" 913:Dragoni, Nicole (n.d.). 893:Von Neumann architecture 878:Reconfigurable computing 236:; or inside a FPGA as a 184:Frederick P. Brooks, Jr. 3029:Central processing unit 2876:Register-transfer level 2448:Computational chemistry 2382:Photograph manipulation 2273:Artificial intelligence 2089:Decision support system 823:Bit-serial architecture 783:Shifts in market demand 711:computer architecture. 643:Physical implementation 2767:Tensor Processing Unit 2513:Educational technology 2344:Reinforcement learning 2094:Process control system 1992:Computational geometry 1982:Algorithmic efficiency 1977:Analysis of algorithms 1625:Systems on Chip (SoCs) 1064:Johnson, Lyle (1960). 1040:Neumann, John (1945). 697:instructions per cycle 621:Circuit implementation 586:virtual machine needs 82: 18:Computer architectures 3024:Computer architecture 2982:Electronic literature 2936:Hardware acceleration 2804:Computer architecture 2702:Emitter-coupled logic 2639:Printed circuit board 2483:Electronic publishing 2453:Computational biology 2443:Computational physics 2339:Unsupervised learning 2253:Distributed computing 2129:Information retrieval 2036:Mathematical analysis 2026:Mathematical software 1909:Theory of computation 1874:Software construction 1864:Requirements analysis 1742:Software organization 1670:Computer architecture 1640:Hardware acceleration 1605:Printed circuit board 883:Software architecture 843:Dataflow architecture 762:Low-power electronics 571:Computer organization 95:computer architecture 80: 2908:Finite-state machine 2886:High-level synthesis 2821:Circuit minimization 2243:Concurrent computing 2215:Ubiquitous computing 2187:Application security 2182:Information security 2011:Discrete mathematics 1987:Randomized algorithm 1939:Computability theory 1917:Model of computation 1889:Software maintenance 1884:Software engineering 1846:Software development 1796:Programming language 1791:Programming paradigm 1708:Network architecture 1475:Tanenbaum, Andrew S. 1228:Null, Linda (2019). 858:Harvard architecture 766:Performance per watt 611:Logic implementation 471:improve this section 424:x86 Loop instruction 330:architectural layers 307:direct memory access 271:memory address modes 91:computer engineering 2955:Digital photography 2737:Generic Array Logic 2659:Combinational logic 2634:Printed electronics 2598:Digital electronics 2518:Document management 2508:Operations research 2433:Enterprise software 2349:Multi-task learning 2334:Supervised learning 2056:Information systems 1879:Software deployment 1836:Software repository 1690:Real-time computing 1468:IBM Systems Journal 1139:. pp. 411–472. 990:1948Natur.162..487W 368:. For example, the 275:processor registers 257:(ISA): defines the 238:soft microprocessor 190:, an IBM-developed 2903:Asynchronous logic 2679:Integrated circuit 2644:Electronic circuit 2301:Search methodology 2248:Parallel computing 2205:Interaction design 2114:Computing platform 2041:Numerical analysis 2031:Information theory 1816:Software framework 1779:Software notations 1718:Network components 1615:Integrated circuit 924:. Lyngby, Denmark. 814:Electronics portal 604:design engineering 366:microarchitectures 83: 3011: 3010: 2960:Digital telephone 2931:Computer hardware 2898:Synchronous logic 2564: 2563: 2493:Electronic voting 2423:Quantum Computing 2416:Applied computing 2402:Image compression 2172:Hardware security 2162:Security services 2119:Digital marketing 1899:Open-source model 1811:Modeling language 1723:Network scheduler 1485:: Prentice-Hall. 1460:Brooks, F.P., Jr. 1427:4(9): 405 (1961). 1421:Barton, Robert S. 1413:978-0-12-370490-0 833:Computer hardware 731:Interrupt latency 653:Design validation 577:Microarchitecture 507: 506: 499: 340:assembly language 326:Macroarchitecture 286:Microarchitecture 166:'s more detailed 135:analytical engine 133:, describing the 107:microarchitecture 75: 74: 16:(Redirected from 3036: 2664:Sequential logic 2591: 2584: 2577: 2568: 2554: 2553: 2544: 2543: 2534: 2533: 2354:Cross-validation 2326:Machine learning 2210:Social computing 2177:Network security 1972:Algorithm design 1894:Programming team 1854:Control variable 1831:Software library 1769:Software quality 1764:Operating system 1713:Network protocol 1578:Computer science 1571: 1564: 1557: 1548: 1496: 1417: 1394:John L. Hennessy 1380: 1379: 1377: 1375: 1365: 1357: 1351: 1350: 1348: 1346: 1336: 1328: 1322: 1321: 1319: 1317: 1303: 1297: 1296: 1294: 1292: 1287: 1279: 1273: 1272: 1270: 1268: 1259: 1250: 1244: 1243: 1225: 1219: 1218: 1200: 1194: 1193: 1185: 1176: 1175: 1173: 1171: 1156: 1150: 1147: 1141: 1140: 1132: 1126: 1125: 1123: 1121: 1116:on April 3, 2012 1102: 1096: 1095: 1087: 1081: 1080: 1078: 1076: 1070: 1061: 1055: 1052: 1046: 1045: 1037: 1031: 1028: 1022: 1021: 1020: 1019: 1010:, archived from 1001: 999:10.1038/162487a0 969: 963: 962: 951: 945: 944: 935:Clements, Alan. 932: 926: 925: 919: 910: 853:Flynn's taxonomy 816: 811: 810: 756:Power efficiency 720:functional units 538:addressing modes 502: 495: 491: 488: 482: 451: 443: 392:Pin architecture 344:machine language 176:John von Neumann 154:John von Neumann 87:computer science 70: 67: 61: 38: 30: 21: 3044: 3043: 3039: 3038: 3037: 3035: 3034: 3033: 3014: 3013: 3012: 3007: 2986: 2919: 2854:Place and route 2849:Logic synthesis 2835: 2831:Gate equivalent 2794:Logic synthesis 2789:Boolean algebra 2772: 2714:Macrocell array 2674:Boolean circuit 2600: 2595: 2565: 2560: 2551: 2522: 2503:Word processing 2411: 2397:Virtual reality 2358: 2320: 2291:Computer vision 2267: 2263:Multiprocessing 2229: 2191: 2157:Security hacker 2133: 2109:Digital library 2050: 2001:Mathematics of 1996: 1958: 1934:Automata theory 1929:Formal language 1903: 1869:Software design 1840: 1773: 1759:Virtual machine 1737: 1733:Network service 1694: 1685:Embedded system 1658: 1591: 1580: 1575: 1541:Wayback Machine 1503: 1493: 1473: 1442:Bell, C. Gordon 1414: 1398:David Patterson 1392: 1389: 1384: 1383: 1373: 1371: 1370:. 24 April 2012 1368:cs.columbia.edu 1363: 1359: 1358: 1354: 1344: 1342: 1334: 1330: 1329: 1325: 1315: 1313: 1305: 1304: 1300: 1290: 1288: 1285: 1281: 1280: 1276: 1266: 1264: 1257: 1252: 1251: 1247: 1240: 1227: 1226: 1222: 1215: 1202: 1201: 1197: 1187: 1186: 1179: 1169: 1167: 1158: 1157: 1153: 1148: 1144: 1134: 1133: 1129: 1119: 1117: 1104: 1103: 1099: 1089: 1088: 1084: 1074: 1072: 1068: 1063: 1062: 1058: 1053: 1049: 1039: 1038: 1034: 1029: 1025: 1017: 1015: 1014:on 6 April 2009 971: 970: 966: 953: 952: 948: 934: 933: 929: 917: 912: 911: 907: 902: 897: 812: 805: 802: 785: 768: 760:Main articles: 758: 693: 678: 596: 579: 573: 503: 492: 486: 483: 468: 452: 441: 435: 419: 414: 407:method changes. 348:implementations 315:multiprocessing 246: 156:'s 1945 paper, 127:Charles Babbage 123: 71: 65: 62: 55: 43:This article's 39: 28: 23: 22: 15: 12: 11: 5: 3042: 3040: 3032: 3031: 3026: 3016: 3015: 3009: 3008: 3006: 3005: 3000: 2994: 2992: 2988: 2987: 2985: 2984: 2979: 2978: 2977: 2972: 2970:cinematography 2962: 2957: 2952: 2951: 2950: 2940: 2939: 2938: 2927: 2925: 2921: 2920: 2918: 2917: 2916: 2915: 2905: 2900: 2895: 2890: 2889: 2888: 2883: 2873: 2868: 2867: 2866: 2861: 2851: 2845: 2843: 2837: 2836: 2834: 2833: 2828: 2823: 2818: 2817: 2816: 2809:Digital signal 2806: 2801: 2796: 2791: 2786: 2784:Digital signal 2780: 2778: 2774: 2773: 2771: 2770: 2764: 2758: 2752: 2746: 2740: 2734: 2728: 2722: 2716: 2711: 2705: 2699: 2693: 2688: 2682: 2676: 2671: 2666: 2661: 2656: 2651: 2646: 2641: 2636: 2631: 2626: 2621: 2616: 2610: 2608: 2602: 2601: 2596: 2594: 2593: 2586: 2579: 2571: 2562: 2561: 2559: 2558: 2548: 2538: 2527: 2524: 2523: 2521: 2520: 2515: 2510: 2505: 2500: 2495: 2490: 2485: 2480: 2475: 2470: 2465: 2460: 2455: 2450: 2445: 2440: 2435: 2430: 2425: 2419: 2417: 2413: 2412: 2410: 2409: 2407:Solid modeling 2404: 2399: 2394: 2389: 2384: 2379: 2374: 2368: 2366: 2360: 2359: 2357: 2356: 2351: 2346: 2341: 2336: 2330: 2328: 2322: 2321: 2319: 2318: 2313: 2308: 2306:Control method 2303: 2298: 2293: 2288: 2283: 2277: 2275: 2269: 2268: 2266: 2265: 2260: 2258:Multithreading 2255: 2250: 2245: 2239: 2237: 2231: 2230: 2228: 2227: 2222: 2217: 2212: 2207: 2201: 2199: 2193: 2192: 2190: 2189: 2184: 2179: 2174: 2169: 2164: 2159: 2154: 2152:Formal methods 2149: 2143: 2141: 2135: 2134: 2132: 2131: 2126: 2124:World Wide Web 2121: 2116: 2111: 2106: 2101: 2096: 2091: 2086: 2081: 2076: 2071: 2066: 2060: 2058: 2052: 2051: 2049: 2048: 2043: 2038: 2033: 2028: 2023: 2018: 2013: 2007: 2005: 1998: 1997: 1995: 1994: 1989: 1984: 1979: 1974: 1968: 1966: 1960: 1959: 1957: 1956: 1951: 1946: 1941: 1936: 1931: 1926: 1925: 1924: 1913: 1911: 1905: 1904: 1902: 1901: 1896: 1891: 1886: 1881: 1876: 1871: 1866: 1861: 1856: 1850: 1848: 1842: 1841: 1839: 1838: 1833: 1828: 1823: 1818: 1813: 1808: 1803: 1798: 1793: 1787: 1785: 1775: 1774: 1772: 1771: 1766: 1761: 1756: 1751: 1745: 1743: 1739: 1738: 1736: 1735: 1730: 1725: 1720: 1715: 1710: 1704: 1702: 1696: 1695: 1693: 1692: 1687: 1682: 1677: 1672: 1666: 1664: 1660: 1659: 1657: 1656: 1647: 1642: 1637: 1632: 1627: 1622: 1617: 1612: 1607: 1601: 1599: 1593: 1592: 1585: 1582: 1581: 1576: 1574: 1573: 1566: 1559: 1551: 1545: 1544: 1534: 1529: 1524: 1519: 1514: 1509: 1502: 1501:External links 1499: 1498: 1497: 1491: 1471: 1453: 1452:, McGraw-Hill. 1439: 1428: 1418: 1412: 1388: 1385: 1382: 1381: 1352: 1323: 1298: 1274: 1253:Martin, Milo. 1245: 1238: 1220: 1213: 1195: 1177: 1159:Schmalz, M.S. 1151: 1142: 1127: 1097: 1082: 1056: 1047: 1032: 1023: 964: 946: 927: 904: 903: 901: 898: 896: 895: 890: 885: 880: 875: 870: 865: 855: 850: 848:Floating point 845: 840: 835: 830: 825: 819: 818: 817: 801: 798: 784: 781: 757: 754: 692: 689: 677: 674: 662: 661: 650: 640: 618: 600:implementation 595: 594:Implementation 592: 588:virtual memory 575:Main article: 572: 569: 563:During design 519:binary numbers 505: 504: 455: 453: 446: 437:Main article: 434: 431: 418: 415: 413: 410: 409: 408: 396:microprocessor 389: 381: 351: 346:for different 333: 319: 318: 311:virtualization 302:Systems design 298: 282: 245: 242: 211:IBM System/360 180: 179: 161: 147:stored-program 122: 119: 115:implementation 73: 72: 52:the key points 42: 40: 33: 26: 24: 14: 13: 10: 9: 6: 4: 3: 2: 3041: 3030: 3027: 3025: 3022: 3021: 3019: 3004: 3001: 2999: 2998:Metastability 2996: 2995: 2993: 2991:Design issues 2989: 2983: 2980: 2976: 2973: 2971: 2968: 2967: 2966: 2965:Digital video 2963: 2961: 2958: 2956: 2953: 2949: 2946: 2945: 2944: 2943:Digital audio 2941: 2937: 2934: 2933: 2932: 2929: 2928: 2926: 2922: 2914: 2911: 2910: 2909: 2906: 2904: 2901: 2899: 2896: 2894: 2891: 2887: 2884: 2882: 2879: 2878: 2877: 2874: 2872: 2869: 2865: 2862: 2860: 2857: 2856: 2855: 2852: 2850: 2847: 2846: 2844: 2842: 2838: 2832: 2829: 2827: 2824: 2822: 2819: 2815: 2812: 2811: 2810: 2807: 2805: 2802: 2800: 2797: 2795: 2792: 2790: 2787: 2785: 2782: 2781: 2779: 2775: 2768: 2765: 2762: 2759: 2756: 2753: 2750: 2747: 2744: 2741: 2738: 2735: 2732: 2729: 2726: 2723: 2720: 2717: 2715: 2712: 2709: 2706: 2703: 2700: 2697: 2694: 2692: 2689: 2686: 2683: 2680: 2677: 2675: 2672: 2670: 2667: 2665: 2662: 2660: 2657: 2655: 2652: 2650: 2647: 2645: 2642: 2640: 2637: 2635: 2632: 2630: 2627: 2625: 2622: 2620: 2617: 2615: 2612: 2611: 2609: 2607: 2603: 2599: 2592: 2587: 2585: 2580: 2578: 2573: 2572: 2569: 2557: 2549: 2547: 2539: 2537: 2529: 2528: 2525: 2519: 2516: 2514: 2511: 2509: 2506: 2504: 2501: 2499: 2496: 2494: 2491: 2489: 2486: 2484: 2481: 2479: 2476: 2474: 2471: 2469: 2466: 2464: 2461: 2459: 2456: 2454: 2451: 2449: 2446: 2444: 2441: 2439: 2436: 2434: 2431: 2429: 2426: 2424: 2421: 2420: 2418: 2414: 2408: 2405: 2403: 2400: 2398: 2395: 2393: 2392:Mixed reality 2390: 2388: 2385: 2383: 2380: 2378: 2375: 2373: 2370: 2369: 2367: 2365: 2361: 2355: 2352: 2350: 2347: 2345: 2342: 2340: 2337: 2335: 2332: 2331: 2329: 2327: 2323: 2317: 2314: 2312: 2309: 2307: 2304: 2302: 2299: 2297: 2294: 2292: 2289: 2287: 2284: 2282: 2279: 2278: 2276: 2274: 2270: 2264: 2261: 2259: 2256: 2254: 2251: 2249: 2246: 2244: 2241: 2240: 2238: 2236: 2232: 2226: 2225:Accessibility 2223: 2221: 2220:Visualization 2218: 2216: 2213: 2211: 2208: 2206: 2203: 2202: 2200: 2198: 2194: 2188: 2185: 2183: 2180: 2178: 2175: 2173: 2170: 2168: 2165: 2163: 2160: 2158: 2155: 2153: 2150: 2148: 2145: 2144: 2142: 2140: 2136: 2130: 2127: 2125: 2122: 2120: 2117: 2115: 2112: 2110: 2107: 2105: 2102: 2100: 2097: 2095: 2092: 2090: 2087: 2085: 2082: 2080: 2077: 2075: 2072: 2070: 2067: 2065: 2062: 2061: 2059: 2057: 2053: 2047: 2044: 2042: 2039: 2037: 2034: 2032: 2029: 2027: 2024: 2022: 2019: 2017: 2014: 2012: 2009: 2008: 2006: 2004: 1999: 1993: 1990: 1988: 1985: 1983: 1980: 1978: 1975: 1973: 1970: 1969: 1967: 1965: 1961: 1955: 1952: 1950: 1947: 1945: 1942: 1940: 1937: 1935: 1932: 1930: 1927: 1923: 1920: 1919: 1918: 1915: 1914: 1912: 1910: 1906: 1900: 1897: 1895: 1892: 1890: 1887: 1885: 1882: 1880: 1877: 1875: 1872: 1870: 1867: 1865: 1862: 1860: 1857: 1855: 1852: 1851: 1849: 1847: 1843: 1837: 1834: 1832: 1829: 1827: 1824: 1822: 1819: 1817: 1814: 1812: 1809: 1807: 1804: 1802: 1799: 1797: 1794: 1792: 1789: 1788: 1786: 1784: 1780: 1776: 1770: 1767: 1765: 1762: 1760: 1757: 1755: 1752: 1750: 1747: 1746: 1744: 1740: 1734: 1731: 1729: 1726: 1724: 1721: 1719: 1716: 1714: 1711: 1709: 1706: 1705: 1703: 1701: 1697: 1691: 1688: 1686: 1683: 1681: 1680:Dependability 1678: 1676: 1673: 1671: 1668: 1667: 1665: 1661: 1655: 1651: 1648: 1646: 1643: 1641: 1638: 1636: 1633: 1631: 1628: 1626: 1623: 1621: 1618: 1616: 1613: 1611: 1608: 1606: 1603: 1602: 1600: 1598: 1594: 1589: 1583: 1579: 1572: 1567: 1565: 1560: 1558: 1553: 1552: 1549: 1542: 1538: 1535: 1533: 1530: 1528: 1525: 1523: 1520: 1518: 1515: 1513: 1510: 1508: 1505: 1504: 1500: 1494: 1492:0-13-148521-0 1488: 1484: 1480: 1476: 1472: 1469: 1465: 1461: 1457: 1454: 1451: 1447: 1446:Newell, Allen 1443: 1440: 1437: 1433: 1429: 1426: 1422: 1419: 1415: 1409: 1405: 1404: 1399: 1395: 1391: 1390: 1386: 1369: 1362: 1356: 1353: 1340: 1333: 1327: 1324: 1312: 1308: 1302: 1299: 1284: 1278: 1275: 1263: 1256: 1249: 1246: 1241: 1239:9781284123036 1235: 1231: 1224: 1221: 1216: 1214:0-8493-2691-5 1210: 1206: 1199: 1196: 1191: 1184: 1182: 1178: 1166: 1162: 1155: 1152: 1146: 1143: 1138: 1131: 1128: 1115: 1111: 1107: 1101: 1098: 1093: 1086: 1083: 1067: 1060: 1057: 1051: 1048: 1043: 1036: 1033: 1027: 1024: 1013: 1009: 1005: 1000: 995: 991: 987: 984:(4117): 487, 983: 979: 975: 968: 965: 961: 957: 950: 947: 943: 942:architecture. 938: 931: 928: 923: 916: 909: 906: 899: 894: 891: 889: 886: 884: 881: 879: 876: 874: 871: 869: 866: 863: 859: 856: 854: 851: 849: 846: 844: 841: 839: 836: 834: 831: 829: 826: 824: 821: 820: 815: 809: 804: 799: 797: 795: 790: 782: 780: 777: 772: 767: 763: 755: 753: 750: 746: 743: 739: 734: 732: 727: 725: 721: 716: 712: 710: 704: 702: 698: 690: 688: 685: 683: 675: 673: 671: 667: 659: 654: 651: 648: 644: 641: 638: 634: 630: 626: 622: 619: 616: 612: 609: 608: 607: 605: 601: 593: 591: 589: 583: 578: 570: 568: 566: 561: 557: 555: 551: 550:Disassemblers 547: 541: 539: 535: 531: 526: 524: 520: 516: 512: 501: 498: 490: 480: 476: 472: 466: 465: 461: 456:This section 454: 450: 445: 444: 440: 432: 430: 427: 425: 416: 411: 405: 401: 397: 393: 390: 387: 386: 382: 379: 375: 371: 367: 363: 359: 355: 352: 349: 345: 341: 337: 334: 331: 327: 324: 323: 322: 316: 312: 308: 304: 303: 299: 296: 292: 288: 287: 283: 280: 276: 272: 268: 264: 260: 256: 255: 251: 250: 249: 244:Subcategories 243: 241: 239: 235: 231: 227: 223: 218: 216: 212: 207: 204: 199: 197: 193: 192:supercomputer 189: 185: 177: 173: 169: 165: 162: 159: 155: 152: 151: 150: 148: 144: 140: 136: 132: 128: 120: 118: 116: 112: 108: 104: 100: 96: 92: 88: 79: 69: 66:November 2023 59: 53: 51: 46: 41: 37: 32: 31: 19: 2924:Applications 2803: 2488:Cyberwarfare 2147:Cryptography 1669: 1478: 1467: 1456:Blaauw, G.A. 1431: 1424: 1402: 1372:. Retrieved 1367: 1355: 1343:. Retrieved 1341:. April 2011 1338: 1326: 1314:. Retrieved 1310: 1301: 1289:. Retrieved 1277: 1265:. Retrieved 1261: 1248: 1229: 1223: 1204: 1198: 1189: 1168:. Retrieved 1164: 1154: 1145: 1136: 1130: 1118:. Retrieved 1114:the original 1109: 1100: 1094:. p. 5. 1091: 1085: 1073:. Retrieved 1059: 1050: 1044:. p. 9. 1041: 1035: 1026: 1016:, retrieved 1012:the original 981: 977: 967: 959: 955: 949: 940: 936: 930: 921: 908: 786: 773: 769: 749:Benchmarking 747: 735: 728: 717: 713: 705: 694: 686: 679: 676:Design goals 663: 652: 642: 629:multiplexers 620: 610: 599: 597: 584: 580: 562: 558: 542: 527: 508: 493: 484: 469:Please help 457: 428: 420: 391: 383: 353: 335: 325: 320: 300: 284: 259:machine code 252: 247: 219: 208: 202: 200: 181: 167: 131:Ada Lovelace 124: 111:logic design 94: 84: 63: 47: 45:lead section 2654:Memory cell 2498:Video games 2478:Digital art 2235:Concurrency 2104:Data mining 2016:Probability 1749:Interpreter 1071:. p. 1 789:Moore's Law 701:Superscalar 691:Performance 362:programmers 164:Alan Turing 143:Konrad Zuse 3018:Categories 3003:Runt pulse 2975:television 2669:Logic gate 2614:Transistor 2606:Components 2556:Glossaries 2428:E-commerce 2021:Statistics 1964:Algorithms 1922:Stochastic 1754:Middleware 1610:Peripheral 1018:2009-04-10 900:References 838:CPU design 776:transistor 738:pipelining 670:CPU design 647:floor plan 625:transistor 615:logic-gate 530:data types 487:March 2018 417:Definition 2859:Placement 2649:Flip-flop 2629:Capacitor 2377:Rendering 2372:Animation 2003:computing 1954:Semantics 1645:Processor 1438:computer. 1075:7 October 742:real-time 565:emulation 554:debuggers 546:assembler 534:registers 523:compilers 458:does not 385:Microcode 358:compilers 295:CPU cache 291:processor 279:data type 267:word size 263:processor 178:'s paper. 141:in 1936, 50:summarize 2624:Inductor 2619:Resistor 2536:Category 2364:Graphics 2139:Security 1801:Compiler 1700:Networks 1597:Hardware 1477:(1979). 1448:(1971). 1400:(2006). 862:Modified 800:See also 228:and the 170:for the 109:design, 105:design, 99:computer 2864:Routing 2698:(3D IC) 2546:Outline 1539:at the 1387:Sources 1311:Samsung 1165:UF CISE 1008:4110351 986:Bibcode 682:latency 633:latches 479:removed 464:sources 261:that a 230:PA-RISC 188:Stretch 121:History 2841:Design 2777:Theory 2763:(ASIC) 2757:(FPOA) 2751:(FPGA) 2745:(CPLD) 2710:(EPLD) 1489:  1458:, and 1444:; and 1410:  1267:11 May 1236:  1211:  1170:11 May 1120:11 May 1110:IBM100 1006:  978:Nature 617:level. 404:caches 313:, and 277:, and 113:, and 2948:radio 2769:(TPU) 2739:(GAL) 2733:(PAL) 2727:(PLD) 2721:(PLA) 2704:(ECL) 2687:(HIC) 1949:Logic 1783:tools 1436:B5000 1374:5 May 1364:(PDF) 1345:5 May 1339:Intel 1335:(PDF) 1316:8 May 1291:8 May 1286:(PDF) 1262:UPENN 1258:(PDF) 1069:(PDF) 1004:S2CID 918:(PDF) 658:FPGAs 623:does 412:Roles 376:, or 215:IBM Z 2681:(IC) 1781:and 1654:Form 1650:Size 1487:ISBN 1408:ISBN 1396:and 1376:2017 1347:2017 1318:2017 1293:2017 1269:2017 1234:ISBN 1209:ISBN 1172:2017 1122:2017 1077:2017 764:and 666:CPUs 664:For 637:ALUs 462:any 460:cite 378:Java 226:6800 194:for 129:and 89:and 994:doi 982:162 724:bus 709:VAX 509:An 473:by 400:x86 374:C++ 309:), 85:In 3020:: 1652:/ 1481:. 1466:, 1462:, 1366:. 1337:. 1309:. 1260:. 1180:^ 1163:. 1108:. 1002:, 992:, 980:, 976:, 920:. 722:, 672:. 631:, 536:, 532:, 372:, 328:: 273:, 269:, 139:Z1 117:. 93:, 2590:e 2583:t 2576:v 1590:. 1570:e 1563:t 1556:v 1495:. 1416:. 1378:. 1349:. 1320:. 1295:. 1271:. 1242:. 1217:. 1174:. 1124:. 1079:. 996:: 988:: 864:) 860:( 500:) 494:( 489:) 485:( 481:. 467:. 370:C 350:. 317:. 281:. 68:) 64:( 54:. 20:)

Index

Computer architectures

lead section
summarize
provide an accessible overview

computer science
computer engineering
computer
instruction set architecture
microarchitecture
logic design
implementation
Charles Babbage
Ada Lovelace
analytical engine
Z1
Konrad Zuse
stored-program
John von Neumann
First Draft of a Report on the EDVAC
Alan Turing
Automatic Computing Engine
John von Neumann
Frederick P. Brooks, Jr.
Stretch
supercomputer
Los Alamos National Laboratory
IBM System/360
IBM Z

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

↑