Misplaced Pages

NexGen

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.

NexGen, Inc. was a private semiconductor company based in Milpitas , California, that designed x86 microprocessors until it was purchased by AMD in 1996. NexGen was a fabless design house that designed its chips but relied on other companies for production. NexGen's chips were produced by IBM 's Microelectronics division in Burlington, Vermont alongside PowerPC and DRAM parts.

#639360

62-418: The company was best known for the unique implementation of the x86 architecture in its processors. NexGen's CPUs were designed very differently from other processors based on the x86 instruction set at the time: the processor would translate code designed to run on the traditionally CISC -based x86 architecture to run on the chip's internal RISC architecture. The architecture was used in later AMD chips such as

124-520: A PDP-8 , an Intel 80386 , an Intel 4004 , a Motorola 68000 , a System z mainframe, a Burroughs B5000 , a VAX , a Zilog Z80000 , and a MOS Technology 6502 all vary widely in the number, sizes, and formats of instructions, the number, types, and sizes of registers, and the available data types. Some have hardware support for operations like scanning for a substring, arbitrary-precision BCD arithmetic, or transcendental functions , while others have only 8-bit addition and subtraction. But they are all in

186-691: A VLB and a PCI motherboard for the Nx586 chips. Like the later Pentium-class CPUs from AMD and Cyrix, clock for clock it was more efficient than the Pentium, so the P80 ran at 75 MHz and the P90 ran at 83.3 MHz. Unfortunately for NexGen, it measured its performance relative to a Pentium using an early chipset; improvements included in Intel's first Triton chipset increased the Pentium's performance relative to

248-492: A fairly simple superscalar design to be located after the (fairly complex) decoders (and buffers), giving, so to speak, the best of both worlds in many respects. This technique is also used in IBM z196 and later z/Architecture microprocessors. The terms CISC and RISC have become less meaningful with the continued evolution of both CISC and RISC designs and implementations. The first highly (or tightly) pipelined x86 implementations,

310-415: A high speed compared to mass storage which is slower but less expensive per bit and higher in capacity. Besides storing opened programs and data being actively processed, computer memory serves as a mass storage cache and write buffer to improve both reading and writing performance. Operating systems borrow RAM capacity for caching so long as it is not needed by running software. If needed, contents of

372-420: A larger subset of instructions in a pipelined (overlapping) fashion, and facilitates more advanced extraction of parallelism out of the code stream, for even higher performance. Contrary to popular simplifications (present also in some academic texts,) not all CISCs are microcoded or have "complex" instructions. As CISC became a catch-all term meaning anything that's not a load–store (RISC) architecture, it's not

434-402: A later round by venture capital firm Kleiner Perkins . The company was founded in 1986 by Thampy Thomas , being funded by Compaq, ASCII and Kleiner Perkins . Its first design was targeted at the 80386 generation of processors. But the design was so large and complicated it could only be implemented using eight chips instead of one and by the time it was ready, the industry had moved onto

