1992 18.06 1994

Vol.18 n°6 (#201) june 1993

(ddj_1993_06.jpg)

p.8 EDITORIAL

[author : Jonathan Erickson] #Edito

TABLE OF CONTENTS

FEATURES

p.18 COMPUTER SCIENCE AND THE MICROPROCESSOR

[author : Nick Tredennick]

You bet it's a hardware problem, but the decisions chip designers make impact the software tools you use, programming techniques you employ, and applications you write. From the 8008 to the Pentium, Nick examines trends in the microprocessor arena.

p.34 PROGRAMMING THE PENTIUM PROCESSOR

[author : Ramesh Subramaniam and Kiran Kundargi]

Intel's recent entry into the 32-bit microprocessor race ups the performance ante. Our authors describe the Pentium's superscalar, pipelined architecture, focusing on floating-point code. John Dahms shares some of his experiences in writing a Pentium-aware compiler.

p.46 PROCESSOR DETECTION SCHEMES

[author : Richard Leinecker]

Knowing the processor—286, 386, or 486—means your program can include processor-specific code to improve application performance. Bob Moote adds Pentium-detection code, while Steve Heller discusses 80486 cache detection.

p.70 32-BIT FLOATING-POINT MATH

[author : Al Williams]

This approach to floating-point math uses 32-bit instructions. Although Al uses the 80386 as an example, these techniques can be applied to other 32-bit processors as well.

BONUS SECTION: SCIENTIFIC & ENGINEERING COMPUTING

p.82 DISTRIBUTED COMPUTING NOW: APPLICATION ENVIRONMENTS

[author : Lowell S. Schneider and Stephen S. Murray]

Our authors focus on the Astrophysics Data System and other applications that make the most of the distributed-computing paradigm.

p.86 OBJECT-ORIENTED FINITE-ELEMENT SOFTWARE

[author : Al Vermeulen]

Object-oriented languages promise that you can code at higher levels of abstraction than with traditional languages. Al examines spline-based, finite element models coded in C++, concentrating on bicycle-wheel load-deflection.

p.92 EXTENDING A VISUAL LANGUAGE FOR SIMULATION

[author : Peter D. Varhol]

Peter uses Turbo Pascal for Windows to extend VisSim, an off-the-shelf simulation package that provides a visual design environment for Microsoft Windows and UNIX/X.

p.96 NEURAL NETWORKS AND CHARACTER RECOGNITION

[author : Ken Karnofsky]

Ken tackles optical character recognition using Matlab's Neural Network Toolbox. Matlab integrates matrix computation, numerical analysis, and data analysis—and without traditional programming.

p.104 A GUI ENVIRONMENT FOR FORTRAN DEVELOPMENT

[author : Vinod Anantharaman]

VShell is an icon-based visual tool that aids Fortran development by simplifying the process of creating Fortran DLLs accessible from Visual Basic via drag-and-drop.

EMBEDDED SYSTEMS

p.50 DETECTING OUT-OF-RANGE REFERENCES

[author : Chan Y. Lee]

You've committed an out-of-range reference violation if you've attempted to access a memory location outside the permitted memory range. Chan discusses the implications of this for embedded systems designers, using AMD's 29200 RISC processor as an example.

NETWORKED SYSTEMS

p.58 HIPPI AND HIGH-PERFORMANCE LANS

[author : Andy Nicholson]

The high-performnace parallel interface (HIPPI) defines a standard for 100Mbyte/sec and 200-Mbyte/sec point-to-point links using 32- or 64-bit wide copper cabling. Andy examines HIPPI-based LANs and makes the case for peer-to-peer over client/server.

EXAMINING ROOM

p.114 EXAMINING MFC 2.0

[author : Michael Yam]

Micrsoft claims that any application written under version 1.0 of the Microsoft Foundation Class Library (MFC) will run unmodified under MFC 2.0. He shows how he ported PT, a Windows-based periodic table originally written using MFC 1.0, to MFC 2.0.

PROGRAMMER'S WORKBENCH

p.120 A CROSS-PLATFORM PLUG-IN TOOLKIT

[author : Ramin Firoozye]

XPIN, the cross-platform plug-in toolkit Ramin presents here, helps you create portable applications that (currently) run on Windows and the Macintosh. Ramin's toolkit consists of a caller API and a plug-in skeleton.

COLUMNS

p.137 PROGRAMMING PARADIGMS

[author : Michael Swaine]

Rome wasn't built in three days—and neither BBS Michael set out to wire together using off-the-shelf objects.

p.141 C PROGRAMMING

[author : Al Stevens]

Al presents JOYKEY, a joystick-driven keyboard simulator designed to provide handicapped computer users with a simple means of interacting with PC's.

p.147 ALGORITHM ALLEY

[author : Tom Swan]

Permutation algorithms are useful for arranging a sequence in all possible ways. Tom examines how they're implemented by Niklaus Wirth and Robert Sedgewick.

p.153 UNDOCUMENTED CORNER

[author : Andrew Schulman]

Ron Burk uncovers undocumented features of Windows' WinHelp facility, giving you yet another powerful tool for Windows development.

p.163 PROGRAMMER'S BOOKSHELF

[author : Jonathan Erickson]

Fuzzy systems may or may not be logical. This month we examine fuzzy logic books, conference proceedings, and journals.

FORUM

p.10 LETTERS

[author : you]

p.176 SWAINE'S FLAMES

[author : Michael Swaine]

PROGRAMMER'S SERVICES

p.170 OF INTEREST