Misplaced Pages

DEC Alpha

Article snapshot taken from Wikipedia with creative commons attribution-sharealike license. Give it a read and then ask your questions in the chat. We can research this topic together.

Alpha (original name Alpha AXP ) is a 64-bit reduced instruction set computer (RISC) instruction set architecture (ISA) developed by Digital Equipment Corporation (DEC). Alpha was designed to replace 32-bit VAX complex instruction set computers (CISC) and to be a highly competitive RISC processor for Unix workstations and similar markets.

#663336

155-750: Alpha was implemented in a series of microprocessors originally developed and fabricated by DEC. These microprocessors were most prominently used in a variety of DEC workstations and servers, which eventually formed the basis for almost all of their mid-to-upper-scale lineup. Several third-party vendors also produced Alpha systems, including PC form factor motherboards. Operating systems that support Alpha included OpenVMS (formerly named OpenVMS AXP), Tru64 UNIX (formerly named DEC OSF/1 AXP and Digital UNIX), Windows NT (discontinued after NT 4.0 ; and prerelease Windows 2000 RC2 ), Linux ( Debian , SUSE , Gentoo and Red Hat ), BSD UNIX ( NetBSD , OpenBSD and FreeBSD up to 6.x), Plan 9 from Bell Labs , and

310-404: A MOS -based chipset as the core CPU. The design was significantly (approximately 20 times) smaller and much more reliable than the mechanical systems it competed against and was used in all of the early Tomcat models. This system contained "a 20-bit, pipelined , parallel multi-microprocessor ". The Navy refused to allow publication of the design until 1997. Released in 1998, the documentation on

465-505: A bit slice approach necessary. Instead of processing all of a long word on one integrated circuit, multiple circuits in parallel processed subsets of each word. While this required extra logic to handle, for example, carry and overflow within each slice, the result was a system that could handle, for example, 32-bit words using integrated circuits with a capacity for only four bits each. The ability to put large numbers of transistors on one chip makes it feasible to integrate memory on

620-460: A control logic section. The ALU performs addition, subtraction, and operations such as AND or OR. Each operation of the ALU sets one or more flags in a status register , which indicate the results of the last operation (zero value, negative number, overflow , or others). The control logic retrieves instruction codes from memory and initiates the sequence of operations required for the ALU to carry out

775-578: A microprocessor format. In October 1987, Sun Microsystems introduced the Sun-4 , their first workstation using their new SPARC processor. The Sun-4 runs about three to four times as fast as their latest Sun-3 designs using the Motorola 68020 , and any Unix offering from DEC. The plans changed again; PRISM was realigned once again as a 32-bit part and aimed directly at the Unix market. This further delayed

930-616: A static design , meaning that the clock frequency could be made arbitrarily low, or even stopped. This let the Galileo spacecraft use minimum electric power for long uneventful stretches of a voyage. Timers or sensors would awaken the processor in time for important tasks, such as navigation updates, attitude control, data acquisition, and radio communication. Current versions of the Western Design Center 65C02 and 65C816 also have static cores , and thus retain data even when

1085-408: A 21-bit displacement field. The Ra field specifies a register to be tested by a conditional branch instruction, and if the condition is met, the program counter is updated by adding the contents of the displacement field with the program counter. The displacement field contains a signed integer and if the value of the integer is positive, if the branch is taken then the program counter is incremented. If

1240-546: A 64- or 128-bit result to the destination register, respectively. Since it is useful to obtain the most significant half, the Unsigned Multiply Quadword High (UMULH) instruction is provided. UMULH is used for implementing multi-precision arithmetic and division algorithms. The concept of a separate instruction for multiplication that returns the most significant half of a result was taken from PRISM . The instructions that operate on longwords ignore

1395-414: A RISC-like system and leave more complex VAX instructions to system subroutines. Another concept was a pure RISC system that would translate existing VAX code into its own ISA on-the-fly and store it in a CPU cache . Finally, there was still the possibility of a much faster CISC processor running the complete VAX ISA. Unfortunately, all of these approaches introduced overhead and would not be competitive with

1550-529: A ROM chip for storing the programs, a dynamic RAM chip for storing data, a simple I/O device, and a 4-bit central processing unit (CPU). Although not a chip designer, he felt the CPU could be integrated into a single chip, but as he lacked the technical know-how the idea remained just a wish for the time being. While the architecture and specifications of the MCS-4 came from the interaction of Hoff with Stanley Mazor ,

1705-505: A basic ALU operation, such as "add", with the access of one or more operands in memory (using addressing modes such as direct, indirect, indexed, etc.). Certain architectures may allow two or three operands (including the result) directly in memory or may be able to perform functions such as automatic pointer increment, etc. Software-implemented instruction sets may have even more complex and powerful instructions. Reduced instruction-set computers , RISC , were first widely implemented during

SECTION 10

#1732772791664

1860-401: A cache line or virtual memory page boundary, for instance), and are therefore somewhat easier to optimize for speed. In early 1960s computers, main memory was expensive and very limited, even on mainframes. Minimizing the size of a program to make sure it would fit in the limited memory was often central. Thus the size of the instructions needed to perform a particular task, the code density ,

2015-562: A chip for a terminal they were designing, the Datapoint 2200 —fundamental aspects of the design came not from Intel but from CTC. In 1968, CTC's Vic Poor and Harry Pyle developed the original design for the instruction set and operation of the processor. In 1969, CTC contracted two companies, Intel and Texas Instruments , to make a single-chip implementation, known as the CTC 1201. In late 1970 or early 1971, TI dropped out being unable to make

2170-465: A combined register file, but a split register file was determined to be better, as it enables two-chip implementations to have a register file located on each chip and integer-only implementations to omit the floating-point register file containing the floating-point registers. A split register file was also determined to be more suitable for multiple instruction issue due to the reduced number of read and write ports. The number of registers per register file

2325-458: A common kernel , allowing software for both platforms to be easily ported to the PRISM architecture. Started in 1985, the PRISM design was continually changed during its development in response to changes in the computer market, leading to lengthy delays in its introduction. It was not until the summer of 1987 that it was decided that it would be a 64-bit design, among the earliest such designs in

2480-471: A complete computer processor could be contained on several MOS LSI chips. Designers in the late 1960s were striving to integrate the central processing unit (CPU) functions of a computer onto a handful of MOS LSI chips, called microprocessor unit (MPU) chipsets. While there is disagreement over who invented the microprocessor, the first commercially available microprocessor was the Intel 4004 , released as

2635-537: A complete single-chip calculator IC for the Monroe/ Litton Royal Digital III calculator. This chip could also arguably lay claim to be one of the first microprocessors or microcontrollers having ROM , RAM and a RISC instruction set on-chip. The layout for the four layers of the PMOS process was hand drawn at x500 scale on mylar film, a significant task at the time given the complexity of

2790-543: A computer's central processing unit (CPU). The IC is capable of interpreting and executing program instructions and performing arithmetic operations. The microprocessor is a multipurpose, clock -driven, register -based, digital integrated circuit that accepts binary data as input, processes it according to instructions stored in its memory , and provides results (also in binary form) as output. Microprocessors contain both combinational logic and sequential digital logic , and operate on numbers and symbols represented in