496-449: A processor which in many ways is reminiscent in structure to very early CPU designs. In the early 1970s, this gave rise to ideas to return to simpler processor designs in order to make it more feasible to cope without ( then relatively large and expensive) ROM tables and/or PLA structures for sequencing and/or decoding. An early (retroactively) RISC- labeled processor ( IBM 801  – IBM 's Watson Research Center, mid-1970s)

558-521: A reorder buffer, is a RISC, while Minimal CISC has 8 instructions, but is clearly a CISC because it combines memory access and computation in the same instructions. Memory (computers) Computer memory stores information, such as data and programs, for immediate use in the computer . The term memory is often synonymous with the terms RAM , main memory , or primary storage . Archaic synonyms for main memory include core (for magnetic core memory) and store . Main memory operates at

620-415: A sequence of simpler instructions. One reason for this was that architects ( microcode writers) sometimes "over-designed" assembly language instructions, including features that could not be implemented efficiently on the basic hardware available. There could, for instance, be "side effects" (above conventional flags), such as the setting of a register or memory location that was perhaps seldom used; if this

682-593: Is semi-volatile . The term is used to describe a memory that has some limited non-volatile duration after power is removed, but then data is ultimately lost. A typical goal when using a semi-volatile memory is to provide the high performance and durability associated with volatile memories while providing some benefits of non-volatile memory. For example, some non-volatile memory types experience wear when written. A worn cell has increased volatility but otherwise continues to work. Data locations which are written frequently can thus be directed to use worn circuits. As long as

SECTION 10

#1732772511640

744-464: Is a system where each program is given an area of memory to use and is prevented from going outside that range. If the operating system detects that a program has tried to alter memory that does not belong to it, the program is terminated (or otherwise restricted or redirected). This way, only the offending program crashes, and other programs are not affected by the misbehavior (whether accidental or intentional). Use of protected memory greatly enhances both

806-409: Is also used to describe semi-volatile behavior constructed from other memory types, such as nvSRAM , which combines SRAM and a non-volatile memory on the same chip , where an external signal copies data from the volatile memory to the non-volatile memory, but if power is removed before the copy occurs, the data is lost. Another example is battery-backed RAM , which uses an external battery to power

868-470: Is computer memory that requires power to maintain the stored information. Most modern semiconductor volatile memory is either static RAM (SRAM) or dynamic RAM (DRAM). DRAM dominates for desktop system memory. SRAM is used for CPU cache . SRAM is also found in small embedded systems requiring little memory. SRAM retains its contents as long as the power is connected and may use a simpler interface, but commonly uses six transistors per bit . Dynamic RAM

930-918: Is more complicated for interfacing and control, needing regular refresh cycles to prevent losing its contents, but uses only one transistor and one capacitor per bit, allowing it to reach much higher densities and much cheaper per-bit costs. Non-volatile memory can retain the stored information even when not powered. Examples of non-volatile memory include read-only memory , flash memory , most types of magnetic computer storage devices (e.g. hard disk drives , floppy disks and magnetic tape ), optical discs , and early computer storage methods such as magnetic drum , paper tape and punched cards . Non-volatile memory technologies under development include ferroelectric RAM , programmable metallization cell , Spin-transfer torque magnetic RAM , SONOS , resistive random-access memory , racetrack memory , Nano-RAM , 3D XPoint , and millipede memory . A third category of memory

992-411: Is organized into memory cells each storing one bit (0 or 1). Flash memory organization includes both one bit per memory cell and a multi-level cell capable of storing multiple bits per cell. The memory cells are grouped into words of fixed word length , for example, 1, 2, 4, 8, 16, 32, 64 or 128 bits. Each word can be accessed by a binary address of N bits, making it possible to store 2 words in

1054-482: Is physically stored or whether the user's computer will have enough memory. The operating system will place actively used data in RAM, which is much faster than hard disks. When the amount of RAM is not sufficient to run all the current programs, it can result in a situation where the computer spends more time moving data from RAM to disk and back than it does accomplishing tasks; this is known as thrashing . Protected memory

1116-464: The 80486 generation. Its second design, the Nx586 CPU, was introduced in 1994, was the first CPU to attempt to compete directly against Intel 's Pentium , with its Nx586-P80 and Nx586-P90 CPUs. Unlike competing chips from AMD and Cyrix , the Nx586 was not pin-compatible with the Pentium or any other Intel chip and required its own custom NxVL-based motherboard and chipset . NexGen offered both

1178-501: The Electrotechnical Laboratory in 1972. Flash memory was invented by Fujio Masuoka at Toshiba in the early 1980s. Masuoka and colleagues presented the invention of NOR flash in 1984, and then NAND flash in 1987. Toshiba commercialized NAND flash memory in 1987. Developments in technology and economies of scale have made possible so-called very large memory (VLM) computers. Volatile memory

1240-517: The K6 , and to an extent most x86 processors today implement a "hybrid" architecture similar to those used in NexGen's processors. It went public in 1994, and was bought by AMD in 1995 for $ 850M. The technology forms the platform architecture for all of AMD's current microprocessors. It was an unusual start-up in its time as the original funding came from corporate investors, Compaq and Olivetti , joined in

1302-654: The Microchip Technology PIC has been labeled RISC in some circles and CISC in others. Before the RISC philosophy became prominent, many computer architects tried to bridge the so-called semantic gap , i.e., to design instruction sets that directly support high-level programming constructs such as procedure calls, loop control, and complex addressing modes , allowing data structure and array accesses to be combined into single instructions. Instructions are also typically highly encoded in order to further enhance

SECTION 20

#1732772511640

1364-816: The PDP-11 and VAX architectures, and many others. Well known microprocessors and microcontrollers that have also been labeled CISC in many academic publications include the Motorola 6800 , 6809 and 68000 families; the Intel 8080 , iAPX 432 , x86 and 8051 families; the Zilog Z80 , Z8 and Z8000 families; the National Semiconductor NS320xx family; the MOS Technology 6502 family; and others. Some designs have been regarded as borderline cases by some writers. For instance,

1426-499: The Royal Radar Establishment proposed digital storage systems that use CMOS (complementary MOS) memory cells, in addition to MOSFET power devices for the power supply , switched cross-coupling, switches and delay-line storage . The development of silicon-gate MOS integrated circuit (MOS IC) technology by Federico Faggin at Fairchild in 1968 enabled the production of MOS memory chips . NMOS memory

1488-558: The System/360 Model 95 . Toshiba introduced bipolar DRAM memory cells for its Toscal BC-1411 electronic calculator in 1965. While it offered improved performance, bipolar DRAM could not compete with the lower price of the then dominant magnetic-core memory. MOS technology is the basis for modern DRAM. In 1966, Robert H. Dennard at the IBM Thomas J. Watson Research Center was working on MOS memory. While examining

1550-550: The Whirlwind I computer in 1953. Magnetic-core memory was the dominant form of memory until the development of MOS semiconductor memory in the 1960s. The first semiconductor memory was implemented as a flip-flop circuit in the early 1960s using bipolar transistors . Semiconductor memory made from discrete devices was first shipped by Texas Instruments to the United States Air Force in 1961. In

1612-451: The "586" moniker, but never used NexGen's chip widely. Instead, Alaris, Inc. , a smaller computer systems maker, became the first company to ship a computer with the Nx586 in fall 1994. AMD purchased NexGen when AMD's K5 chip failed to meet performance and sales expectations. Some NexGen customers were even given free AMD K5 CPUs with motherboards in exchange for sending in their NexGen hardware. Development of AMD's internal K5 successor

1674-511: The 1970s, analysis of high-level languages indicated compilers produced some complex corresponding machine language. It was determined that new instructions could improve performance. Some instructions were added that were never intended to be used in assembly language but fit well with compiled high-level languages. Compilers were updated to take advantage of these instructions. The benefits of semantically rich instructions with compact encodings can be seen in modern processors as well, particularly in

1736-546: The 486 designs from Intel , AMD , Cyrix , and IBM , supported every instruction that their predecessors did, but achieved maximum efficiency only on a fairly simple x86 subset that was only a little more than a typical RISC instruction set (i.e., without typical RISC load–store limits). The Intel P5 Pentium generation was a superscalar version of these principles. However, modern x86 processors also (typically) decode and split instructions into dynamic sequences of internally buffered micro-operations , which helps execute

1798-561: The Arma Division of the American Bosch Arma Corporation. In 1967, Dawon Kahng and Simon Sze of Bell Labs proposed that the floating gate of a MOS semiconductor device could be used for the cell of a reprogrammable ROM, which led to Dov Frohman of Intel inventing EPROM (erasable PROM) in 1971. EEPROM (electrically erasable PROM) was developed by Yasuo Tarui, Yutaka Hayashi and Kiyoko Naga at

1860-528: The CISC category . because they have "load-operate" instructions that load and/or store memory contents within the same instructions that perform the actual calculations. For instance, the PDP-8, having only 8 fixed-length instructions and no microcode at all, is a CISC because of how the instructions work, PowerPC, which has over 230 instructions (more than some VAXes), and complex internals like register renaming and

1922-398: The Nx586 and NexGen had difficulty keeping up. Furthermore, PCs identified the Nx586 as an 80386 processor; as a result many applications that require a processor faster than a 386 will not work unless CPU identification software is active. Unlike the Pentium, the Nx586 had no built-in math coprocessor ; an optional Nx587 provided this functionality. In later Nx586s, an x87 math coprocessor

NexGen - Misplaced Pages Continue

1984-438: The aim of higher throughput at lower cost and also allowed high-level language constructs to be expressed by fewer instructions, it was observed that this was not always the case. For instance, low-end versions of complex architectures (i.e. using less hardware) could lead to situations where it was possible to improve performance by not using a complex instruction (such as a procedure call or enter instruction) but instead using

2046-440: The basic structure of RISC processors. The CDC 6600 supercomputer, first delivered in 1965, has also been retroactively described as RISC. It had a load–store architecture which allowed up to five loads and two stores to be in progress simultaneously under programmer control. It also had multiple function units which could operate at the same time. In a more modern context, the complex variable-length encoding used by some of

2108-490: The characteristics of MOS technology, he found it was possible to build capacitors , and that storing a charge or no charge on the MOS capacitor could represent the 1 and 0 of a bit, while the MOS transistor could control writing the charge to the capacitor. This led to his development of a single-transistor DRAM memory cell. In 1967, Dennard filed a patent for a single-transistor DRAM memory cell based on MOS technology. This led to

2170-621: The code density. The compact nature of such instruction sets results in smaller program sizes and fewer main memory accesses (which were often slow), which at the time (early 1960s and onwards) resulted in a tremendous saving on the cost of computer memory and disc storage, as well as faster execution. It also meant good programming productivity even in assembly language , as high level languages such as Fortran or Algol were not always available or appropriate. Indeed, microprocessors in this category are sometimes still programmed in assembly language for certain types of critical applications. In

2232-526: The code, although this is strongly mediated by the fast cache structures used in modern designs, as well as by other measures. Due to inherently compact and semantically rich instructions, the average amount of work performed per machine code unit (i.e. per byte or bit) is higher for a CISC than a RISC processor, which may give it a significant advantage in a modern cache-based implementation. Transistors for logic, PLAs, and microcode are no longer scarce resources; only large high-speed cache memories are limited by

2294-714: The computer memory can be transferred to storage; a common way of doing this is through a memory management technique called virtual memory . Modern computer memory is implemented as semiconductor memory , where data is stored within memory cells built from MOS transistors and other components on an integrated circuit . There are two main kinds of semiconductor memory: volatile and non-volatile . Examples of non-volatile memory are flash memory and ROM , PROM , EPROM , and EEPROM memory. Examples of volatile memory are dynamic random-access memory (DRAM) used for primary storage and static random-access memory (SRAM) used mainly for CPU cache . Most semiconductor memory

2356-597: The delay line, the Williams tube and Selectron tube , originated in 1946, both using electron beams in glass tubes as means of storage. Using cathode-ray tubes , Fred Williams invented the Williams tube, which was the first random-access computer memory . The Williams tube was able to store more information than the Selectron tube (the Selectron was limited to 256 bits, while the Williams tube could store thousands) and

2418-401: The early 1940s. Through the construction of a glass tube filled with mercury and plugged at each end with a quartz crystal, delay lines could store bits of information in the form of sound waves propagating through the mercury, with the quartz crystals acting as transducers to read and write bits. Delay-line memory was limited to a capacity of up to a few thousand bits. Two alternatives to

2480-594: The first commercial DRAM IC chip, the Intel 1103 in October 1970. Synchronous dynamic random-access memory (SDRAM) later debuted with the Samsung KM48SL2000 chip in 1992. The term memory is also often used to refer to non-volatile memory including read-only memory (ROM) through modern flash memory . Programmable read-only memory (PROM) was invented by Wen Tsing Chow in 1956, while working for

2542-518: The following types: Virtual memory is a system where physical memory is managed by the operating system typically with assistance from a memory management unit , which is part of many modern CPUs . It allows multiple types of memory to be used. For example, some data can be stored in RAM while other data is stored on a hard drive (e.g. in a swapfile ), functioning as an extension of the cache hierarchy . This offers several advantages. Computer programmers no longer need to worry about where their data

NexGen - Misplaced Pages Continue

2604-419: The high-performance segment where caches are a central component (as opposed to most embedded systems ). This is because these fast, but complex and expensive, memories are inherently limited in size, making compact code beneficial. Of course, the fundamental reason they are needed is that main memories (i.e., dynamic RAM today) remain slow compared to a (high-performance) CPU core. While many designs achieved

2666-449: The late 1960s. The invention of the metal–oxide–semiconductor field-effect transistor ( MOSFET ) enabled the practical use of metal–oxide–semiconductor (MOS) transistors as memory cell storage elements. MOS memory was developed by John Schmidt at Fairchild Semiconductor in 1964. In addition to higher performance, MOS semiconductor memory was cheaper and consumed less power than magnetic core memory. In 1965, J. Wood and R. Ball of

2728-447: The location is updated within some known retention time, the data stays valid. After a period of time without update, the value is copied to a less-worn circuit with longer retention. Writing first to the worn area allows a high write rate while avoiding wear on the not-worn circuits. As a second example, an STT-RAM can be made non-volatile by building large cells, but doing so raises the cost per bit and power requirements and reduces

2790-462: The maximum number of transistors today. Although complex, the transistor count of CISC decoders do not grow exponentially like the total number of transistors per processor (the majority typically used for caches). Together with better tools and enhanced technologies, this has led to new implementations of highly encoded and variable-length designs without load–store limitations (i.e. non-RISC). This governs re-implementations of older architectures such as

2852-457: The memory device in case of external power loss. If power is off for an extended period of time, the battery may run out, resulting in data loss. Proper management of memory is vital for a computer system to operate properly. Modern operating systems have complex systems to properly manage memory. Failure to do so can lead to bugs or slow performance. Improper management of memory is a common cause of bugs and security vulnerabilities, including

2914-478: The memory. In the early 1940s, memory technology often permitted a capacity of a few bytes. The first electronic programmable digital computer , the ENIAC , using thousands of vacuum tubes , could perform simple calculations involving 20 numbers of ten decimal digits stored in the vacuum tubes. The next significant advance in computer memory came with acoustic delay-line memory , developed by J. Presper Eckert in

2976-444: The number of instructions, nor the complexity of the implementation or of the instructions, that define CISC, but that arithmetic instructions also perform memory accesses. Compared to a small 8-bit CISC processor, a RISC floating-point instruction is complex. CISC does not even need to have complex addressing modes; 32- or 64-bit RISC processors may well have more complex addressing modes than small 8-bit CISC processors. A PDP-10 ,

3038-456: The part of the processor designer in cases where a simpler, but (typically) slower, solution based on decode tables and/or microcode sequencing is not appropriate. At a time when transistors and other components were a limited resource, this also left fewer components and less opportunity for other types of performance optimizations. The circuitry that performs the actions defined by the microcode in many (but not all) CISC processors is, in itself,

3100-409: The reliability and security of a computer system. Without protected memory, it is possible that a bug in one program will alter the memory used by another program. This will cause that other program to run off of corrupted memory with unpredictable results. If the operating system's memory is corrupted, the entire computer system may crash and need to be rebooted . At times programs intentionally alter

3162-479: The same year, the concept of solid-state memory on an integrated circuit (IC) chip was proposed by applications engineer Bob Norman at Fairchild Semiconductor . The first bipolar semiconductor memory IC chip was the SP95 introduced by IBM in 1965. While semiconductor memory offered improved performance over magnetic-core memory, it remained larger and more expensive and did not displace magnetic-core memory until

SECTION 50

#1732772511640

3224-414: The typical CISC architectures makes it complicated, but still feasible, to build a superscalar implementation of a CISC programming model directly ; the in-order superscalar original Pentium and the out-of-order superscalar Cyrix 6x86 are well-known examples of this. The frequent memory accesses for operands of a typical CISC machine may limit the instruction-level parallelism that can be extracted from

3286-470: The ubiquitous x86 (see below) as well as new designs for microcontrollers for embedded systems , and similar uses. The superscalar complexity in the case of modern x86 was solved by converting instructions into one or more micro-operations and dynamically issuing those micro-operations, i.e. indirect and dynamic superscalar execution; the Pentium Pro and AMD K5 are early examples of this. It allows

3348-434: The write speed. Using small cells improves cost, power, and speed, but leads to semi-volatile behavior. In some applications, the increased volatility can be managed to provide many benefits of a non-volatile memory, for example by removing power but forcing a wake-up before data is lost; or by caching read-only data and discarding the cached data if the power-off time exceeds the non-volatile threshold. The term semi-volatile

3410-458: Was a tightly pipelined simple machine originally intended to be used as an internal microcode kernel, or engine, in CISC designs, but also became the processor that introduced the RISC idea to a somewhat larger audience. Simplicity and regularity also in the visible instruction set would make it easier to implement overlapping processor stages ( pipelining ) at the machine code level (i.e. the level seen by compilers). However, pipelining at that level

3472-403: Was already used in some high-performance CISC "supercomputers" in order to reduce the instruction cycle time (despite the complications of implementing within the limited component count and wiring complexity feasible at the time). Internal microcode execution in CISC processors, on the other hand, could be more or less pipelined depending on the particular design, and therefore more or less akin to

3534-638: Was commercialized by IBM in the early 1970s. MOS memory overtook magnetic core memory as the dominant memory technology in the early 1970s. The two main types of volatile random-access memory (RAM) are static random-access memory (SRAM) and dynamic random-access memory (DRAM). Bipolar SRAM was invented by Robert Norman at Fairchild Semiconductor in 1963, followed by the development of MOS SRAM by John Schmidt at Fairchild in 1964. SRAM became an alternative to magnetic-core memory, but requires six transistors for each bit of data. Commercial use of SRAM began in 1965, when IBM introduced their SP95 SRAM chip for

3596-406: Was done via ordinary (non duplicated) internal buses, or even the external bus, it would demand extra cycles every time, and thus be quite inefficient. Even in balanced high-performance designs, highly encoded and (relatively) high-level instructions could be complicated to decode and execute efficiently within a limited transistor budget. Such architectures therefore required a great deal of work on

3658-485: Was halted in favor of continuing from NexGen's Nx686 designs, eventually becoming K6 . Complex instruction set computing A complex instruction set computer ( CISC / ˈ s ɪ s k / ) is a computer architecture in which single instructions can execute several low-level operations (such as a load from memory , an arithmetic operation , and a memory store) or are capable of multi-step operations or addressing modes within single instructions. The term

3720-595: Was included on-chip. Using IBM's multichip module (MCM) technology, NexGen combined the 586 and 587 die in a single package. The new device, which used the same pinout as its predecessor, was marketed as the Nx586-PF100 to distinguish it from the FPU-less Nx586-P100. Compaq , which had backed the company financially, announced its intention to use the Nx586 and even struck the name "Pentium" from its product literature, demos, and boxes, substituting

3782-421: Was less expensive. The Williams tube was nevertheless frustratingly sensitive to environmental disturbances. Efforts began in the late 1940s to find non-volatile memory . Magnetic-core memory allowed for memory recall after power loss. It was developed by Frederick W. Viehe and An Wang in the late 1940s, and improved by Jay Forrester and Jan A. Rajchman in the early 1950s, before being commercialized with

SECTION 60

#1732772511640

3844-681: Was retroactively coined in contrast to reduced instruction set computer (RISC) and has therefore become something of an umbrella term for everything that is not RISC, where the typical differentiating characteristic is that most RISC designs use uniform instruction length for almost all instructions, and employ strictly separate load and store instructions. Examples of CISC architectures include complex mainframe computers to simplistic microcontrollers where memory load and store operations are not separated from arithmetic instructions. Specific instruction set architectures that have been retroactively labeled CISC are System/360 through z/Architecture ,

#639360