Knowledge

Processor register

Source đź“ť

1160:
and it contains thirty-two 32-bit general-purpose registers for integer computation and thirty-two 128-bit SIMD registers for storing SIMD instructions, streaming data value and some integer calculation value, and one accumulator register for connecting general floating-point computation to the vector register file on the co-processor. The coprocessor is built via a 32-entry 128-bit vector register file (can only store vector values that pass from the accumulator in the CPU) and no integer registers are built in. Both the vector co-processor (VPU 0/1) and the Emotion Engine's entire main processor module (VU0 + VU1 + VPU0 + VPU1) are built based on a modified MIPS instructions set. The accumulator in this case is not general-purpose but control status.
20: 1492:) memory locations 0–15; a hardware option called "fast memory" implemented the registers as separate ICs, and references to memory locations 0–15 referred to the IC registers. Later models implemented the registers as "fast memory" and continued to make memory locations 0–15 refer to them. Movement instructions take 784:
The A register is an accumulator to which all arithmetic is done; the register pairs B+C, D+E, and H+L can be used as address registers in some instructions; all registers can be used as operands in load/store/move/increment/decrement instructions and as the other operand in arithmetic instructions.
1703:
r15 is the program counter, and not usable as a general purpose register; r13 is the stack pointer; r8–r13 can be switched out for others (banked) on a processor mode switch. Older versions had 26-bit addressing, and used upper bits of the program counter (r15) for status flags, making that register
1207:
8 'A' registers, A0–A7, hold 18-bit addresses; 8 'B' registers, B0–B7, hold 18-bit integer values (with B0 permanently set to zero); 8 'X' registers, X0–X7, hold 60 bits of integer or floating-point data. Seven of the eight 18-bit A registers were coupled to their corresponding X registers: setting
1159:
The Emotion Engine's main core (VU0) is a heavily modified DSP general core intended for general background tasks and it contains one 64-bit accumulator, two general data registers, and one 32-bit program counter. A modified MIPS III executable core (VU1) is for game data and protocol control,
1487:
All of the registers may be used generally (integer, float, stack pointer, jump, indexing, etc.). Every 36-bit memory (or register) word can also be manipulated as a half-word, which can be considered an (18-bit) address. Other word interpretations are used by certain instructions. In the original
1339:
An eight-core 8/16-bit sliced stack machine controller with a simple logic circuit inside, it has 8 cog counters (cores), each containing three 8/16 bit special control registers with 32 bit x 512 stack RAM. However, it does not contain any general register for integer purposes. Unlike most shadow
1208:
any of the A1–A5 registers to a value caused a memory load of the contents of that address into the corresponding X register. Likewise, setting an address into registers A6 or A7 caused a memory store into that location in memory from X6 or X7. (Registers A0 and X0 were not coupled like this).
1029:
A 16-bit wide, 32-bit address space stack machine processor from the Taiwanese company Sunplus Technology, it can be found on Vtech's V.Smile line for educational purposes and video game consoles such as the Wireless 60, Mattel HyperScan, and XaviXPORT. It lacks any general-purpose register or
760:
The A register is an accumulator to which all arithmetic is done; the H and L registers can be used in combination as an address register; all registers can be used as operands in load/store/move/increment/decrement instructions and as the other operand in arithmetic instructions. There is no
1056:
and specialized for multimedia. It can be found on the company's own Nuon DVD player console line and the Game Wave Family Entertainment System from ZaPit games. The design was heavily influenced by Intel's MMX technology; it contained a 128-byte unified stack cache for both vector and scalar
1610:
65c816 is the 16-bit successor of the 6502. X, Y, and D (Direct Page register) are condition registers and SP register are specific index only. Main accumulator extended to 16-bit (C) while keeping 8-bit (A) for compatibility and main registers can now address up to 24-bit (16-bit wide data
632:, this is also done for the floating-point register file. As a result of this, register files are commonly quoted as having one register more than how many of them are actually usable; for example, 32 registers are quoted when only 31 of them fit within the above definition of a register. 1007:
from AMD. The native processor only contains 1 data and 1 address register for all purposes and it is translated into 4 paths of 32-bit naming registers r1 (base), r2 (data), r3 (back pointer), and r4 (stack pointer) within scratchpad SRAM for integer operations.
203:
of data) can be loaded and operated upon at the same time. Typically it is implemented by adding extra registers that map their memory into a larger register. Processors that have the ability to execute single instructions on multiple data are called
874:
co-processor for floating-point operations, support an 80-bit wide, 8 deep register stack with some instructions able to use registers relative to the top of the stack as operands; without a co-processor, no floating-point registers are supported.
1242:
FP was optional in System/360, and always present in S/370 and later. In processors with the Vector Facility, there are 16 vector registers containing a machine-dependent number of 32-bit elements. Some registers are assigned a fixed purpose by
1344:
systems, all of the stack RAM in cog can be accessed in instruction level, which allows all of these cogs to act as a single general-purpose core if necessary. Floating-point unit is external and it contains two 80-bit vector registers.
1545:
The general purpose registers are used for floating-point values as well. Three of the registers have special uses: R12 (Argument Pointer), R13 (Frame Pointer), and R14 (Stack Pointer), while R15 refers to the Program Counter.
905:
for floating-point operations, later processors had built-in floating-point, with both having an 80-bit wide, 8 deep register stack with some instructions able to use registers relative to the top of the stack as operands. The
1003:, the processor had a translation layer that translated x86 code to native code and executed it. It does not support 128-bit SSE registers, just the 80387 stack of eight 80-bit floating-point registers, and partially supports 1587:
6502's content A (Accumulator) register for main purpose data store and memory address (8-bit data/16-bit address), X and Y are indirect and direct index registers (respectively) and the SP registers are specific index only.
1637:
with a modded 8080 instruction set. Only the A, B, C, and D registers are available through all modes (8/16/32-bit). It is incompatible with x86; however, it contains an 80-bit floating-point unit that is x87-compatible.
499:) store data and settings related to the processor itself. Because their meanings are attached to the design of a specific processor, they are not expected to remain standard between processor generations. 1807:
Each instruction controls whether registers are interpreted as integers or single precision floating point. Architecture is scalable to 4096 cores with 16 and 64 core implementations currently available.
1057:
instructions. The unified cache can be divided as eight 128-bit vector registers or thirty-two 32-bit SIMD scalar registers through bank renaming; there is no integer register in this architecture.
485:(PSW) register. The aforementioned stack pointer is sometimes also included in this group. Embedded microprocessors can also have registers corresponding to specialized hardware elements. 648:) is counted as an integer register, even though there are a limited number of instructions that may be used to operate on its contents. Similar caveats apply to most architectures. 199:, the registers can operate in various modes, breaking down their storage memory into smaller parts (32-bit into four 8-bit ones, for instance) to which multiple data (vector, or 108:, and provide the fastest way to access data. The term normally refers only to the group of registers that are directly encoded as part of an instruction, as defined by the 1458:
Also included are a stack pointer and a frame pointer. Additional registers are used to implement zero-overhead loops and circular buffer DAGs (data address generators).
216:
A processor often contains several kinds of registers, which can be classified according to the types of values they can store or the instructions that operate on them:
1119:
Address register 8 (a7) is the stack pointer. 68000, 68010, 68012, 68020, and 68030 require an FPU for floating-point; 68040 had FPU built in. FP registers are 80-bit.
1030:
internal register for naming/renaming, but its floating-point unit has an 80-bit 6-stage stack and four 128-bit VLIW SIMD registers on a vertex shader co-processor.
2326: 1928: 2074: 3506: 225:
can be read or written by machine instructions. The most common division of user-accessible registers is a division into data registers and address registers.
1079:
Nios II is based on the MIPS IV instruction set and has 31 32-bit GPRs, with register 0 being hardwired to zero, and eight 64-bit floating-point registers
2478: 86:. Manipulated items are then often stored back to main memory, either by the same instruction or by a subsequent one. Modern processors use either 2228:
Jia, Zhe; Maggioni, Marco; Staiger, Benjamin; Scarpazza, Daniele P. (2018). "Dissecting the NVIDIA Volta GPU Architecture via Microbenchmarking".
1300: 1819:
The number of registers available on a processor and the operations that can be performed using those registers has a significant impact on the
3617: 2800: 4421: 3319: 2019: 2597: 2135: 794: 790: 786: 960:
Instructions can directly reference the first 16 scratchpad registers and can access all scratchpad registers indirectly through the ISAR
3476: 3042: 2859: 2397: 2152: 338:
whose value is added as an offset from some address); others allow registers to hold either kind of quantity. A wide variety of possible
1994: 3830: 723:
Scalar data registers can be integer or floating-point; also 64 scalar scratch-pad T registers and 64 address scratch-pad B registers
2822: 1794:
Integer register 0 is hardwired to 0. The RV32E variant, intended for systems with very limited resources, has 15 integer registers.
112:. However, modern high-performance CPUs often have duplicates of these "architectural registers" in order to improve performance via 3471: 2039: 3543: 3825: 3296: 1392: 984: 628:
in that it is hardwired to always return zero when read (mostly to simplify indexing modes), and it cannot be overwritten. In
594:
are the registers visible to software and are defined by an architecture. They may not correspond to the physical hardware if
1251:
ABIs, register 15 is used as a stack pointer. The S/390 G5 processor increased the number of floating-point registers to 16.
785:
Some instructions only use H+L; another instruction swaps H+L and D+E. Floating-point processors intended for the 8080 were
4240: 3364: 2627: 2471: 704:
All data manipulation instructions work solely within registers, and data must be moved into a register before processing.
2274: 2249: 1317:
A 32/40-bit stack machine-based network processor with a modified MIPS instruction set and a 128-bit floating-point unit.
4250: 3391: 2305: 1185:
numbers and 64-bit pointers therefore require two registers. It additionally has up to 8 predicate registers per thread.
1181:). The more registers are configured per thread, the fewer threads can run at the same time. Registers are 32 bits wide; 2206: 1917: 2518: 4414: 3558: 3386: 3359: 2738: 454: 2095: 4653: 4373: 3936: 2829: 2795: 2790: 2709: 2674: 4487: 4348: 4245: 3646: 3553: 3354: 2575: 2464: 2419: 1529:
R7 is the program counter. Any register can be a stack pointer but R6 is used for hardware interrupts and traps.
1182: 651:
Although all of the below-listed architectures are different, almost all are in a basic arrangement known as the
427: 383:
s) can store both data and addresses, i.e., they are combined data/address registers; in some architectures, the
27:
description of a 8-bit register with detailed implementation, showing how 8 bits of data can be stored by using
4643: 4462: 3374: 3093: 2528: 2368: 1248: 3548: 3396: 3369: 3230: 2844: 2805: 2662: 117: 4407: 3985: 3747: 3223: 3184: 2839: 2834: 2768: 2580: 196: 91: 3612: 3309: 3007: 2704: 2114: 1463: 87: 640:
The following table shows the number of registers in several mainstream CPU architectures. Note that in
4648: 4262: 3909: 3326: 2817: 2785: 2555: 2543: 2523: 2181: 1831:
of an expression tree gives the minimum number of registers required to evaluate that expression tree.
937: 504: 358: 243: 164: 4518: 4353: 4316: 4306: 2694: 1178: 1174: 911: 1969: 4617: 4447: 4368: 3775: 3711: 3688: 3538: 3500: 3336: 3286: 3281: 2758: 2652: 2560: 1616: 652: 47:, although some registers have specific hardware functions, and may be read-only or write-only. In 1952: 4612: 4321: 4104: 3998: 3962: 3879: 3863: 3705: 3494: 3453: 3441: 3304: 3218: 3139: 2904: 2565: 2508: 573: 490: 299: 239: 71: 28: 24: 1879: 4127: 4099: 4009: 3974: 3723: 3717: 3699: 3433: 3427: 3331: 3235: 3126: 3065: 2927: 2570: 2312: 1820: 996: 551: 247: 2343: 4536: 4477: 4301: 4210: 3956: 3668: 3486: 3245: 3213: 3171: 3083: 2884: 2699: 2689: 2679: 2669: 2639: 2622: 2487: 1035: 251: 200: 152: 121: 48: 40: 1409:
Also included are a link register, a count register, and a multiply quotient (MQ) register.
4331: 4267: 3853: 3575: 3465: 3412: 2944: 2657: 2513: 2495: 1489: 543: 534: 155:. Holding frequently used values in registers can be critical to a program's performance. 94: 75: 8: 4512: 4378: 4363: 4183: 4034: 4016: 3980: 3968: 3622: 3569: 3346: 3262: 3144: 2999: 2894: 2753: 2075:"Intel Architecture Instruction Set Extensions and Future Features Programming Reference" 1850: 1824: 1643: 1573: 1471:
128 general purpose registers, which can hold integer, address, or floating-point values
762: 482: 156: 83: 98: 4235: 4227: 4054: 3858: 3733: 3257: 3198: 3078: 2810: 2538: 2229: 1322: 1244: 74:
or not, load items of data from a larger memory into registers where they are used for
1361:
And 64 1-bit predicate registers and 8 branch registers. The FP registers are 82-bit.
4524: 4442: 4188: 4155: 4071: 4003: 3904: 3894: 3884: 3815: 3810: 3805: 3728: 3657: 3563: 3523: 3156: 3106: 3056: 3032: 2914: 2854: 2849: 2731: 2647: 1903: 1755: 936:
FP registers are 128-bit XMM registers, later extended to 256-bit YMM registers with
615: 603: 595: 528:
are not accessible by instructions and are used internally for processor operations.
450: 168: 113: 79: 4358: 4291: 4277: 4132: 4039: 3993: 3800: 3795: 3790: 3785: 3780: 3770: 3640: 3607: 3518: 3513: 3422: 3274: 3269: 3252: 3240: 3179: 2743: 2721: 2607: 2585: 2503: 1845: 1732: 1709: 1685: 659: 205: 148: 105: 44: 1435:
Also included are a link register and a count register. Processors supporting the
405:
often used to determine whether some instruction should or should not be executed.
4602: 4530: 4457: 4272: 4257: 4205: 4109: 4084: 3921: 3914: 3765: 3760: 3755: 3694: 3602: 3592: 3314: 3149: 3101: 2864: 2748: 2716: 2617: 2612: 2533: 2444: 1828: 1384: 1190: 478: 474: 396: 339: 109: 64: 4592: 4575: 4570: 4560: 4495: 4472: 4383: 4217: 4200: 4193: 4089: 3946: 3683: 3597: 3528: 3111: 3073: 3022: 3017: 3012: 2726: 2550: 1860: 1750:
Register r31 is the stack pointer or hardwired to 0, depending on the context.
1225: 1145: 690: 354: 335: 320: 316: 56: 4637: 4580: 4506: 4178: 4094: 3134: 3116: 2909: 2602: 1924: 1855: 1084: 954:
1 accumulator, 64 scratchpad registers, 1 indirect scratchpad register (ISAR)
656: 624: 619: 470: 384: 362: 348: 3037: 2250:"IBM Enterprise Systems Architecture/370 and System/370 - Vector Operations" 2053: 1247:; for example, register 14 is used for subroutine return addresses and, for 546:, a collection of storage registers located on separate chips from the CPU: 4467: 4452: 4388: 4326: 4142: 4119: 3931: 3652: 2590: 2405: 2375: 1727:
Version 1 of Thumb, which only supported access to registers r0 through r7
1268: 1102: 949: 16:
Quickly accessible working storage available as part of a digital processor
2054:"AMD64 Architecture Programmer's Manual Volume 1: Application Programming" 4173: 4137: 3848: 3820: 3678: 3533: 2456: 907: 902: 898: 871: 867: 859: 855: 851: 402: 129: 52: 1568:
Registers R31 (integer) and F31 (floating-point) are hardwired to zero.
1155:+ 2 Ă— 32 Vector (dedicated vector co-processor located nearby its GPU) 4622: 4565: 4555: 4059: 4049: 4044: 4026: 3926: 3899: 3161: 2994: 2964: 2684: 1509: 1476: 1341: 1221: 1217: 1213: 863: 847: 843: 133: 4399: 4585: 4150: 4147: 3889: 2959: 2937: 2327:"Synergistic Processor Unit Instruction Set Architecture Version 1.2" 1904:"A Survey of Techniques for Designing and Managing CPU Register File" 1840: 1664: 1551: 1418: 1000: 629: 255: 4165: 2984: 2234: 2159: 1799: 1444: 980: 965: 326:
Some processors contain registers that may only be used to hold an
160: 128:
design acquired these techniques around 1995 with the releases of
2974: 2932: 1634: 1534: 1488:
PDP-10 processors, these 16 GPRs also corresponded to main (i.e.
1436: 1414: 1350: 1276: 1062: 1053: 1013: 941: 806: 481:; the program counter and status register might be combined in a 295: 263: 259: 97:
as main memory, with the latter usually accessed via one or more
825: 4597: 2989: 2954: 2919: 2121: 1777: 1593: 1173:
Earlier generations allowed up to 127/63 registers per thread (
1124: 1004: 988: 919: 709: 283: 192: 188: 141: 60: 3447: 2979: 2949: 2081: 2040:"Intel 64 and IA-32 Architectures Software Developer Manuals" 1633:
Media-embedded processor was a 32-bit processor developed by
1366: 992: 991:
is the emulation of 486/Pentium compatible processor made by
880: 611: 342:, used to specify the effective address of an operand, exist. 291: 287: 279: 275: 271: 267: 184: 137: 51:, registers are typically addressed by mechanisms other than 4500: 4311: 3459: 3379: 2969: 2227: 1256: 1165: 770: 746: 728: 663: 39:
is a quickly accessible location available to a computer's
19: 391:
so that the GPRs can store floating-point numbers as well.
2899: 2889: 2420:"Procedure Call Standard for the ARM 64-bit Architecture" 2060: 1970:"8008 8 Bit Parallel Central Processor Unit Users Manual" 798: 641: 258:
and other data. In some older architectures, such as the
180: 125: 82:, and other operations, and are manipulated or tested by 2291: 662:. It is also noteworthy that the number of registers on 434: 2182:"Motorola M68000 Family Programmer's Reference Manual" 1884:
Educative: Interactive Courses for Software Developers
422:
s) store floating-point numbers in many architectures.
43:. Registers usually consist of a small amount of fast 319:
and are used by instructions that indirectly access
2034: 2032: 1238:16 in G5 and later S/390 models and z/Architecture 104:Processor registers are normally at the top of the 2369:"Procedure Call Standard for the ARM Architecture" 1918:"Cray-1 Computer System Hardware Reference Manual" 361:are addressed by dedicated address registers (see 151:accesses the same data repeatedly, this is called 457:instructions (Single Instruction, Multiple Data). 179:Registers are normally measured by the number of 4635: 2029: 1995:"Intel 8080 Microcomputer Systems User's Manual" 2020:"80286 and 80287 Programmer's Reference Manual" 542:Registers related to fetching information from 539:holds the instruction currently being executed. 477:, also called the instruction pointer, and the 1052:A 32-bit stack machine processor developed by 598:is being performed by the underlying hardware. 4415: 2472: 2103:. Fairchild MOS Microcomputer Division. 1977. 618:), the first or last register in the integer 1271:in the late 1990s for pedagogical purposes. 433:hold read-only values such as zero, one, or 3477:Computer performance by orders of magnitude 2115:"Nios II Classic Processor Reference Guide" 655:, first proposed by the Hungarian-American 644:-compatible processors, the stack pointer ( 4422: 4408: 2486: 2479: 2465: 1383:Global register 0 is hardwired to 0. Uses 2233: 797:. They were also readily usable with the 2136:"Nios II Gen2 Processor Reference Guide" 1340:register files in modern processors and 775:1 accumulator, 1 stack pointer, 6 others 18: 4429: 1953:"MCS-4 Micro Computer Set Users Manual" 1439:also have 32 128-bit vector registers. 914:with additional 128-bit XMM registers. 302:is used implicitly for many operations. 298:, a special data register known as the 4636: 1772:Integer register 0 is hardwired to 0. 940:and 512-bit ZMM0–ZMM31 registers with 55:, but may in some cases be assigned a 4403: 2460: 2398:"2.6.2. The Thumb-state register set" 607:are similar, but occur outside CPUs. 3448:Floating-point operations per second 2153:"M6800 Programming Reference Manual" 1611:instruction/24-bit memory address). 2402:ARM7TDMI Technical Reference Manual 13: 1170:configurable, up to 255 per thread 666:is much higher than that on CPUs. 14: 4665: 2445:"Epiphany Architecture Reference" 1107:8 data (d0–d7), 8 address (a0–a7) 195:register", or even more. In some 4374:Semiconductor device fabrication 1449:8 data, 2 accumulator, 6 address 956: 183:they can hold, for example, an " 4349:History of general-purpose CPUs 2576:Nondeterministic Turing machine 2437: 2412: 2390: 2361: 2336: 2319: 2298: 2284: 2267: 2242: 2221: 2199: 2174: 2145: 2128: 2107: 2088: 2067: 1934:from the original on 2021-11-07 1880:"What is a processor register?" 1267:An instruction set designed by 1183:double-precision floating-point 610:In some architectures (such as 4463:Low-level programming language 2529:Deterministic finite automaton 2348:Super Famicom Development Wiki 2046: 2012: 1987: 1962: 1945: 1910: 1896: 1872: 70:Almost all computers, whether 1: 3320:Simultaneous and heterogenous 2275:"IBM S/390 G5 Microprocessor" 1866: 1688:32-bit (ARM/A32, Thumb-2/T32) 668: 469:s) hold some elements of the 25:register-transfer level (RTL) 4004:Integrated memory controller 3986:Translation lookaside buffer 3185:Memory dependence prediction 2628:Random-access stored program 2581:Probabilistic Turing machine 1153:32 SIMD (integrated in UV1) 891:stack of 8 (if FP present), 246:and, in some architectures, 7: 3460:Synaptic updates per second 2425:. ARM Holdings. 22 May 2013 1834: 862:processors, if provided an 676:GPRs/data+address registers 635: 505:Memory type range registers 473:; they usually include the 10: 4670: 3864:Heterogeneous architecture 2786:Orthogonal instruction set 2556:Alternating Turing machine 2544:Quantum cellular automaton 2207:"CUDA C Programming Guide" 1500:is register-register, and 497:machine-specific registers 334:(in some cases used as an 4546: 4519:Microsoft Macro Assembler 4486: 4435: 4354:Microprocessor chronology 4341: 4317:Dynamic frequency scaling 4290: 4226: 4164: 4118: 4070: 4025: 3945: 3872: 3841: 3746: 3667: 3631: 3585: 3485: 3472:Cache performance metrics 3411: 3345: 3295: 3206: 3197: 3170: 3125: 3092: 3064: 3055: 2875: 2778: 2767: 2638: 2494: 2344:"Learning 65816 Assembly" 2042:. Intel. 4 December 2019. 1803: 1538: 1501: 1497: 1480: 1467: 1169: 462:Special-purpose registers 372:General-purpose registers 222:User-accessible registers 167:phase, or manually by an 159:is performed either by a 4448:Comparison of assemblers 4369:Hardware security module 3712:Digital signal processor 3689:Graphics processing unit 3501:Graphics processing unit 2332:. IBM. January 27, 2007. 2141:. Altera. April 2, 2015. 1814: 1089:2 data, 1 index, 1 stack 801:and similar processors. 733:1 accumulator, 16 others 714:8 scalar data, 8 address 653:von Neumann architecture 491:Model-specific registers 211: 4654:Central processing unit 4322:Dynamic voltage scaling 4105:Memory address register 3999:Branch target predictor 3963:Address generation unit 3706:Physics processing unit 3495:Central processing unit 3454:Transactions per second 3442:Instructions per second 3365:Array processing (SIMT) 2509:Stored-program computer 2306:"Series 32000 Databook" 2097:F8 Guide to Programming 2000:. Intel. September 1975 1958:. Intel. February 1973. 1504:is memory-to-register. 932:(if AVX-512 available) 893:8 (if SSE/MMX present) 751:1 accumulator, 6 others 591:Architectural registers 574:Memory address register 412:Floating-point register 174: 72:load/store architecture 4128:Hardwired control unit 4010:Memory management unit 3975:Memory management unit 3724:Secure cryptoprocessor 3718:Tensor Processing Unit 3700:Vision processing unit 3434:Cycles per instruction 3428:Instructions per cycle 3375:Associative processing 3066:Instruction pipelining 2488:Processor technologies 2313:National Semiconductor 1975:. Intel. November 1973 997:National Semiconductor 901:processor requires an 552:Memory buffer register 353:is used to manage the 248:floating-point numbers 32: 4644:Computer architecture 4537:Open Watcom Assembler 4478:x86 assembly language 4211:Sum-addressed decoder 3957:Arithmetic logic unit 3084:Classic RISC pipeline 3038:Epiphany architecture 2885:Motorola 68000 series 1823:of code generated by 201:one-dimensional array 153:locality of reference 122:speculative execution 76:arithmetic operations 49:computer architecture 22: 4618:Instruction listings 4332:Performance per watt 3910:replacement policies 3576:Package on a package 3466:Performance per watt 3370:Pipelined processing 3140:Tomasulo's algorithm 2945:Clipper architecture 2801:Application-specific 2514:Finite-state machine 1825:optimizing compilers 562:memory data register 535:instruction register 266:and successors, the 84:machine instructions 4613:Calling conventions 4513:High Level Assembly 4430:x86 assembly topics 4364:Digital electronics 4017:Instruction decoder 3969:Floating-point unit 3623:Soft microprocessor 3570:System in a package 3145:Reservation station 2675:Transport-triggered 1851:Register allocation 1665:AVR microcontroller 1644:PIC microcontroller 1245:calling conventions 1236:4 (if FP present); 763:floating-point unit 717:8 scalar, 8 vector 483:program status word 240:numeric data values 157:Register allocation 4608:Processor register 4236:Integrated circuit 4080:Processor register 3734:Baseband processor 3079:Operand forwarding 2539:Cellular automaton 2378:. 30 November 2013 2255:. IBM. SA22-7125-3 1494:(register, memory) 1323:Parallax Propeller 910:and later had the 604:Hardware registers 80:bitwise operations 37:processor register 33: 4649:Digital registers 4631: 4630: 4525:Netwide Assembler 4443:Assembly language 4397: 4396: 4286: 4285: 3905:Instruction cache 3895:Scratchpad memory 3742: 3741: 3729:Network processor 3658:Network on a chip 3613:Ultra-low-voltage 3564:Multi-chip module 3407: 3406: 3193: 3192: 3180:Branch prediction 3157:Register renaming 3051: 3050: 3033:VISC architecture 2855:Quantum computing 2850:VISC architecture 2732:Secondary storage 2648:Microarchitecture 2608:Register machines 1927:. November 1977. 1812: 1811: 1525:(if FPP present) 970:1 data, 1 address 765:(FPU) available. 596:register renaming 560:), also known as 522:Internal register 451:vector processing 206:vector processors 169:assembly language 114:register renaming 4661: 4424: 4417: 4410: 4401: 4400: 4359:Processor design 4251:Power management 4133:Instruction unit 3994:Branch predictor 3943: 3942: 3641:System on a chip 3583: 3582: 3423:Transistor count 3347:Flynn's taxonomy 3204: 3203: 3062: 3061: 2865:Addressing modes 2776: 2775: 2722:Memory hierarchy 2586:Hypercomputation 2504:Abstract machine 2481: 2474: 2467: 2458: 2457: 2452: 2451: 2449: 2441: 2435: 2434: 2432: 2430: 2424: 2416: 2410: 2409: 2394: 2388: 2387: 2385: 2383: 2373: 2365: 2359: 2358: 2356: 2354: 2340: 2334: 2333: 2331: 2323: 2317: 2316: 2310: 2302: 2296: 2295: 2292:"MMIX Home Page" 2288: 2282: 2281: 2279: 2271: 2265: 2264: 2262: 2260: 2254: 2246: 2240: 2239: 2237: 2225: 2219: 2218: 2216: 2214: 2203: 2197: 2196: 2194: 2192: 2187:. Motorola. 1992 2186: 2178: 2172: 2171: 2169: 2167: 2157: 2149: 2143: 2142: 2140: 2132: 2126: 2125: 2124:. April 2, 2015. 2119: 2111: 2105: 2104: 2102: 2092: 2086: 2085: 2079: 2071: 2065: 2064: 2058: 2050: 2044: 2043: 2036: 2027: 2026: 2024: 2016: 2010: 2009: 2007: 2005: 1999: 1991: 1985: 1984: 1982: 1980: 1974: 1966: 1960: 1959: 1957: 1949: 1943: 1942: 1940: 1939: 1933: 1922: 1914: 1908: 1907: 1900: 1894: 1893: 1891: 1890: 1876: 1846:Quantum register 1790: 1784: 1768: 1762: 1746: 1740: 1723: 1717: 1693: 1677: 1671: 1656: 1650: 1629: 1623: 1606: 1600: 1583: 1564: 1558: 1541: 1522: 1516: 1503: 1499: 1483: 1454: 1431: 1425: 1405: 1399: 1385:register windows 1379: 1373: 1335: 1329: 1313: 1307: 1292:(if FP present) 1289: 1283: 1232: 1203: 1197: 1137: 1131: 1115:(if FP present) 1112: 1094: 1075: 1069: 1048: 1042: 1026: 1025:6 stack + 4 SIMD 1020: 975: 926: 887: 838:(if FP present) 832: 813: 780: 756: 738: 697: 682: 677: 669: 660:John von Neumann 647: 524: 523: 446: 445: 444:Vector registers 414: 413: 397:Status registers 381: 380: 357:. Rarely, other 340:addressing modes 330:or only to hold 311: 310: 309:Address register 234: 233: 197:instruction sets 149:computer program 106:memory hierarchy 4669: 4668: 4664: 4663: 4662: 4660: 4659: 4658: 4634: 4633: 4632: 4627: 4603:Program counter 4548: 4542: 4531:Turbo Assembler 4482: 4458:Instruction set 4431: 4428: 4398: 4393: 4379:Tick–tock model 4337: 4293: 4282: 4222: 4206:Address decoder 4160: 4114: 4110:Program counter 4085:Status register 4066: 4021: 3981:Load–store unit 3948: 3941: 3868: 3837: 3738: 3695:Image processor 3670: 3663: 3633: 3627: 3603:Microcontroller 3593:Embedded system 3581: 3481: 3414: 3403: 3341: 3291: 3189: 3166: 3150:Re-order buffer 3121: 3102:Data dependency 3088: 3047: 2877: 2871: 2770: 2769:Instruction set 2763: 2749:Multiprocessing 2717:Cache hierarchy 2710:Register/memory 2634: 2534:Queue automaton 2490: 2485: 2455: 2447: 2443: 2442: 2438: 2428: 2426: 2422: 2418: 2417: 2413: 2396: 2395: 2391: 2381: 2379: 2371: 2367: 2366: 2362: 2352: 2350: 2342: 2341: 2337: 2329: 2325: 2324: 2320: 2308: 2304: 2303: 2299: 2290: 2289: 2285: 2277: 2273: 2272: 2268: 2258: 2256: 2252: 2248: 2247: 2243: 2226: 2222: 2212: 2210: 2205: 2204: 2200: 2190: 2188: 2184: 2180: 2179: 2175: 2165: 2163: 2162:. November 1976 2155: 2151: 2150: 2146: 2138: 2134: 2133: 2129: 2117: 2113: 2112: 2108: 2100: 2094: 2093: 2089: 2084:. January 2018. 2077: 2073: 2072: 2068: 2063:. October 2013. 2056: 2052: 2051: 2047: 2038: 2037: 2030: 2022: 2018: 2017: 2013: 2003: 2001: 1997: 1993: 1992: 1988: 1978: 1976: 1972: 1968: 1967: 1963: 1955: 1951: 1950: 1946: 1937: 1935: 1931: 1920: 1916: 1915: 1911: 1902: 1901: 1897: 1888: 1886: 1878: 1877: 1873: 1869: 1837: 1829:Strahler number 1817: 1788: 1782: 1766: 1760: 1744: 1738: 1721: 1715: 1691: 1675: 1669: 1654: 1648: 1627: 1621: 1604: 1598: 1581: 1578:1 data, 2 index 1562: 1556: 1539: 1520: 1514: 1481: 1452: 1437:Vector facility 1429: 1423: 1403: 1397: 1377: 1371: 1333: 1327: 1311: 1305: 1287: 1281: 1230: 1201: 1195: 1191:CDC 6000 series 1150:3(VU0)+ 32(VU1) 1135: 1129: 1110: 1092: 1073: 1067: 1046: 1040: 1024: 1018: 973: 924: 885: 830: 811: 778: 754: 736: 695: 691:AT&T Hobbit 680: 675: 645: 638: 625:pseudo-register 521: 520: 479:status register 475:program counter 443: 442: 411: 410: 378: 377: 308: 307: 231: 230: 214: 177: 165:code generation 110:instruction set 17: 12: 11: 5: 4667: 4657: 4656: 4651: 4646: 4629: 4628: 4626: 4625: 4620: 4615: 4610: 4605: 4600: 4595: 4593:Memory address 4590: 4589: 4588: 4583: 4578: 4576:Interrupt flag 4573: 4571:Direction flag 4568: 4558: 4552: 4550: 4544: 4543: 4541: 4540: 4534: 4528: 4522: 4516: 4510: 4504: 4501:Flat Assembler 4498: 4492: 4490: 4484: 4483: 4481: 4480: 4475: 4473:Microassembler 4470: 4465: 4460: 4455: 4450: 4445: 4439: 4437: 4433: 4432: 4427: 4426: 4419: 4412: 4404: 4395: 4394: 4392: 4391: 4386: 4384:Pin grid array 4381: 4376: 4371: 4366: 4361: 4356: 4351: 4345: 4343: 4339: 4338: 4336: 4335: 4329: 4324: 4319: 4314: 4309: 4304: 4298: 4296: 4288: 4287: 4284: 4283: 4281: 4280: 4275: 4270: 4265: 4260: 4255: 4254: 4253: 4248: 4243: 4232: 4230: 4224: 4223: 4221: 4220: 4218:Barrel shifter 4215: 4214: 4213: 4208: 4201:Binary decoder 4198: 4197: 4196: 4186: 4181: 4176: 4170: 4168: 4162: 4161: 4159: 4158: 4153: 4145: 4140: 4135: 4130: 4124: 4122: 4116: 4115: 4113: 4112: 4107: 4102: 4097: 4092: 4090:Stack register 4087: 4082: 4076: 4074: 4068: 4067: 4065: 4064: 4063: 4062: 4057: 4047: 4042: 4037: 4031: 4029: 4023: 4022: 4020: 4019: 4014: 4013: 4012: 4001: 3996: 3991: 3990: 3989: 3983: 3972: 3966: 3960: 3953: 3951: 3940: 3939: 3934: 3929: 3924: 3919: 3918: 3917: 3912: 3907: 3902: 3897: 3892: 3882: 3876: 3874: 3870: 3869: 3867: 3866: 3861: 3856: 3851: 3845: 3843: 3839: 3838: 3836: 3835: 3834: 3833: 3823: 3818: 3813: 3808: 3803: 3798: 3793: 3788: 3783: 3778: 3773: 3768: 3763: 3758: 3752: 3750: 3744: 3743: 3740: 3739: 3737: 3736: 3731: 3726: 3721: 3715: 3709: 3703: 3697: 3692: 3686: 3684:AI accelerator 3681: 3675: 3673: 3665: 3664: 3662: 3661: 3655: 3650: 3647:Multiprocessor 3644: 3637: 3635: 3629: 3628: 3626: 3625: 3620: 3615: 3610: 3605: 3600: 3598:Microprocessor 3595: 3589: 3587: 3586:By application 3580: 3579: 3573: 3567: 3561: 3556: 3551: 3546: 3541: 3536: 3531: 3529:Tile processor 3526: 3521: 3516: 3511: 3510: 3509: 3498: 3491: 3489: 3483: 3482: 3480: 3479: 3474: 3469: 3463: 3457: 3451: 3445: 3439: 3438: 3437: 3425: 3419: 3417: 3409: 3408: 3405: 3404: 3402: 3401: 3400: 3399: 3389: 3384: 3383: 3382: 3377: 3372: 3367: 3357: 3351: 3349: 3343: 3342: 3340: 3339: 3334: 3329: 3324: 3323: 3322: 3317: 3315:Hyperthreading 3307: 3301: 3299: 3297:Multithreading 3293: 3292: 3290: 3289: 3284: 3279: 3278: 3277: 3267: 3266: 3265: 3260: 3250: 3249: 3248: 3243: 3233: 3228: 3227: 3226: 3221: 3210: 3208: 3201: 3195: 3194: 3191: 3190: 3188: 3187: 3182: 3176: 3174: 3168: 3167: 3165: 3164: 3159: 3154: 3153: 3152: 3147: 3137: 3131: 3129: 3123: 3122: 3120: 3119: 3114: 3109: 3104: 3098: 3096: 3090: 3089: 3087: 3086: 3081: 3076: 3074:Pipeline stall 3070: 3068: 3059: 3053: 3052: 3049: 3048: 3046: 3045: 3040: 3035: 3030: 3027: 3026: 3025: 3023:z/Architecture 3020: 3015: 3010: 3002: 2997: 2992: 2987: 2982: 2977: 2972: 2967: 2962: 2957: 2952: 2947: 2942: 2941: 2940: 2935: 2930: 2922: 2917: 2912: 2907: 2902: 2897: 2892: 2887: 2881: 2879: 2873: 2872: 2870: 2869: 2868: 2867: 2857: 2852: 2847: 2842: 2837: 2832: 2827: 2826: 2825: 2815: 2814: 2813: 2803: 2798: 2793: 2788: 2782: 2780: 2773: 2765: 2764: 2762: 2761: 2756: 2751: 2746: 2741: 2736: 2735: 2734: 2729: 2727:Virtual memory 2719: 2714: 2713: 2712: 2707: 2702: 2697: 2687: 2682: 2677: 2672: 2667: 2666: 2665: 2655: 2650: 2644: 2642: 2636: 2635: 2633: 2632: 2631: 2630: 2625: 2620: 2615: 2605: 2600: 2595: 2594: 2593: 2588: 2583: 2578: 2573: 2568: 2563: 2558: 2551:Turing machine 2548: 2547: 2546: 2541: 2536: 2531: 2526: 2521: 2511: 2506: 2500: 2498: 2492: 2491: 2484: 2483: 2476: 2469: 2461: 2454: 2453: 2436: 2411: 2389: 2360: 2335: 2318: 2297: 2283: 2266: 2241: 2220: 2209:. Nvidia. 2019 2198: 2173: 2144: 2127: 2106: 2087: 2066: 2045: 2028: 2025:. Intel. 1987. 2011: 1986: 1961: 1944: 1909: 1895: 1870: 1868: 1865: 1864: 1863: 1861:Shift register 1858: 1853: 1848: 1843: 1836: 1833: 1816: 1813: 1810: 1809: 1805: 1802: 1796: 1795: 1792: 1786: 1780: 1774: 1773: 1770: 1764: 1758: 1752: 1751: 1748: 1742: 1736: 1729: 1728: 1725: 1719: 1713: 1712:32-bit (Thumb) 1706: 1705: 1701: 1695: 1689: 1682: 1681: 1679: 1673: 1667: 1661: 1660: 1658: 1652: 1646: 1640: 1639: 1631: 1625: 1619: 1613: 1612: 1608: 1602: 1596: 1590: 1589: 1585: 1579: 1576: 1570: 1569: 1566: 1560: 1554: 1548: 1547: 1543: 1537: 1531: 1530: 1527: 1518: 1512: 1506: 1505: 1485: 1479: 1473: 1472: 1469: 1466: 1460: 1459: 1456: 1450: 1447: 1441: 1440: 1433: 1427: 1421: 1411: 1410: 1407: 1401: 1395: 1389: 1388: 1381: 1375: 1369: 1363: 1362: 1359: 1356: 1353: 1347: 1346: 1337: 1331: 1325: 1319: 1318: 1315: 1309: 1303: 1297: 1296: 1294: 1285: 1279: 1273: 1272: 1265: 1262: 1259: 1253: 1252: 1240: 1234: 1228: 1226:z/Architecture 1210: 1209: 1205: 1199: 1193: 1187: 1186: 1171: 1168: 1162: 1161: 1157: 1151: 1148: 1146:Emotion Engine 1142: 1141: 1139: 1133: 1127: 1121: 1120: 1117: 1108: 1105: 1099: 1098: 1096: 1090: 1087: 1081: 1080: 1077: 1071: 1065: 1059: 1058: 1050: 1044: 1038: 1032: 1031: 1027: 1022: 1016: 1010: 1009: 977: 971: 968: 962: 961: 958: 955: 952: 946: 945: 934: 928: 922: 916: 915: 895: 889: 883: 877: 876: 840: 834: 828: 822: 821: 820:Stack machine 818: 815: 809: 803: 802: 782: 776: 773: 767: 766: 758: 752: 749: 743: 742: 740: 734: 731: 725: 724: 721: 719:(64 elements) 715: 712: 706: 705: 702: 699: 693: 687: 686: 683: 678: 673: 637: 634: 600: 599: 587: 586: 585: 584: 583: 569: 540: 516: 515: 514: 500: 486: 458: 449:hold data for 438: 423: 406: 392: 368: 367: 366: 355:run-time stack 343: 336:index register 332:numeric values 321:primary memory 303: 213: 210: 176: 173: 57:memory address 15: 9: 6: 4: 3: 2: 4666: 4655: 4652: 4650: 4647: 4645: 4642: 4641: 4639: 4624: 4621: 4619: 4616: 4614: 4611: 4609: 4606: 4604: 4601: 4599: 4596: 4594: 4591: 4587: 4584: 4582: 4581:Overflow flag 4579: 4577: 4574: 4572: 4569: 4567: 4564: 4563: 4562: 4559: 4557: 4554: 4553: 4551: 4545: 4538: 4535: 4532: 4529: 4526: 4523: 4520: 4517: 4514: 4511: 4508: 4507:GNU Assembler 4505: 4502: 4499: 4497: 4494: 4493: 4491: 4489: 4485: 4479: 4476: 4474: 4471: 4469: 4466: 4464: 4461: 4459: 4456: 4454: 4451: 4449: 4446: 4444: 4441: 4440: 4438: 4434: 4425: 4420: 4418: 4413: 4411: 4406: 4405: 4402: 4390: 4387: 4385: 4382: 4380: 4377: 4375: 4372: 4370: 4367: 4365: 4362: 4360: 4357: 4355: 4352: 4350: 4347: 4346: 4344: 4340: 4333: 4330: 4328: 4325: 4323: 4320: 4318: 4315: 4313: 4310: 4308: 4305: 4303: 4300: 4299: 4297: 4295: 4289: 4279: 4276: 4274: 4271: 4269: 4266: 4264: 4261: 4259: 4256: 4252: 4249: 4247: 4244: 4242: 4239: 4238: 4237: 4234: 4233: 4231: 4229: 4225: 4219: 4216: 4212: 4209: 4207: 4204: 4203: 4202: 4199: 4195: 4192: 4191: 4190: 4187: 4185: 4182: 4180: 4179:Demultiplexer 4177: 4175: 4172: 4171: 4169: 4167: 4163: 4157: 4154: 4152: 4149: 4146: 4144: 4141: 4139: 4136: 4134: 4131: 4129: 4126: 4125: 4123: 4121: 4117: 4111: 4108: 4106: 4103: 4101: 4100:Memory buffer 4098: 4096: 4095:Register file 4093: 4091: 4088: 4086: 4083: 4081: 4078: 4077: 4075: 4073: 4069: 4061: 4058: 4056: 4053: 4052: 4051: 4048: 4046: 4043: 4041: 4038: 4036: 4035:Combinational 4033: 4032: 4030: 4028: 4024: 4018: 4015: 4011: 4008: 4007: 4005: 4002: 4000: 3997: 3995: 3992: 3987: 3984: 3982: 3979: 3978: 3976: 3973: 3970: 3967: 3964: 3961: 3958: 3955: 3954: 3952: 3950: 3944: 3938: 3935: 3933: 3930: 3928: 3925: 3923: 3920: 3916: 3913: 3911: 3908: 3906: 3903: 3901: 3898: 3896: 3893: 3891: 3888: 3887: 3886: 3883: 3881: 3878: 3877: 3875: 3871: 3865: 3862: 3860: 3857: 3855: 3852: 3850: 3847: 3846: 3844: 3840: 3832: 3829: 3828: 3827: 3824: 3822: 3819: 3817: 3814: 3812: 3809: 3807: 3804: 3802: 3799: 3797: 3794: 3792: 3789: 3787: 3784: 3782: 3779: 3777: 3774: 3772: 3769: 3767: 3764: 3762: 3759: 3757: 3754: 3753: 3751: 3749: 3745: 3735: 3732: 3730: 3727: 3725: 3722: 3719: 3716: 3713: 3710: 3707: 3704: 3701: 3698: 3696: 3693: 3690: 3687: 3685: 3682: 3680: 3677: 3676: 3674: 3672: 3666: 3659: 3656: 3654: 3651: 3648: 3645: 3642: 3639: 3638: 3636: 3630: 3624: 3621: 3619: 3616: 3614: 3611: 3609: 3606: 3604: 3601: 3599: 3596: 3594: 3591: 3590: 3588: 3584: 3577: 3574: 3571: 3568: 3565: 3562: 3560: 3557: 3555: 3552: 3550: 3547: 3545: 3542: 3540: 3537: 3535: 3532: 3530: 3527: 3525: 3522: 3520: 3517: 3515: 3512: 3508: 3505: 3504: 3502: 3499: 3496: 3493: 3492: 3490: 3488: 3484: 3478: 3475: 3473: 3470: 3467: 3464: 3461: 3458: 3455: 3452: 3449: 3446: 3443: 3440: 3435: 3432: 3431: 3429: 3426: 3424: 3421: 3420: 3418: 3416: 3410: 3398: 3395: 3394: 3393: 3390: 3388: 3385: 3381: 3378: 3376: 3373: 3371: 3368: 3366: 3363: 3362: 3361: 3358: 3356: 3353: 3352: 3350: 3348: 3344: 3338: 3335: 3333: 3330: 3328: 3325: 3321: 3318: 3316: 3313: 3312: 3311: 3308: 3306: 3303: 3302: 3300: 3298: 3294: 3288: 3285: 3283: 3280: 3276: 3273: 3272: 3271: 3268: 3264: 3261: 3259: 3256: 3255: 3254: 3251: 3247: 3244: 3242: 3239: 3238: 3237: 3234: 3232: 3229: 3225: 3222: 3220: 3217: 3216: 3215: 3212: 3211: 3209: 3205: 3202: 3200: 3196: 3186: 3183: 3181: 3178: 3177: 3175: 3173: 3169: 3163: 3160: 3158: 3155: 3151: 3148: 3146: 3143: 3142: 3141: 3138: 3136: 3135:Scoreboarding 3133: 3132: 3130: 3128: 3124: 3118: 3117:False sharing 3115: 3113: 3110: 3108: 3105: 3103: 3100: 3099: 3097: 3095: 3091: 3085: 3082: 3080: 3077: 3075: 3072: 3071: 3069: 3067: 3063: 3060: 3058: 3054: 3044: 3041: 3039: 3036: 3034: 3031: 3028: 3024: 3021: 3019: 3016: 3014: 3011: 3009: 3006: 3005: 3003: 3001: 2998: 2996: 2993: 2991: 2988: 2986: 2983: 2981: 2978: 2976: 2973: 2971: 2968: 2966: 2963: 2961: 2958: 2956: 2953: 2951: 2948: 2946: 2943: 2939: 2936: 2934: 2931: 2929: 2926: 2925: 2923: 2921: 2918: 2916: 2913: 2911: 2910:Stanford MIPS 2908: 2906: 2903: 2901: 2898: 2896: 2893: 2891: 2888: 2886: 2883: 2882: 2880: 2874: 2866: 2863: 2862: 2861: 2858: 2856: 2853: 2851: 2848: 2846: 2843: 2841: 2838: 2836: 2833: 2831: 2828: 2824: 2821: 2820: 2819: 2816: 2812: 2809: 2808: 2807: 2804: 2802: 2799: 2797: 2794: 2792: 2789: 2787: 2784: 2783: 2781: 2777: 2774: 2772: 2771:architectures 2766: 2760: 2757: 2755: 2752: 2750: 2747: 2745: 2742: 2740: 2739:Heterogeneous 2737: 2733: 2730: 2728: 2725: 2724: 2723: 2720: 2718: 2715: 2711: 2708: 2706: 2703: 2701: 2698: 2696: 2693: 2692: 2691: 2690:Memory access 2688: 2686: 2683: 2681: 2678: 2676: 2673: 2671: 2668: 2664: 2661: 2660: 2659: 2656: 2654: 2651: 2649: 2646: 2645: 2643: 2641: 2637: 2629: 2626: 2624: 2623:Random-access 2621: 2619: 2616: 2614: 2611: 2610: 2609: 2606: 2604: 2603:Stack machine 2601: 2599: 2596: 2592: 2589: 2587: 2584: 2582: 2579: 2577: 2574: 2572: 2569: 2567: 2564: 2562: 2559: 2557: 2554: 2553: 2552: 2549: 2545: 2542: 2540: 2537: 2535: 2532: 2530: 2527: 2525: 2522: 2520: 2519:with datapath 2517: 2516: 2515: 2512: 2510: 2507: 2505: 2502: 2501: 2499: 2497: 2493: 2489: 2482: 2477: 2475: 2470: 2468: 2463: 2462: 2459: 2446: 2440: 2421: 2415: 2407: 2403: 2399: 2393: 2377: 2370: 2364: 2349: 2345: 2339: 2328: 2322: 2314: 2307: 2301: 2293: 2287: 2276: 2270: 2251: 2245: 2236: 2231: 2224: 2208: 2202: 2183: 2177: 2161: 2154: 2148: 2137: 2131: 2123: 2116: 2110: 2099: 2098: 2091: 2083: 2076: 2070: 2062: 2055: 2049: 2041: 2035: 2033: 2021: 2015: 1996: 1990: 1971: 1965: 1954: 1948: 1930: 1926: 1925:Cray Research 1919: 1913: 1905: 1899: 1885: 1881: 1875: 1871: 1862: 1859: 1857: 1856:Register file 1854: 1852: 1849: 1847: 1844: 1842: 1839: 1838: 1832: 1830: 1826: 1822: 1806: 1804:64 (per core) 1801: 1798: 1797: 1793: 1787: 1781: 1779: 1776: 1775: 1771: 1765: 1759: 1757: 1754: 1753: 1749: 1743: 1737: 1734: 1731: 1730: 1726: 1720: 1714: 1711: 1708: 1707: 1702: 1700: 1696: 1690: 1687: 1684: 1683: 1680: 1674: 1668: 1666: 1663: 1662: 1659: 1653: 1647: 1645: 1642: 1641: 1636: 1632: 1626: 1620: 1618: 1615: 1614: 1609: 1603: 1597: 1595: 1592: 1591: 1586: 1580: 1577: 1575: 1572: 1571: 1567: 1561: 1555: 1553: 1550: 1549: 1544: 1536: 1533: 1532: 1528: 1526: 1519: 1513: 1511: 1508: 1507: 1495: 1491: 1486: 1478: 1475: 1474: 1470: 1465: 1462: 1461: 1457: 1451: 1448: 1446: 1443: 1442: 1438: 1434: 1428: 1422: 1420: 1416: 1413: 1412: 1408: 1402: 1396: 1394: 1391: 1390: 1386: 1382: 1376: 1370: 1368: 1365: 1364: 1360: 1357: 1354: 1352: 1349: 1348: 1343: 1338: 1332: 1326: 1324: 1321: 1320: 1316: 1310: 1304: 1302: 1301:Xelerated X10 1299: 1298: 1295: 1293: 1286: 1280: 1278: 1275: 1274: 1270: 1266: 1263: 1260: 1258: 1255: 1254: 1250: 1246: 1241: 1239: 1235: 1229: 1227: 1223: 1219: 1215: 1212: 1211: 1206: 1200: 1194: 1192: 1189: 1188: 1184: 1180: 1176: 1172: 1167: 1164: 1163: 1158: 1156: 1152: 1149: 1147: 1144: 1143: 1140: 1134: 1128: 1126: 1123: 1122: 1118: 1116: 1109: 1106: 1104: 1101: 1100: 1097: 1091: 1088: 1086: 1085:Motorola 6800 1083: 1082: 1078: 1072: 1066: 1064: 1061: 1060: 1055: 1051: 1045: 1039: 1037: 1034: 1033: 1028: 1023: 1017: 1015: 1012: 1011: 1006: 1002: 998: 994: 990: 986: 982: 978: 972: 969: 967: 964: 963: 959: 953: 951: 948: 947: 943: 939: 935: 933: 929: 923: 921: 918: 917: 913: 909: 904: 900: 896: 894: 890: 884: 882: 879: 878: 873: 869: 865: 861: 857: 853: 849: 845: 841: 839: 835: 829: 827: 824: 823: 819: 816: 810: 808: 805: 804: 800: 796: 792: 788: 783: 777: 774: 772: 769: 768: 764: 759: 753: 750: 748: 745: 744: 741: 735: 732: 730: 727: 726: 722: 720: 716: 713: 711: 708: 707: 703: 700: 694: 692: 689: 688: 684: 679: 674: 672:Architecture 671: 670: 667: 665: 661: 658: 657:mathematician 654: 649: 643: 633: 631: 627: 626: 621: 620:register file 617: 613: 608: 606: 605: 597: 593: 592: 588: 581: 577: 576: 575: 570: 567: 563: 559: 555: 554: 553: 548: 547: 545: 541: 538: 537: 536: 530: 529: 527: 526: 517: 512: 508: 507: 506: 501: 498: 495:(also called 494: 493: 492: 487: 484: 480: 476: 472: 471:program state 468: 464: 463: 459: 456: 452: 448: 447: 439: 436: 432: 431: 429: 424: 421: 417: 416: 407: 404: 400: 399: 398: 393: 390: 386: 385:register file 382: 374: 373: 369: 364: 363:stack machine 360: 356: 352: 351: 350: 349:stack pointer 344: 341: 337: 333: 329: 325: 324: 322: 318: 314: 313: 304: 301: 297: 293: 289: 285: 281: 277: 273: 269: 265: 261: 257: 253: 250:, as well as 249: 245: 241: 237: 236: 232:Data register 227: 226: 224: 223: 219: 218: 217: 209: 207: 202: 198: 194: 190: 186: 182: 172: 170: 166: 162: 158: 154: 150: 145: 143: 139: 135: 131: 127: 123: 119: 115: 111: 107: 102: 100: 96: 93: 89: 85: 81: 77: 73: 68: 66: 62: 58: 54: 50: 46: 42: 38: 30: 26: 21: 4607: 4468:Machine code 4453:Disassembler 4389:Chip carrier 4327:Clock gating 4246:Mixed-signal 4143:Write buffer 4120:Control unit 4079: 3932:Clock signal 3671:accelerators 3653:Cypress PSoC 3310:Simultaneous 3127:Out-of-order 2759:Neuromorphic 2640:Architecture 2598:Belt machine 2591:Zeno machine 2524:Hierarchical 2439: 2427:. Retrieved 2414: 2406:ARM Holdings 2401: 2392: 2380:. Retrieved 2376:ARM Holdings 2363: 2351:. Retrieved 2347: 2338: 2321: 2300: 2286: 2269: 2257:. Retrieved 2244: 2223: 2211:. Retrieved 2201: 2189:. Retrieved 2176: 2164:. Retrieved 2147: 2130: 2109: 2096: 2090: 2069: 2048: 2014: 2002:. Retrieved 1989: 1977:. Retrieved 1964: 1947: 1936:. Retrieved 1912: 1898: 1887:. Retrieved 1883: 1874: 1818: 1735:64-bit (A64) 1698: 1524: 1493: 1464:IBM Cell SPE 1291: 1269:Donald Knuth 1237: 1154: 1114: 1103:Motorola 68k 1036:VM Labs Nuon 950:Fairchild F8 931: 892: 837: 718: 681:FP registers 650: 639: 623: 609: 602: 601: 590: 589: 579: 572: 571: 565: 561: 557: 550: 549: 533: 532: 519: 518: 510: 503: 502: 496: 489: 488: 466: 461: 460: 441: 440: 426: 425: 419: 409: 408: 403:truth values 395: 394: 388: 376: 371: 370: 347: 346: 331: 327: 306: 305: 229: 228: 221: 220: 215: 191:register", " 187:register", " 178: 171:programmer. 146: 103: 99:cache levels 69: 36: 34: 4547:Programming 4174:Multiplexer 4138:Data buffer 3849:Single-core 3821:bit slicing 3679:Coprocessor 3534:Coprocessor 3415:performance 3337:Cooperative 3327:Speculative 3287:Distributed 3246:Superscalar 3231:Instruction 3199:Parallelism 3172:Speculative 3004:System/3x0 2876:Instruction 2653:Von Neumann 2566:Post–Turing 2353:14 November 2004:January 23, 1979:January 23, 1699:(up to 32) 1502:MOVE 1,1000 1014:Sunplus SPG 908:Pentium III 836:stack of 8 359:data stacks 300:accumulator 130:Pentium Pro 116:, allowing 53:main memory 4638:Categories 4566:Carry flag 4556:Call stack 4488:Assemblers 4294:management 4189:Multiplier 4050:Logic gate 4040:Sequential 3947:Functional 3927:Clock rate 3900:Data cache 3873:Components 3854:Multi-core 3842:Core count 3332:Preemptive 3236:Pipelining 3219:Bit-serial 3162:Wide-issue 3107:Structural 3029:Tilera ISA 2995:MicroBlaze 2965:ETRAX CRIS 2860:Comparison 2705:Load–store 2685:Endianness 2235:1804.06826 1938:2022-12-23 1889:2022-08-12 1867:References 1821:efficiency 1496:operands: 1342:multi-core 1222:System/390 1218:System/370 1214:System/360 826:16-bit x86 817:stack of 6 795:Intel 8232 791:AMD Am9511 787:Intel 8231 701:stack of 7 294:, and the 256:bit arrays 252:characters 134:Cyrix 6x86 29:Flip-flops 4623:Registers 4586:Zero flag 4228:Circuitry 4148:Microcode 4072:Registers 3915:coherence 3890:CPU cache 3748:Word size 3413:Processor 3057:Execution 2960:DEC Alpha 2938:Power ISA 2754:Cognitive 2561:Universal 1841:CPU cache 1419:Power ISA 1393:IBM POWER 1125:SH 16-bit 1001:Transmeta 979:Geode GX/ 930:16 or 32 430:registers 317:addresses 238:can hold 124:. Modern 59:e.g. DEC 41:processor 4496:A86/A386 4166:Datapath 3859:Manycore 3831:variable 3669:Hardware 3305:Temporal 2985:OpenRISC 2680:Cellular 2670:Dataflow 2663:modified 2191:June 13, 2160:Motorola 1929:Archived 1835:See also 1800:Epiphany 1704:32-bit. 1594:W65C816S 1498:MOVE 1,2 1445:Blackfin 981:Media GX 966:Geode GX 938:AVX/AVX2 636:Examples 453:done by 428:Constant 254:, small 244:integers 242:such as 161:compiler 118:parallel 65:ICT 1900 4342:Related 4273:Quantum 4263:Digital 4258:Boolean 4156:Counter 4055:Quantum 3816:512-bit 3811:256-bit 3806:128-bit 3649:(MPSoC) 3634:on chip 3632:Systems 3450:(FLOPS) 3263:Process 3112:Control 3094:Hazards 2980:Itanium 2975:Unicore 2933:PowerPC 2658:Harvard 2618:Pointer 2613:Counter 2571:Quantum 2259:May 11, 2166:May 18, 1697:Varies 1635:Toshiba 1415:PowerPC 1351:Itanium 1277:NS320xx 1063:Nios II 1054:VM Labs 999:. Like 942:AVX-512 807:iAPX432 389:unified 328:address 296:HP 2100 264:IBM 709 260:IBM 704 163:in the 147:When a 92:dynamic 45:storage 4598:Opcode 4549:issues 4539:(WASM) 4533:(TASM) 4527:(NASM) 4521:(MASM) 4503:(FASM) 4436:Topics 4278:Switch 4268:Analog 4006:(IMC) 3977:(MMU) 3826:others 3801:64-bit 3796:48-bit 3791:32-bit 3786:24-bit 3781:16-bit 3776:15-bit 3771:12-bit 3608:Mobile 3524:Stream 3519:Barrel 3514:Vector 3503:(GPU) 3462:(SUPS) 3430:(IPC) 3282:Memory 3275:Vector 3258:Thread 3241:Scalar 3043:Others 2990:RISC-V 2955:SuperH 2924:Power 2920:MIPS-X 2895:PDP-11 2744:Fabric 2496:Models 2429:27 May 2382:27 May 2213:Jan 9, 2122:Altera 1827:. The 1778:RISC-V 1510:PDP-11 1477:PDP-10 1005:3DNow! 920:x86-64 858:, and 793:, and 710:Cray-1 685:Notes 286:, the 284:PDP-15 270:, the 262:, the 193:64-bit 189:32-bit 142:AMD K5 140:, and 88:static 61:PDP-10 4561:Flags 4515:(HLA) 4509:(GAS) 4334:(PPW) 4292:Power 4184:Adder 4060:Array 4027:Logic 3988:(TLB) 3971:(FPU) 3965:(AGU) 3959:(ALU) 3949:units 3885:Cache 3766:8-bit 3761:4-bit 3756:1-bit 3720:(TPU) 3714:(DSP) 3708:(PPU) 3702:(VPU) 3691:(GPU) 3660:(NoC) 3643:(SoC) 3578:(PoP) 3572:(SiP) 3566:(MCM) 3507:GPGPU 3497:(CPU) 3487:Types 3468:(PPW) 3456:(TPS) 3444:(IPS) 3436:(CPI) 3207:Level 3018:S/390 3013:S/370 3008:S/360 2950:SPARC 2928:POWER 2811:TRIPS 2779:Types 2448:(PDF) 2423:(PDF) 2372:(PDF) 2330:(PDF) 2309:(PDF) 2278:(PDF) 2253:(PDF) 2230:arXiv 2185:(PDF) 2156:(PDF) 2139:(PDF) 2118:(PDF) 2101:(PDF) 2082:Intel 2078:(PDF) 2057:(PDF) 2023:(PDF) 1998:(PDF) 1973:(PDF) 1956:(PDF) 1932:(PDF) 1921:(PDF) 1815:Usage 1552:Alpha 1367:SPARC 1179:Fermi 1175:Tesla 993:Cyrix 903:80387 899:80386 881:IA-32 872:80287 868:80187 860:80286 856:80188 852:80186 630:Alpha 622:is a 612:SPARC 401:hold 315:hold 292:PDP-8 288:PDP-5 280:PDP-9 276:PDP-7 272:PDP-4 268:PDP-1 212:Types 185:8-bit 138:Nx586 4312:ACPI 4045:Glue 3937:FIFO 3880:Core 3618:ASIP 3559:CPLD 3554:FPOA 3549:FPGA 3544:ASIC 3397:SPMD 3392:MIMD 3387:MISD 3380:SWAR 3360:SIMD 3355:SISD 3270:Data 3253:Task 3224:Word 2970:M32R 2915:MIPS 2878:sets 2845:ZISC 2840:NISC 2835:OISC 2830:MISC 2823:EPIC 2818:VLIW 2806:EDGE 2796:RISC 2791:CISC 2700:HUMA 2695:NUMA 2431:2013 2384:2013 2355:2019 2261:2020 2215:2020 2193:2015 2168:2015 2006:2014 1981:2014 1756:MIPS 1574:6502 1490:core 1257:MMIX 1166:CUDA 989:5x86 985:4x86 897:The 864:8087 848:8088 844:8086 842:The 771:8080 747:8008 729:4004 664:GPUs 616:MIPS 614:and 531:The 511:MTRR 455:SIMD 345:The 181:bits 175:Size 120:and 4307:APM 4302:PMU 4194:CPU 4151:ROM 3922:Bus 3539:PAL 3214:Bit 3000:LMC 2905:ARM 2900:x86 2890:VAX 2061:AMD 1733:ARM 1710:ARM 1686:ARM 1617:MeP 1535:VAX 1468:128 1358:128 1355:128 1264:256 1261:256 1249:ELF 912:SSE 870:or 799:Z80 646:ESP 642:x86 580:MAR 566:MDR 558:MBR 544:RAM 467:SPR 420:FPR 387:is 379:GPR 126:x86 95:RAM 90:or 4640:: 4241:3D 2404:. 2400:. 2374:. 2346:. 2311:. 2158:. 2120:. 2080:. 2059:. 2031:^ 1923:. 1882:. 1791:32 1785:31 1769:32 1763:31 1747:32 1741:31 1724:16 1716:00 1694:14 1676:00 1672:32 1655:00 1649:00 1628:00 1622:00 1605:00 1599:00 1582:00 1565:31 1559:31 1542:16 1523:6 1521:00 1515:00 1484:16 1453:00 1432:32 1426:32 1406:32 1400:32 1387:. 1380:32 1374:31 1334:00 1328:00 1314:32 1306:00 1290:8 1288:00 1282:00 1233:16 1224:, 1220:, 1216:, 1202:00 1198:16 1136:00 1132:16 1130:00 1113:8 1111:00 1093:00 1074:00 1070:31 1047:00 1041:00 1019:00 974:00 944:. 927:16 886:00 866:, 850:, 831:00 812:00 789:, 779:00 755:00 737:00 696:00 513:s) 435:pi 365:). 323:. 208:. 144:. 136:, 132:, 101:. 78:, 67:. 63:, 35:A 23:A 4423:e 4416:t 4409:v 2480:e 2473:t 2466:v 2450:. 2433:. 2408:. 2386:. 2357:. 2315:. 2294:. 2280:. 2263:. 2238:. 2232:: 2217:. 2195:. 2170:. 2008:. 1983:. 1941:. 1906:. 1892:. 1789:0 1783:0 1767:0 1761:0 1745:0 1739:0 1722:0 1718:8 1692:0 1678:0 1670:0 1657:0 1651:1 1630:8 1624:4 1607:0 1601:1 1584:0 1563:0 1557:0 1540:0 1517:7 1482:0 1455:0 1430:0 1424:0 1417:/ 1404:0 1398:0 1378:0 1372:0 1336:2 1330:0 1312:0 1308:1 1284:8 1231:0 1204:8 1196:0 1177:/ 1138:6 1095:0 1076:8 1068:0 1049:1 1043:0 1021:0 995:/ 987:/ 983:/ 976:8 957:— 925:0 888:8 854:/ 846:/ 833:8 814:0 781:0 757:0 739:0 698:0 582:) 578:( 568:) 564:( 556:( 525:s 509:( 465:( 437:. 418:( 415:s 375:( 312:s 290:/ 282:/ 278:/ 274:/ 235:s 31:.

Index


register-transfer level (RTL)
Flip-flops
processor
storage
computer architecture
main memory
memory address
PDP-10
ICT 1900
load/store architecture
arithmetic operations
bitwise operations
machine instructions
static
dynamic
RAM
cache levels
memory hierarchy
instruction set
register renaming
parallel
speculative execution
x86
Pentium Pro
Cyrix 6x86
Nx586
AMD K5
computer program
locality of reference

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

↑