2945-415: A conditional branch instruction will transfer control if the condition is true, so that execution proceeds to a different part of the program, and not transfer control if the condition is false, so that execution continues sequentially. Some instruction sets also have conditional moves, so that the move will be executed, and the data stored in the target location, if the condition is true, and not executed, and

3100-468: A courtroom demonstration computer system, together with RAM, ROM, and an input-output device. In 1968, Garrett AiResearch (who employed designers Ray Holt and Steve Geller) was invited to produce a digital computer to compete with electromechanical systems then under development for the main flight control computer in the US Navy 's new F-14 Tomcat fighter. The design was complete by 1970, and used

3255-497: A decades-long legal battle with the state of California over alleged unpaid taxes on his patent's windfall after 1990, which would culminate in a landmark Supreme Court case addressing states' sovereign immunity in Franchise Tax Board of California v. Hyatt (2019) . Along with Intel (who developed the 8008 ), Texas Instruments developed in 1970–1971 a one-chip CPU replacement for the Datapoint 2200 terminal,

SECTION 20

#1732772791664

3410-536: A few hardware dependencies based on its modelling of interrupts and memory paging. There appeared to be no compelling reason why VMS could not be ported to a RISC chip as long as these small bits of the model were preserved. Further work on this concept suggested this was a workable approach. Supnik took the resulting report to the Strategy Task Force in February 1989. Two questions were raised: could

3565-782: A four-function calculator. The TMS1802NC, despite its designation, was not part of the TMS 1000 series; it was later redesignated as part of the TMS 0100 series, which was used in the TI Datamath calculator. Although marketed as a calculator-on-a-chip, the TMS1802NC was fully programmable, including on the chip a CPU with an 11-bit instruction word, 3520 bits (320 instructions) of ROM and 182 bits of RAM. In 1971, Pico Electronics and General Instrument (GI) introduced their first collaboration in ICs,

3720-572: A given instruction may specify: More complex operations are built up by combining these simple instructions, which are executed sequentially, or as otherwise directed by control flow instructions. Examples of operations common to many instruction sets include: Processors may include "complex" instructions in their instruction set. A single "complex" instruction does something that may take many instructions on other computers. Such instructions are typified by instructions that take multiple steps, control multiple functional units, or otherwise appear on

3875-452: A head in a July 1988 management meeting. PRISM appeared to be faster than the R2000, but the R2000 machines could be in the market by January 1989, a year earlier than PRISM. When this proposal was accepted, one of the two original roles for PRISM disappeared. The decision to make a VMS PRISM had already ended by this point, so there was no remaining role. PRISM was cancelled at the meeting. As

4030-508: A larger (or full) virtual address space. The Alpha ISA has a fixed instruction length of 32 bits. It has six instruction formats. The integer operate format is used by integer instructions. It contains a 6-bit opcode field, followed by the Ra field, which specifies the register containing the first operand and the Rb field, specifies the register containing the second operand. Next is a 3-bit field which

4185-601: A larger scale than the bulk of simple instructions implemented by the given processor. Some examples of "complex" instructions include: Complex instructions are more common in CISC instruction sets than in RISC instruction sets, but RISC instruction sets may include them as well. RISC instruction sets generally do not include ALU operations with memory operands, or instructions to move large blocks of memory, but most RISC instruction sets include SIMD or vector instructions that perform

4340-499: A level of compatibility with the VAX , the 32-bit architecture that preceded the Alpha, two other floating-point data types are included: VAX H-floating point (quad precision, 128-bit) was not supported, but another 128-bit floating-point option, X-floating point, is available on Alpha, but not VAX. H and X have been described as similar, but not identical. Software emulation for H-floating

4495-422: A longword-aligned virtual byte address, that is, the low two bits of the program counter are always zero. The PC is incremented by four to the address of the next instruction when an instruction is decoded. A lock flag and locked physical address register are used by the load-locked and store-conditional instructions for multiprocessor support. The floating-point control register (FPCR) is a 64-bit register defined by

4650-541: A major advance over Intel, and two year earlier. It actually worked and was flying in the F-14 when the Intel 4004 was announced. It indicates that today's industry theme of converging DSP - microcontroller architectures was started in 1971. This convergence of DSP and microcontroller architectures is known as a digital signal controller . In 1990, American engineer Gilbert Hyatt was awarded U.S. Patent No. 4,942,516, which

4805-419: A period of rapidly growing memory subsystems. They sacrifice code density to simplify implementation circuitry, and try to increase performance via higher clock frequencies and more registers. A single RISC instruction typically performs only a single operation, such as an "add" of registers or a "load" from a memory location into a register. A RISC instruction set normally has a fixed instruction length , whereas

DEC Alpha - Misplaced Pages Continue

4960-399: A potential bottleneck at the condition status register. Instructions resulting in an overflow, such as adding two numbers whose result does not fit in 64 bits, write the 32 or 64 least significant bits to the destination register. The carry is generated by performing an unsigned compare on the result with either operand to see if the result is smaller than either operand. If the test was true,

5115-500: A professor. Shannon is considered "The Father of Information Theory". In 1951 Microprogramming was invented by Maurice Wilkes at the University of Cambridge , UK, from the realisation that the central processor could be controlled by a specialised program in a dedicated ROM . Wilkes is also credited with the idea of symbolic labels, macros and subroutine libraries. Following the development of MOS integrated circuit chips in

5270-460: A pure-RISC machine running native RISC code. The group then considered hybrid systems that combined one of their existing VAX one-chip solution and a RISC chip as a coprocessor used for high-performance needs. These studies suggested that the system would inevitably be hamstrung by the lower-performance part and would offer no compelling advantage. It was at this point that Nancy Kronenberg pointed out that people ran VMS, not VAX, and that VMS only had

5425-534: A register and a literal and write '1' to the destination register if the specified condition is true or '0' if not. The conditions are equality, inequality, less than or equal to, and less than. With the exception of the instructions that specify the former two conditions, there are versions that perform signed and unsigned compares. The integer arithmetic instructions use the integer operate instruction formats. The logical instructions consist of those for performing bitwise logical operations and conditional moves on

5580-412: A register is set or clear, or compare a register as a signed quadword to zero, and branch if the specified condition is true. The conditions available for comparing a register to zero are equality, inequality, less than, less than or equal to, greater than or equal to, and greater than. The new address is computed by longword aligning and sign extending the 21-bit displacement and adding it to the address of

5735-550: A reliable part. In 1970, with Intel yet to deliver the part, CTC opted to use their own implementation in the Datapoint 2200, using traditional TTL logic instead (thus the first machine to run "8008 code" was not in fact a microprocessor at all and was delivered a year earlier). Intel's version of the 1201 microprocessor arrived in late 1971, but was too late, slow, and required a number of additional support chips. CTC had no interest in using it. CTC had originally contracted Intel for

5890-451: A single MOS LSI chip in 1971. The single-chip microprocessor was made possible with the development of MOS silicon-gate technology (SGT). The earliest MOS transistors had aluminium metal gates , which Italian physicist Federico Faggin replaced with silicon self-aligned gates to develop the first silicon-gate MOS chip at Fairchild Semiconductor in 1968. Faggin later joined Intel and used his silicon-gate MOS technology to develop

