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:)
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.