Xref: utzoo comp.arch:8589 comp.sys.intel:721 Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!bloom-beacon!apple!oliveb!intelca!clif From: clif@intelca.intel.com (Ken Shoemaker) Newsgroups: comp.arch,comp.sys.intel Subject: i860 CPU information (Previously: N10 Info) Summary: i860 CPU Information Data Sheet Highlights Message-ID: <208@intelca.intel.com> Date: 3 Mar 89 21:45:05 GMT References: <8902270811.AA09391@decwrl.dec.com> <2850@osiris.UUCP> <14493@winchester.mips.COM> Organization: Intel Corp., Santa Clara, Ca. Lines: 125 The following information is taken from the i860 TM 64-Bit Microprocessor data sheet order number 240296-001. I hope that this posting does not generate a meta-discussion about appropriateness of the posting. I believe that it contains more technical information than a typical comp.arch posting. We, Intel, will try to answer questions regarding the architecture . However due to work pressures and the need for approval prior to posting non-technical information their will probably be a delay. i860 64-bit Microprocessor Highlights: Parallel Architecture: 3 instructions Clock - one integer or control instruction - up to to Floating Point Instructions High Performance Design - 33.3/40 MHz Clock Rate - 80 MFLOP Peak Single Precision MFLOPs - 60 MFLOP Peak Double Precision MFLOPs - 64-bit External Data Bus - 64-bit Internal Instruction Cache Bus - 128-bit Internal Data Cache Bus Measured Performance with Current Compilers - 24 Megawhetsones (40 MHz) - 83K Dhrystones (40 MHz) Highly Integrated - 32/64-bit Pipelined Floating-Point Adder and Multipler - 32-bit Integer and Control Unit - 64-Bit 3-D Graphics Unit - Paging Unitg with TLB - 4K Byte Instruction Cache - 8K Byte Data Cache The core execution unit controls overall operation of the i860 TM CPU. The core unit executes load, store, integer, bit, and control-transfer operations, and fetches instructions for the floating-point unit as well. A set of 32 32-bit general-purpose registers are provided for the manipulation of integer data. Load and store instructions move 8-, 16-, and 32-bit data to and from these registers. Its full set of integer, logical, and control-transfer instructions give the core unit the ability to execute complete systems software and applications programs. A trap mechanism provides rapid response to exceptions and external interrupts. Debugging is supported by the ability to trap on data or instruction reference. The floating-point hardware is connected to a separate set of floating-point registers, which can be accessed as 16 64-bit registers, or 32 32-bit registers. Special load and store instructions can also access these same registers as 8 128-bit registers. All floating-point instructions use these registers as their source and destination operands. The floating-point control unit controls both the floating-point adder and the floating-point multiplier, issuing instructions, handling all source and result exceptions, and updating status bits in the floating-point status register. The adder and multiplier can operate in parallel, producing up to two results per clock. The floating-point data types, floating-point instructions, and exception handling all support the IEEE Standard for Binary Floating-Point Arithmetic (ANSI/IEEE Std 754-1985). The floating-point adder performs addition, subtraction, comparison, and conversions on 64- and 32-bit floating-point values. An adder instruction executes in three to four clocks; however, in pipelined mode, a new result is generated every clock. The floating-point multiplier performs floating-point and integer multiply and floating-point reciprocal operations on 64- and 32-bit floating-point values. A multiplier instruction executes in three to four clocks; however, in pipelined mode, a new result can be generated every clock for single-precision and every other clock for double precision. The graphics unit has special integer logic that supports three-dimensional drawing in a graphics frame buffer, with color intensity shading and hidden surface elimination via the Z-buffer algorithm. The graphics unit recognizes the pixel as an 8-, 16-, or 32-bit data type. It can compute individual red, blue, and green color intensity values within a pixel; but it does so with parallel operations that take advantage of the 64-bit internal word size and 64-bit external bus. The graphics features of the i860 microprocessor assume that the surface of a solid object is drawn with polygon patches whose shapes approximate the original object. The color intensities of the vertices of the polygon and their distances from the viewer are known, but the distances and intensities of the other points must be calculated by interpolation. The graphics instructions of 860 CPU the directly aid such interpolation. The paging unit implements protected, paged, virtual memory via a 64-entry, four-way set-associative memory called the TLB (Translation Lookaside Buffer). The paging unit uses the TLB to perform the translation of logical address to physical address, and to check for access violations. The access protection scheme employs two levels of privilege: user and supervisor. {Editors note the i860 CPU's paging mechanism is the same as the 386 CPU.} The instruction cache is a two-way set-associative memory of four Kbytes, with 32-byte blocks. It transfers up to 64 bits per clock (266 Mbyte/sec at 33.3 MHz). The data cache is a two-way set-associative memory of eight Kbytes, with 32-byte blocks. It transfers up to 128 bits per clock (533 Mbyte/sec at 33.3 MHz). The 860 CPU normally uses writeback caching, i.e. memory writes update the cache (if applicable) without necessarily updating memory immediately; however, caching can be inhibited by software where necessary. The bus and cache control unit performs data and instruction accesses for the core unit. It receives cycle requests and specifications from the core unit, performs the data-cache or instruction-cache miss processing, controls TLB translation, and provides the interface to the external bus. Its pipelined structure supports up to three outstanding bus cycles. Clif Purkiser Intel Corp, Santa Clara Microcomputer Division