6045-543: A single architecture for a series of five processors spanning a wide range of cost and performance. None of the five engineering design teams could count on being able to bring about adjustments in architectural specifications as a way of easing difficulties in achieving cost and performance objectives. Some virtual machines that support bytecode as their ISA such as Smalltalk , the Java virtual machine , and Microsoft 's Common Language Runtime , implement this by translating

6200-545: A single instruction. Some exotic instruction sets do not have an opcode field, such as transport triggered architectures (TTA), only operand(s). Most stack machines have " 0-operand " instruction sets in which arithmetic and logical operations lack any operand specifier fields; only instructions that push operands onto the evaluation stack or that pop operands from the stack into variables have operand specifiers. The instruction set carries out most ALU actions with postfix ( reverse Polish notation ) operations that work only on

6355-449: A single-chip CPU with the proper speed, power dissipation and cost. The manager of Intel's MOS Design Department was Leslie L. Vadász at the time of the MCS-4 development but Vadász's attention was completely focused on the mainstream business of semiconductor memories so he left the leadership and the management of the MCS-4 project to Faggin, who was ultimately responsible for leading the 4004 project to its realization. Production units of

DEC Alpha - Misplaced Pages Continue

6510-454: A software engineer reporting to him, and with Busicom engineer Masatoshi Shima , during 1969, Mazor and Hoff moved on to other projects. In April 1970, Intel hired Italian engineer Federico Faggin as project leader, a move that ultimately made the single-chip CPU final design a reality (Shima meanwhile designed the Busicom calculator firmware and assisted Faggin during the first six months of

6665-408: A standard and compatible application binary interface (ABI) for a particular ISA, machine code will run on future implementations of that ISA and operating system. However, if an ISA supports running multiple operating systems, it does not guarantee that machine code for one operating system will run on another operating system, unless the first operating system supports running machine code built for

6820-612: A system can provide control strategies that would be impractical to implement using electromechanical controls or purpose-built electronic controls. For example, an internal combustion engine's control system can adjust ignition timing based on engine speed, load, temperature, and any observed tendency for knocking—allowing the engine to operate on a range of fuel grades. The advent of low-cost computers on integrated circuits has transformed modern society . General-purpose microprocessors in personal computers are used for computation, text editing, multimedia display , and communication over

6975-571: A system is expected to handle larger volumes of data or require a more flexible user interface , 16-, 32- or 64-bit processors are used. An 8- or 16-bit processor may be selected over a 32-bit processor for system on a chip or microcontroller applications that require extremely low-power electronics , or are part of a mixed-signal integrated circuit with noise-sensitive on-chip analog electronics such as high-resolution analog to digital converters, or both. Some people say that running 32-bit arithmetic on an 8-bit chip could end up using more power, as

7130-463: A typical CISC instruction set has instructions of widely varying length. However, as RISC computers normally require more and often longer instructions to implement a given task, they inherently make less optimal use of bus bandwidth and cache memories. Certain embedded RISC ISAs like Thumb and AVR32 typically exhibit very high density owing to a technique called code compression. This technique packs two 16-bit instructions into one 32-bit word, which

7285-540: A writable control store use it to allow the instruction set to be changed (for example, the Rekursiv processor and the Imsys Cjip ). CPUs designed for reconfigurable computing may use field-programmable gate arrays (FPGAs). An ISA can also be emulated in software by an interpreter . Naturally, due to the interpretation overhead, this is slower than directly running programs on the emulated hardware, unless

7440-415: Is 15 bytes (120 bits). Within an instruction set, different instructions may have different lengths. In some architectures, notably most reduced instruction set computers (RISC), instructions are a fixed length , typically corresponding with that architecture's word size . In other architectures, instructions have variable length , typically integral multiples of a byte or a halfword . Some, such as

7595-444: Is a complex issue. There were two stages in history for the microprocessor. The first was the CISC (Complex Instruction Set Computer), which had many different instructions. In the 1970s, however, places like IBM did research and found that many instructions in the set could be eliminated. The result was the RISC (Reduced Instruction Set Computer), an architecture that uses a smaller set of instructions. A simpler instruction set may offer

7750-531: Is a general purpose processing entity. Several specialized processing devices have followed: Microprocessors can be selected for differing applications based on their word size, which is a measure of their complexity. Longer word sizes allow each clock cycle of a processor to carry out more computation, but correspond to physically larger integrated circuit dies with higher standby and operating power consumption . 4-, 8- or 12-bit processors are widely integrated into microcontrollers operating embedded systems. Where

7905-407: Is actually every two years, and as a result Moore later changed the period to two years. These projects delivered a microprocessor at about the same time: Garrett AiResearch 's Central Air Data Computer (CADC) (1970), Texas Instruments ' TMS 1802NC (September 1971) and Intel 's 4004 (November 1971, based on an earlier 1969 Busicom design). Arguably, Four-Phase Systems AL1 microprocessor

SECTION 50

#1732772791664

8060-461: Is available from DEC, as is a source-code level converter named DECmigrate. The Alpha has a 64-bit linear virtual address space with no memory segmentation. Implementations can implement a smaller virtual address space with a minimum size of 43 bits. Although the unused bits were not implemented in hardware such as TLBs , the architecture required implementations to check whether they are zero to ensure software compatibility with implementations with

8215-484: Is bounded by physical limitations on the number of transistors that can be put onto one chip, the number of package terminations that can connect the processor to other parts of the system, the number of interconnections it is possible to make on the chip, and the heat that the chip can dissipate . Advancing technology makes more complex and powerful chips feasible to manufacture. A minimal hypothetical microprocessor might include only an arithmetic logic unit (ALU), and

8370-423: Is disagreement over who deserves credit for the invention of the microprocessor, the first commercially available microprocessor was the Intel 4004 , designed by Federico Faggin and introduced in 1971. Continued increases in microprocessor capacity have since rendered other forms of computers almost completely obsolete (see history of computing hardware ), with one or more microprocessors used in everything from

8525-553: Is due to the many addressing modes and optimizations (such as sub-register addressing, memory operands in ALU instructions, absolute addressing, PC-relative addressing, and register-to-register spills) that CISC ISAs offer. The size or length of an instruction varies widely, from as little as four bits in some microcontrollers to many hundreds of bits in some VLIW systems. Processors used in personal computers , mainframes , and supercomputers have minimum instruction sizes between 8 and 64 bits. The longest possible instruction on x86

8680-479: Is given by a register or literal. Logical and shift instructions use the integer operate instruction formats. Later Alphas include byte-word extensions, a set of instructions to manipulate 8-bit and 16-bit data types. These instructions were first introduced in the 21164A (EV56) microprocessor and are present in all subsequent implementations. These instructions perform operations that formerly required multiple instructions to implement, which improves code density and

8835-431: Is no instruction(s) for division as the architects considered the implementation of division in hardware to be adverse to simplicity. In addition to the standard add and subtract instructions, there are scaled versions. These versions shift the second operand to the left by two or three bits before adding or subtracting. The Multiply Longword and Multiply Quadword instructions write the least significant 32 or 64 bits of

8990-553: Is similar to the code density of RISC; the increased instruction density is offset by requiring more of the primitive instructions to do a task. There has been research into executable compression as a mechanism for improving code density. The mathematics of Kolmogorov complexity describes the challenges and limits of this. In practice, code density is also dependent on the compiler . Most optimizing compilers have options that control whether to optimize code generation for execution speed or for code density. For instance GCC has

9145-405: Is similar to the integer operate format, but has an 11-bit function field made possible by using the literal and unused bits which are reserved in integer operate format. The memory format is used mostly by load and store instructions. It has a 6-bit opcode field, a 5-bit Ra field, a 5-bit Rb field and a 16-bit displacement field. Branch instructions have a 6-bit opcode field, a 5-bit Ra field and

9300-432: Is then unpacked at the decode stage and executed as two instructions. Minimal instruction set computers (MISC) are commonly a form of stack machine , where there are few separate instructions (8–32), so that multiple instructions can be fit into a single machine word. These types of cores often take little silicon to implement, so they can be easily realized in an FPGA or in a multi-core form. The code density of MISC

9455-467: Is unused and reserved. A 1-bit field contains a "0", which distinguished this format from the integer literal format. A 7-bit function field follows, which is used in conjunction with the opcode to specify an operation. The last field is the Rc field, which specifies the register which the result of a computation should be written to. The register fields are all 5 bits long, required to address 32 unique locations,

SECTION 60

#1732772791664

9610-504: The ARM with Thumb-extension have mixed variable encoding, that is two fixed, usually 32-bit and 16-bit encodings, where instructions cannot be mixed freely but must be switched between on a branch (or exception boundary in ARMv8). Fixed-length instructions are less complicated to handle than variable-length instructions for several reasons (not having to check whether an instruction straddles

9765-619: The CADC , and the MP944 chipset, are well known. Ray Holt's autobiographical story of this design and development is presented in the book: The Accidental Engineer. Ray Holt graduated from California State Polytechnic University, Pomona in 1968, and began his computer design career with the CADC. From its inception, it was shrouded in secrecy until 1998 when at Holt's request, the US Navy allowed

9920-609: The Electric Pickle experiment at Western Research Lab. The number in the EV designations indicated the semiconductor process which the chip was designed for. For example, the EV4 processor used DEC's CMOS-4 process. In May 1997, DEC sued Intel for allegedly infringing on its Alpha patents in designing the original Pentium , Pentium Pro , and Pentium II chips. As part of a settlement, much of DEC's chip design and fabrication business

10075-504: The F-14 Central Air Data Computer in 1970 has also been cited as an early microprocessor, but was not known to the public until declassified in 1998. Other embedded uses of 4-bit and 8-bit microprocessors, such as terminals , printers , various kinds of automation etc., followed soon after. Affordable 8-bit microprocessors with 16-bit addressing also led to the first general-purpose microcomputers from

10230-549: The Intellivision console. Instruction set architecture In computer science , an instruction set architecture ( ISA ) is an abstract model that generally defines how software controls the CPU in a computer or a family of computers. A device or program that executes instructions described by that ISA, such as a central processing unit (CPU), is called an implementation of that ISA. In general, an ISA defines

10385-516: The Internet . Many more microprocessors are part of embedded systems , providing digital control over myriad objects from appliances to automobiles to cellular phones and industrial process control . Microprocessors perform binary operations based on Boolean logic , named after George Boole . The ability to operate computer systems using Boolean Logic was first proven in a 1938 thesis by master's student Claude Shannon , who later went on to become

10540-559: The L4Ka::Pistachio kernel. A port of Ultrix to Alpha was carried out during the initial development of the Alpha architecture, but was never released as a product. The Alpha architecture was sold, along with most parts of DEC, to Compaq in 1998. Compaq, already an Intel x86 customer, announced that they would phase out Alpha in favor of the forthcoming Hewlett-Packard /Intel Itanium architecture, and sold all Alpha intellectual property to Intel, in 2001, effectively killing

10695-519: The binary number system. The integration of a whole CPU onto a single or a few integrated circuits using Very-Large-Scale Integration (VLSI) greatly reduced the cost of processing power. Integrated circuit processors are produced in large numbers by highly automated metal–oxide–semiconductor (MOS) fabrication processes , resulting in a relatively low unit price . Single-chip processors increase reliability because there are fewer electrical connections that can fail. As microprocessor designs improve,

10850-411: The compiler responsible for instruction issue and scheduling. Architectures with even less complexity have been studied, such as the minimal instruction set computer (MISC) and one-instruction set computer (OISC). These are theoretically important types, but have not been commercialized. Machine language is built up from discrete statements or instructions . On the processing architecture,

11005-529: The microarchitecture of a processor, engineers use blocks of "hard-wired" electronic circuitry (often designed separately) such as adders, multiplexers, counters, registers, ALUs, etc. Some kind of register transfer language is then often used to describe the decoding and sequencing of each instruction of an ISA using this physical microarchitecture. There are two basic ways to build a control unit to implement this description (although many designs use middle ways or compromises): Some microcoded CPU designs with

11160-457: The stack or in an implicit register. If some of the operands are given implicitly, fewer operands need be specified in the instruction. When a "destination operand" explicitly specifies the destination, an additional operand must be supplied. Consequently, the number of operands encoded in an instruction may differ from the mathematically necessary number of arguments for a logical or arithmetic operation (the arity ). Operands are either encoded in

11315-504: The x86 instruction set , but they have radically different internal designs. The concept of an architecture , distinct from the design of a specific machine, was developed by Fred Brooks at IBM during the design phase of System/360 . Prior to NPL [System/360], the company's computer designers had been free to honor cost objectives not only by selecting technologies but also by fashioning functional and architectural refinements. The SPREAD compatibility objective, in contrast, postulated

11470-431: The "opcode" representation of the instruction, or else are given as values or addresses following the opcode. Register pressure measures the availability of free registers at any point in time during the program execution. Register pressure is high when a large number of the available registers are in use; thus, the higher the register pressure, the more often the register contents must be spilled into memory. Increasing

11625-457: The 1990s. Motorola introduced the MC6809 in 1978. It was an ambitious and well thought-through 8-bit design that was source compatible with the 6800 , and implemented using purely hard-wired logic (subsequent 16-bit microprocessors typically used microcode to some extent, as CISC design requirements were becoming too complex for pure hard-wired logic). Another early 8-bit microprocessor

11780-414: The 32 integer registers. The integer literal format is used by integer instructions which use a literal as one of the operands. The format is the same as the integer operate format except for the replacement of the 5-bit Rb field and the 3 bits of unused space with an 8-bit literal field which is zero-extended to a 64-bit operand. The floating-point operate format is used by floating-point instructions. It

11935-465: The 4004 were first delivered to Busicom in March 1971 and shipped to other customers in late 1971. The Intel 4004 was followed in 1972 by the Intel 8008 , intel's first 8-bit microprocessor. The 8008 was not, however, an extension of the 4004 design, but instead the culmination of a separate design project at Intel, arising from a contract with Computer Terminals Corporation , of San Antonio TX, for

12090-433: The 4004, along with Marcian Hoff , Stanley Mazor and Masatoshi Shima in 1971. The 4004 was designed for Busicom , which had earlier proposed a multi-chip design in 1969, before Faggin's team at Intel changed it into a new single-chip design. Intel introduced the first commercial microprocessor, the 4-bit Intel 4004, in 1971. It was soon followed by the 8-bit microprocessor Intel 8008 in 1972. The MP944 chipset used in

12245-667: The 6100 was being incorporated into some military designs until the early 1980s. The first multi-chip 16-bit microprocessor was the National Semiconductor IMP-16 , introduced in early 1973. An 8-bit version of the chipset was introduced in 1974 as the IMP-8. Other early multi-chip 16-bit microprocessors include the MCP-1600 that Digital Equipment Corporation (DEC) used in the LSI-11 OEM board set and

12400-528: The CMOS WDC 65C02 in 1982 and licensed the design to several firms. It was used as the CPU in the Apple IIe and IIc personal computers as well as in medical implantable grade pacemakers and defibrillators , automotive, industrial and consumer devices. WDC pioneered the licensing of microprocessor designs, later followed by ARM (32-bit) and other microprocessor intellectual property (IP) providers in

12555-488: The TMX 1795 (later TMC 1795.) Like the 8008, it was rejected by customer Datapoint. According to Gary Boone, the TMX 1795 never reached production. Still it reached a working prototype state at 1971 February 24, therefore it is the world's first 8-bit microprocessor. Since it was built to the same specification, its instruction set was very similar to the Intel 8008. The TMS1802NC was announced September 17, 1971, and implemented

12710-683: The Z80's built-in memory refresh circuitry) allowed the home computer "revolution" to accelerate sharply in the early 1980s. This delivered such inexpensive machines as the Sinclair ZX81 , which sold for US$ 99 (equivalent to $ 331.79 in 2023). A variation of the 6502, the MOS Technology 6510 was used in the Commodore 64 and yet another variant, the 8502, powered the Commodore 128 . The Western Design Center, Inc (WDC) introduced

12865-411: The architecture intended for use by Alpha implementations with IEEE 754 -compliant floating-point hardware. In the Alpha architecture, a byte is defined as an 8-bit datum (octet), a word as a 16-bit datum, a longword as a 32-bit datum, a quadword as a 64-bit datum, and an octaword as a 128-bit datum. The Alpha architecture originally defined six data types: To maintain

13020-595: The bytecode for commonly used code paths into native machine code. In addition, these virtual machines execute less frequently used code paths by interpretation (see: Just-in-time compilation ). Transmeta implemented the x86 instruction set atop VLIW processors in this fashion. An ISA may be classified in a number of different ways. A common classification is by architectural complexity . A complex instruction set computer (CISC) has many specialized instructions, some of which may only be rarely used in practical programs. A reduced instruction set computer (RISC) simplifies

13175-918: The chip must execute software with multiple instructions. However, others say that modern 8-bit chips are always more power-efficient than 32-bit chips when running equivalent software routines. Thousands of items that were traditionally not computer-related include microprocessors. These include household appliances , vehicles (and their accessories), tools and test instruments, toys, light switches/dimmers and electrical circuit breakers , smoke alarms, battery packs, and hi-fi audio/visual components (from DVD players to phonograph turntables ). Such products as cellular telephones, DVD video system and HDTV broadcast systems fundamentally require consumer devices with powerful, low-cost, microprocessors. Increasingly stringent pollution control standards effectively require automobile manufacturers to use microprocessor engine management systems to allow optimal control of emissions over

13330-465: The chip, and would have owed them US$ 50,000 (equivalent to $ 376,171 in 2023) for their design work. To avoid paying for a chip they did not want (and could not use), CTC released Intel from their contract and allowed them free use of the design. Intel marketed it as the 8008 in April, 1972, as the world's first 8-bit microprocessor. It was the basis for the famous " Mark-8 " computer kit advertised in

13485-558: The chip. Pico was a spinout by five GI design engineers whose vision was to create single-chip calculator ICs. They had significant previous design experience on multiple calculator chipsets with both GI and Marconi-Elliott . The key team members had originally been tasked by Elliott Automation to create an 8-bit computer in MOS and had helped establish a MOS Research Laboratory in Glenrothes , Scotland in 1967. Calculators were becoming

13640-479: The chips were to make a special-purpose CPU with its program stored in ROM and its data stored in shift register read-write memory. Ted Hoff , the Intel engineer assigned to evaluate the project, believed the Busicom design could be simplified by using dynamic RAM storage for data, rather than shift register memory, and a more traditional general-purpose CPU architecture. Hoff came up with a four-chip architectural proposal:

13795-622: The clock is completely halted. The Intersil 6100 family consisted of a 12-bit microprocessor (the 6100) and a range of peripheral support and memory ICs. The microprocessor recognised the DEC PDP-8 minicomputer instruction set. As such it was sometimes referred to as the CMOS-PDP8 . Since it was also produced by Harris Corporation, it was also known as the Harris HM-6100 . By virtue of its CMOS technology and associated benefits,

13950-496: The complex VAX architecture. The Alpha chips show that manual circuit design applied to a simpler, cleaner architecture allows for much higher operating frequencies than those that are possible with the more automated design systems. These chips caused a renaissance of custom circuit design within the microprocessor design community. Originally, the Alpha processors were designated the DECchip 21x64 series, with "DECchip" replaced in

14105-406: The cost of manufacturing a chip (with smaller components built on a semiconductor chip the same size) generally stays the same according to Rock's law . Before microprocessors, small computers had been built using racks of circuit boards with many medium- and small-scale integrated circuits , typically of TTL type. Microprocessors combined this into one or a few large-scale ICs. While there

14260-527: The design. Having watched the PRISM delivery date continue to slip, and facing the possibility of more delays, a team in the Palo Alto office decided to design their own workstation using another RISC processor. After due diligence , they selected the MIPS R2000 and built a working workstation running Ultrix in a period of 90 days. This sparked off an acrimonious debate within the company, which came to

14415-525: The documents into the public domain. Holt has claimed that no one has compared this microprocessor with those that came later. According to Parab et al. (2007), The scientific papers and literature published around 1971 reveal that the MP944 digital processor used for the F-14 Tomcat aircraft of the US Navy qualifies as the first microprocessor. Although interesting, it was not a single-chip processor, as

14570-461: The early 1960s, MOS chips reached higher transistor density and lower manufacturing costs than bipolar integrated circuits by 1964. MOS chips further increased in complexity at a rate predicted by Moore's law , leading to large-scale integration (LSI) with hundreds of transistors on a single MOS chip by the late 1960s. The application of MOS LSI chips to computing was the basis for the first microprocessors, as engineers began recognizing that

14725-406: The expression stack , not on data registers or arbitrary main memory cells. This can be very convenient for compiling high-level languages, because most arithmetic expressions can be easily translated into postfix notation. Conditional instructions often have a predicate field—a few bits that encode the specific condition to cause an operation to be performed rather than not performed. For example,

14880-493: The first true microprocessor built on a single chip, priced at US$ 60 (equivalent to $ 450 in 2023). The claim of being the first is definitely false, as the earlier TMS1802NC was also a true microprocessor built on a single chip and the same applies for the - prototype only - 8-bit TMX 1795. The first known advertisement for the 4004 is dated November 15, 1971, and appeared in Electronic News . The microprocessor

15035-414: The hardware running the emulator is an order of magnitude faster. Today, it is common practice for vendors of new ISAs or microarchitectures to make software emulators available to software developers before the hardware implementation is ready. Often the details of the implementation have a strong influence on the particular instructions selected for the instruction set. For example, many implementations of

15190-548: The implementation). Faggin, who originally developed the silicon gate technology (SGT) in 1968 at Fairchild Semiconductor and designed the world's first commercial integrated circuit using SGT, the Fairchild 3708, had the correct background to lead the project into what would become the first commercial general purpose microprocessor. Since SGT was his very own invention, Faggin also used it to create his new methodology for random logic design that made it possible to implement

15345-432: The instruction following the conditional branch. Unconditional branches update the program counter with a new address computed in the same way as conditional branches. They also save the address of the instruction following the unconditional branch to a register. There are two such instructions, and they differ only in the hints provided for the branch prediction hardware. There are four jump instructions. These all perform

15500-546: The instruction set includes support for something such as " fetch-and-add ", " load-link/store-conditional " (LL/SC), or "atomic compare-and-swap ". A given instruction set can be implemented in a variety of ways. All ways of implementing a particular instruction set provide the same programming model , and all implementations of that instruction set are able to run the same executables. The various ways of implementing an instruction set give different tradeoffs between cost, performance, power consumption, size, etc. When designing

15655-459: The instruction. A single operation code might affect many individual data paths, registers, and other elements of the processor. As integrated circuit technology advanced, it was feasible to manufacture more and more complex processors on a single chip. The size of data objects became larger; allowing more transistors on a chip allowed word sizes to increase from 4- and 8-bit words up to today's 64-bit words. Additional features were added to

15810-473: The integer registers and floating-point registers. The Alpha 21264 (EV6) is the first microprocessor to implement these instructions. Count Extensions (CIX) is an extension to the architecture which introduces three instructions for counting bits. These instructions are categorized as integer arithmetic instructions. They were first implemented on the Alpha 21264A (EV67). At the time of its announcement, Alpha

15965-522: The integer registers. The bitwise logical instructions perform AND , NAND , NOR , OR , XNOR , and XOR between two registers or a register and literal. The conditional move instructions test a register as a signed quadword to zero and move if the specified condition is true. The specified conditions are equality, inequality, less than or equal to, less than, greater than or equal to, and greater than. The shift instructions perform arithmetic right shift , and logical left and right shifts . The shift amount

16120-663: The large number of bits needed to encode the three registers of a 3-operand instruction, RISC architectures that have 16-bit instructions are invariably 2-operand designs, such as the Atmel AVR, TI MSP430 , and some versions of ARM Thumb . RISC architectures that have 32-bit instructions are usually 3-operand designs, such as the ARM , AVR32 , MIPS , Power ISA , and SPARC architectures. Each instruction specifies some number of operands (registers, memory locations, or immediate values) explicitly . Some instructions give one or both operands implicitly, such as by being stored on top of

16275-589: The largest single market for semiconductors so Pico and GI went on to have significant success in this burgeoning market. GI continued to innovate in microprocessors and microcontrollers with products including the CP1600, IOB1680 and PIC1650. In 1987, the GI Microelectronics business was spun out into the Microchip PIC microcontroller business. The Intel 4004 is often (falsely) regarded as

16430-408: The less expensive Intel Pentium ran at 66 MHz when it was launched the following spring. Microprocessor A microprocessor is a computer processor for which the data processing logic and control is included on a single integrated circuit (IC), or a small number of ICs. The microprocessor contains the arithmetic, logic, and control circuitry required to perform the functions of

16585-488: The magazine Radio-Electronics in 1974. This processor had an 8-bit data bus and a 14-bit address bus. The 8008 was the precursor to the successful Intel 8080 (1974), which offered improved performance over the 8008 and required fewer support chips. Federico Faggin conceived and designed it using high voltage N channel MOS. The Zilog Z80 (1976) was also a Faggin design, using low voltage N channel with depletion load and derivative Intel 8-bit processors: all designed with

16740-486: The meeting broke up, Bob Supnik was approached by Ken Olsen , who stated that the RISC chips appeared to be a future threat to their VAX line. He asked Supnik to consider what might be done with VAX to keep it competitive with future RISC systems. This led to the formation of the "RISCy VAX" team. They initially considered three concepts. One was a cut-down version of the VAX instruction set architecture (ISA) that would run on

16895-452: The methodology Faggin created for the 4004. Motorola released the competing 6800 in August 1974, and the similar MOS Technology 6502 was released in 1975 (both designed largely by the same people). The 6502 family rivaled the Z80 in popularity during the 1980s. A low overall cost, little packaging, simple computer bus requirements, and sometimes the integration of extra circuitry (e.g.

17050-408: The microprocessor and the payment of substantial royalties through a Philips N.V. subsidiary, until Texas Instruments prevailed in a complex legal battle in 1996, when the U.S. Patent Office overturned key parts of the patent, while allowing Hyatt to keep it. Hyatt said in a 1990 Los Angeles Times article that his invention would have been created had his prospective investors backed him, and that

17205-445: The mid-1970s on. The first use of the term "microprocessor" is attributed to Viatron Computer Systems describing the custom integrated circuit used in their System 21 small computer system announced in 1968. Since the early 1970s, the increase in capacity of microprocessors has followed Moore's law ; this originally suggested that the number of components that can be fitted onto a chip doubles every year. With present technology, it

17360-478: The mid-1990s with "Alpha". The first two digits, "21" signifies the 21st century, and the last two digits, "64" signifies 64 bits. The Alpha was designed as 64-bit from the start and there is no 32-bit version. The middle digit corresponds to the generation of the Alpha architecture. Internally, Alpha processors were also identified by EV numbers, EV officially standing for "Extended VAX" but having an alternative humorous meaning of "Electric Vlasic ", giving homage to

17515-543: The most fundamental abstractions in computing . An instruction set architecture is distinguished from a microarchitecture , which is the set of processor design techniques used, in a particular processor, to implement the instruction set. Processors with different microarchitectures can share a common instruction set. For example, the Intel Pentium and the AMD Athlon implement nearly identical versions of

17670-483: The most innovative of their time. A persistent report attributed to DEC insiders suggests the choice of the AXP tag for the processor was made by DEC's legal department, which was still smarting from the VAX trademark fiasco. After a lengthy search the tag "AXP" was found to be entirely unencumbered. Within the computer industry, a joke got started that the acronym AXP meant "Almost eXactly PRISM". The Alpha architecture

17825-469: The most significant half of the register and the 32-bit result is sign-extended before it is written to the destination register. By default, the add, multiply, and subtract instructions, with the exception of UMULH and scaled versions of add and subtract, do not trap on overflow. When such functionality is required, versions of these instructions that perform overflow detection and trap on overflow are provided. The compare instructions compare two registers or

17980-401: The number of registers in an architecture decreases register pressure but increases the cost. While embedded instruction sets such as Thumb suffer from extremely high register pressure because they have small register sets, general-purpose RISC ISAs like MIPS and Alpha enjoy low register pressure. CISC ISAs like x86-64 offer low register pressure despite having smaller register sets. This

18135-439: The operation to perform, such as add contents of memory to register —and zero or more operand specifiers, which may specify registers , memory locations, or literal data. The operand specifiers may have addressing modes determining their meaning or may be in fixed fields. In very long instruction word (VLIW) architectures, which include many microcode architectures, multiple simultaneous opcodes and operands are specified in

18290-447: The option -Os to optimize for small machine code size, and -O3 to optimize for execution speed at the cost of larger machine code. The instructions constituting a program are rarely specified using their internal, numeric form ( machine code ); they may be specified by programmers using an assembly language or, more commonly, may be generated from high-level programming languages by compilers . The design of instruction sets

18445-500: The other operating system. An ISA can be extended by adding instructions or other capabilities, or adding support for larger addresses and data values; an implementation of the extended ISA will still be able to execute machine code for versions of the ISA without those extensions. Machine code using those extensions will only run on implementations that support those extensions. The binary compatibility that they provide makes ISAs one of

18600-403: The others with a 26-bit function field, which contains an integer specifying a PAL subroutine. The control instructions consist of conditional and unconditional branches, and jumps. The conditional and unconditional branch instructions use the branch instruction format, while the jump instructions use the memory instruction format. Conditional branches test whether the least significant bit of

18755-701: The packaged PDP-11/03 minicomputer —and the Fairchild Semiconductor MicroFlame 9440, both introduced in 1975–76. In late 1974, National introduced the first 16-bit single-chip microprocessor, the National Semiconductor PACE , which was later followed by an NMOS version, the INS8900 . Next in list is the General Instrument CP1600 , released in February 1975, which was used mainly in

18910-554: The performance of certain applications. BWX also makes the emulation of x86 machine code and the writing of device drivers easier. Motion Video Instructions (MVI) was an instruction set extension to the Alpha ISA that added instructions for single instruction, multiple data (SIMD) operations. Alpha implementations that implement MVI, in chronological order, are the Alpha 21164PC (PCA56 and PCA57), Alpha 21264 (EV6) and Alpha 21364 (EV7). Unlike most other SIMD instruction sets of

19065-476: The potential for higher speeds, reduced processor size, and reduced power consumption. However, a more complex set may optimize common operations, improve memory and cache efficiency, or simplify programming. Some instruction set designers reserve one or more opcodes for some kind of system call or software interrupt . For example, MOS Technology 6502 uses 00 H , Zilog Z80 uses the eight codes C7,CF,D7,DF,E7,EF,F7,FF H while Motorola 68000 use codes in

19220-522: The processor architecture; more on-chip registers sped up programs, and complex instructions could be used to make more compact programs. Floating-point arithmetic , for example, was often not available on 8-bit microprocessors, but had to be carried out in software . Integration of the floating-point unit , first as a separate integrated circuit and then as part of the same microprocessor chip, sped up floating-point calculations. Occasionally, physical limitations of integrated circuits made such practices as

19375-570: The processor by efficiently implementing only the instructions that are frequently used in programs, while the less common operations are implemented as subroutines, having their resulting additional processor execution time offset by infrequent use. Other types include very long instruction word (VLIW) architectures, and the closely related long instruction word (LIW) and explicitly parallel instruction computing (EPIC) architectures. These architectures seek to exploit instruction-level parallelism with less hardware than RISC and CISC by making

19530-595: The product. Hewlett-Packard purchased Compaq in 2002, continuing development of the existing product line until 2004, and selling Alpha-based systems, largely to the existing customer base, until April 2007. Alpha emerged from an earlier RISC project named Parallel Reduced Instruction Set Machine ( PRISM ), itself the product of several earlier projects. PRISM was intended to be a flexible design, supporting Unix-like applications, and Digital's existing VAX/VMS software, after minor conversion. A new operating system named MICA would support both ULTRIX and VAX/VMS interfaces on

19685-614: The purpose, but was inefficient in MPEG-2 encoding. The second reason is the requirement to retain the fast cycle times of implementations. Adding many instructions would have complicated and enlarged the instruction decode logic, reducing an implementation's clock frequency. MVI consists of 13 instructions: Floating-point extensions (FIX) are an extension to the Alpha Architecture. It introduces nine instructions for floating-point square-root and for transferring data to and from

19840-479: The range A000..AFFF H . Fast virtual machines are much easier to implement if an instruction set meets the Popek and Goldberg virtualization requirements . The NOP slide used in immunity-aware programming is much easier to implement if the "unprogrammed" state of the memory is interpreted as a NOP . On systems with multiple processors, non-blocking synchronization algorithms are much easier to implement if

19995-461: The resulting RISC design also be a performance leader in the Unix market, and should the machine be an open standard? And with that, the decision was made to adopt the PRISM architecture with the appropriate modifications. This became the "EVAX" concept, a follow-on to the successful CMOS CVAX implementation. When management accepted the findings, they decided to give the project a more neutral name, removing "VAX", eventually settling on Alpha. The name

20150-488: The same arithmetic operation on multiple pieces of data at the same time. SIMD instructions have the ability of manipulating large vectors and matrices in minimal time. SIMD instructions allow easy parallelization of algorithms commonly involved in sound, image, and video processing. Various SIMD implementations have been brought to market under trade names such as MMX , 3DNow! , and AltiVec . On traditional architectures, an instruction includes an opcode that specifies

20305-524: The same die as the processor. This CPU cache has the advantage of faster access than off-chip memory and increases the processing speed of the system for many applications. Processor clock frequency has increased more rapidly than external memory speed, so cache memory is necessary if the processor is not to be delayed by slower external memory. The design of some processors has become complicated enough to be difficult to fully test , and this has caused problems at large cloud providers. A microprocessor

20460-433: The same machine code, so that a lower-performance, lower-cost machine can be replaced with a higher-cost, higher-performance machine without having to replace software. It also enables the evolution of the microarchitectures of the implementations of that ISA, so that a newer, higher-performance implementation of an ISA can run software that runs on previous generations of implementations. If an operating system maintains

20615-423: The same operation, saving the address of the instruction following the jump, and providing the program counter with a new address from a register. They differ in the hints provided to the branch prediction hardware. The unused displacement field is used for this purpose. The integer arithmetic instructions perform addition, multiplication, and subtraction on longwords and quadwords; and comparison on quadwords. There

20770-501: The same period, such as MIPS ' MDMX or SPARC 's Visual Instruction Set , but like PA-RISC 's Multimedia Acceleration eXtensions (MAX-1, MAX-2), MVI was a simple instruction set composed of a few instructions that operate on integer data types stored in existing integer registers. MVI's simplicity is due to two reasons. Firstly, Digital had determined that the Alpha 21164 was already capable of performing DVD decoding through software, therefore not requiring hardware provisions for

20925-440: The smallest embedded systems and handheld devices to the largest mainframes and supercomputers . A microprocessor is distinct from a microcontroller including a system on a chip . A microprocessor is related but distinct from a digital signal processor , a specialized microprocessor chip, with its architecture optimized for the operational needs of digital signal processing . The complexity of an integrated circuit

21080-678: The supported instructions , data types , registers , the hardware support for managing main memory , fundamental features (such as the memory consistency , addressing modes , virtual memory ), and the input/output model of implementations of the ISA. An ISA specifies the behavior of machine code running on implementations of that ISA in a fashion that does not depend on the characteristics of that implementation, providing binary compatibility between implementations. This enables multiple implementations of an ISA that differ in characteristics such as performance , physical size, and monetary cost (among other things), but that are capable of running

21235-524: The target location not modified, if the condition is false. Similarly, IBM z/Architecture has a conditional store instruction. A few instruction sets include a predicate field in every instruction; this is called branch predication . Instruction sets may be categorized by the maximum number of operands explicitly specified in instructions. (In the examples that follow, a , b , and c are (direct or calculated) addresses referring to memory cells, while reg1 and so on refer to machine registers.) Due to

21390-475: The value of the integer is negative, then program counter is decremented if the branch is taken. The range of a branch thus is ±1 Mi instructions, or ±4 MiB. The Alpha Architecture was designed with a large range as part of the architecture's forward-looking goal. The CALL_PAL format is used by the CALL_PAL instruction, which is used to call PALcode subroutines. The format retains the opcode field but replaces

21545-690: The value one is written to the least significant bit of the destination register to indicate the condition. The architecture defines a set of 32 integer registers and a set of 32 floating-point registers in addition to a program counter , two lock registers and a floating-point control register (FPCR). It also defines registers that were optional, implemented only if the implementation required them. Lastly, registers for PALcode are defined. The integer registers are denoted by R0 to R31 and floating-point registers are denoted by F0 to F31. The R31 and F31 registers are hardwired to zero and writes to those registers by instructions are ignored. Digital considered using

21700-574: The venture investors leaked details of his chip to the industry, though he did not elaborate with evidence to support this claim. In the same article, The Chip author T.R. Reid was quoted as saying that historians may ultimately place Hyatt as a co-inventor of the microprocessor, in the way that Intel's Noyce and TI's Kilby share credit for the invention of the chip in 1958: "Kilby got the idea first, but Noyce made it practical. The legal ruling finally favored Noyce, but they are considered co-inventors. The same could happen here." Hyatt would go on to fight

21855-491: The widely varying operating conditions of an automobile. Non-programmable controls would require bulky, or costly implementation to achieve the results possible with a microprocessor. A microprocessor control program ( embedded software ) can be tailored to fit the needs of a product line, allowing upgrades in performance with minimal redesign of the product. Unique features can be implemented in product line's various models at negligible production cost. Microprocessor control of

22010-468: Was a superpipelined and superscalar design, like other RISC designs, but nevertheless outperformed them all and DEC touted it as the world's fastest processor. Careful attention to circuit design, a hallmark of the Hudson design team, like a huge centralized clock circuitry, allowed them to run the CPU at higher speeds, even though the microarchitecture was fairly similar to other RISC chips. In comparison,

22165-415: Was also considered, with 32 and 64 being contenders. Digital concluded that 32 registers was more suitable as it required less die space, which improves clock frequencies. This number of registers was deemed not to be a major issue in respect to performance and future growth, as thirty-two registers could support at least eight-way instruction issue. The program counter is a 64-bit register which contains

22320-419: Was also delivered in 1969. The Four-Phase Systems AL1 was an 8-bit bit slice chip containing eight registers and an ALU. It was designed by Lee Boysel in 1969. At the time, it formed part of a nine-chip, 24-bit CPU with three AL1s. It was later called a microprocessor when, in response to 1990s litigation by Texas Instruments , Boysel constructed a demonstration system where a single AL1 formed part of

22475-753: Was an important characteristic of any instruction set. It remained important on the initially-tiny memories of minicomputers and then microprocessors. Density remains important today, for smartphone applications, applications downloaded into browsers over slow Internet connections, and in ROMs for embedded applications. A more general advantage of increased density is improved effectiveness of caches and instruction prefetch. Computers with high code density often have complex instructions for procedure entry, parameterized returns, loops, etc. (therefore retroactively named Complex Instruction Set Computers , CISC ). However, more typical, or frequent, "CISC" instructions merely combine

22630-459: Was based on a 16-bit serial computer he built at his Northridge, California , home in 1969 from boards of bipolar chips after quitting his job at Teledyne in 1968; though the patent had been submitted in December 1970 and prior to Texas Instruments ' filings for the TMX 1795 and TMS 0100, Hyatt's invention was never manufactured. This nonetheless led to claims that Hyatt was the inventor of

22785-460: Was designed by a team consisting of Italian engineer Federico Faggin , American engineers Marcian Hoff and Stanley Mazor , and Japanese engineer Masatoshi Shima . The project that produced the 4004 originated in 1969, when Busicom , a Japanese calculator manufacturer, asked Intel to build a chipset for high-performance desktop calculators . Busicom's original design called for a programmable chip set consisting of seven different chips. Three of

22940-516: Was developed into the Alpha's PALcode , providing an abstracted interface to platform- and processor implementation-specific features. The main contribution of Alpha to the microprocessor industry, and the main reason for its performance, is not so much the architecture but rather its implementation. At that time (as it is now), the microchip industry was dominated by automated design and layout tools. The chip designers at Digital continued pursuing sophisticated manual circuit design in order to deal with

23095-609: Was heralded as an architecture for the next 25 years. While this was not to be, Alpha has nevertheless had a reasonably long life. The first version, the Alpha 21064 (otherwise named the EV4 ) was introduced in November 1992 running at up to 192 MHz; a slight shrink of the die (the EV4S , shrunk from 0.75 μm to 0.675 μm) ran at 200 MHz a few months later. The 64-bit processor

23250-519: Was inspired by the use of "Omega" as the codename of an NVAX -based VAX 4000 model; "Alpha" was intended to signify the beginning of a new line (with reference to Alpha and Omega ). Soon after, work began on a port of VMS to the new architecture . The new design uses most of the basic PRISM concepts, but was re-tuned to allow VMS and VMS programs to run at reasonable speed with no conversion at all. The primary Alpha instruction set architects were Richard L. Sites and Richard T. Witek. The PRISM's Epicode

23405-400: Was intended to be a high-performance design. Digital intended the architecture to support a one-thousandfold increase in performance over twenty-five years. To ensure this, any architectural feature that impeded multiple instruction issue, clock rate or multiprocessing was removed. As a result, the Alpha does not have: The Alpha does not have condition codes for integer instructions to remove

23560-432: Was not the Intel 4004 – they both were more like a set of parallel building blocks you could use to make a general-purpose form. It contains a CPU, RAM , ROM , and two other support chips like the Intel 4004. It was made from the same P-channel technology, operated at military specifications and had larger chips – an excellent computer engineering design by any standards. Its design indicates

23715-515: Was sold to Intel. This included DEC's StrongARM implementation of the ARM computer architecture , which Intel marketed as the XScale processors commonly used in Pocket PCs . The core of Digital Semiconductor, the Alpha microprocessor group, remained with DEC, while the associated office buildings went to Intel as part of the Hudson fab. The first few generations of the Alpha chips were some of

23870-471: Was the Signetics 2650 , which enjoyed a brief surge of interest due to its innovative and powerful instruction set architecture . A seminal microprocessor in the world of spaceflight was RCA 's RCA 1802 (aka CDP1802, RCA COSMAC) (introduced in 1976), which was used on board the Galileo probe to Jupiter (launched 1989, arrived 1995). RCA COSMAC was the first to implement CMOS technology. The CDP1802

24025-469: Was used because it could be run at very low power , and because a variant was available fabricated using a special production process, silicon on sapphire (SOS), which provided much better protection against cosmic radiation and electrostatic discharge than that of any other processor of the era. Thus, the SOS version of the 1802 was said to be the first radiation-hardened microprocessor. The RCA 1802 had

#663336