<TABLE> <S> <C>

<PAGE>
<ARTICLE> 5
<LEGEND>
THIS SCHEDULE CONTAINS SUMMARY FINANCIAL INFORMATION EXTRACTED FROM THE INCOME
STATEMENT FOR THE YEAR-TO-DATE PERIODS ENDED ON THE DATES INDICATED FOR EACH
COLUMN BELOW AND THE BALANCE SHEET AS OF EACH PERIOD-END DATE SHOWN, AND IS
QUALIFIED IN ITS ENTIRETY BY REFERENCE TO SUCH FINANCIAL STATEMENTS.
</LEGEND>
<RESTATED>
<MULTIPLIER> 1,000

<S>                             <C>                     <C>                     <C>
<PERIOD-TYPE>                   9-MOS                   6-MOS                   3-MOS
<FISCAL-YEAR-END>                          DEC-31-1997             DEC-31-1997             DEC-31-1997
<PERIOD-START>                             JAN-01-1997             JAN-01-1997             JAN-01-1997
<PERIOD-END>                               SEP-30-1997             JUN-30-1997             MAR-31-1997
<CASH>                                          13,833                  26,132                  24,800
<SECURITIES>                                    11,311                       0                       0
<RECEIVABLES>                                   13,399                  11,666                  13,060
<ALLOWANCES>                                       629                     530                     489
<INVENTORY>                                     10,336                   9,711                   8,383
<CURRENT-ASSETS>                                51,847                  50,741                  50,565
<PP&E>                                          17,017                  17,535                  15,262
<DEPRECIATION>                                  10,149                   9,958                   9,462
<TOTAL-ASSETS>                                  64,637                  63,465                  61,199
<CURRENT-LIABILITIES>                            7,517                   9,215                   8,535
<BONDS>                                            185                     215                     247
<PREFERRED-MANDATORY>                                0                       0                       0
<PREFERRED>                                          0                       0                       0
<COMMON>                                            75                      75                      75
<OTHER-SE>                                      55,659                  53,165                  51,594
<TOTAL-LIABILITY-AND-EQUITY>                    64,637                  63,465                  61,199
<SALES>                                         27,902                  18,834                  10,745
<TOTAL-REVENUES>                                36,373                  24,306                  13,280
<CGS>                                            9,687                   6,563                   3,804
<TOTAL-COSTS>                                   12,457                   8,430                   4,678
<OTHER-EXPENSES>                                17,689                  11,720                   5,919
<LOSS-PROVISION>                                     0                       0                       0
<INTEREST-EXPENSE>                                  33                      23                      11
<INCOME-PRETAX>                                  6,950                   4,650                   2,875
<INCOME-TAX>                                     2,433                   1,651                   1,050
<INCOME-CONTINUING>                              4,517                   2,999                   1,825
<DISCONTINUED>                                       0                       0                       0
<EXTRAORDINARY>                                      0                       0                       0
<CHANGES>                                            0                       0                       0
<NET-INCOME>                                     4,517                   2,999                   1,825
<EPS-PRIMARY>                                     0.61                    0.41                    0.26
<EPS-DILUTED>                                     0.59                    0.40                    0.25


</TABLE>