Science  People  Locations  Timeline
Index: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

Home > Intel i860


 

The Intel i860 (also 80860, and code named N10) was a RISC microprocessor from Intel, first released in 1989.

The i860 was Intel's first attempt at an entirely new, high-end ISA since the failed Intel i432 from the 1980s. It was released with considerable fanfare, and obscured the release of the Intel i960 which many considered to be a better design. The i860 never became very popular, and is no longer made.

The i860 combined a number of features that were unique at the time, most notably its powerful superscalar support. The design mounted a 32-bit ALU along with a 64-bit FPU that was itself built in three parts, an adder, a multiplier, and a graphics processor. The system had separate pipelines for the ALU, adder and multiplier, and could hand off up to three instructions per clock.

One fairly unique feature of the i860 was that the pipelines into the functional units were program-accessible, allowing the compilers to carefully order instructions in the object code to keep the pipelines filled. This can be considered a further generalization of one of the key original RISC concepts, where complex microcode, a sort of on-the-fly compiler, was removed from the core of the CPU and placed in the compiler. This led to a simpler core, with more space available for other duties.

All of the buses were 64-bits wide, or wider. The internal memory bus to the cache, for instance, was 128-bits wide. Both units had thirty-two 32-bit registers, but the FPU used its set as sixteen 64-bit registers. Instructions for the ALU were fetched two at a time to use the full external bus. Intel always referred to the design as the "i860 64-Bit Microprocessor".

The graphics unit was unique for the era. It was essentially a 64-bit integer unit using the FPU registers. It supported a number of commands for SIMDSIMD is an acronym for S ingle I nstruction, M ultiple D ata. It is a computing term that refers to a set of operations for efficiently handling large quantities of data in parallel, as in a vector processor or array processor. First popularized in large--like instructions in addition to basic 64-bit integer math. From this description, it should be obvious where Intel's later MMXMMX is a SIMD instruction set designed by Intel, introduced in their Pentium MMX microprocessors. It developed out of a similar unit first introduced on the Intel i860. It has been supported on most subsequent IA-32 processors by Intel and other vendors. functionality came from.

The chip was released in two versions, the basic XR, and the XP (code name N11). The XP added larger on-chip caches, a second level cache, faster buses, and hardware support for bus snooping, for cache consistency in parallel computingParallel computing is the simultaneous execution of the same task (split up and specially adapted) on multiple processors in order to obtain faster results. The term parallel processor is sometimes used for a computer with more than one central processing systems. The XR ran at 25 or 40MHz, and a process shrink for the XP (from 1 micrometre to 0.8) bumped the XR to 40 and 50MHz. Both ran the same instruction set.

Paper performance was impressive for a single-chip solution; however, real-world performance was anything but. One problem, perhaps unrecognized at the time, was that runtime code paths are difficult to predict, meaning that it becomes exceedingly difficult to properly order instructions at compile timeIn computer science, compile time as opposed to runtime, is the time when a compiler compiles code written in a programming language into an executable form. A compiler will typically perform syntax checking, which includes type checks, scoping rule enfor. For instance, an instruction to add two numbers will take considerably longer if the data is not in the cache, yet there is no way for the programmer to know if it is or not. If you guess wrong the entire pipeline will stall, waiting for the data. The entire i860 design was based on the compiler efficiently handling this task, which proved almost impossible in practice. While theoretically capable of peaking at about 60MFLOPS for the XP versions, hand-coded assemblerThis article is about a computing term. See Assembler (disambiguation) for other meanings''. An assembler is a computer program for translating assembly language — essentially, a mnemonic representation of machine language — into object code. A cross asses managed to get only about up to 40MFLOPS, and most compilers had difficultly getting even 10.

Another serious problem was the lack of any solution to quickly handle context switchA context switch is the computing process of storing and restoring the state of a CPU (the context) such that multiple processes can share a single CPU resource. The context switch is an essential feature of a multitasking operating system. Context switching. The i860 had several pipelines (for the ALU and FPU parts) and an interrupt could spill them and need them all to be re-loaded. This took 62 cycles in the best case, and almost 2000 cycles in the worst. The latter is 1/20000th of a second, an eternity for a CPU. This largely eliminated the i860 as a general purpose CPU.

At first the i860 was only used in a small number of very large machines like the iPSC/860 at Los Alamos National LaboratoryLos Alamos National Laboratory (LANL is a United States Department of Energy (DOE) national laboratory, managed by the University of California, located in Los Alamos, New Mexico. The Laboratory is one of the largest multidisciplinary institutions in the. As the compilers improved, the general performance of the i860 did likewise, but by then most other RISC designs had already passed the i860 in performance.

The i860 did see some use in the workstation world as a graphics accelerator. It was used, for instance, in the NeXTDimension, where it ran a cut-down version of the Mach kernel running a complete PostScript. In this role the i860 design worked considerably better, as the core program could be loaded into the cache and made entirely "predictable", allowing the compilers to get the ordering right. This sort of use slowly disappeared as well, as more general-purpose CPUs started to match the i860's performance, and Intel lost interest.

In the late 1990s Intel replaced their entire RISC line with ARM-based designs, known as the XScale. Confusingly, the i860 name has now been re-used for a motherboard control chipset for Intel Xeon (high-end Pentium) systems.



Read more »

Non User