Experience With the Intel i860®
John B. Casey Vice President Technology
Kenneth R. Aupperle President Hauppauge Computer Works, Inc. 91 Cabot Court Hauppauge, New York 11788 (516) 434-1600
Hauppauge Computer Works, Inc.
Agenda
Why Couple the i860 and the i486®?
Hardware Requirements
Software Requirements
Customer Application Experience
Ideas for the Future
Summary
Hauppauge Computer Works, Inc. Why Couple the i860 and the i486? Minicomputer applications moving down May have used array processor with the minicomputer Continued to do so in the PC implementation Hardware too costly for broad market appeal PC-type busses create performance bottlenecks Need more integration for higher performance and lower cost PC applications moving up Developed an appetite for floating point Possibly used a math coprocessor Now running out of horsepower Need high-performance numerics
Hauppauge Computer Works, Inc.
Some Actual Applications in the Image Processing Area
Screening Pap Smears for Pre-cancerous Cells
Printed Circuit Board Inspection
Low-end CAT scan (Computerized Axial Tomography)
Hauppauge Computer Works, Inc. Some Actual Applications in non-Imaging Areas
Multi-axis robotic arm positioning system
Real-time quality control of hot-rolled steel
Neural-network processing of video data
Oil-field data analysis
General-purpose vector processing
: Hauppauge Computer Works, Inc.
Hardware Requirements
Viable Stand-Alone i486 Product Implies low-cost infrastructure to support 1860 Memory System Wide range of sizes, including LARGE Flexible sharing scheme Application Freedom Many configurations possible
Hauppauge Computer Works, Inc. Original Hauppauge 4860® Block Diagram
-- " 0 I , - ----r------
------...:---1
.. -.. ----. --.---__; N⦅セ⦅cZZZZ]]]Nj ----______l- セ⦅
.. --- ·_---- .. MMMMiMMMMZMMMNNNNNNNLNMMMMMMMセM ---- .. ------.. -,------.. --.. MMMMᄋ⦅NtMMMMMMMMMZMMMMMMMZMᄋMMNM[セ⦅ MMMMセMMNMN - ... セMM
_. _. - - . j _h · • • セ l . __ m • __ ....- ---_.__ .._--_.------7 Hauppauge Computer Works, Inc.
Providing Low-cost Support for i486 and i860 Processors
Support i486 IIBurst Modell for Cache Fills 1-clock bursts Imply a 64-blt physical DRAM system, with 2-way Interleaving as seen by the 1486
• i860 Requires 64-bit DRAM system.
64-bit Slot for local-bus expansion Memory expansion, video card, supports "master-mode"
Standard I/O SUbsystem for Economy EISA Bus using commercial chip set Bus folding buffers already exist, due to support of 1486 bursts
Hauppauge Computer Works, Inc. 32/64-bit Bus Structure
M]]Mセ M]]Mセ 32-BIT HIGH III セセセ III EISA SIMM BANK I/O BANK 32 32 /
32 DO .. 31 DO,,63 i860
Hauppauge Computer Works, Inc.
Providing a Wide Range of Memory Sizes
64-bit bus would require a minimum of 8 traditional"x9" SIMMs Too much real estate, not enough range, only 3 sizes possible Use 1 - 4 pairs of 36-blt JEDEC-standard SIMM modules Allows from 2 to 64 Megabytes of DRAM on the MotherBoard
Providing for Flexible Sharing of Memory
Applications demand many options: Privacy, sharing, write protect, etc. uセ・ a very fast SRAM for address decode, this allows for dynamic configuration
It Hauppauge Computer Works, Inc. Providing for Cache Coherency of Shared Data
Additional complication when sharing: 1486 snoops bus for cache coherency, 1860 does not Configure shared area as cached for 1486, not cached for i860
Memory Map Scheme as Seen by Software
Distinct attributes for each 32K of each processor's address space Read/Write --- Read Only Cacheable --- Not Cacheable Fast DRAM -- Slow DRAM DRAM Enabled - No DRAM (usually I/O system) Select SIMM Module Pair 0/1/2/3, Front/Back Allows flexibility In sharing, exclusion, cache strategy, etc.
Hauppauge Computer Works, Inc.
Mapping SRAM Diagram
Front -64M < ADDRESS < 64M and BO-ck of 8 486/860 / 3 SIMM Modules 8K X 8 ..SELECT-...... A15 .. 25 12 nS Decode \JRITE PROTECT SRAM DRAM SPEED A31 ENABLE CACHE Cache Enable DRAM and CAS Control Circuit
/2.. Hauppauge Computer Works, Inc. Application Freedom Complete Symmetry in Memory Access • 1486 and 1860 have common page table formats, no extra work needed here
The 1860 has no I/O Instructions • Dedicate an address range to I/O cycles, 1860 access to C2000000-C200FFFF
Both processors have local caches, both will signal "bus requestll when in HOLD, I/O system issues HRQ when DMA Is desired • One PLD acts as a programmable central arbiter
Either processor may need to handle Interrupts • Design 1860 Interrupt control PLD, I/O system hangs off one chain, software-Initiated cross-processor interrupts also Implemented
/,3 Hauppauge Computer Works, Inc.
Bus Arbitration PLD Diagram
Priority Select (Fror1 Configura.tion Register) 12 L 64-Bit jREQUEST----+ , HOLD} i486 SLOT1AcK セ ,L GRANT L EISA{HOLD セ , HOLD} I/O SLO\J hostセ BUS ,L GRANT ;860 i486 jREQUEST----+ ARBITER lACK セ PLD l HC\J HOLD i860{REQUEST ----+ セ ACK セ , CPU MISS PLOCK セ LOCK セ T CLOCK
1-1 Hauppauge Computer Works, Inc. Interrupt Control System Diagram
i860
ATTN MMMMセM TIMER 860 1860 1486 1..__-+---tI INTERRUPT PARITY INTERRUPT CONTROLLER ERROR CONTROLLER lNM⦅MMiMMMセ 64 - BI T SLOT ATTN 486
EISA I/O SYSTEM
Hauppauge Computer Works, Inc.
Software Requirements
i486 Systems using the i860 as an Applications Accelerator Program runs on 1860, uses 1486 for I/O processing May Involve Intel's APX860 kernel for portability, ease of use Program runs on 1486, uses 1860 for compute-intensive tasks Typically requires custom programming, IIRemote Procedure Calill model Stand-alone i860 Workstations Typically running UNIX860 Possible use of 1486 to run a liDOS Window·
If, Hauppauge Computer Works, Inc. APX860 System Configuration UNIX-host version currently available from Hauppauge, DOS-host version under development -- f USER セoftw ARE
486 UNIX PROCESS I 860 SBS-COMPLIANT ) : PROCESS ) ( - I - {ABI UNIX 386 )', SBS
(DEVICE-t--_...., APX I DRIVERS I I EISA 64-Bit I/O i860 FRAME SYSTEM BUFFER
/7 Hauppauge Computer Works, Inc.
UNIX860 System Configuration Under development, not yet commercially available - shown running with 54-bit Frame Buffer and )(Windows at Unlforum In January 1990 - - USER SOFTWARE I J I 8088 DOS I I 860 UNIX PROCESS I PROGRAMS I ( J ./ - T X1 DOS ABI / COMPATIBILITY / X WINDOWS SOFTWARE II
UNIX 860 I I EISA 64-Bit I/O FRAME MBA SYSTEM i860 BUFFER
Hauppauge Computer Works, Inc. Customer Application Experience Implemented with PC and Array Processor
VIDEO DEDICATED VIDEO SIGNAL NEURO- INPUT PROCESSOR COMPUTER APPLICATION
HI-RES MONITOR i386 RAM INTERFACE CPU ARRAY CARD PROCESSOR
16-BIT ISA [PCI ATJ BUS
OPTICAL DISK LAN DISK INTERFACE RAM INTERFACE INTERFACE
/9 .
Customer Application Experience Implemented on Hauppauge 4860
VIDEO VIDEO SIGNAL INPUT PROCESSOR
24 MB RAM i860
INTERFACE CARD 64-BIT SYSTEM BUS
EISA BUS CONTROLLER
16/32-BIT EISA BUS
OPTICAL DISK LAN DISK INTERFACE INTERFACE INTERFACE
Hauppauge Computer Works, Inc. Ideas for Future Development
Alliant/lntel PAX-compatibility plug-in module Gives the 1860 something to talk to in the Weitek socket Implements single-CPU version of Concurrency Control
64-bit RAM card - probably 64/256 Megabyte
Master-mode MUltiprocessor plug-in card for 64-bit slot
';2.1 Hauppauge Computer Works, Inc.
Working with the i860 Summary
Highlights Areas of compatibility between 1486 and 1860, such as page tabl'!s, data formats, address range Attractive balance of Integer/floating point power
Lowlights 1860 signal timing Is not as tight as the 1486, resulting In less margin and harder design Chip bugs In early versions of 1860 (details are not for group discussion)
22. Hauppauge Computer Works, Inc.